Module flavio.physics.bdecays.bxlnu
Functions for inclusive semi-leptonic $B$ decays.
See arXiv:1107.3100.
Functions
def BR_BXclnu(par, wc_obj, lep)-
Expand source code
def BR_BXclnu(par, wc_obj, lep): r"""Total branching ratio of $\bar B^0\to X_c \ell^- \bar\nu_\ell$""" return sum([_BR_BXclnu(par, wc_obj, lep, nu) for nu in ['e','mu','tau']])Total branching ratio of $\bar B^0\to X_c \ell^- \bar\nu_\ell$
def BR_tot_function(lep)-
Expand source code
def BR_tot_function(lep): if lep == 'l': return lambda wc_obj, par: (BR_BXclnu(par, wc_obj, 'e')+BR_BXclnu(par, wc_obj, 'mu'))/2 else: return lambda wc_obj, par: BR_BXclnu(par, wc_obj, lep) def BR_tot_leptonflavour(wc_obj, par, lnum, lden)-
Expand source code
def BR_tot_leptonflavour(wc_obj, par, lnum, lden): if lnum == 'l': num = (BR_BXclnu(par, wc_obj, 'e') + BR_BXclnu(par, wc_obj, 'mu'))/2. else: num = BR_BXclnu(par, wc_obj, lnum) if num == 0: return 0 if lden == 'l': den = (BR_BXclnu(par, wc_obj, 'e') + BR_BXclnu(par, wc_obj, 'mu'))/2. else: den = BR_BXclnu(par, wc_obj, lden) return num/den def BR_tot_leptonflavour_function(lnum, lden)-
Expand source code
def BR_tot_leptonflavour_function(lnum, lden): return lambda wc_obj, par: BR_tot_leptonflavour(wc_obj, par, lnum, lden) def d(xc)-
Expand source code
def d(xc): return (8*log(xc) - 10*xc**4/3. + 32*xc**3/3. - 8*xc**2 - 32*xc/3. + 34/3.).real def g(xc, xl)-
Expand source code
@lru_cache(maxsize=config['settings']['cache size']) def g(xc, xl): if xl == 0: return (1 - 8*xc + 8*xc**3 - xc**4 - 12*xc**2*log(xc)).real else: return (sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xc*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xc**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + xc**3*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 12*xc*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xc**2*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xl**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 7*xc*xl**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + xl**3*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 24*xc**2*log(2) - 24*xl**2*log(2) - 24*(-1 + xc**2)*xl**2* log(1 - sqrt(xc)) + 12*xc**2*log(xc) - 6*xl**2*log(xc) - 6*xc**2*xl**2*log(xc) - 12*xl**2*log(sqrt(xc) - 2*xc + xc**1.5) + 12*xc**2*xl**2* log(sqrt(xc) - 2*xc + xc**1.5) - 12*xl**2*log(xl) + 12*xc**2*xl**2*log(xl) - 24*xc**2*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 12*xl**2* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 12*xc**2*xl**2* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 12*xl**2* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 12*xc**2*xl**2* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl))))).real def gLR(xc, xl)-
Expand source code
@lru_cache(maxsize=config['settings']['cache size']) def gLR(xc, xl): if xl == 0: return (4*sqrt(xc)*(1 + 9*xc - 9*xc**2 - xc**3 + 6*xc*(1 + xc)*log(xc))).real else: return (4*sqrt(xc)*(sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 10*xc*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + xc**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 5*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 5*xc*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 2*xl**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 12*xc*log(2) - 12*xc**2*log(2) + 24*xc*xl*log(2) - 12*xl**2*log(2) - 12*(-1 + xc)*xl**2* log(1 - sqrt(xc)) - 6*xc*log(xc) - 6*xc**2*log(xc) + 12*xc*xl*log(xc) - 3*xl**2*log(xc) - 3*xc*xl**2*log(xc) - 6*xl**2*log(sqrt(xc) - 2*xc + xc**1.5) + 6*xc*xl**2* log(sqrt(xc) - 2*xc + xc**1.5) - 6*xl**2*log(xl) + 6*xc*xl**2*log(xl) + 12*xc*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 12*xc**2*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 24*xc*xl*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xl**2*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xc*xl**2* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xl**2*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 6*xc*xl**2* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))))).real def gVS(xc, xl)-
Expand source code
@lru_cache(maxsize=config['settings']['cache size']) def gVS(xc, xl): if xl == 0: return 0 else: return (2*sqrt(xl)*(sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 5*xc*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 2*xc**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 10*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 5*xc*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + xl**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 12*xc**2*log(2) + 12*xl*log(2) - 24*xc*xl*log(2) + 12*xl**2*log(2) - 12*xl*(1 - 2*xc + xc**2 + xl)* log(1 - sqrt(xc)) + 6*xc**2*log(xc) + 3*xl*log(xc) - 6*xc*xl*log(xc) - 3*xc**2*xl*log(xc) + 3*xl**2*log(xc) + 6*xl*log(sqrt(xc) - 2*xc + xc**1.5) - 12*xc*xl*log(sqrt(xc) - 2*xc + xc**1.5) + 6*xc**2*xl* log(sqrt(xc) - 2*xc + xc**1.5) + 6*xl**2*log(sqrt(xc) - 2*xc + xc**1.5) + 6*xl*log(xl) - 12*xc*xl*log(xl) + 6*xc**2*xl*log(xl) + 6*xl**2*log(xl) - 12*xc**2*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 6*xl*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 12*xc*xl*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xc**2*xl* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 6*xl**2*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 6*xl*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) + 12*xc*xl*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 6*xc**2*xl* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 6*xl**2*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))))).real def gVSp(xc, xl)-
Expand source code
@lru_cache(maxsize=config['settings']['cache size']) def gVSp(xc, xl): if xl == 0: return 0 else: return (2*sqrt(xc*xl)* (2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 5*xc*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) + 5*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 10*xc*xl*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xl**2*sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - 12*xc*log(2) + 12*xl*log(2) - 12*(1 + xc**2 + xc*(-2 + xl))*xl* log(1 - sqrt(xc)) - 6*xc*log(xc) + 3*xl*log(xc) + 6*xc*xl*log(xc) - 3*xc**2*xl*log(xc) - 3*xc*xl**2*log(xc) + 6*xl*log(sqrt(xc) - 2*xc + xc**1.5) - 12*xc*xl*log(sqrt(xc) - 2*xc + xc**1.5) + 6*xc**2*xl* log(sqrt(xc) - 2*xc + xc**1.5) + 6*xc*xl**2* log(sqrt(xc) - 2*xc + xc**1.5) + 6*xl*log(xl) - 12*xc*xl*log(xl) + 6*xc**2*xl*log(xl) + 6*xc*xl**2*log(xl) + 12*xc*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 6*xl*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 12*xc*xl*log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xc**2*xl* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) + 6*xc*xl**2* log(1 + xc - xl - sqrt(1 + (xc - xl)**2 - 2*(xc + xl))) - 6*xl*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) + 12*xc*xl*log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 6*xc**2*xl* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))) - 6*xc*xl**2* log(1 + xc**2 - xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)) - xc*(2 + xl + sqrt(xc**2 + (-1 + xl)**2 - 2*xc*(1 + xl)))))).real def pc1(r, mb)-
Expand source code
def pc1(r, mb): # this is an expansion to 2nd order in mb around 4.6 and in r around 0.05 # P. Gambino, private communication # kinetic scheme cutoff is set to 1 GeV return ( 6.486085393242938 - 80.16227770322831*r + 207.37836204469366*r**2 + mb*(-2.3090743981240274 + 14.029509187000471*r - 36.61694487623083*r**2) + mb**2*(0.18126017716432158 - 0.8813205571033417*r + 3.1906139935867635*r**2)) def pc2(r, mb)-
Expand source code
def pc2(r, mb): # this is an expansion to 2nd order in mb around 4.6 and in r around 0.05 # P. Gambino, private communication # kinetic scheme cutoff is set to 1 GeV return ( 63.344451026174276 - 1060.9791881246733*r + 4332.058337615373*r**2 + mb*(-21.760717863346223 + 273.7460360545832*r - 1032.068345746423*r**2) + mb**2*(1.8406501267881998 - 20.26973707297946*r + 73.82649433414315*r**2))