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

◆ ~StandardModelMatching()

StandardModelMatching::~StandardModelMatching ( )
virtual

Definition at line 108 of file StandardModelMatching.cpp.

109 {}

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 SUSYMassInsertionMatching, SUSYMatching, and FlavourWilsonCoefficient_DF2Matching.

Definition at line 999 of file StandardModelMatching.cpp.

1003 {
1004  double gammam = 6. * CF;
1005  double Bt;
1006 
1007 
1008  double xt = x_t(Mut);
1009  gslpp::complex co = GF / 4. / M_PI * Mw * SM.getCKM().computelamt_d();
1010 
1011  vmcdb.clear();
1012 
1013  switch (mcdbd2.getScheme()) {
1014  case NDR:
1015  Bt = BtNDR;
1016  break;
1017  case HV:
1018  case LRI:
1019  default:
1020  std::stringstream out;
1021  out << mcdbd2.getScheme();
1022  throw std::runtime_error("StandardModel::CMdb2(): scheme " + out.str() + "not implemented");
1023  }
1024 
1025  mcdbd2.setMu(Mut);
1026 
1027  switch (mcdbd2.getOrder()) {
1028  case NNLO:
1029  case NLO:
1030  mcdbd2.setCoeff(0, co * co * 4. * (SM.Als(Mut, FULLNLO) / 4. / M_PI * (S1(xt) + //* CHECK ORDER *//
1031  (Bt + gamma0 * log(Mut / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Mut / Mw))), NLO);
1032 #if SUSYFIT_DEBUG & 1
1033  std::cout << "Mw = " << Mw << " mt(mut=" << Mut << ")= " << Mt_mut << " xt(mut=" << Mut << ")= " << xt << "matching of DB=2: S0(xt) = " << S0(xt) <<
1034  ", S1(xt) = " << S1(xt) +
1035  (Bt + gamma0 * log(Muw / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Muw / Mw)
1036  << ", lambdat_d^2 = " << SM.getCKM().computelamt_d()*SM.getCKM().computelamt_d() << std::endl;
1037 #endif
1038  case LO:
1039  mcdbd2.setCoeff(0, co * co * 4. * (S0(xt, xt)), LO);
1040  break;
1041  default:
1042  std::stringstream out;
1043  out << mcdbd2.getOrder();
1044  throw std::runtime_error("StandardModelMatching::CMdbd2(): order " + out.str() + "not implemented");
1045  }
1046 
1047 

◆ CMdbs2()

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

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

Returns
return the vector of SM Wilson coefficients

Implements ModelMatching.

Reimplemented in SUSYMassInsertionMatching, SUSYMatching, LoopMediatorsMatching, FlavourWilsonCoefficient_DF2Matching, and THDMMatching.

Definition at line 1049 of file StandardModelMatching.cpp.

1053 {
1054  double gammam = 6. * CF;
1055  double Bt;
1056  double xt = x_t(Mut);
1057  gslpp::complex co = GF / 4. / M_PI * Mw * SM.getCKM().computelamt_s();
1058 
1059  vmcds.clear();
1060 
1061  switch (mcdbs2.getScheme()) {
1062  case NDR:
1063  Bt = BtNDR;
1064  break;
1065  case HV:
1066  case LRI:
1067  default:
1068  std::stringstream out;
1069  out << mcdbs2.getScheme();
1070  throw std::runtime_error("StandardModel::CMdbs2(): scheme " + out.str() + "not implemented");
1071  }
1072 
1073  mcdbs2.setMu(Mut);
1074 
1075  switch (mcdbs2.getOrder()) {
1076  case NNLO:
1077  case NLO:
1078  mcdbs2.setCoeff(0, co * co * 4. * (SM.Als(Mut, FULLNLO) / 4. / M_PI * (S1(xt) + //* CHECK ORDER *//
1079  (Bt + gamma0 * log(Mut / Mw)) * S0(xt, xt) + 2. * gammam * S0p(xt) * log(Mut / Mw))), NLO);
1080  case LO:
1081  mcdbs2.setCoeff(0, co * co * 4. * (S0(xt, xt)), LO);
1082  break;
1083  default:
1084  std::stringstream out;
1085  out << mcdbs2.getOrder();
1086  throw std::runtime_error("StandardModelMatching::CMdbs2(): order " + out.str() + "not implemented");
1087  }
1088 

◆ CMdd2()

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

\( \Delta C = 2 \),

Returns
return the vector of SM Wilson coefficients

Implements ModelMatching.

Reimplemented in SUSYMassInsertionMatching, and FlavourWilsonCoefficient_DF2Matching.

Definition at line 1205 of file StandardModelMatching.cpp.

1210 {
1211  vmcd2.clear();
1212 
1213  switch (mcdd2.getScheme()) {
1214  case NDR:
1215  case HV:
1216  case LRI:
1217  break;
1218  default:
1219  std::stringstream out;
1220  out << mcdd2.getScheme();
1221  throw std::runtime_error("StandardModel::CMdd2(): scheme " + out.str() + "not implemented");
1222  }
1223 
1224  mcdd2.setMu(Muw);
1225 
1226  switch (mcdd2.getOrder()) {
1227  case NNLO:
1228  case NLO:
1229  for(int i=0; i<5; i++)
1230  mcdd2.setCoeff(i, 0., NLO);
1231  case LO:
1232  for(int j=0; j<5; j++)
1233  mcdd2.setCoeff(j, 0., LO);
1234  break;
1235  default:
1236  std::stringstream out;
1237  out << mcdd2.getOrder();
1238  throw std::runtime_error("StandardModelMatching::CMdd2(): order " + out.str() + "not implemented");
1239  }

◆ updateSMParameters()

void StandardModelMatching::updateSMParameters ( )

Updates to new Standard Model parameter sets.

Definition at line 111 of file StandardModelMatching.cpp.

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

The documentation for this class was generated from the following files:
Mw::Mw
Mw(const StandardModel &SM_i)
Constructor.
Definition: Mw.h:29
NLO_QED11
Definition: OrderScheme.h:51
FULLNNNLO
Definition: OrderScheme.h:39
LO
Definition: OrderScheme.h:33
NDR
Definition: OrderScheme.h:21
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
QCD2
Definition: OrderScheme.h:69
QCD::TOP
Definition: QCD.h:328
NNLO
Definition: OrderScheme.h:35
NLO_QED22
Definition: OrderScheme.h:55
QED2
Definition: OrderScheme.h:85
LRI
Definition: OrderScheme.h:23
Mw
An observable class for the -boson mass.
Definition: Mw.h:22
HV
Definition: OrderScheme.h:22
NLO
Definition: OrderScheme.h:34
FULLNNLO
Definition: OrderScheme.h:38
FULLNLO
Definition: OrderScheme.h:37