Closed redeboer closed 3 weeks ago
Looking through the code for the STM, I found that the only place where CSPSolver
is called is in the _solve()
method of the STM:
In the documentation, the closest thing to _solve()
is find_quantum_number_transitions()
, which is described here:
https://qrules.readthedocs.io/0.10.x/usage/visualize.html#quantum-number-solutions
It seems to me you have to formulate a limited form of a ProblemSet
(only spin
, parity
and c_parity
plus the relevant conversation rules. Maybe that tutorial shines some light on it 😬
As a step towards https://github.com/ComPWA/qrules/issues/219 and https://github.com/ComPWA/qrules/issues/20 (and an alternative to #266), it would be a good exercise to generate all allowed $J^{PC}$ numbers (spin, parity, $C$ parity) in a three-body decay using the
CSPSolver
directly (or if needed, usingpython-constraints
directly). It's essentially reproducing the steps from the STM for a limited number of quantum numbers, without using a particle database.An example from the visualization tutorial, $\psi^\prime \to \gamma \eta \eta$, i.e. $1^{--} \to 1^{--}\,0^{+-}\,0^{+-}$:
Particle transitions
![particles](https://github.com/ComPWA/qrules/assets/29308176/b2263cf9-1cd7-4271-8276-07462a9dad87)