Skip to content

ComPWA/qrules

Repository files navigation

Quantum Number Conservation Rules

10.5281/zenodo.5526360 GPLv3+ license

PyPI package Conda package Supported Python versions

Binder Google Colab Open in Visual Studio Code GitPod

Documentation pre-commit.ci status pytest Checked with mypy Test coverage Codacy Badge Spelling checked code style: prettier Ruff

QRules is a Python package for validating and generating particle reactions using quantum number conservation rules. The user only has to provide a certain set of boundary conditions (initial and final state, allowed interaction types, expected decay topologies, etc.). QRules will then span the space of allowed quantum numbers over all allowed decay topologies and particle instances that correspond with the sets of allowed quantum numbers it has found.

The resulting state transition objects are particularly useful for amplitude analysis / Partial Wave Analysis as they contain all information (such as expected masses, widths, and spin projections) that is needed to formulate an amplitude model.

Visit qrules.rtfd.io for more information!

For an overview of upcoming releases and planned functionality, see here.

Available features

  • Input: Particle database
    • Source of truth: PDG
    • Predefined particle list file
    • Option to overwrite and append with custom particle definitions
  • State transition graph
    • Feynman graph like description of the reactions
    • Visualization of the decay topology
  • Conservation rules
    • Open-closed design
    • Large set of predefined rules
      • Spin/Angular momentum conservation
      • Quark and Lepton flavor conservation (incl. isospin)
      • Baryon number conservation
      • EM-charge conservation
      • Parity, C-Parity, G-Parity conservation
      • Mass conservation
    • Predefined sets of conservation rules representing Strong, EM, Weak interactions

Contribute

See CONTRIBUTING.md