Module flavio.physics.kdecays.klnu

Functions for $K\to\ell\nu$ and $\pi\to\ell\nu$ decays.

Functions

def F(z)
Expand source code
def F(z):
    return ( 3/2.*log(z) + (13-19*z)/(8*(1-z))
            - (8-5*z)/(4*(1-z)**2)*z*log(z)
            - ((1+z)/(1-z)*log(z)+2)*log(1-z)
            -2*(1+z)/(1-z)*li2(1-z) )
def br_plnu(wc_obj, par, P, lep)
Expand source code
def br_plnu(wc_obj, par, P, lep):
    r"""Branching ratio of $P^+\to\ell^+\nu_\ell$."""
    return sum([ _br_plnu(wc_obj, par, P, lep, nu) for nu in ['e','mu','tau']])

Branching ratio of $P^+\to\ell^+\nu_\ell$.

def br_plnu_fct(P, lep)
Expand source code
def br_plnu_fct(P, lep):
    def f(wc_obj, par):
        return br_plnu(wc_obj, par, P, lep)
    return f
def delta_Plnu(par, P, lep)
Expand source code
def delta_Plnu(par, P, lep):
    mrho = par['m_rho0']
    mP = par['m_'+P]
    ml = par['m_'+lep]
    alpha_e = 1/137.035999139 # this is alpha_e(0), a constant for our purposes
    c1 = par['c1_'+P+'lnu'] # e.g. c1_K+lnu
    c2 = par['c2_'+P+'lnu']
    c3 = par['c3_'+P+'lnu']
    if lep=='mu':
        c4 = par['c4_'+P+'munu']
    elif lep=='e':
        c4 = 0 # c_4 tends to zero with vanishing lepton mass
    c2t = par['c2t_'+P+'lnu']
    return alpha_e/pi * (F(ml**2/mP**2) - 3/2.*log(mrho/mP) - c1
            - ml**2/mrho**2 * (c2 * log(mrho**2/ml**2) + c3 + c4)
            + mP**2/mrho**2 * c2t * log(mrho**2/ml**2) )
def gamma_plnu(wc_obj, par, P, l)
Expand source code
def gamma_plnu(wc_obj, par, P, l):
    return br_plnu(wc_obj, par, P, l) / par['tau_' + P]
def gamma_plnu_fct(P, l)
Expand source code
def gamma_plnu_fct(P, l):
    def f(wc_obj, par):
        return gamma_plnu(wc_obj, par, P, l)
    return f
def r_plnu(wc_obj, par, P)
Expand source code
def r_plnu(wc_obj, par, P):
    # resumming logs according to (111) of 0707.4464
    # (this is negligibly small for the individual rates)
    flavio.citations.register("Cirigliano:2007ga")
    rg_corr = 1.00055
    return rg_corr*br_plnu(wc_obj, par, P, 'e')/br_plnu(wc_obj, par, P, 'mu')
def r_plnu_fct_l(l)
Expand source code
def r_plnu_fct_l(l):
    def f(wc_obj, par):
        return gamma_plnu(wc_obj, par, 'K+', l) / gamma_plnu(wc_obj, par, 'pi+', l)
    return f
def r_plnu_fct_p(P)
Expand source code
def r_plnu_fct_p(P):
    def f(wc_obj, par):
        return r_plnu(wc_obj, par, P)
    return f