a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
FlavourWilsonCoefficient_DF2.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
9 
10 const std::string FlavourWilsonCoefficient_DF2::FlavourWilsonCoefficient_DF2vars[NFlavourWilsonCoefficient_DF2vars] = {
11  "reC1_s","reC2_s","reC3_s","reC4_s","reC5_s",
12 "reC1_c","reC2_c","reC3_c","reC4_c","reC5_c","reC1_bd","reC2_bd","reC3_bd","reC4_bd","reC5_bd",
13 "reC1_bs","reC2_bs","reC3_bs","reC4_bs","reC5_bs","imC1_s","imC2_s","imC3_s","imC4_s","imC5_s",
14 "imC1_c","imC2_c","imC3_c","imC4_c","imC5_c","imC1_bd","imC2_bd","imC3_bd","imC4_bd","imC5_bd",
15 "imC1_bs","imC2_bs","imC3_bs","imC4_bs","imC5_bs","WCscale_s","WCscale_c","WCscale_bd","WCscale_bs"};
16 
18  FWCM(*this), C_s(5,0.), C_c(5,0.), C_bd(5,0.), C_bs(5,0.) {
19 
21  ModelParamMap.insert(std::make_pair("reC1_s", std::cref(reC1_s)));
22  ModelParamMap.insert(std::make_pair("reC2_s", std::cref(reC2_s)));
23  ModelParamMap.insert(std::make_pair("reC3_s", std::cref(reC3_s)));
24  ModelParamMap.insert(std::make_pair("reC4_s", std::cref(reC4_s)));
25  ModelParamMap.insert(std::make_pair("reC5_s", std::cref(reC5_s)));
26  ModelParamMap.insert(std::make_pair("imC1_s", std::cref(imC1_s)));
27  ModelParamMap.insert(std::make_pair("imC2_s", std::cref(imC2_s)));
28  ModelParamMap.insert(std::make_pair("imC3_s", std::cref(imC3_s)));
29  ModelParamMap.insert(std::make_pair("imC4_s", std::cref(imC4_s)));
30  ModelParamMap.insert(std::make_pair("imC5_s", std::cref(imC5_s)));
31  ModelParamMap.insert(std::make_pair("WCscale_s", std::cref(WCscale_s)));
32  ModelParamMap.insert(std::make_pair("reC1_c", std::cref(reC1_c)));
33  ModelParamMap.insert(std::make_pair("reC2_c", std::cref(reC2_c)));
34  ModelParamMap.insert(std::make_pair("reC3_c", std::cref(reC3_c)));
35  ModelParamMap.insert(std::make_pair("reC4_c", std::cref(reC4_c)));
36  ModelParamMap.insert(std::make_pair("reC5_c", std::cref(reC5_c)));
37  ModelParamMap.insert(std::make_pair("imC1_c", std::cref(imC1_c)));
38  ModelParamMap.insert(std::make_pair("imC2_c", std::cref(imC2_c)));
39  ModelParamMap.insert(std::make_pair("imC3_c", std::cref(imC3_c)));
40  ModelParamMap.insert(std::make_pair("imC4_c", std::cref(imC4_c)));
41  ModelParamMap.insert(std::make_pair("imC5_c", std::cref(imC5_c)));
42  ModelParamMap.insert(std::make_pair("WCscale_c", std::cref(WCscale_c)));
43  ModelParamMap.insert(std::make_pair("reC1_bd", std::cref(reC1_bd)));
44  ModelParamMap.insert(std::make_pair("reC2_bd", std::cref(reC2_bd)));
45  ModelParamMap.insert(std::make_pair("reC3_bd", std::cref(reC3_bd)));
46  ModelParamMap.insert(std::make_pair("reC4_bd", std::cref(reC4_bd)));
47  ModelParamMap.insert(std::make_pair("reC5_bd", std::cref(reC5_bd)));
48  ModelParamMap.insert(std::make_pair("imC1_bd", std::cref(imC1_bd)));
49  ModelParamMap.insert(std::make_pair("imC2_bd", std::cref(imC2_bd)));
50  ModelParamMap.insert(std::make_pair("imC3_bd", std::cref(imC3_bd)));
51  ModelParamMap.insert(std::make_pair("imC4_bd", std::cref(imC4_bd)));
52  ModelParamMap.insert(std::make_pair("imC5_bd", std::cref(imC5_bd)));
53  ModelParamMap.insert(std::make_pair("WCscale_bd", std::cref(WCscale_bd)));
54  ModelParamMap.insert(std::make_pair("reC1_bs", std::cref(reC1_bs)));
55  ModelParamMap.insert(std::make_pair("reC2_bs", std::cref(reC2_bs)));
56  ModelParamMap.insert(std::make_pair("reC3_bs", std::cref(reC3_bs)));
57  ModelParamMap.insert(std::make_pair("reC4_bs", std::cref(reC4_bs)));
58  ModelParamMap.insert(std::make_pair("reC5_bs", std::cref(reC5_bs)));
59  ModelParamMap.insert(std::make_pair("imC1_bs", std::cref(imC1_bs)));
60  ModelParamMap.insert(std::make_pair("imC2_bs", std::cref(imC2_bs)));
61  ModelParamMap.insert(std::make_pair("imC3_bs", std::cref(imC3_bs)));
62  ModelParamMap.insert(std::make_pair("imC4_bs", std::cref(imC4_bs)));
63  ModelParamMap.insert(std::make_pair("imC5_bs", std::cref(imC5_bs)));
64  ModelParamMap.insert(std::make_pair("WCscale_bs", std::cref(WCscale_bs)));
65 }
66 
67 
69 // Initialization
70 
72 {
75  return(true);
76 }
77 
79 {
80  if(!StandardModel::PostUpdate()) return (false);
81 
82  C_s.assign(0,gslpp::complex(reC1_s, imC1_s));
83  C_s.assign(1,gslpp::complex(reC2_s, imC2_s));
84  C_s.assign(2,gslpp::complex(reC3_s, imC3_s));
85  C_s.assign(3,gslpp::complex(reC4_s, imC4_s));
86  C_s.assign(4,gslpp::complex(reC5_s, imC5_s));
87  C_c.assign(0,gslpp::complex(reC1_c, imC1_c));
88  C_c.assign(1,gslpp::complex(reC2_c, imC2_c));
89  C_c.assign(2,gslpp::complex(reC3_c, imC3_c));
90  C_c.assign(3,gslpp::complex(reC4_c, imC4_c));
91  C_c.assign(4,gslpp::complex(reC5_c, imC5_c));
92  C_bd.assign(0,gslpp::complex(reC1_bd, imC1_bd));
93  C_bd.assign(1,gslpp::complex(reC2_bd, imC2_bd));
94  C_bd.assign(2,gslpp::complex(reC3_bd, imC3_bd));
95  C_bd.assign(3,gslpp::complex(reC4_bd, imC4_bd));
96  C_bd.assign(4,gslpp::complex(reC5_bd, imC5_bd));
97  C_bs.assign(0,gslpp::complex(reC1_bs, imC1_bs));
98  C_bs.assign(1,gslpp::complex(reC2_bs, imC2_bs));
99  C_bs.assign(2,gslpp::complex(reC3_bs, imC3_bs));
100  C_bs.assign(3,gslpp::complex(reC4_bs, imC4_bs));
101  C_bs.assign(4,gslpp::complex(reC5_bs, imC5_bs));
102 
103  return (true);
104 }
105 
106 void FlavourWilsonCoefficient_DF2::setParameter(const std::string name, const double& value){
107  if(name.compare("reC1_s") == 0)
108  reC1_s = value;
109  else if(name.compare("reC2_s") == 0)
110  reC2_s = value;
111  else if(name.compare("reC3_s") == 0)
112  reC3_s = value;
113  else if(name.compare("reC4_s") == 0)
114  reC4_s = value;
115  else if(name.compare("reC5_s") == 0)
116  reC5_s = value;
117  else if(name.compare("imC1_s") == 0)
118  imC1_s = value;
119  else if(name.compare("imC2_s") == 0)
120  imC2_s = value;
121  else if(name.compare("imC3_s") == 0)
122  imC3_s = value;
123  else if(name.compare("imC4_s") == 0)
124  imC4_s = value;
125  else if(name.compare("imC5_s") == 0)
126  imC5_s = value;
127  else if(name.compare("WCscale_s") == 0)
128  WCscale_s = value;
129  else if(name.compare("reC1_c") == 0)
130  reC1_c = value;
131  else if(name.compare("reC2_c") == 0)
132  reC2_c = value;
133  else if(name.compare("reC3_c") == 0)
134  reC3_c = value;
135  else if(name.compare("reC4_c") == 0)
136  reC4_c = value;
137  else if(name.compare("reC5_c") == 0)
138  reC5_c = value;
139  else if(name.compare("imC1_c") == 0)
140  imC1_c = value;
141  else if(name.compare("imC2_c") == 0)
142  imC2_c = value;
143  else if(name.compare("imC3_c") == 0)
144  imC3_c = value;
145  else if(name.compare("imC4_c") == 0)
146  imC4_c = value;
147  else if(name.compare("imC5_c") == 0)
148  imC5_c = value;
149  else if(name.compare("WCscale_c") == 0)
150  WCscale_c = value;
151  else if(name.compare("reC1_bd") == 0)
152  reC1_bd = value;
153  else if(name.compare("reC2_bd") == 0)
154  reC2_bd = value;
155  else if(name.compare("reC3_bd") == 0)
156  reC3_bd = value;
157  else if(name.compare("reC4_bd") == 0)
158  reC4_bd = value;
159  else if(name.compare("reC5_bd") == 0)
160  reC5_bd = value;
161  else if(name.compare("imC1_bd") == 0)
162  imC1_bd = value;
163  else if(name.compare("imC2_bd") == 0)
164  imC2_bd = value;
165  else if(name.compare("imC3_bd") == 0)
166  imC3_bd = value;
167  else if(name.compare("imC4_bd") == 0)
168  imC4_bd = value;
169  else if(name.compare("imC5_bd") == 0)
170  imC5_bd = value;
171  else if(name.compare("WCscale_bd") == 0)
172  WCscale_bd = value;
173  else if(name.compare("reC1_bs") == 0)
174  reC1_bs = value;
175  else if(name.compare("reC2_bs") == 0)
176  reC2_bs = value;
177  else if(name.compare("reC3_bs") == 0)
178  reC3_bs = value;
179  else if(name.compare("reC4_bs") == 0)
180  reC4_bs = value;
181  else if(name.compare("reC5_bs") == 0)
182  reC5_bs = value;
183  else if(name.compare("imC1_bs") == 0)
184  imC1_bs = value;
185  else if(name.compare("imC2_bs") == 0)
186  imC2_bs = value;
187  else if(name.compare("imC3_bs") == 0)
188  imC3_bs = value;
189  else if(name.compare("imC4_bs") == 0)
190  imC4_bs = value;
191  else if(name.compare("imC5_bs") == 0)
192  imC5_bs = value;
193  else if(name.compare("WCscale_bs") == 0)
194  WCscale_bs = value;
195  else
197 }
198 
199 bool FlavourWilsonCoefficient_DF2::CheckParameters(const std::map<std::string, double>& DPars) {
200  for (int i = 0; i < NFlavourWilsonCoefficient_DF2vars; i++) {
201  if (DPars.find(FlavourWilsonCoefficient_DF2vars[i]) == DPars.end()) {
202  std::cout << "ERROR: missing mandatory FlavourWilsonCoefficient_DF2 parameter " << FlavourWilsonCoefficient_DF2vars[i] << std::endl;
205  }
206  }
207  return(StandardModel::CheckParameters(DPars));
208 }
StandardModel::setParameter
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
Definition: StandardModel.cpp:257
FlavourWilsonCoefficient_DF2::imC3_bd
double imC3_bd
Definition: FlavourWilsonCoefficient_DF2.h:219
FlavourWilsonCoefficient_DF2::C_bd
gslpp::vector< gslpp::complex > C_bd
Definition: FlavourWilsonCoefficient_DF2.h:221
FlavourWilsonCoefficient_DF2::imC4_bs
double imC4_bs
Definition: FlavourWilsonCoefficient_DF2.h:220
FlavourWilsonCoefficient_DF2::reC2_c
double reC2_c
Definition: FlavourWilsonCoefficient_DF2.h:214
FlavourWilsonCoefficient_DF2::reC4_bd
double reC4_bd
Definition: FlavourWilsonCoefficient_DF2.h:215
FlavourWilsonCoefficient_DF2::reC1_bs
double reC1_bs
Definition: FlavourWilsonCoefficient_DF2.h:216
FlavourWilsonCoefficient_DF2::reC2_bd
double reC2_bd
Definition: FlavourWilsonCoefficient_DF2.h:215
FlavourWilsonCoefficient_DF2::reC2_s
double reC2_s
Definition: FlavourWilsonCoefficient_DF2.h:213
FlavourWilsonCoefficient_DF2::NFlavourWilsonCoefficient_DF2vars
static const int NFlavourWilsonCoefficient_DF2vars
Definition: FlavourWilsonCoefficient_DF2.h:103
FlavourWilsonCoefficient_DF2::FlavourWilsonCoefficient_DF2
FlavourWilsonCoefficient_DF2()
FlavourWilsonCoefficient constructor.
Definition: FlavourWilsonCoefficient_DF2.cpp:17
Matching::getObj
T & getObj()
Definition: Matching.h:14
FlavourWilsonCoefficient_DF2::reC1_bd
double reC1_bd
Definition: FlavourWilsonCoefficient_DF2.h:215
FlavourWilsonCoefficient_DF2::imC5_bd
double imC5_bd
The imaginary parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:219
Model::addMissingModelParameter
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:240
FlavourWilsonCoefficient_DF2::imC2_bd
double imC2_bd
Definition: FlavourWilsonCoefficient_DF2.h:219
StandardModel::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for StandardModel have been provided in model initi...
Definition: StandardModel.cpp:339
FlavourWilsonCoefficient_DF2::imC3_bs
double imC3_bs
Definition: FlavourWilsonCoefficient_DF2.h:220
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
FlavourWilsonCoefficient_DF2::imC1_bs
double imC1_bs
Definition: FlavourWilsonCoefficient_DF2.h:220
Matching::setObj
void setObj(T &obji)
Definition: Matching.h:15
FlavourWilsonCoefficient_DF2::imC2_s
double imC2_s
Definition: FlavourWilsonCoefficient_DF2.h:217
FlavourWilsonCoefficient_DF2::imC2_c
double imC2_c
Definition: FlavourWilsonCoefficient_DF2.h:218
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
StandardModel::SMM
Matching< StandardModelMatching, StandardModel > SMM
An object of type Matching.
Definition: StandardModel.h:2550
FlavourWilsonCoefficient_DF2::imC1_s
double imC1_s
Definition: FlavourWilsonCoefficient_DF2.h:217
Model::setModelFWC_DF2
void setModelFWC_DF2()
Definition: Model.h:186
FlavourWilsonCoefficient_DF2::WCscale_s
double WCscale_s
Definition: FlavourWilsonCoefficient_DF2.h:222
FlavourWilsonCoefficient_DF2::PostUpdate
virtual bool PostUpdate()
The post-update method for FlavourWilsonCoefficient_DF2.
Definition: FlavourWilsonCoefficient_DF2.cpp:78
Model::ModelParamMap
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:270
FlavourWilsonCoefficient_DF2::imC5_bs
double imC5_bs
The imaginary parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:220
FlavourWilsonCoefficient_DF2::CheckParameters
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for FlavourWilsonCoefficient_DF2 have been provided...
Definition: FlavourWilsonCoefficient_DF2.cpp:199
FlavourWilsonCoefficient_DF2::WCscale_bd
double WCscale_bd
Definition: FlavourWilsonCoefficient_DF2.h:222
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
FlavourWilsonCoefficient_DF2::FlavourWilsonCoefficient_DF2vars
static const std::string FlavourWilsonCoefficient_DF2vars[NFlavourWilsonCoefficient_DF2vars]
Definition: FlavourWilsonCoefficient_DF2.h:105
FlavourWilsonCoefficient_DF2::imC5_c
double imC5_c
The imaginary parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:218
FlavourWilsonCoefficient_DF2::C_bs
gslpp::vector< gslpp::complex > C_bs
The complex Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:221
FlavourWilsonCoefficient_DF2::imC4_c
double imC4_c
Definition: FlavourWilsonCoefficient_DF2.h:218
FlavourWilsonCoefficient_DF2::imC3_c
double imC3_c
Definition: FlavourWilsonCoefficient_DF2.h:218
FlavourWilsonCoefficient_DF2::WCscale_bs
double WCscale_bs
The scale of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:222
Model::raiseMissingModelParameterCount
void raiseMissingModelParameterCount()
Definition: Model.h:250
FlavourWilsonCoefficient_DF2::C_s
gslpp::vector< gslpp::complex > C_s
Definition: FlavourWilsonCoefficient_DF2.h:221
FlavourWilsonCoefficient_DF2::reC5_bs
double reC5_bs
The real parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:216
FlavourWilsonCoefficient_DF2::reC4_s
double reC4_s
Definition: FlavourWilsonCoefficient_DF2.h:213
StandardModel::PostUpdate
virtual bool PostUpdate()
The post-update method for StandardModel.
Definition: StandardModel.cpp:225
FlavourWilsonCoefficient_DF2::reC3_s
double reC3_s
Definition: FlavourWilsonCoefficient_DF2.h:213
FlavourWilsonCoefficient_DF2::reC4_bs
double reC4_bs
Definition: FlavourWilsonCoefficient_DF2.h:216
FlavourWilsonCoefficient_DF2::imC1_bd
double imC1_bd
Definition: FlavourWilsonCoefficient_DF2.h:219
FlavourWilsonCoefficient_DF2::reC1_c
double reC1_c
Definition: FlavourWilsonCoefficient_DF2.h:214
FlavourWilsonCoefficient_DF2::reC2_bs
double reC2_bs
Definition: FlavourWilsonCoefficient_DF2.h:216
FlavourWilsonCoefficient_DF2::reC3_bs
double reC3_bs
Definition: FlavourWilsonCoefficient_DF2.h:216
StandardModel::InitializeModel
virtual bool InitializeModel()
A method to initialize the model.
Definition: StandardModel.cpp:163
FlavourWilsonCoefficient_DF2::reC5_s
double reC5_s
The real parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:213
FlavourWilsonCoefficient_DF2::reC3_bd
double reC3_bd
Definition: FlavourWilsonCoefficient_DF2.h:215
FlavourWilsonCoefficient_DF2::imC4_bd
double imC4_bd
Definition: FlavourWilsonCoefficient_DF2.h:219
FlavourWilsonCoefficient_DF2::imC3_s
double imC3_s
Definition: FlavourWilsonCoefficient_DF2.h:217
FlavourWilsonCoefficient_DF2::reC1_s
double reC1_s
Definition: FlavourWilsonCoefficient_DF2.h:213
FlavourWilsonCoefficient_DF2::C_c
gslpp::vector< gslpp::complex > C_c
Definition: FlavourWilsonCoefficient_DF2.h:221
FlavourWilsonCoefficient_DF2::WCscale_c
double WCscale_c
Definition: FlavourWilsonCoefficient_DF2.h:222
FlavourWilsonCoefficient_DF2::setParameter
virtual void setParameter(const std::string, const double &)
A method to set the value of a parameter of FlavourWilsonCoefficient_DF2.
Definition: FlavourWilsonCoefficient_DF2.cpp:106
FlavourWilsonCoefficient_DF2::reC4_c
double reC4_c
Definition: FlavourWilsonCoefficient_DF2.h:214
Model::name
std::string name
The name of the model.
Definition: Model.h:275
FlavourWilsonCoefficient_DF2::InitializeModel
virtual bool InitializeModel()
A method to initialize the model.
Definition: FlavourWilsonCoefficient_DF2.cpp:71
FlavourWilsonCoefficient_DF2::reC5_c
double reC5_c
The real parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:214
FlavourWilsonCoefficient_DF2::FWCM
Matching< FlavourWilsonCoefficient_DF2Matching, FlavourWilsonCoefficient_DF2 > FWCM
The FlavourWilsonCoefficientMatching_DF2 object.
Definition: FlavourWilsonCoefficient_DF2.h:210
FlavourWilsonCoefficient_DF2::imC2_bs
double imC2_bs
Definition: FlavourWilsonCoefficient_DF2.h:220
FlavourWilsonCoefficient_DF2::imC5_s
double imC5_s
The imaginary parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:217
FlavourWilsonCoefficient_DF2.h
Model::setModelInitialized
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:145
FlavourWilsonCoefficient_DF2::imC4_s
double imC4_s
Definition: FlavourWilsonCoefficient_DF2.h:217
FlavourWilsonCoefficient_DF2::imC1_c
double imC1_c
Definition: FlavourWilsonCoefficient_DF2.h:218
FlavourWilsonCoefficient_DF2::reC5_bd
double reC5_bd
The real parts of the Wilson Coefficients.
Definition: FlavourWilsonCoefficient_DF2.h:215
FlavourWilsonCoefficient_DF2::reC3_c
double reC3_c
Definition: FlavourWilsonCoefficient_DF2.h:214