8 #ifndef STANDARDMODELMATCHING_H
9 #define STANDARDMODELMATCHING_H
14 #define LEPS 1.e-5 // tolerance in the limit of S(x,y) to S(x)
44 virtual std::vector<WilsonCoefficient>&
CMdbd2() ;
51 virtual std::vector<WilsonCoefficient>&
CMdbs2() ;
58 virtual std::vector<WilsonCoefficient>&
CMdd2() ;
65 virtual std::vector<WilsonCoefficient>& CMdk2() ;
74 virtual std::vector<WilsonCoefficient>&
CMbnlep(
int a) ;
82 virtual std::vector<WilsonCoefficient>&
CMbnlepCC(
int a) ;
90 virtual std::vector<WilsonCoefficient>&
CMbsg() ;
98 virtual std::vector<WilsonCoefficient>&
CMprimebsg() ;
122 virtual std::vector<WilsonCoefficient>& CMK() ;
131 virtual std::vector<WilsonCoefficient>& CMKCC() ;
138 virtual std::vector<WilsonCoefficient>&
CMd1() ;
145 virtual std::vector<WilsonCoefficient>&
CMd1Buras() ;
151 virtual std::vector<WilsonCoefficient>& CMkpnn() ;
156 virtual std::vector<WilsonCoefficient>& CMkmm() ;
162 virtual std::vector<WilsonCoefficient>& CMbsmm() ;
168 virtual std::vector<WilsonCoefficient>& CMbdmm() ;
174 virtual std::vector<WilsonCoefficient>& CMbtaunu(
QCD::meson meson_i) ;
180 virtual std::vector<WilsonCoefficient>& CMBXsnn() ;
186 virtual std::vector<WilsonCoefficient>& CMBXdnn() ;
192 virtual std::vector<WilsonCoefficient>& CMDLij(
int li_lj) ;
198 virtual std::vector<WilsonCoefficient>& CMDLi3j(
int li_lj) ;
204 virtual std::vector<WilsonCoefficient>& CMmueconv() ;
210 virtual std::vector<WilsonCoefficient>& CMgminus2mu() ;
214 double mt2omh2(
const double mu,
const orders order =
FULLNNLO)
const;
222 double A0t(
double x)
const;
230 double B0t(
double x)
const;
238 double C0t(
double x)
const;
246 double D0t(
double x)
const;
254 double F0t(
double x)
const;
262 double E0t(
double x)
const;
271 double A1t(
double x,
double mu)
const;
280 double B1t(
double x,
double mu)
const;
289 double C1t(
double x,
double mu)
const;
298 double D1t(
double x,
double mu)
const;
307 double F1t(
double x,
double mu)
const;
316 double E1t(
double x,
double mu)
const;
325 double G1t(
double x,
double mu)
const;
333 double C7c_3L_at_mW(
double x)
const;
341 double C7t_3L_at_mt(
double x)
const;
350 double C7t_3L_func(
double x,
double mu)
const;
358 double C8c_3L_at_mW(
double x)
const;
366 double C8t_3L_at_mt(
double x)
const;
375 double C8t_3L_func(
double x,
double mu)
const;
383 double Tt(
double x)
const;
391 double Wt(
double x)
const;
399 double Eet(
double x)
const;
408 double Rest(
double x,
double mu)
const;
417 double C10_OS1(
double x,
double mu);
424 double Y0(
double x)
const;
432 double Y1(
double x,
double mu)
const;
440 double C7LOeff(
double x)
const;
448 double C7NLOeff(
double x)
const;
456 double C8LOeff(
double x)
const;
464 double C8NLOeff(
double x)
const;
472 double B0b(
double x)
const;
480 double C0b(
double x)
const;
488 double D0b(
double x)
const;
496 double D0b_tilde(
double x)
const;
504 double E0b(
double x)
const;
513 double B1d(
double x,
double mu)
const;
522 double B1d_tilde(
double x,
double mu)
const;
531 double B1u(
double x,
double mu)
const;
540 double B1u_tilde(
double x,
double mu)
const;
548 double C1ew(
double x)
const;
557 double Zew(
double xt,
double xz)
const;
567 double Gew(
double xt,
double xz,
double mu)
const;
577 double Hew(
double xt,
double xz,
double mu)
const;
606 double X0t(
double x)
const;
614 double X1t(
double x)
const;
625 double Xewt(
double x,
double a,
double mu)
const;
633 double S1(
double x)
const;
635 virtual double S0(
double,
double)
const;
637 double getMt_mut()
const {
642 std::vector<WilsonCoefficient> vmcdb, vmcds, vmcd2, vmck2, vmck, vmckcc;
643 std::vector<WilsonCoefficient> vmcbsg, vmcprimebsg, vmcBMll, vmcprimeBMll, vmcbnlep, vmcbnlepCC, vmcd1, vmcd1Buras;
644 std::vector<WilsonCoefficient> vmckpnn, vmckmm, vmcbsnn, vmcbdnn, vmcbsmm, vmcbdmm, vmcbtaunu;
645 std::vector<WilsonCoefficient> vmcDLij, vmcDLi3j, vmcmueconv, vmcgminus2mu;
650 double S0(
double)
const;
651 double S0p(
double x)
const;
652 double S11(
double x)
const;
653 double S18(
double x)
const;
655 WilsonCoefficient mcbsg, mcprimebsg, mcBMll, mcprimeBMll, mcbnlep, mcbnlepCC, mcd1, mcd1Buras;
659 double Mut, Muw, Ale, GF, Mw_tree, Nc, CF, Mt_muw, Mt_mut;
660 double gamma0, J5, BtNDR,
Mw, sW2, mu_b;
662 double alstilde, aletilde;
674 double setWCBsmm(
int i,
double x,
orders order);
683 double setWCBsmmEW(
int i,
double x,
orders_qed order_qed);
692 double setWCBdmm(
int i,
double x,
orders order);
701 double setWCBdmmEW(
int i,
double x,
orders_qed order_qed);
710 double setWCbsg (
int i,
double x,
orders order);
719 double setWCBMll (
int i,
double x,
orders order);
728 double setWCbnlep (
int i,
double x,
orders order);
736 double setWCbnlepEW (
int i,
double x);
743 double phi1(
double z)
const;
751 double phi2 (
double x,
double y)
const;
753 double CWbsgArrayLO[8], CWbsgArrayNLO[8], CWbsgArrayNNLO[8];
754 double CWprimebsgArrayLO[8], CWprimebsgArrayNLO[8];
755 double CWBMllArrayLO[19], CWBMllArrayNLO[19];
756 double CWD1ArrayLO[10], CWD1ArrayNLO[10];
757 double CWbnlepArrayLOqcd[10], CWbnlepArrayNLOqcd[10];
758 double CWbnlepArrayLOew[10], CWbnlepArrayNLOew[10];
760 double CWBsmmArrayNNLOqcd[8], CWBsmmArrayNLOqcd[8], CWBsmmArrayLOqcd[8];
761 double CWBsmmArrayNLOewt4[8], CWBsmmArrayNLOewt2[8], CWBsmmArrayNLOew[8];
763 double CWBdmmArrayNNLOqcd[8], CWBdmmArrayNLOqcd[8], CWBdmmArrayLOqcd[8];
764 double CWBdmmArrayNLOewt4[8], CWBdmmArrayNLOewt2[8], CWBdmmArrayNLOew[8];
766 double sw, swa, swb, swc, swd, swe, swf;
767 double xcachea, xcacheb, xcachec, xcached, xcachee, xcachef;
775 double phi_z(
double z)
const;
783 double phi_xy (
double x,
double y)
const;
790 double C3funNNLO(
double x);
798 double C4fun(
double x,
orders ord);
805 double C5funNNLO(
double x);
812 double C6funNNLO(
double x);
819 double C7funLO(
double x);
826 double C8funLO(
double x);
834 double fbb(
double x);
842 double gbb(
double x);
850 double taub2(
double x);
859 double Delta_t(
double mu,
double x);