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
10const 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
20 SMM.setObj((StandardModelMatching&) FWCM.getObj());
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
106void 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
199bool 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 }
208}
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
double reC5_bd
The real parts of the Wilson Coefficients.
FlavourWilsonCoefficient_DF2()
FlavourWilsonCoefficient constructor.
gslpp::vector< gslpp::complex > C_bd
virtual void setParameter(const std::string, const double &)
A method to set the value of a parameter of FlavourWilsonCoefficient_DF2.
virtual bool PostUpdate()
The post-update method for FlavourWilsonCoefficient_DF2.
static const std::string FlavourWilsonCoefficient_DF2vars[NFlavourWilsonCoefficient_DF2vars]
double imC5_c
The imaginary parts of the Wilson Coefficients.
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...
Matching< FlavourWilsonCoefficient_DF2Matching, FlavourWilsonCoefficient_DF2 > FWCM
The FlavourWilsonCoefficientMatching_DF2 object.
gslpp::vector< gslpp::complex > C_c
double imC5_bd
The imaginary parts of the Wilson Coefficients.
gslpp::vector< gslpp::complex > C_s
double imC5_bs
The imaginary parts of the Wilson Coefficients.
gslpp::vector< gslpp::complex > C_bs
The complex Wilson Coefficients.
double reC5_s
The real parts of the Wilson Coefficients.
double reC5_c
The real parts of the Wilson Coefficients.
double WCscale_bs
The scale of the Wilson Coefficients.
virtual bool InitializeModel()
A method to initialize the model.
double imC5_s
The imaginary parts of the Wilson Coefficients.
double reC5_bs
The real parts of the Wilson Coefficients.
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
void setModelFWC_DF2()
Definition: Model.h:186
std::map< std::string, std::reference_wrapper< const double > > ModelParamMap
Definition: Model.h:280
void setModelInitialized(bool ModelInitialized)
A set method to fix the failure or success of the initialization of the model.
Definition: Model.h:145
std::string name
The name of the model.
Definition: Model.h:285
void raiseMissingModelParameterCount()
Definition: Model.h:260
A model class for the Standard Model.
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...
Matching< StandardModelMatching, StandardModel > SMM
An object of type Matching.
virtual bool PostUpdate()
The post-update method for StandardModel.
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of StandardModel.
virtual bool InitializeModel()
A method to initialize the model.
A class for the matching in the Standard Model.