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
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))
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
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
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
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
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 )
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)
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
def lB_plus(par, B): mB = par['m_' + B] mb = running.get_mb_pole(par) LambdaBar = mB - mb return 2 * LambdaBar / 3
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))
def lB_plus(par, B): mB = par['m_'+B] mb = running.get_mb_pole(par) LambdaBar = mB - mb return 2*LambdaBar/3
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))
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