KaiHabermann / decayangle

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

[Test] add test for helicity angles #18

Closed mmikhasenko closed 2 months ago

mmikhasenko commented 3 months ago

there is a nice method of computing the helicity angles in the packages already. Is it properly tested?

We can implement a test that validates it using an example from Lc->pKpi,

three different chains:

The helicity angles are given below,

    "chain_variables": {
        "Kpi": {
            "mkpisq": 1.3743747462964881,
            "theta_Kst": 1.0468159811504423,
            "phi_Kst": 1.3921357860994747,
            "theta_K": 1.692234518478623,
            "phi_K": 0.5466265769529981
        },
        "pK": {
            "mkpsq": 2.756020646168232,
            "theta_L": 2.6621627135924624,
            "phi_L": 3.010596711405015,
            "Ltheta_p": 1.861461784272743,
            "Lphi_p": 1.3499280354237881
        },
        "pip": {
            "mppisq": 2.2410542593352796,
            "theta_D": 1.05685191949046,
            "phi_D": -1.1654157065810633,
            "theta_pi": 1.1669778470524175,
            "phi_pi": 2.5984404692152796
        }

sadly, I did not save the four-vectors, but one reconstruct them by building aligned kinematics, and rotating it back to, e.g.

(in a separate notebook, just to find the four-vectors for input of the test)

  1. build align kinematics, from here using the Kpi reference orientation (Pp = [0,0,-lambda...,Ep])
  2. Rotate aligned four-vectors with
    Rz(phi_Kphi)*Ry(theta_Kst)*Rz(phi_K)

The test would be to get all four angles right for every topology.

KaiHabermann commented 3 months ago

I already compare to the heliity angles I get from dpd... Like the theta_ij and theta_hats. Where would be the difference here?

mmikhasenko commented 3 months ago
  1. General case: Four vectors are not aligned to the plane, so, will be non-trivial phi
  2. Range for phi angle, -pi, pi is better spanned
  3. Consistency between decay chains, (12)3, (23)1, and (31)2 from the same kinematics
mmikhasenko commented 2 months ago

up on the issue! Let's proceed on it,

it will help us to make the tests in https://github.com/mmikhasenko/Traversing-Decay-Tree/issues/2

Not sure it belongs to decayangle tests. It can be added to https://github.com/mmikhasenko/Traversing-Decay-Tree repository with the dependence on decayangle.

KaiHabermann commented 2 months ago

I think both places would be fine. I just didnt tackle this yet, since it is simple enough on the surface, but promises to be one of these problems, where you mess up one step in the calculation of the four momenta and spend too much time debugging. I will try to get it done withing the next days.

mmikhasenko commented 2 months ago

I've found one instance implementing the three-body aligned kinematics

https://github.com/ComPWA/polarimetry/blob/main/julia/notebooks/eulerangles.jl#L84-L95

used these zeta=hat(theta) angles from DPD

KaiHabermann commented 2 months ago

https://github.com/KaiHabermann/decayangle/pull/32