ComPWA / polarimetry

Polarimetry for the decay Λc → p K π
https://compwa.github.io/polarimetry
Apache License 2.0
5 stars 1 forks source link

Implement the mapping of the helicity couplings #5

Closed mmikhasenko closed 2 years ago

mmikhasenko commented 2 years ago

Here is the relation of the helicity couplings in the LHCb implementation (K) and the one in the DPD convention that we use (H)

image

mmikhasenko commented 2 years ago

Here is the mapping function. The factor of sqrt(2s+1) is specific to the ThreeBodyDecays.jl.

redeboer commented 2 years ago

Okay thanks. I'm rewriting that notebook today so that it imports resonance definitions from JSON (#9). The couplings can be inserted then as well.

mmikhasenko commented 2 years ago

The map is not applied yet in #11, right? The couplings displayed in the cross-check notebook seems to be as in the json file, not mapping factors.

redeboer commented 2 years ago

Nope, in progress.. :grimacing:

mmikhasenko commented 2 years ago

no worries, we just should not compare the rates before fixing the signs of the couplings

redeboer commented 2 years ago

7d573f5 is an attempt to implement the LHCb -> DPD mapping. image It simply swaps the sign of the relevant helicity in the symbolic sum and divides by that parity prefactor where required. There isn't an easy way to do this through a function similar to the Julia code without breaking the LaTeX rendering, so I hope this implementation is correct.

It doesn't improve the resulting rate matrix though (cf. https://github.com/redeboer/polarization-sensitivity/pull/14#issuecomment-1127639871)... image

mmikhasenko commented 2 years ago

Naively, I thought it is enough to update the values when reading the input file

image

redeboer commented 2 years ago

Also possible. But there, I don't directly have to the info about parity etc., would have to fetch that from the isobar definitions.

7d573f5 is a bit different though: it also swaps the values of the Kronecker delta etc. I wasn't sure whether those relations applied to the couplings only or to the complete amplitude.

mmikhasenko commented 2 years ago

One thing to check is the mapping 1,2,3,4 to the couplings, because in DPD,

H_{1,-1/2} # is illegal, lambda1-lambda2 > j_Lc

for the LHCb scheme, it is the opposite

mmikhasenko commented 2 years ago

7d573f5 is a bit different though: it also swaps the values of the Kronecker delta etc. I wasn't sure whether those relations applied to the couplings only or to the complete amplitude.

Looked there. I think you should swap only the couplings

redeboer commented 2 years ago

I think it should be only the couplings.

9d6eee0...a7b3388 is a naive attempt to fix it (so only swapped couplings and the prefactor; no remapping of the amplitude itself). I get into trouble with the symbols for the K couplings though, because the swapped indices result in new coupling symbols (so they can't be substituted), see around line 593. It seems to me that the end effect is a duplicate parity index sign flip in the K sub-system..

mmikhasenko commented 2 years ago

the amplitudes formulation look fine now (swapped to LHCb conventions, the couplings K). The mapping from 1,2,3,4 (the function to to_symbol) to the indices does not have be swapped, should come from the README.

mmikhasenko commented 2 years ago

it looks good now! The numbers are almost the same after the update. Still do not match exactly. I checked with julia code that the difference is not related to the stat uncertaintly (with 100_000, the uncertainty is tiny)

redeboer commented 2 years ago

There was another mistake: generated LS-couplings conserved parity for both the production and the decay nodes. This will be fixed in an upcoming commit (83c0a74).

Even with that fix, the lineshape K(892) does not have the same angular momentum for the decay node. The lineshape values are comparable (but not sufficiently equal) to the cross-check values though (55295bf). image

with 100_000, the uncertainty is tiny

Currently the integral is taken over the Dalitz Plot grid. I still have to generate a phase space sample instead and integrate over that.

mmikhasenko commented 2 years ago

Yes, something is fishy with LS. Here I cycled the numbers which do not match image

mmikhasenko commented 2 years ago

Just a guess, do you consider the parity violating decay of Lc when calculating the minL? For the weak decay of Lc both possibilities, 1/2+ and 1/2- needs to be checked

redeboer commented 2 years ago

L(1690) is fixed with 83c0a74. I don't understand K(892) though. image

mmikhasenko commented 2 years ago

yes, it must be the parity violation

K(0-) x pi(0-) =>
    0+ in S-wave
    1- in P-wave  (y) # works

K*(1-) x p(1/2+) => 1/2-, 3/2- S-wave # works with parity violation
redeboer commented 2 years ago

K*(1-) x p(1/2+) => 1/2-, 3/2- S-wave # works with parity violation

Seems that 83c0a74 does it the wrong way round: parity should be violated in the production node, not the decay node.

With c0131e3: image

But now I am confused about your l and minL... From above figure it now seems that l_R=minL and l^min_Λc=l?

See also https://github.com/redeboer/polarization-sensitivity/pull/11#issuecomment-1128769870

mmikhasenko commented 2 years ago

The l is in the decay of the resonance, i.e. K* ->K pi P-wave L(1520)->Kp D-wave

The minL is the Lc decay (smaller numbers in average)

redeboer commented 2 years ago

But now I am confused about your l and minL

The natural cause: swapped the columns :expressionless: :gun: → 8b5213e

mmikhasenko commented 2 years ago

yea, I would consider solved. Let's wait for closing this issue until we entirely match