Usage¶
Main interface¶
Here are some quick examples of how to use qrules
. For more fine-grained control, have a look at Advanced.
Investigate intermediate resonances¶
import qrules as q
result = q.generate_transitions(
initial_state="J/psi(1S)",
final_state=["K0", "Sigma+", "p~"],
allowed_interaction_types="strong",
formalism_type="canonical-helicity",
)
import graphviz
dot = q.io.asdot(result, collapse_graphs=True)
graphviz.Source(dot)
Next, you use the ampform
package to convert these transitions into a mathematical description that you can use to fit your data and perform Partial Wave Analysis!
See also
Quantum number search¶
The load_pdg()
function creates a ParticleCollection
containing the latest PDG info. Its find()
and filter()
methods allows you to quickly look up the quantum numbers of a particle and, vice versa, look up particle candidates based on a set of quantum numbers.
import qrules as q
pdg = q.load_pdg()
pdg.find(22) # by pid
pdg.find("Delta(1920)++")
Particle(
name='Delta(1920)++',
pid=22224,
latex='\\Delta(1920)^{++}',
spin=1.5,
mass=1.92,
width=0.3,
charge=2,
isospin=Spin(3/2, +3/2),
baryon_number=1,
parity=+1,
)
subset = pdg.filter(
lambda p: p.spin in [2.5, 3.5, 4.5] and p.name.startswith("N")
)
subset.names
{'N(1675)+',
'N(1675)0',
'N(1675)~-',
'N(1675)~0',
'N(1680)+',
'N(1680)0',
'N(1680)~-',
'N(1680)~0',
'N(2190)+',
'N(2190)0',
'N(2190)~-',
'N(2190)~0'}
Tip
Advanced¶
Each of the qrules
’s sub-modules offer functionality to handle more advanced reaction types. The following notebooks illustrate how use them.