def _get_angularcoeff(q2, wc_obj, par, B, P, lep, nu): ml = par['m_' + lep] mB = par['m_' + B] mP = par['m_' + P] scale = config['renormalization scale']['bpll'] mb = running.get_mb(par, scale) wc = get_wceff_fccc2(wc_obj, par, meson_quark[(B, P)], lep, nu, mb, scale, nf=5) N = prefactor(q2, par, B, P, lep) ff = get_ff(q2, par, B, P) qi_qj = meson_quark[(B, P)] if qi_qj == 'bu': mlight = 0. # neglecting the up quark mass if qi_qj == 'bc': mlight = running.get_mc( par, scale) # this is needed for scalar contributions h = angular.helicity_amps_p(q2, mB, mP, mb, mlight, ml, 0, ff, wc, N) J = angular.angularcoeffs_general_p(h, q2, mB, mP, mb, mlight, ml, 0) return J
def helicity_amps_ff(q2, wc_obj, par_dict, B, P, l1, l2, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bpll'] label = meson_quark[(B,P)] + l1 + l2 # e.g. bsmumu, bdtautau if l1 == l2: # include SM contributions for LF conserving decay wc = wctot_dict(wc_obj, label, scale, par) else: wc = wc_obj.get_wc(label, scale, par) if cp_conjugate: wc = conjugate_wc(wc) if l1 == l2: wc_eff = get_wceff(q2, wc, par, B, P, l1, scale) else: wc_eff = get_wceff_lfv(q2, wc, par, B, P, l1, l2, scale) ml1 = par['m_'+l1] ml2 = par['m_'+l2] mB = par['m_'+B] mP = par['m_'+P] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, P) ff = get_ff(q2, par, B, P) h = angular.helicity_amps_p(q2, mB, mP, mb, 0, ml1, ml2, ff, wc_eff, N) return h
def helicity_amps_ff(q2, wc_obj, par_dict, B, P, l1, l2, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bpll'] label = meson_quark[(B,P)] + l1 + l2 # e.g. bsmumu, bdtautau if l1 == l2: # include SM contributions for LF conserving decay wc = wctot_dict(wc_obj, label, scale, par) else: wc = wc_obj.get_wc(label, scale, par) if cp_conjugate: wc = conjugate_wc(wc) if l1 == l2: wc_eff = get_wceff(q2, wc, par, B, P, l1, scale) else: wc_eff = get_wceff_lfv(q2, wc, par, B, P, l1, l2, scale) ml1 = par['m_'+l1] ml2 = par['m_'+l2] mB = par['m_'+B] mP = par['m_'+P] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, P) ff = get_ff(q2, par, B, P) h = angular.helicity_amps_p(q2, mB, mP, mb, 0, ml1, ml2, ff, wc_eff, N) return h
def helicity_amps(q2, wc, par_dict, B, P, l1, l2): par = par_dict.copy() scale = config['renormalization scale']['bpll'] wc_eff = get_wceff_lfv(q2, wc, par, B, P, l1, l2, scale) ml1 = par['m_'+l1] ml2 = par['m_'+l2] mB = par['m_'+B] mP = par['m_'+P] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, P) ff = get_ff(q2, par, B, P) h = angular.helicity_amps_p(q2, mB, mP, mb, 0, ml1, ml2, ff, wc_eff, N) return h
def get_angularcoeff(q2, wc_obj, par, B, P, lep): ml = par['m_'+lep] mB = par['m_'+B] mP = par['m_'+P] scale = config['renormalization scale']['bpll'] mb = running.get_mb(par, scale) wc = get_wceff_fccc(wc_obj, par, meson_quark[(B,P)], lep, mb, scale, nf=5) N = prefactor(q2, par, B, P, lep) ff = get_ff(q2, par, B, P) qi_qj = meson_quark[(B, P)] if qi_qj == 'bu': mlight = 0. # neglecting the up quark mass if qi_qj == 'bc': mlight = running.get_mc(par, scale) # this is needed for scalar contributions h = angular.helicity_amps_p(q2, mB, mP, mb, mlight, ml, 0, ff, wc, N) J = angular.angularcoeffs_general_p(h, q2, mB, mP, mb, mlight, ml, 0) return J
def helicity_amps_ff(q2, wc_obj, par_dict, B, P, lep, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bpll'] label = meson_quark[(B, P)] + lep + lep # e.g. bsmumu, bdtautau wc = wctot_dict(wc_obj, label, scale, par) if cp_conjugate: wc = conjugate_wc(wc) wc_eff = get_wceff(q2, wc, par, B, P, lep, scale) ml = par['m_' + lep] mB = par['m_' + B] mP = par['m_' + P] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, P) ff = get_ff(q2, par, B, P) h = angular.helicity_amps_p(q2, mB, mP, mb, 0, ml, ml, ff, wc_eff, N) return h
def helicity_amps_ff(q2, wc_obj, par_dict, B, P, lep, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bpll'] label = meson_quark[(B,P)] + lep + lep # e.g. bsmumu, bdtautau wc = wctot_dict(wc_obj, label, scale, par) if cp_conjugate: wc = conjugate_wc(wc) wc_eff = get_wceff(q2, wc, par, B, P, lep, scale) ml = par['m_'+lep] mB = par['m_'+B] mP = par['m_'+P] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, P) ff = get_ff(q2, par, B, P) h = angular.helicity_amps_p(q2, mB, mP, mb, 0, ml, ml, ff, wc_eff, N) return h
def _get_angularcoeff(q2, wc_obj, par, B, P, lep, nu): scale = config['renormalization scale']['bpll'] mb = running.get_mb(par, scale) wc = get_wceff_fccc(wc_obj, par, meson_quark[(B,P)], lep, nu, mb, scale, nf=5) if lep != nu and all(C == 0 for C in wc.values()): return {'a': 0, 'b': 0, 'c': 0} # if all WCs vanish, so does the AC! ml = par['m_'+lep] mB = par['m_'+B] mP = par['m_'+P] N = prefactor(q2, par, B, P, lep) ff = get_ff(q2, par, B, P) qi_qj = meson_quark[(B, P)] if qi_qj == 'bu': mlight = 0. # neglecting the up quark mass if qi_qj == 'bc': mlight = running.get_mc(par, scale) # this is needed for scalar contributions h = angular.helicity_amps_p(q2, mB, mP, mb, mlight, ml, 0, ff, wc, N) J = angular.angularcoeffs_general_p(h, q2, mB, mP, mb, mlight, ml, 0) return J