KaiHabermann / decayangle

https://kaihabermann.github.io/decayangle/
MIT License
1 stars 1 forks source link

Massless final state particle tested and implementend for helicity convention #48

Open KaiHabermann opened 3 months ago

KaiHabermann commented 3 months ago

For the helicity convention one can now deal with massles final state particles.

codecov-commenter commented 3 months ago

:warning: Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 60.00000% with 4 lines in your changes missing coverage. Please review.

Project coverage is 87.59%. Comparing base (cd5cea9) to head (dab3c7c).

Files Patch % Lines
src/decayangle/decay_topology.py 60.00% 2 Missing and 2 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #48 +/- ## ========================================== - Coverage 88.08% 87.59% -0.49% ========================================== Files 6 6 Lines 646 653 +7 Branches 113 117 +4 ========================================== + Hits 569 572 +3 - Misses 41 43 +2 - Partials 36 38 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

mmikhasenko commented 3 months ago

It is super cool to cover the massless case. I did not think long enough about it, but from interface, an extra flag on last_boost does not sound right solution to me.

Btw, for massless particles wigner angles are trivial, i.e. one does not have to do anything with analytic formulas to they just work and give cos zeta = 1. It is only true for 3b from aligned configuration, I'm sure there are Rz rotations that need to be matched for high dim cases.

it can stay as a work around before a better interface is discovered.

KaiHabermann commented 3 months ago

We could of course find out if a particle is massless via the 4 momenta... But this would require the software to do this "leaving out the last boost" thing silently (because no one reads warnings :D).

I would prefer a check if a mass is 0 and the a raise, that asks the person to set the flag to True. I hate software that does not have guiding error messages. And with this any user should be confident in using it with massless particles, as the software instructed them on what to do in their case.

mmikhasenko commented 3 months ago

I am not completely happy with the cut off either.

What does the code do if you call it on massless case without setting the flag?

mmikhasenko commented 3 months ago

Do you have any caught failure of the code when boost gamma is Inf?

Actually, a regulation with small mass might do the job without skipping the last boost.

KaiHabermann commented 3 months ago

No I dont have a direct check for gamma being inf. I would not want to make such a change to the momenta though. The user should always get exactly what they put in. So no hidden things happening. Thats why I would say check for massless particles and throw an exception pointing to the option of using helicity basis and leaving the last boosts. This is a tested method, that produces correct results and the user would know what they are doing.