-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ddecays] Added branching ratios of D(s)->lnu decays
- Loading branch information
1 parent
2a866ad
commit 6955832
Showing
8 changed files
with
71 additions
and
5 deletions.
There are no files selected for viewing
This file contains 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 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 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,3 @@ | ||
r"""Observables in $D$ meson decays.""" | ||
|
||
from . import dlnu |
This file contains 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,40 @@ | ||
r"""Functions for $D\to\ell\nu$.""" | ||
|
||
import flavio | ||
from flavio.physics.bdecays.blnu import br_plnu_general | ||
from math import pi, log | ||
|
||
def br_Dlnu(wc_obj, par, P, lep): | ||
r"""Branching ratio of $D^+\to\ell^+\nu_\ell$.""" | ||
# CKM element | ||
if P=='D+': | ||
Vij = flavio.physics.ckm.get_ckm(par)[1,0].conj() # Vcd* | ||
qiqj = 'dc' | ||
elif P=='Ds': | ||
Vij = flavio.physics.ckm.get_ckm(par)[1,1].conj() # Vcs* | ||
qiqj = 'sc' | ||
scale = flavio.config['renormalization scale']['dll'] | ||
# Wilson coefficients | ||
wc = wc_obj.get_wc(qiqj + lep + 'nu', scale, par, nf_out=4) | ||
# add SM contribution to Wilson coefficient | ||
wc['CV_'+qiqj+lep+'nu'] += flavio.physics.bdecays.wilsoncoefficients.get_CVSM(par, scale, nf=4) | ||
return br_plnu_general(wc, par, Vij, P, qiqj, lep, delta=0) | ||
|
||
# function returning function needed for prediction instance | ||
def br_Dlnu_fct(P, lep): | ||
def f(wc_obj, par): | ||
return br_Dlnu(wc_obj, par, P, lep) | ||
return f | ||
|
||
# Observable and Prediction instances | ||
|
||
_lep = {'e': 'e', 'mu': r'\mu', 'tau': r'\tau'} | ||
_had = {'D+': r'D^+', 'Ds': r'D_s',} | ||
|
||
for D in _had: | ||
for l in _lep: | ||
_obs_name = "BR("+D+"->"+l+"nu)" | ||
_obs = flavio.classes.Observable(_obs_name) | ||
_obs.set_description(r"Branching ratio of $"+_had[D]+r"\to "+_lep[l]+r"^+\nu_"+_lep[l]+r"$") | ||
_obs.tex = r"$\text{BR}("+_had[D]+r"\to "+_lep[l]+r"^+\nu_"+_lep[l]+r")$" | ||
flavio.classes.Prediction(_obs_name, br_Dlnu_fct(D, l)) |
Empty file.
This file contains 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,20 @@ | ||
import unittest | ||
import numpy as np | ||
import flavio | ||
|
||
constraints = flavio.default_parameters | ||
wc_obj = flavio.WilsonCoefficients() | ||
par = constraints.get_central_all() | ||
|
||
class TestDlnu(unittest.TestCase): | ||
def test_dlnu(self): | ||
# compare to the experimental values | ||
self.assertAlmostEqual( | ||
flavio.Observable.get_instance("BR(Ds->munu)").prediction_central(constraints, wc_obj), | ||
5.56e-3, delta=3*0.25e-3) | ||
self.assertAlmostEqual( | ||
flavio.Observable.get_instance("BR(Ds->taunu)").prediction_central(constraints, wc_obj), | ||
5.55e-2, delta=3*0.24e-2) | ||
self.assertAlmostEqual( | ||
flavio.Observable.get_instance("BR(D+->munu)").prediction_central(constraints, wc_obj), | ||
3.74e-4, delta=3*0.17e-4) |
This file contains 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 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