a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
StandardModelMatching Class Reference

A class for the matching in the Standard Model. More...

#include <StandardModelMatching.h>

+ Inheritance diagram for StandardModelMatching:

Detailed Description

A class for the matching in the Standard Model.

Author
HEPfit Collaboration

Definition at line 26 of file StandardModelMatching.h.

Public Member Functions

virtual std::vector< WilsonCoefficient > & CMdbd2 ()
 \( \Delta B = 2 \), \( B_{d} \) More...
 
virtual std::vector< WilsonCoefficient > & CMdbs2 ()
 \( \Delta B = 2 \), \( B_{s} \) More...
 
virtual std::vector< WilsonCoefficient > & CMdd2 ()
 \( \Delta C = 2 \), More...
 
 StandardModelMatching (const StandardModel &SM_i)
 
void updateSMParameters ()
 Updates to new Standard Model parameter sets. More...
 
virtual ~StandardModelMatching ()
 
- Public Member Functions inherited from ModelMatching
virtual std::vector< WilsonCoefficient > & CMBMll (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMbnlep (int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbnlepCC (const int a)=0
 
virtual std::vector< WilsonCoefficient > & CMbsg ()=0
 
virtual std::vector< WilsonCoefficient > & CMBXsnn (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMd1 ()=0
 
virtual std::vector< WilsonCoefficient > & CMd1Buras ()=0
 
virtual std::vector< WilsonCoefficientNew > & CMDF1 (std::string blocks, unsigned int nops)=0
 
virtual std::vector< WilsonCoefficient > & CMprimeBMll (QCD::lepton lepton)=0
 
virtual std::vector< WilsonCoefficient > & CMprimebsg ()=0
 
virtual ~ModelMatching ()
 

Constructor & Destructor Documentation

◆ StandardModelMatching()

StandardModelMatching::StandardModelMatching ( const StandardModel SM_i)

Definition at line 16 of file StandardModelMatching.cpp.

17: SM(SM_i),
18mcdbd2(5, NDR, NLO),
19mcdbs2(5, NDR, NLO),
20mcdd2(5, NDR, NLO),
21mcdk2(5, NDR, NLO),
22mck(10, NDR, NLO, NLO_QED11),
23mckcc(10, NDR, NLO, NLO_QED11),
24mcbsg(8, NDR, NNLO),
25mcprimebsg(8, NDR, NNLO),
26mcBMll(13, NDR, NLO),
27mcprimeBMll(13, NDR, NLO),
28mcbnlep(10, NDR, NLO, NLO_QED11),
29mcbnlepCC(10, NDR, NLO),
30mcd1(10, NDR, NLO),
31mcd1Buras(10, NDR, NLO),
32mckpnn(2, NDR, NLO, NLO_QED11),
33mckmm(1, NDR, NLO),
34mcbsnn(2, NDR, NLO, NLO_QED11),
35mcbdnn(2, NDR, NLO, NLO_QED11),
36mcbsmm(8, NDR, NNLO, NLO_QED22),
37mcbdmm(8, NDR, NNLO, NLO_QED22),
38mculeptonnu(5, NDR, LO),
39mcDLij(2, NDR, LO),
40mcDLi3j(20, NDR, LO),
41mcmueconv(8, NDR, LO),
42mcgminus2mu(2, NDR, NLO),
43mcC(2, NDR, QCD2, QED2), // blocks have to have the same orders
44mcP(4, NDR, QCD2, QED2),
45mcM(2, NDR, QCD2, QED2),
46mcL(2, NDR, QCD2, QED2),
47mcQ(4, NDR, QCD2, QED2),
48mcB(1, NDR, QCD2, QED2),
49Vckm(3, 3, 0.) {
50 swa = 0.;
51 swb = 0.;
52 swc = 0.;
53 xcachea = 0.;
54 xcacheb = 0.;
55 xcachec = 0.;
56
57
58 for (int j = 0; j < 10; j++) {
59 CWD1ArrayLO[j] = 0.;
60 CWD1ArrayNLO[j] = 0.;
61 CWbnlepArrayLOqcd[j] = 0.;
62 CWbnlepArrayNLOqcd[j] = 0.;
63 CWbnlepArrayLOew[j] = 0.;
64 CWbnlepArrayNLOew[j] = 0.;
65 };
66
67
68 for (int j = 0; j < 19; j++) {
69 CWBMllArrayLO[j] = 0.;
70 CWBMllArrayNLO[j] = 0.;
71 }
72
73 for (int j = 0; j < 8; j++) {
74 CWbsgArrayLO[j] = 0.;
75 CWbsgArrayNLO[j] = 0.;
76 CWbsgArrayNNLO[j] = 0.;
77 CWprimebsgArrayLO[j] = 0.;
78 CWprimebsgArrayNLO[j] = 0.;
79 }
80
81 for (int j = 0; j < 8; j++) {
82 CWBsmmArrayNNLOqcd[j] = 0.;
83 CWBsmmArrayNLOqcd[j] = 0.;
84 CWBsmmArrayLOqcd[j] = 0.;
85 CWBsmmArrayNLOewt4[j] = 0.;
86 CWBsmmArrayNLOewt2[j] = 0.;
87 CWBsmmArrayNLOew[j] = 0.;
88 }
89
90 for (int j = 0; j < 8; j++) {
91 CWBdmmArrayNNLOqcd[j] = 0.;
92 CWBdmmArrayNLOqcd[j] = 0.;
93 CWBdmmArrayLOqcd[j] = 0.;
94 CWBdmmArrayNLOewt4[j] = 0.;
95 CWBdmmArrayNLOewt2[j] = 0.;
96 CWBdmmArrayNLOew[j] = 0.;
97 }
98
99
100 Nc = SM.getNc();
101 CF = SM.getCF();
102 gamma0 = 6. * (Nc - 1.) / Nc;
103 J5 = SM.Beta1(5) * gamma0 / 2. / SM.Beta0(5) / SM.Beta0(5) - ((Nc - 1.) / (2. * Nc) * (-21. + 57. / Nc - 19. / 3. * Nc + 20. / 3.)) / 2. / SM.Beta0(5);
104 BtNDR = 5. * (Nc - 1.) / 2. / Nc + 3. * CF;
105}
@ NNLO
Definition: OrderScheme.h:36
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
@ NDR
Definition: OrderScheme.h:21
@ QED2
Definition: OrderScheme.h:93
@ NLO_QED11
Definition: OrderScheme.h:59
@ NLO_QED22
Definition: OrderScheme.h:63
@ QCD2
Definition: OrderScheme.h:77

◆ ~StandardModelMatching()

StandardModelMatching::~StandardModelMatching ( )
virtual

Definition at line 107 of file StandardModelMatching.cpp.

107 {
108}

Member Function Documentation

◆ CMdbd2()

std::vector< WilsonCoefficient > & StandardModelMatching::CMdbd2 ( )
virtual

\( \Delta B = 2 \), \( B_{d} \)

Returns
return the vector of SM Wilson coefficients

Implements ModelMatching.

Reimplemented in FlavourWilsonCoefficient_DF2Matching, NPSMEFTd6GeneralMatching, SUSYMatching, and SUSYMassInsertionMatching.

Definition at line 966 of file StandardModelMatching.cpp.

966 {
967 double gammam = 6. * CF;
968 double Bt;
969
970
971 double xt = x_t(Mut);
972 gslpp::complex co = GF / 4. / M_PI * Mw * SM.getCKM().computelamt_d();
973
974 vmcdb.clear();
975
976 switch (mcdbd2.getScheme()) {
977 case NDR:
978 Bt = BtNDR;
979 break;
980 case HV:
981 case LRI:
982 default:
983 std::stringstream out;
984 out << mcdbd2.getScheme();
985 throw std::runtime_error("StandardModelMatching::CMdb2(): scheme " + out.str() + "not implemented");
986 }
987
988 mcdbd2.setMu(Mut);
989
990 switch (mcdbd2.getOrder()) {
991 case NNLO:
992 case NLO:
993 mcdbd2.setCoeff(0, co * co * 4. * (SM.Als(Mut, FULLNLO) / 4. / M_PI * (S1(xt) + //* CHECK ORDER *//
994 (Bt + gamma0 * log(Mut / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Mut / Mw))), NLO);
995#if SUSYFIT_DEBUG & 2
996 std::cout << "Mw = " << Mw << " mt(mut=" << Mut << ")= " << Mt_mut << " xt(mut=" << Mut << ")= " << xt << "matching of DB=2: S0(xt) = " << S0(xt) <<
997 ", S1(xt) = " << S1(xt) +
998 (Bt + gamma0 * log(Muw / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Muw / Mw)
999 << ", lambdat_d^2 = " << SM.getCKM().computelamt_d() * SM.getCKM().computelamt_d()
1000 << std::endl;
1001#endif
1002 case LO:
1003 mcdbd2.setCoeff(0, co * co * 4. * (S0(xt, xt)), LO);
1004 break;
1005 default:
1006 std::stringstream out;
1007 out << mcdbd2.getOrder();
1008 throw std::runtime_error("StandardModelMatching::CMdbd2(): order " + out.str() + "not implemented");
1009 }
1010
1011
1012 vmcdb.push_back(mcdbd2);
1013 return (vmcdb);
1014}
@ FULLNLO
Definition: OrderScheme.h:38
@ HV
Definition: OrderScheme.h:22
@ LRI
Definition: OrderScheme.h:23
An observable class for the -boson mass.
Definition: Mw.h:22

◆ CMdbs2()

std::vector< WilsonCoefficient > & StandardModelMatching::CMdbs2 ( )
virtual

\( \Delta B = 2 \), \( B_{s} \)

Returns
return the vector of SM Wilson coefficients

Implements ModelMatching.

Reimplemented in FlavourWilsonCoefficient_DF2Matching, LoopMediatorsMatching, GeneralTHDMMatching, NPSMEFTd6GeneralMatching, SUSYMatching, SUSYMassInsertionMatching, THDMMatching, and THDMWMatching.

Definition at line 1016 of file StandardModelMatching.cpp.

1016 {
1017 double gammam = 6. * CF;
1018 double Bt;
1019 double xt = x_t(Mut);
1020 gslpp::complex co = GF / 4. / M_PI * Mw * SM.getCKM().computelamt_s();
1021
1022 vmcds.clear();
1023
1024 switch (mcdbs2.getScheme()) {
1025 case NDR:
1026 Bt = BtNDR;
1027 break;
1028 case HV:
1029 case LRI:
1030 default:
1031 std::stringstream out;
1032 out << mcdbs2.getScheme();
1033 throw std::runtime_error("StandardModelMatching::CMdbs2(): scheme " + out.str() + "not implemented");
1034 }
1035
1036 mcdbs2.setMu(Mut);
1037
1038 switch (mcdbs2.getOrder()) {
1039 case NNLO:
1040 case NLO:
1041 mcdbs2.setCoeff(0, co * co * 4. * (SM.Als(Mut, FULLNLO) / 4. / M_PI * (S1(xt) + //* CHECK ORDER *//
1042 (Bt + gamma0 * log(Mut / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Mut / Mw))), NLO);
1043 case LO:
1044 mcdbs2.setCoeff(0, co * co * 4. * (S0(xt, xt)), LO);
1045 break;
1046 default:
1047 std::stringstream out;
1048 out << mcdbs2.getOrder();
1049 throw std::runtime_error("StandardModelMatching::CMdbs2(): order " + out.str() + "not implemented");
1050 }
1051
1052 vmcds.push_back(mcdbs2);
1053 return (vmcds);
1054}

◆ CMdd2()

std::vector< WilsonCoefficient > & StandardModelMatching::CMdd2 ( )
virtual

\( \Delta C = 2 \),

Returns
return the vector of SM Wilson coefficients

Implements ModelMatching.

Reimplemented in FlavourWilsonCoefficient_DF2Matching, NPSMEFTd6GeneralMatching, SUSYMatching, and SUSYMassInsertionMatching.

Definition at line 1169 of file StandardModelMatching.cpp.

1169 {
1170 vmcd2.clear();
1171
1172 switch (mcdd2.getScheme()) {
1173 case NDR:
1174 case HV:
1175 case LRI:
1176 break;
1177 default:
1178 std::stringstream out;
1179 out << mcdd2.getScheme();
1180 throw std::runtime_error("StandardModelMatching::CMdd2(): scheme " + out.str() + "not implemented");
1181 }
1182
1183 mcdd2.setMu(Muw);
1184
1185 switch (mcdd2.getOrder()) {
1186 case NNLO:
1187 case NLO:
1188 for (int i = 0; i < 5; i++)
1189 mcdd2.setCoeff(i, 0., NLO);
1190 case LO:
1191 for (int j = 0; j < 5; j++)
1192 mcdd2.setCoeff(j, 0., LO);
1193 break;
1194 default:
1195 std::stringstream out;
1196 out << mcdd2.getOrder();
1197 throw std::runtime_error("StandardModelMatching::CMdd2(): order " + out.str() + "not implemented");
1198 }
1199
1200 vmcd2.push_back(mcdd2);
1201 return (vmcd2);
1202}

◆ updateSMParameters()

void StandardModelMatching::updateSMParameters ( )

Updates to new Standard Model parameter sets.

Definition at line 110 of file StandardModelMatching.cpp.

110 {
111 Mut = SM.getMut();
112 Muw = SM.getMuw();
113 Ale = SM.getAle();
114 Mt_muw = SM.Mrun(Muw, SM.getQuarks(QCD::TOP).getMass_scale(),
115 SM.getQuarks(QCD::TOP).getMass(), QCD::TOP, FULLNNLO);
116 Mt_mut = SM.Mrun(Mut, SM.getQuarks(QCD::TOP).getMass_scale(),
117 SM.getQuarks(QCD::TOP).getMass(), QCD::TOP, FULLNNLO);
118 alstilde = SM.Als(Muw, FULLNNNLO, true, true) / 4. / M_PI; // SM.Alstilde5(Muw) WHICH ONE TO USE?
119 aletilde = SM.Ale(Muw, FULLNLO) / 4. / M_PI; // Ale / 4. / M_PI; // WHERE IS ale(mu)?
120 GF = SM.getGF();
121 Mw_tree = SM.Mw_tree();
122 Mw = SM.Mw(); /* on-shell Mw */
123 sW2 = SM.sW2(); /* on-shell sW2 */
124 /* NP models should be added here after writing codes for Mw. */
125 /* The following is commented out till further review.*/
126 // if (SM.getModelName()=="StandardModel") {
127 // Mw = SM.Mw(); /* on-shell Mw */
128 // sW2 = SM.sW2(); /* on-shell sW2 */
129 // } else {
130 // Mw = Mw_tree;
131 // sW2 = 1.0 - Mw*Mw/SM.getMz()/SM.getMz();
132 // }
133 // sW2 = (M_PI * Ale ) / ( sqrt(2.) * GF * Mw * Mw ); // WARNING: only for
134 Vckm = SM.getVCKM();
135 lam_t = SM.getCKM().computelamt();
136 L = 2. * log(Muw / Mw);
137 Lz = 2. * log(Muw / SM.getMz());
138 mu_b = SM.getMub();
139}
@ FULLNNNLO
Definition: OrderScheme.h:40
@ FULLNNLO
Definition: OrderScheme.h:39
@ TOP
Definition: QCD.h:328

The documentation for this class was generated from the following files: