Пример #1
0
def g1_f1(wc_obj, par, lep, nu):
    scale = flavio.config['renormalization scale']['kdecays']
    ms = flavio.physics.running.running.get_ms(par, scale)
    wc = get_wceff_fccc_std(wc_obj, par, 'su', lep, nu, ms, scale, nf=3)
    f1 = par['Lambda->p f_1(0)'] * (wc['VL'] + wc['VR']).real
    g1 = par['Lambda->p g_1(0)'] * (wc['VL'] - wc['VR']).real
    return g1 / f1
Пример #2
0
def wc_eff(par, wc_obj, scale, nu):
    r"""Lee-Yang effective couplings.

    See eqS. (2), (9) of arXiv:1803.08732."""
    # wilson coefficients
    wc = get_wceff_fccc_std(wc_obj, par, 'du', 'e', nu, None, scale, nf=3)
    # proton charges
    g = proton_charges(par, scale)
    gV = g['gV_u-d']
    gA = g['gA_u-d']
    gS = g['gS_u-d']
    gP = g['gP_u-d']
    gT = g['gT_u-d']
    # radiative corrections
    # Note: CVLSM is the universal Marciano-Sirlin result that needs to be
    # divided out since it's already  contained in the Deltas
    CVLSM = get_CVLSM(par, scale, nf=3)
    DeltaRV = par['DeltaRV']
    DeltaRA = DeltaRV  # not needed for superallowed, for neutron difference absorbed in lambda
    rV = sqrt(1 + DeltaRV) / CVLSM
    rA = sqrt(1 + DeltaRA) / CVLSM
    # effective couplings
    # note that C_i' = C_i
    C = {}
    C['V'] = gV * (wc['VL'] * rV + wc['VR'])
    C['A'] = -gA * (wc['VL'] * rA - wc['VR'])
    C['S'] = gS * (wc['SL'] + wc['SR'])
    C['P'] = gP * (wc['SL'] - wc['SR'])
    C['T'] = 4 * gT * (wc['T'])
    return C
Пример #3
0
def _BR_BXclnu(par, wc_obj, lep, nu):
    GF = par['GF']
    scale = flavio.config['renormalization scale']['bxlnu']
    mb_MSbar = flavio.physics.running.running.get_mb(par, scale)
    wc = get_wceff_fccc_std(wc_obj, par, 'bc', lep, nu, mb_MSbar, scale, nf=5)
    if lep != nu and all(C == 0 for C in wc.values()):
        return 0  # if all WCs vanish, so does the BR!
    kinetic_cutoff = 1.  # cutoff related to the kinetic definition of mb in GeV
    # mb in the kinetic scheme
    mb = flavio.physics.running.running.get_mb_KS(par, kinetic_cutoff)
    xl = par['m_' + lep]**2 / mb**2
    # mc in MSbar at 3 GeV
    mc = flavio.physics.running.running.get_mc(par, 3)
    xc = mc**2 / mb**2
    Vcb = flavio.physics.ckm.get_ckm(par)[1, 2]
    alpha_s = flavio.physics.running.running.get_alpha(par, scale,
                                                       nf_out=5)['alpha_s']
    # wc: NB this includes the EW correction already
    # the b quark mass is MSbar here as it comes from the definition
    # of the scalar operators
    Gamma_LO = GF**2 * mb**5 / 192. / pi**3 * abs(Vcb)**2
    r_WC = (
        g(xc, xl) * (abs(wc['VL'])**2 + abs(wc['VR'])**2) - gLR(xc, xl) *
        (wc['VL'] * wc['VR']).real + g(xc, xl) / 4. *
        (abs(wc['SR'])**2 + abs(wc['SL'])**2) + gLR(xc, xl) / 2. *
        (wc['SR'] * wc['SL']).real + 12 * g(xc, xl) * abs(wc['T'])**2
        # the following terms vanish for vanishing lepton mass
        + gVS(xc, xl) * ((wc['VL'] * wc['SR']).real +
                         (wc['VR'] * wc['SL']).real) + gVSp(xc, xl) *
        ((wc['VL'] * wc['SL']).real + (wc['VR'] * wc['SR']).real) -
        12 * gVSp(xc, xl) * (wc['VL'] * wc['T']).real + 12 * gVS(xc, xl) *
        (wc['VR'] * wc['T']).real)
    # eq. (26) of arXiv:1107.3100 + corrections (P. Gambino, private communication)
    r_BLO = (
        1
        # NLO QCD
        + alpha_s / pi * pc1(xc, mb)
        # NNLO QCD
        + alpha_s**2 / pi**2 * pc2(xc, mb)
        # power correction
        - par['mu_pi^2'] / (2 * mb**2) + (1 / 2. - 2 *
                                          (1 - xc)**4 / g(xc, 0)) *
        (par['mu_G^2'] - (par['rho_LS^3'] + par['rho_D^3']) / mb) / mb**2 +
        d(xc) / g(xc, 0) * par['rho_D^3'] / mb**3
        # O(alpha_s) power correction (only numerically)
        + alpha_s / pi * par['mu_pi^2'] * 0.071943 +
        alpha_s / pi * par['mu_G^2'] * (-0.114774))
    # average of B0 and B+ lifetimes
    r_rem = (1 + par['delta_BXlnu'])  # residual pert & non-pert uncertainty
    return (par['tau_B0'] +
            par['tau_B+']) / 2. * Gamma_LO * r_WC * r_BLO * r_rem
Пример #4
0
def _BR_BXclnu(par, wc_obj, lep, nu):
    GF = par['GF']
    scale = flavio.config['renormalization scale']['bxlnu']
    mb_MSbar = flavio.physics.running.running.get_mb(par, scale)
    wc = get_wceff_fccc_std(wc_obj, par, 'bc', lep, nu, mb_MSbar, scale, nf=5)
    if lep != nu and all(C == 0 for C in wc.values()):
        return 0  # if all WCs vanish, so does the BR!
    kinetic_cutoff = 1. # cutoff related to the kinetic definition of mb in GeV
    # mb in the kinetic scheme
    mb = flavio.physics.running.running.get_mb_KS(par, kinetic_cutoff)
    xl = par['m_'+lep]**2/mb**2
    # mc in MSbar at 3 GeV
    mc = flavio.physics.running.running.get_mc(par, 3)
    xc = mc**2/mb**2
    Vcb = flavio.physics.ckm.get_ckm(par)[1, 2]
    alpha_s = flavio.physics.running.running.get_alpha(par, scale, nf_out=5)['alpha_s']
    # wc: NB this includes the EW correction already
    # the b quark mass is MSbar here as it comes from the definition
    # of the scalar operators
    Gamma_LO = GF**2 * mb**5 / 192. / pi**3 * abs(Vcb)**2
    r_WC = (   g(xc, xl)      * (abs(wc['VL'])**2 + abs(wc['VR'])**2)
             - gLR(xc, xl)    * (wc['VL']*wc['VR']).real
             + g(xc, xl)/4.   * (abs(wc['SR'])**2 + abs(wc['SL'])**2)
             + gLR(xc, xl)/2. * (wc['SR']*wc['SL']).real
             + 12*g(xc, xl)   * abs(wc['T'])**2
             # the following terms vanish for vanishing lepton mass
             + gVS(xc, xl)    * ((wc['VL']*wc['SR']).real
                                       + (wc['VR']*wc['SL']).real)
             + gVSp(xc, xl)   * ((wc['VL']*wc['SL']).real
                                       + (wc['VR']*wc['SR']).real)
             - 12*gVSp(xc, xl)* (wc['VL']*wc['T']).real
             + 12*gVS(xc, xl) * (wc['VR']*wc['T']).real
           )
    # eq. (26) of arXiv:1107.3100 + corrections (P. Gambino, private communication)
    r_BLO = ( 1
                 # NLO QCD
                 + alpha_s/pi * pc1(xc, mb)
                 # NNLO QCD
                 + alpha_s**2/pi**2 * pc2(xc, mb)
                 # power correction
                 - par['mu_pi^2']/(2*mb**2)
                 + (1/2. -  2*(1-xc)**4/g(xc, 0))*(par['mu_G^2'] - (par['rho_LS^3'] + par['rho_D^3'])/mb)/mb**2
                 + d(xc)/g(xc, 0) * par['rho_D^3']/mb**3
                 # O(alpha_s) power correction (only numerically)
                 + alpha_s/pi *  par['mu_pi^2'] * 0.071943
                 + alpha_s/pi *  par['mu_G^2'] * (-0.114774)
            )
    # average of B0 and B+ lifetimes
    r_rem = (1  + par['delta_BXlnu']) # residual pert & non-pert uncertainty
    return (par['tau_B0']+par['tau_B+'])/2. * Gamma_LO * r_WC * r_BLO * r_rem
Пример #5
0
def BR_BXclnu(par, wc_obj, lep):
    r"""Total branching ratio of $\bar B^0\to X_c \ell^- \bar\nu_\ell$"""
    GF = par['GF']
    scale = flavio.config['renormalization scale']['bxlnu']
    kinetic_cutoff = 1.  # cutoff related to the kinetic definition of mb in GeV
    # mb in the kinetic scheme
    mb = flavio.physics.running.running.get_mb_KS(par, kinetic_cutoff)
    # mc in MSbar at 3 GeV
    mc = flavio.physics.running.running.get_mc(par, 3)
    mb_MSbar = flavio.physics.running.running.get_mb(par, scale)
    rho = mc**2 / mb**2
    Vcb = flavio.physics.ckm.get_ckm(par)[1, 2]
    alpha_s = flavio.physics.running.running.get_alpha(par, scale,
                                                       nf_out=5)['alpha_s']
    # wc: NB this includes the EW correction already
    # the b quark mass is MSbar here as it comes from the definition
    # of the scalar operators
    wc = get_wceff_fccc_std(wc_obj, par, 'bc', lep, mb_MSbar, scale, nf=5)
    Gamma_LO = GF**2 * mb**5 / 192. / pi**3 * abs(Vcb)**2 * g(rho)
    r_WC = (abs(wc['V'])**2 + abs(wc['Vp'])**2 - gLR(rho) / g(rho) *
            (wc['V'] * wc['Vp']).real + mb_MSbar**2 / 4. *
            (abs(wc['S'])**2 + abs(wc['Sp'])**2) +
            mb_MSbar**2 / 2. * gLR(rho) / g(rho) * (wc['S'] * wc['Sp']).real +
            12 * abs(wc['T'])**2)
    # eq. (26) of arXiv:1107.3100 + corrections (P. Gambino, private communication)
    r_BLO = (
        1
        # NLO QCD
        + alpha_s / pi * pc1(rho, mb)
        # NNLO QCD
        + alpha_s**2 / pi**2 * pc2(rho, mb)
        # power correction
        - par['mu_pi^2'] / (2 * mb**2) + (1 / 2. - 2 * (1 - rho)**4 / g(rho)) *
        (par['mu_G^2'] - (par['rho_LS^3'] + par['rho_D^3']) / mb) / mb**2 +
        d(rho) / g(rho) * par['rho_D^3'] / mb**3
        # O(alpha_s) power correction (only numerically)
        + alpha_s / pi * par['mu_pi^2'] * 0.071943 +
        alpha_s / pi * par['mu_G^2'] * (-0.114774))
    # average of B0 and B+ lifetimes
    return (par['tau_B0'] + par['tau_B+']) / 2. * Gamma_LO * r_WC * r_BLO