ComPWA / qrules

Rule-based particle reaction problem solver on a quantum number level
https://qrules.rtfd.io
Apache License 2.0
9 stars 4 forks source link

Generate transitions without spin projections #219

Open redeboer opened 1 year ago

redeboer commented 1 year ago

Problem description

QRules is intended to be a generic system of input (topologies), constraints (initial and final state) and selection rules (conservation laws). Currently it produces specific state transition objects with Particle instances on that edges that each have a float for spin projections.

These spin projections are however rather a kinematic thing (it depends on rest frame) and there is no quantum conservation rule for these projections alone (in other words, it's not an inherent quantum number that each state caries independent of reference frame).

Some issues related to generating all pin projections:

It should be possible to select a different number of input conditions (here: dropping spin projections of the initial and final states). This would allow generating transitions purely with spin magnitudes.

Plan d'attaque

The following is a sketch of the sub-tasks to tackle this issue. We can rethink them over time, fill out the details by converting the tasks to issues, and/or extract to a larger epic that keeps track of the refactoring.

### Tasks
- [ ] https://github.com/ComPWA/qrules/issues/266
- [ ] https://github.com/ComPWA/qrules/issues/273
- [ ] https://github.com/ComPWA/qrules/issues/272
- [ ] [2] Extend example with graph structure
- [ ] Find out if the solution to [2] can also be found with current QRules implementation (if not -- what should be changed to make it more general)
- [ ] [3] Generate solutions without spin for some decay (maybe just Jpsi to gamma pi pi) without the STM
- [ ] Rethink interface design to make it easier to do [3] (i.e. https://github.com/ComPWA/qrules/issues/20)
redeboer commented 2 months ago

@grayson-helmholz I updated the issue with a sketch of the steps we discussed. Can you create an issue for the first step? Either the fancy way (you should have the rights for that now) or just posting a new issue.

So, just a link to the python-constraints2 examples, sketch of the example you had in mind, and goal of the issue/task.