Example #1
0
def transversity_amps_qcdf(q2, wc, par, B, V, **kwargs):
    """QCD factorization corrections to B->Vll transversity amplitudes."""
    mB = par['m_' + B]
    mV = par['m_' + V]
    scale = config['renormalization scale']['bvll']
    # using the b quark pole mass here!
    mb = running.get_mb_pole(par)
    N = flavio.physics.bdecays.bvll.amplitudes.prefactor(q2, par, B, V) / 4
    ta = {}
    T_perp_ = T_perp(q2, par, wc, B, V, scale, **kwargs)
    if q2 == 0.:
        T_para_ = 0.
        ta['perp_L'] = N * sqrt(2) * 2 * (mB**2 - q2) * mb * T_perp_
    else:
        T_para_ = T_para(q2, par, wc, B, V, scale, **kwargs)
        ta['perp_L'] = N * sqrt(2) * 2 * (mB**2 - q2) * mb / q2 * T_perp_
    ta['perp_R'] = ta['perp_L']
    ta['para_L'] = -ta['perp_L']
    ta['para_R'] = ta['para_L']
    if q2 == 0.:
        ta['0_L'] = 0.
        ta['0_R'] = 0.
    else:
        ta['0_L'] = (N * mb *
                     (mB**2 - q2)**2) / (mB**2 * mV * sqrt(q2)) * T_para_
        ta['0_R'] = ta['0_L']
    ta['t'] = 0
    ta['S'] = 0
    return ta
Example #2
0
def lB_minus(q2, par, B):
    flavio.citations.register("Beneke:2001at")
    mB = par['m_' + B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    w0 = 2 * LambdaBar / 3
    return 1 / (exp(-q2 / mB / w0) / w0 * (-ei(q2 / mB / w0) + 1j * pi))
Example #3
0
def get_input(par, B, V, scale):
    mB = par['m_' + B]
    mb = running.get_mb_pole(par)
    mc = running.get_mc_pole(par)
    alpha_s = running.get_alpha(par, scale)['alpha_s']
    q = meson_spectator[(B, V)]  # spectator quark flavour
    qiqj = meson_quark[(B, V)]
    eq = quark_charge[q]  # charge of the spectator quark
    ed = -1 / 3.
    eu = 2 / 3.
    xi_t = ckm.xi('t', qiqj)(par)
    xi_u = ckm.xi('u', qiqj)(par)
    eps_u = xi_u / xi_t
    return mB, mb, mc, alpha_s, q, eq, ed, eu, eps_u, qiqj
Example #4
0
def get_input(par, B, V, scale):
    mB = par['m_'+B]
    mb = running.get_mb_pole(par)
    mc = running.get_mc_pole(par)
    alpha_s = running.get_alpha(par, scale)['alpha_s']
    q = meson_spectator[(B,V)] # spectator quark flavour
    qiqj = meson_quark[(B,V)]
    eq = quark_charge[q] # charge of the spectator quark
    ed = -1/3.
    eu = 2/3.
    xi_t = ckm.xi('t', qiqj)(par)
    xi_u = ckm.xi('u', qiqj)(par)
    eps_u = xi_u/xi_t
    return mB, mb, mc, alpha_s, q, eq, ed, eu, eps_u, qiqj
Example #5
0
def get_hqet_parameters(par, scale):
    p = {}
    alphas = running.get_alpha(par, scale, nf_out=5)['alpha_s']
    p['ash'] = alphas / pi
    p['mb'] = running.get_mb_pole(par)
    p['mc'] = p['mb'] - 3.4
    p['mb1S'] = running.get_mb_1S(par)
    mBbar = (par['m_B0'] + 3 * par['m_B*0']) / 4
    # eq. (25); note the comment about the renormalon cancellation thereafter
    p['Lambdabar'] = mBbar - p['mb1S'] + par['lambda_1'] / (2 * p['mb1S'])
    p['epsc'] = p['Lambdabar'] / (2 * p['mc'])
    p['epsb'] = p['Lambdabar'] / (2 * p['mb'])
    p['zc'] = p['mc'] / p['mb']
    return p
Example #6
0
def get_hqet_parameters(par, scale):
    p = {}
    alphas = running.get_alpha(par, scale, nf_out=5)['alpha_s']
    p['ash'] = alphas / pi
    p['mb'] = running.get_mb_pole(par)
    p['mc'] = p['mb'] - 3.4
    p['mb1S'] = running.get_mb_1S(par, scale)
    mBbar = (par['m_B0'] + 3 * par['m_B*0']) / 4
    # eq. (25); note the comment about the renormalon cancellation thereafter
    p['Lambdabar'] = mBbar - p['mb1S'] + par['lambda_1'] / (2 * p['mb1S'])
    p['epsc'] = p['Lambdabar'] / (2 * p['mc'])
    p['epsb'] = p['Lambdabar'] / (2 * p['mb'])
    p['zc'] = p['mc'] / p['mb']
    return p
Example #7
0
def Y(q2, wc, par, scale, qiqj):
    """Function $Y$ that contains the contributions of the matrix
    elements of four-quark operators to the effective Wilson coefficient
    $C_9^{\mathrm{eff}}=C_9 + Y(q^2)$.

    See e.g. eq. (10) of 0811.1214v5."""
    mb = running.get_mb_pole(par)
    mc = running.get_mc_pole(par)
    F_c = 4/3.*wc['C1_'+qiqj] +       wc['C2_'+qiqj] +      6*wc['C3_'+qiqj] +    60*wc['C5_'+qiqj]
    F_b =    7*wc['C3_'+qiqj] +  4/3.*wc['C4_'+qiqj] +     76*wc['C5_'+qiqj] + 64/3.*wc['C6_'+qiqj]
    F_u =      wc['C3_'+qiqj] +  4/3.*wc['C4_'+qiqj] +     16*wc['C5_'+qiqj] + 64/3.*wc['C6_'+qiqj]
    F_4 = 4/3.*wc['C3_'+qiqj] + 64/9.*wc['C5_'+qiqj] + 64/27.*wc['C6_'+qiqj]
    return ( h(s=q2, mq=mc, mu=scale) * F_c
    - 1/2. * h(s=q2, mq=mb, mu=scale) * F_b
    - 1/2. * h(s=q2, mq=0., mu=scale) * F_u
    + F_4 )
Example #8
0
def delta_C7(par, wc, q2, scale, qiqj):
    alpha_s = running.get_alpha(par, scale)['alpha_s']
    mb = running.get_mb_pole(par)
    mc = par['m_c BVgamma']
    xi_t = ckm.xi('t', qiqj)(par)
    xi_u = ckm.xi('u', qiqj)(par)
    muh = scale/mb
    sh = q2/mb**2
    z = mc**2/mb**2
    Lmu = log(scale/mb)
    # computing this once to save time
    delta_tmp = wc['C1_'+qiqj] * F_17(muh, z, sh) + wc['C2_'+qiqj] * F_27(muh, z, sh)
    delta_t = wc['C8eff_'+qiqj] * F_87(Lmu, sh) + delta_tmp
    delta_u = delta_tmp + wc['C1_'+qiqj] * Fu_17(q2, mb, scale) + wc['C2_'+qiqj] * Fu_27(q2, mb, scale)
    # note the minus sign between delta_t and delta_u. This is because of a sign
    # switch in the definition of the "Fu" functions between hep-ph/0403185
    # (used here) and hep-ph/0412400, see footnote 5 of 0811.1214.
    return -alpha_s/(4*pi) * (delta_t - xi_u/xi_t * delta_u)
Example #9
0
def transversity_amps_qcdf(q2, wc, par, B, V, **kwargs):
    """QCD factorization corrections to B->Vll transversity amplitudes."""
    mB = par['m_'+B]
    mV = par['m_'+V]
    scale = config['renormalization scale']['bvll']
    # using the b quark pole mass here!
    mb = running.get_mb_pole(par)
    N = flavio.physics.bdecays.bvll.amplitudes.prefactor(q2, par, B, V)/4
    T_perp_ = T_perp(q2, par, wc, B, V, scale, **kwargs)
    T_para_ = T_para(q2, par, wc, B, V, scale, **kwargs)
    ta = {}
    ta['perp_L'] = N * sqrt(2)*2 * (mB**2-q2) * mb / q2 * T_perp_
    ta['perp_R'] =  ta['perp_L']
    ta['para_L'] = -ta['perp_L']
    ta['para_R'] =  ta['para_L']
    ta['0_L'] = ( N * mb * (mB**2 - q2)**2 )/(mB**2 * mV * sqrt(q2)) * T_para_
    ta['0_R'] = ta['0_L']
    ta['t'] = 0
    ta['S'] = 0
    return ta
Example #10
0
def lB_plus(par, B):
    mB = par['m_' + B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    return 2 * LambdaBar / 3
Example #11
0
def lB_minus(q2, par, B):
    mB = par['m_' + B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    w0 = 2 * LambdaBar / 3
    return 1 / (exp(-q2 / mB / w0) / w0 * (-ei(q2 / mB / w0) + 1j * pi))
Example #12
0
def lB_plus(par, B):
    mB = par['m_'+B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    return 2*LambdaBar/3
Example #13
0
def lB_minus(q2, par, B):
    mB = par['m_'+B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    w0 = 2*LambdaBar/3
    return 1/(exp(-q2/mB/w0)/w0 * (-ei(q2/mB/w0) + 1j*pi))
Example #14
0
def lB_plus(par, B):
    flavio.citations.register("Beneke:2001at")
    mB = par['m_' + B]
    mb = running.get_mb_pole(par)
    LambdaBar = mB - mb
    return 2 * LambdaBar / 3