-
Notifications
You must be signed in to change notification settings - Fork 70
Description
Hi,
I think I've found two problems in the implementation of K0->ll' in flavio/physics/kdecays/kll.py.
Lepton flavour violating K-short decay results in errors
K=KS together with l1 != l2 not a valid option in the definition of function amplitudes_eff:
...
if K == 'KS' and l1 == l2:
Peff = P.imag
Seff = S.real + SLD
if K == 'KL':
Peff = P.real + PLD
Seff = S.imag
return Peff, Seff
Correspondingly, asking flavio for a prediction on BR(KS->emu,mue) leads to
UnboundLocalError: local variable 'Peff' referenced before assignment.
This would have been trivial to fix, be there not the second problem.
Lepton flavour violating K-long decay calculated incorrectly
This is physIcs-related issue: the formulas for using imaginary of real parts of the Wilson coefficients (or, of the P,S parts of the amplitudes in the current flavio implementation) hold only for the lepton flavour conserving case.
Generally, KL and KS are superpositions of K0 and antiK0: K_L,S = (sbar d +- dbar s) / sqrt(2).
Thus, naively, the amplitudes consist of the combinations (CX_sdl1l2 +- CX_dsl1l2)/sqrt(2) with X=9,9p,10,10p,S,SP,P,Pp.
However, in flavio, the _dsl1l2 Wilson coefficients are not to be specified as they are obtained from complex-conjugated _sdl2l1 ones. In particular:

(The extra minus sign for CS-CSp is spit by the CP transformation of the corresponding operator - I would appreciate if someone could check the above formulas independently. The CX + CXp combinations are irelevant for pseudoscalar meson decays.)
If l1==l2, one gets terms like ( (CX_sdll-CXp_sdll) +- (CX_sdll-CXp_sdll).conj() ) / sqrt(2) which simplify to real or i*imaginary parts indeed.
However, the LFV cases lead to expressions like ( (CX_sdemu-CXp_sdemu) +- (CX_sdmue-CXp_sdmue).conj() ) / sqrt(2) which obviously cannot be simplified any further.
Regards, Matej Hudec