def wceff_bar(self, q2): """Get CP conjugate effective WCs. Cache and only recompute if necessary.""" if q2 not in self._wceff_bar: self._wceff_bar[q2] = get_wceff(q2, conjugate_wc(self.wctot_dict), self.par_conjugate, self.B, self.V, self.lep, self.scale) return self._wceff_bar[q2]
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 function(wc_obj, par_dict, q2, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) wc = wctot_dict(wc_obj, label, scale, par) if cp_conjugate: wc = conjugate_wc(wc) return flavio.physics.bdecays.bvll.qcdf.helicity_amps_qcdf(q2, wc, par, B, V)
def helicity_amps_ff(q2, ff, wc_obj, par_dict, B, V, lep, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bvll'] label = meson_quark[(B,V)] + 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, V, lep, scale) ml = par['m_'+lep] mB = par['m_'+B] mV = par['m_'+V] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, V) h = angular.helicity_amps_v(q2, mB, mV, mb, 0, ml, ml, ff, wc_eff, N) return h
def helicity_amps_ff(q2, ff, wc_obj, par_dict, B, V, lep, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) scale = config['renormalization scale']['bvll'] label = meson_quark[(B, V)] + 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, V, lep, scale) ml = par['m_' + lep] mB = par['m_' + B] mV = par['m_' + V] mb = running.get_mb(par, scale) N = prefactor(q2, par, B, V) h = angular.helicity_amps_v(q2, mB, mV, mb, 0, ml, ml, ff, wc_eff, N) return h
def amps_ff(wc_obj, par_dict, B, V, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) N = prefactor(par, B, V) bq = meson_quark[(B,V)] ff_name = meson_ff[(B,V)] + ' form factor' ff = AuxiliaryQuantity[ff_name].prediction(par_dict=par, wc_obj=None, q2=0.) scale = config['renormalization scale']['bvgamma'] # these are the b->qee Wilson coefficients - they contain the b->qgamma ones as a subset wc = wctot_dict(wc_obj, bq+'ee', scale, par) if cp_conjugate: wc = conjugate_wc(wc) delta_C7 = flavio.physics.bdecays.matrixelements.delta_C7(par=par, wc=wc, q2=0, scale=scale, qiqj=bq) a = {} a['L'] = N * (wc['C7eff_'+bq] + delta_C7) * ff['T1'] a['R'] = N * wc['C7effp_'+bq] * ff['T1'] return a
def amps_ff(wc_obj, par_dict, B, V, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) N = prefactor(par, B, V) bq = meson_quark[(B, V)] ff_name = meson_ff[(B, V)] + " form factor" ff = AuxiliaryQuantity.get_instance(ff_name).prediction(par_dict=par, wc_obj=None, q2=0.0) scale = config["renormalization scale"]["bvgamma"] # these are the b->qee Wilson coefficients - they contain the b->qgamma ones as a subset wc = wctot_dict(wc_obj, bq + "ee", scale, par) if cp_conjugate: wc = conjugate_wc(wc) delta_C7 = flavio.physics.bdecays.matrixelements.delta_C7(par=par, wc=wc, q2=0, scale=scale, qiqj=bq) a = {} a["L"] = N * (wc["C7eff_" + bq] + delta_C7) * ff["T1"] a["R"] = N * wc["C7effp_" + bq] * ff["T1"] return a
def amps_ff(wc_obj, par_dict, B, V, cp_conjugate): par = par_dict.copy() if cp_conjugate: par = conjugate_par(par) N = prefactor(par, B, V) bq = meson_quark[(B,V)] ff_name = meson_ff[(B,V)] + ' form factor' ff = AuxiliaryQuantity.get_instance(ff_name).prediction(par_dict=par, wc_obj=None, q2=0.) scale = config['renormalization scale']['bvgamma'] # these are the b->qee Wilson coefficients - they contain the b->qgamma ones as a subset wc = wctot_dict(wc_obj, bq+'ee', scale, par) if cp_conjugate: wc = conjugate_wc(wc) delta_C7 = flavio.physics.bdecays.matrixelements.delta_C7(par=par, wc=wc, q2=0, scale=scale, qiqj=bq) a = {} a['L'] = N * (wc['C7eff_'+bq] + delta_C7) * ff['T1'] a['R'] = N * wc['C7effp_'+bq] * ff['T1'] return a