-
Notifications
You must be signed in to change notification settings - Fork 73
Time-dependent and flavour-tagged angular observables for Bs -> phi mumu #274
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
Open
schmitse
wants to merge
18
commits into
flav-io:master
Choose a base branch
from
schmitse:schmitse_phimumu
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
809a263
Add Bs meson oscillation frequency to paramters
3576eef
Add angular s coefficients for Bs -> phi ll. Following Zwicky arXiv:1…
1b8cbd9
Add more time-integrated and new time-dependent angular observables.
3c92293
Add transversity amplitude formalism for Bs -> V ll.
3ccd821
Add AuxiliaryQuantity for B->Vll amplitudes.
0a4059a
clean up in amplitudes_transversity.py
7e9d874
remove unused function from amplitudes_transversity.py
0d8a93b
add unittest comparing transversity and helicity amplitudes.
f666665
remove type hints for compatibility with python 3.9
1f77d09
fix test cases of test_bvll
10f9cf2
move Bs -> phi mumu tests into flavio/physics/bdecays/bvll/
be875d7
rename misleading variable "e^{i phi_s}" from previous name q/p.
11aeddf
Denominator observable for the angular observables now is not unity a…
85b2d4b
Fix optimised angular J observables
a3d81bf
Correct denominator implementations for optimised Q and M observables.
dfed226
Add Optimised primed observables without integration.
f7cb0c4
Update description and symbol for optimised angular Bs observables
70ba73d
Merge branch 'master' into schmitse_phimumu
peterstangl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,3 +9,4 @@ | |
| from . import lfv | ||
| from . import nonfactorizable | ||
| from . import subleading | ||
| from . import auxiliary_quantities | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| import cmath | ||
| from flavio.classes import AuxiliaryQuantity, Implementation | ||
| from .. import angular | ||
| from . import amplitudes | ||
| from ... import mesonmixing | ||
| from . import amplitudes_transversity | ||
|
|
||
|
|
||
| def angular_coefficients_helicity(wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb, corrections=True): | ||
| """ | ||
| Returns the angular coefficients J, J_bar, J_h, J_s for the B->Vll decay | ||
| in the helicity amplitude formalism. | ||
| """ | ||
| h = amplitudes.helicity_amps(q2, ff, wc_obj, par, B, V, lep, corrections=corrections) | ||
| h_bar = amplitudes.helicity_amps_bar(q2, ff, wc_obj, par, B, V, lep, corrections=corrections) | ||
| J = angular.angularcoeffs_general_v(h, q2, mB, mV, mb, 0, ml, ml) | ||
| J_bar = angular.angularcoeffs_general_v(h_bar, q2, mB, mV, mb, 0, ml, ml) | ||
| h_tilde = h_bar.copy() | ||
| h_tilde[('pl', 'V')] = h_bar[('mi', 'V')] | ||
| h_tilde[('pl', 'A')] = h_bar[('mi', 'A')] | ||
| h_tilde[('mi', 'V')] = h_bar[('pl', 'V')] | ||
| h_tilde[('mi', 'A')] = h_bar[('pl', 'A')] | ||
| h_tilde['S'] = -h_bar['S'] | ||
| q_over_p = mesonmixing.observables.q_over_p(wc_obj, par, B) | ||
| phi = cmath.phase(-q_over_p) # the phase of -q/p | ||
| J_h = angular.angularcoeffs_h_v(phi, h, h_tilde, q2, mB, mV, mb, 0, ml, ml) | ||
| J_s = angular.angularcoeffs_s_v(phi, h, h_tilde, q2, mB, mV, mb, 0, ml, ml) | ||
| return J, J_bar, J_h, J_s | ||
|
|
||
|
|
||
| def angular_coefficients_transversity(wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb): | ||
| """ | ||
| Returns the angular coefficients J, J_bar, J_h, J_s for the B->Vll decay | ||
| in the transversity amplitude formalism. | ||
| """ | ||
| A = amplitudes_transversity.transversity_amps(q2, ff, wc_obj, par, B, V, lep) | ||
| A_bar = amplitudes_transversity.transversity_amps_bar(q2, ff, wc_obj, par, B, V, lep) | ||
| J = amplitudes_transversity.angularcoeffs_general_transversity(A, q2, ml) | ||
| J_bar = amplitudes_transversity.angularcoeffs_general_transversity(A_bar, q2, ml) | ||
| A_tilde = A_bar.copy() | ||
| A_tilde['perp_L'] = -1 * A_bar['perp_L'] | ||
| A_tilde['perp_R'] = -1 * A_bar['perp_R'] | ||
| A_tilde['S'] = -1 * A_bar['S'] # Table 3 of https://arxiv.org/pdf/1502.05509 | ||
| q_over_p = mesonmixing.observables.q_over_p(wc_obj, par, B) | ||
| J_h: dict[str | int, float] = amplitudes_transversity.angularcoeffs_h_transversity(A, A_tilde, q2, ml, q_over_p) | ||
| J_s: dict[str | int, float] = amplitudes_transversity.angularcoeffs_s_transversity(A, A_tilde, q2, ml, q_over_p) | ||
| return J, J_bar, J_h, J_s | ||
|
|
||
|
|
||
| quantity = 'B->Vll amplitude formalism' | ||
| a = AuxiliaryQuantity(name=quantity, arguments=['q2', 'ff', 'B', 'V', 'lep', 'ml', 'mB', 'mV', 'mb']) | ||
| a.set_description('J, J_bar, J_h, J_s coefficients for the B->Vll decay amplitude.') | ||
|
|
||
| iname = 'Helicity Amplitudes' | ||
| i = Implementation(name=iname, quantity=quantity, | ||
| function=lambda wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb: angular_coefficients_helicity(wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb, corrections=True)) | ||
| i.set_description("Angular coefficients from the helicity amplitude formalism, including all corrections from subleading effects and QCDF.") | ||
|
|
||
| iname = 'Helicity Amplitudes (no corrections)' | ||
| i = Implementation(name=iname, quantity=quantity, | ||
| function=lambda wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb: angular_coefficients_helicity(wc_obj, par, q2, ff, B, V, lep, ml, mB, mV, mb, corrections=False)) | ||
| i.set_description("Angular coefficients from the helicity amplitude formalism, without corrections from subleading effects and QCDF.") | ||
|
|
||
| iname = 'Transversity Amplitudes (no corrections)' | ||
| i = Implementation(name=iname, quantity=quantity, | ||
| function=angular_coefficients_transversity) | ||
| i.set_description("Angular coefficients from the transversity amplitude formalism, without corrections from subleading effects and QCDF.") | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This file uses PEP 604 union types (e.g. 'str | int') which is a SyntaxError on Python 3.9. The project declares requires-python >=3.9, so this will break imports. Use typing.Union[str, int] (or remove the annotation) instead.