-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixing calculation of BR(KL,KS->emu,mue) #141
base: master
Are you sure you want to change the base?
Conversation
The calculation actually still proceeds incorrectly, but it is a matter of physics, not of programming, and will be solved in next commits.
Like almost everywhere else, there is no need to distinguish between mass of KL and KS in the prefactors in amplitudes_LD.
Originally, the function `amplitudes_LD(par, K, l)` would send both long-distance coefficients - for KL and KS, despite the fact that it takes `K` as an argument; `amplitudes_eff` then always thrown one of them away. The new implementation should be more transparent.
* The original `amplitudes` function renamed to `amplitudes_weak_eigst` as it actually yields amplitudes for K0, K0bar, not KL or KS. * A new `amplitudes` function, which newly takes also `K` (to be `'KL'` or `'KS'`) as an argument, has been implemented. It makes proper linear combinations of amplitudes for K0 and K0bar and changes by sqrt(2) the normalization of the amplitudes (cf. arXiv:1602.00881 with 1711.11030). * For l1=l2, `amplitudes` yields the imag/real parts of the S, P weak_eigs coefficients, as it should. Thus, taking real/imag parts is no longer tackled in `amplitudes_eff`, which now serves merely to add up short- and long-distance contributions, as it should. * Relative signs between SD and LD contributions now tackled in `amplitudes_eff`. It is in accordance with the original version of this file; looks differently than in arXiv:1711.11030, but it is due to different WC conventions (see my notes for details).
As long as we neglect indirect CPV in kaons (which we do in kll.py), WET predicts BR(KL,KS->e+mu-) = BR(KL,KS->mu+e-), so we do don't calculate twice anymore at `br_kll_fct_lsum`.
Summary of the issues being solved and proposed changes: Suggested updates
Also the amplitude for K0->l1+l2- can be obtained from this function as
I will attach some updated notes explaining these matters in detail.
Furthermore, I made an additional small commit: |
Here's my notes about the leptonic kaon decays in EFT. (I haven't found any suitable text in the literature.) Might be helpful to understand the changes in the implementation. |
@hoodyn thank you again for all the work you have put into this! Since your results differ from those in published papers, I think it would be good to do some cross checks before merging this PR. Unfortunately, I don't have enough time at the moment to do that. So I will keep this PR open until I find time for this or somebody else can do some cross checks. Did you actually contact the authors of the paper that seems to contain mistakes? |
@peterstangl Btw, I used my branch of flavio to successfully crosscheck predictions of Ref. 1801.02895. The same crosscheck fails for the current master branch. This, however, says nothing about the problems I see in Ref. 1602.00881.
|
@hoodyn I cross-checked your notes and found overall agreement. I found
Concerning the implementation, I will comment directly on the code. |
# Simplified expressions for special cases. See also arXiv:1711.11030. | ||
elif l1 == l2: | ||
if K == 'KL': | ||
S = -1j * S_K0bar.imag |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comparing this to your notes, Eq. (22a), shouldn't this be +1j * S_K0bar.imag
?
- `l1` and `l2`: should be `'e'` or `'mu'` | ||
""" | ||
# KL, KS are linear combinations of K0, K0bar. So are the amplitudes. | ||
# Normalization differs by sqrt(2) from `amplitudes_weak_eigst`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a particular reason not to use the same normalization?
if K == 'KL': | ||
Peff = P.real + PLD | ||
Seff = S.imag | ||
# The relative sign due to different conventions. Cf. my notes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe instead of Cf. my notes.
, you could put the link to the notes there. Otherwise it will be impossible find them just by looking at this comment in the code.
This is the (second) pull request aiming to fix the problems in calculations od LFV kaon decays to leptons, based on discussion in #138. (I'm aborting my original PR #140 which I polluted by bugs and wrong argumentation.)