a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeneralSUSY.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6// */
7
8#include "GeneralSUSY.h"
9#include <math.h>
10
11const std::string GeneralSUSY::GeneralSUSYvars[NGeneralSUSYvars] = {
12 "msQhat2_11r","msQhat2_12r","msQhat2_12i","msQhat2_13r","msQhat2_13i","msQhat2_22r","msQhat2_23r","msQhat2_23i","msQhat2_33r",
13 "msUhat2_11r","msUhat2_12r","msUhat2_12i","msUhat2_13r","msUhat2_13i","msUhat2_22r","msUhat2_23r","msUhat2_23i","msUhat2_33r",
14 "msDhat2_11r","msDhat2_12r","msDhat2_12i","msDhat2_13r","msDhat2_13i","msDhat2_22r","msDhat2_23r","msDhat2_23i","msDhat2_33r",
15 "msLhat2_11r","msLhat2_12r","msLhat2_12i","msLhat2_13r","msLhat2_13i","msLhat2_22r","msLhat2_23r","msLhat2_23i","msLhat2_33r",
16 "msEhat2_11r","msEhat2_12r","msEhat2_12i","msEhat2_13r","msEhat2_13i","msEhat2_22r","msEhat2_23r","msEhat2_23i","msEhat2_33r",
17 "msNhat2_11r","msNhat2_12r","msNhat2_12i","msNhat2_13r","msNhat2_13i","msNhat2_22r","msNhat2_23r","msNhat2_23i","msNhat2_33r",
18 "TUhat_11r","TUhat_12r","TUhat_13r","TUhat_21r","TUhat_22r","TUhat_23r","TUhat_31r","TUhat_32r","TUhat_33r",
19 "TUhat_11i","TUhat_12i","TUhat_13i","TUhat_21i","TUhat_22i","TUhat_23i","TUhat_31i","TUhat_32i","TUhat_33i",
20 "TDhat_11r","TDhat_12r","TDhat_13r","TDhat_21r","TDhat_22r","TDhat_23r","TDhat_31r","TDhat_32r","TDhat_33r",
21 "TDhat_11i","TDhat_12i","TDhat_13i","TDhat_21i","TDhat_22i","TDhat_23i","TDhat_31i","TDhat_32i","TDhat_33i",
22 "TEhat_11r","TEhat_12r","TEhat_13r","TEhat_21r","TEhat_22r","TEhat_23r","TEhat_31r","TEhat_32r","TEhat_33r",
23 "TEhat_11i","TEhat_12i","TEhat_13i","TEhat_21i","TEhat_22i","TEhat_23i","TEhat_31i","TEhat_32i","TEhat_33i",
24 "TNhat_11r","TNhat_12r","TNhat_13r","TNhat_21r","TNhat_22r","TNhat_23r","TNhat_31r","TNhat_32r","TNhat_33r",
25 "TNhat_11i","TNhat_12i","TNhat_13i","TNhat_21i","TNhat_22i","TNhat_23i","TNhat_31i","TNhat_32i","TNhat_33i"
26};
27
29: SUSY()
30{
31 ModelParamMap.insert(std::make_pair("msQhat2_11r", std::cref(msQhat2_11r)));
32 ModelParamMap.insert(std::make_pair("msQhat2_12r", std::cref(msQhat2_12r)));
33 ModelParamMap.insert(std::make_pair("msQhat2_12i", std::cref(msQhat2_12i)));
34 ModelParamMap.insert(std::make_pair("msQhat2_13r", std::cref(msQhat2_13r)));
35 ModelParamMap.insert(std::make_pair("msQhat2_13i", std::cref(msQhat2_13i)));
36 ModelParamMap.insert(std::make_pair("msQhat2_22r", std::cref(msQhat2_22r)));
37 ModelParamMap.insert(std::make_pair("msQhat2_23r", std::cref(msQhat2_23r)));
38 ModelParamMap.insert(std::make_pair("msQhat2_23i", std::cref(msQhat2_23i)));
39 ModelParamMap.insert(std::make_pair("msQhat2_33r", std::cref(msQhat2_33r)));
40 ModelParamMap.insert(std::make_pair("msUhat2_11r", std::cref(msUhat2_11r)));
41 ModelParamMap.insert(std::make_pair("msUhat2_12r", std::cref(msUhat2_12r)));
42 ModelParamMap.insert(std::make_pair("msUhat2_12i", std::cref(msUhat2_12i)));
43 ModelParamMap.insert(std::make_pair("msUhat2_13r", std::cref(msUhat2_13r)));
44 ModelParamMap.insert(std::make_pair("msUhat2_13i", std::cref(msUhat2_13i)));
45 ModelParamMap.insert(std::make_pair("msUhat2_22r", std::cref(msUhat2_22r)));
46 ModelParamMap.insert(std::make_pair("msUhat2_23r", std::cref(msUhat2_23r)));
47 ModelParamMap.insert(std::make_pair("msUhat2_23i", std::cref(msUhat2_23i)));
48 ModelParamMap.insert(std::make_pair("msUhat2_33r", std::cref(msUhat2_33r)));
49 ModelParamMap.insert(std::make_pair("msDhat2_11r", std::cref(msDhat2_11r)));
50 ModelParamMap.insert(std::make_pair("msDhat2_12r", std::cref(msDhat2_12r)));
51 ModelParamMap.insert(std::make_pair("msDhat2_12i", std::cref(msDhat2_12i)));
52 ModelParamMap.insert(std::make_pair("msDhat2_13r", std::cref(msDhat2_13r)));
53 ModelParamMap.insert(std::make_pair("msDhat2_13i", std::cref(msDhat2_13i)));
54 ModelParamMap.insert(std::make_pair("msDhat2_22r", std::cref(msDhat2_22r)));
55 ModelParamMap.insert(std::make_pair("msDhat2_23r", std::cref(msDhat2_23r)));
56 ModelParamMap.insert(std::make_pair("msDhat2_23i", std::cref(msDhat2_23i)));
57 ModelParamMap.insert(std::make_pair("msDhat2_33r", std::cref(msDhat2_33r)));
58 ModelParamMap.insert(std::make_pair("msLhat2_11r", std::cref(msLhat2_11r)));
59 ModelParamMap.insert(std::make_pair("msLhat2_12r", std::cref(msLhat2_12r)));
60 ModelParamMap.insert(std::make_pair("msLhat2_12i", std::cref(msLhat2_12i)));
61 ModelParamMap.insert(std::make_pair("msLhat2_13r", std::cref(msLhat2_13r)));
62 ModelParamMap.insert(std::make_pair("msLhat2_13i", std::cref(msLhat2_13i)));
63 ModelParamMap.insert(std::make_pair("msLhat2_22r", std::cref(msLhat2_22r)));
64 ModelParamMap.insert(std::make_pair("msLhat2_23r", std::cref(msLhat2_23r)));
65 ModelParamMap.insert(std::make_pair("msLhat2_23i", std::cref(msLhat2_23i)));
66 ModelParamMap.insert(std::make_pair("msLhat2_33r", std::cref(msLhat2_33r)));
67 ModelParamMap.insert(std::make_pair("msEhat2_11r", std::cref(msEhat2_11r)));
68 ModelParamMap.insert(std::make_pair("msEhat2_12r", std::cref(msEhat2_12r)));
69 ModelParamMap.insert(std::make_pair("msEhat2_12i", std::cref(msEhat2_12i)));
70 ModelParamMap.insert(std::make_pair("msEhat2_13r", std::cref(msEhat2_13r)));
71 ModelParamMap.insert(std::make_pair("msEhat2_13i", std::cref(msEhat2_13i)));
72 ModelParamMap.insert(std::make_pair("msEhat2_22r", std::cref(msEhat2_22r)));
73 ModelParamMap.insert(std::make_pair("msEhat2_23r", std::cref(msEhat2_23r)));
74 ModelParamMap.insert(std::make_pair("msEhat2_23i", std::cref(msEhat2_23i)));
75 ModelParamMap.insert(std::make_pair("msEhat2_33r", std::cref(msEhat2_33r)));
76 ModelParamMap.insert(std::make_pair("msNhat2_11r", std::cref(msNhat2_11r)));
77 ModelParamMap.insert(std::make_pair("msNhat2_12r", std::cref(msNhat2_12r)));
78 ModelParamMap.insert(std::make_pair("msNhat2_12i", std::cref(msNhat2_12i)));
79 ModelParamMap.insert(std::make_pair("msNhat2_13r", std::cref(msNhat2_13r)));
80 ModelParamMap.insert(std::make_pair("msNhat2_13i", std::cref(msNhat2_13i)));
81 ModelParamMap.insert(std::make_pair("msNhat2_22r", std::cref(msNhat2_22r)));
82 ModelParamMap.insert(std::make_pair("msNhat2_23r", std::cref(msNhat2_23r)));
83 ModelParamMap.insert(std::make_pair("msNhat2_23i", std::cref(msNhat2_23i)));
84 ModelParamMap.insert(std::make_pair("msNhat2_33r", std::cref(msNhat2_33r)));
85 ModelParamMap.insert(std::make_pair("TUhat_11r", std::cref(TUhat_11r)));
86 ModelParamMap.insert(std::make_pair("TUhat_12r", std::cref(TUhat_12r)));
87 ModelParamMap.insert(std::make_pair("TUhat_13r", std::cref(TUhat_13r)));
88 ModelParamMap.insert(std::make_pair("TUhat_21r", std::cref(TUhat_21r)));
89 ModelParamMap.insert(std::make_pair("TUhat_22r", std::cref(TUhat_22r)));
90 ModelParamMap.insert(std::make_pair("TUhat_23r", std::cref(TUhat_23r)));
91 ModelParamMap.insert(std::make_pair("TUhat_31r", std::cref(TUhat_31r)));
92 ModelParamMap.insert(std::make_pair("TUhat_32r", std::cref(TUhat_32r)));
93 ModelParamMap.insert(std::make_pair("TUhat_33r", std::cref(TUhat_33r)));
94 ModelParamMap.insert(std::make_pair("TUhat_11i", std::cref(TUhat_11i)));
95 ModelParamMap.insert(std::make_pair("TUhat_12i", std::cref(TUhat_12i)));
96 ModelParamMap.insert(std::make_pair("TUhat_13i", std::cref(TUhat_13i)));
97 ModelParamMap.insert(std::make_pair("TUhat_21i", std::cref(TUhat_21i)));
98 ModelParamMap.insert(std::make_pair("TUhat_22i", std::cref(TUhat_22i)));
99 ModelParamMap.insert(std::make_pair("TUhat_23i", std::cref(TUhat_23i)));
100 ModelParamMap.insert(std::make_pair("TUhat_31i", std::cref(TUhat_31i)));
101 ModelParamMap.insert(std::make_pair("TUhat_32i", std::cref(TUhat_32i)));
102 ModelParamMap.insert(std::make_pair("TUhat_33i", std::cref(TUhat_33i)));
103 ModelParamMap.insert(std::make_pair("TDhat_11r", std::cref(TDhat_11r)));
104 ModelParamMap.insert(std::make_pair("TDhat_12r", std::cref(TDhat_12r)));
105 ModelParamMap.insert(std::make_pair("TDhat_13r", std::cref(TDhat_13r)));
106 ModelParamMap.insert(std::make_pair("TDhat_21r", std::cref(TDhat_21r)));
107 ModelParamMap.insert(std::make_pair("TDhat_22r", std::cref(TDhat_22r)));
108 ModelParamMap.insert(std::make_pair("TDhat_23r", std::cref(TDhat_23r)));
109 ModelParamMap.insert(std::make_pair("TDhat_31r", std::cref(TDhat_31r)));
110 ModelParamMap.insert(std::make_pair("TDhat_32r", std::cref(TDhat_32r)));
111 ModelParamMap.insert(std::make_pair("TDhat_33r", std::cref(TDhat_33r)));
112 ModelParamMap.insert(std::make_pair("TDhat_11i", std::cref(TDhat_11i)));
113 ModelParamMap.insert(std::make_pair("TDhat_12i", std::cref(TDhat_12i)));
114 ModelParamMap.insert(std::make_pair("TDhat_13i", std::cref(TDhat_13i)));
115 ModelParamMap.insert(std::make_pair("TDhat_21i", std::cref(TDhat_21i)));
116 ModelParamMap.insert(std::make_pair("TDhat_22i", std::cref(TDhat_22i)));
117 ModelParamMap.insert(std::make_pair("TDhat_23i", std::cref(TDhat_23i)));
118 ModelParamMap.insert(std::make_pair("TDhat_31i", std::cref(TDhat_31i)));
119 ModelParamMap.insert(std::make_pair("TDhat_32i", std::cref(TDhat_32i)));
120 ModelParamMap.insert(std::make_pair("TDhat_33i", std::cref(TDhat_33i)));
121 ModelParamMap.insert(std::make_pair("TEhat_11r", std::cref(TEhat_11r)));
122 ModelParamMap.insert(std::make_pair("TEhat_12r", std::cref(TEhat_12r)));
123 ModelParamMap.insert(std::make_pair("TEhat_13r", std::cref(TEhat_13r)));
124 ModelParamMap.insert(std::make_pair("TEhat_21r", std::cref(TEhat_21r)));
125 ModelParamMap.insert(std::make_pair("TEhat_22r", std::cref(TEhat_22r)));
126 ModelParamMap.insert(std::make_pair("TEhat_23r", std::cref(TEhat_23r)));
127 ModelParamMap.insert(std::make_pair("TEhat_31r", std::cref(TEhat_31r)));
128 ModelParamMap.insert(std::make_pair("TEhat_32r", std::cref(TEhat_32r)));
129 ModelParamMap.insert(std::make_pair("TEhat_33r", std::cref(TEhat_33r)));
130 ModelParamMap.insert(std::make_pair("TEhat_11i", std::cref(TEhat_11i)));
131 ModelParamMap.insert(std::make_pair("TEhat_12i", std::cref(TEhat_12i)));
132 ModelParamMap.insert(std::make_pair("TEhat_13i", std::cref(TEhat_13i)));
133 ModelParamMap.insert(std::make_pair("TEhat_21i", std::cref(TEhat_21i)));
134 ModelParamMap.insert(std::make_pair("TEhat_22i", std::cref(TEhat_22i)));
135 ModelParamMap.insert(std::make_pair("TEhat_23i", std::cref(TEhat_23i)));
136 ModelParamMap.insert(std::make_pair("TEhat_31i", std::cref(TEhat_31i)));
137 ModelParamMap.insert(std::make_pair("TEhat_32i", std::cref(TEhat_32i)));
138 ModelParamMap.insert(std::make_pair("TEhat_33i", std::cref(TEhat_33i)));
139 ModelParamMap.insert(std::make_pair("TNhat_11r", std::cref(TNhat_11r)));
140 ModelParamMap.insert(std::make_pair("TNhat_12r", std::cref(TNhat_12r)));
141 ModelParamMap.insert(std::make_pair("TNhat_13r", std::cref(TNhat_13r)));
142 ModelParamMap.insert(std::make_pair("TNhat_21r", std::cref(TNhat_21r)));
143 ModelParamMap.insert(std::make_pair("TNhat_22r", std::cref(TNhat_22r)));
144 ModelParamMap.insert(std::make_pair("TNhat_23r", std::cref(TNhat_23r)));
145 ModelParamMap.insert(std::make_pair("TNhat_31r", std::cref(TNhat_31r)));
146 ModelParamMap.insert(std::make_pair("TNhat_32r", std::cref(TNhat_32r)));
147 ModelParamMap.insert(std::make_pair("TNhat_33r", std::cref(TNhat_33r)));
148 ModelParamMap.insert(std::make_pair("TNhat_11i", std::cref(TNhat_11i)));
149 ModelParamMap.insert(std::make_pair("TNhat_12i", std::cref(TNhat_12i)));
150 ModelParamMap.insert(std::make_pair("TNhat_13i", std::cref(TNhat_13i)));
151 ModelParamMap.insert(std::make_pair("TNhat_21i", std::cref(TNhat_21i)));
152 ModelParamMap.insert(std::make_pair("TNhat_22i", std::cref(TNhat_22i)));
153 ModelParamMap.insert(std::make_pair("TNhat_23i", std::cref(TNhat_23i)));
154 ModelParamMap.insert(std::make_pair("TNhat_31i", std::cref(TNhat_31i)));
155 ModelParamMap.insert(std::make_pair("TNhat_32i", std::cref(TNhat_32i)));
156 ModelParamMap.insert(std::make_pair("TNhat_33i", std::cref(TNhat_33i)));
157}
158
160{
162 return (IsModelInitialized());
163}
164
165bool GeneralSUSY::Init(const std::map<std::string, double>& DPars)
166{
167 return(SUSY::Init(DPars));
168}
169
171{
172 if(!SUSY::PreUpdate()) return (false);
173 return (true);
174}
175
176bool GeneralSUSY::Update(const std::map<std::string, double>& DPars)
177{
178 if(!PreUpdate()) return (false);
179
180 UpdateError = false;
181
182 for (std::map<std::string, double>::const_iterator it = DPars.begin(); it != DPars.end(); it++)
183 setParameter(it->first, it->second);
184
185 if (UpdateError) return (false);
186
187 if(!PostUpdate()) return (false);
188
189 return (true);
190}
191
193{
194 if (!SUSY::PostUpdate()) return (false);
195 return (true);
196}
197
198void GeneralSUSY::setParameter(const std::string name, const double& value)
199{
200 if(name.compare("msQhat2_11r") == 0)
201 msQhat2_11r = value;
202 else if(name.compare("msQhat2_12r") == 0)
203 msQhat2_12r = value;
204 else if(name.compare("msQhat2_12i") == 0)
205 msQhat2_12i = value;
206 else if(name.compare("msQhat2_13r") == 0)
207 msQhat2_13r = value;
208 else if(name.compare("msQhat2_13i") == 0)
209 msQhat2_13i = value;
210 else if(name.compare("msQhat2_22r") == 0)
211 msQhat2_22r = value;
212 else if(name.compare("msQhat2_23r") == 0)
213 msQhat2_23r = value;
214 else if(name.compare("msQhat2_23i") == 0)
215 msQhat2_23i = value;
216 else if(name.compare("msQhat2_33r") == 0)
217 msQhat2_33r = value;
218 else if(name.compare("msUhat2_11r") == 0)
219 msUhat2_11r = value;
220 else if(name.compare("msUhat2_12r") == 0)
221 msUhat2_12r = value;
222 else if(name.compare("msUhat2_12i") == 0)
223 msUhat2_12i = value;
224 else if(name.compare("msUhat2_13r") == 0)
225 msUhat2_13r = value;
226 else if(name.compare("msUhat2_13i") == 0)
227 msUhat2_13i = value;
228 else if(name.compare("msUhat2_22r") == 0)
229 msUhat2_22r = value;
230 else if(name.compare("msUhat2_23r") == 0)
231 msUhat2_23r = value;
232 else if(name.compare("msUhat2_23i") == 0)
233 msUhat2_23i = value;
234 else if(name.compare("msUhat2_33r") == 0)
235 msUhat2_33r = value;
236 else if(name.compare("msDhat2_11r") == 0)
237 msDhat2_11r = value;
238 else if(name.compare("msDhat2_12r") == 0)
239 msDhat2_12r = value;
240 else if(name.compare("msDhat2_12i") == 0)
241 msDhat2_12i = value;
242 else if(name.compare("msDhat2_13r") == 0)
243 msDhat2_13r = value;
244 else if(name.compare("msDhat2_13i") == 0)
245 msDhat2_13i = value;
246 else if(name.compare("msDhat2_22r") == 0)
247 msDhat2_22r = value;
248 else if(name.compare("msDhat2_23r") == 0)
249 msDhat2_23r = value;
250 else if(name.compare("msDhat2_23i") == 0)
251 msDhat2_23i = value;
252 else if(name.compare("msDhat2_33r") == 0)
253 msDhat2_33r = value;
254 else if(name.compare("msLhat2_11r") == 0)
255 msLhat2_11r = value;
256 else if(name.compare("msLhat2_12r") == 0)
257 msLhat2_12r = value;
258 else if(name.compare("msLhat2_12i") == 0)
259 msLhat2_12i = value;
260 else if(name.compare("msLhat2_13r") == 0)
261 msLhat2_13r = value;
262 else if(name.compare("msLhat2_13i") == 0)
263 msLhat2_13i = value;
264 else if(name.compare("msLhat2_22r") == 0)
265 msLhat2_22r = value;
266 else if(name.compare("msLhat2_23r") == 0)
267 msLhat2_23r = value;
268 else if(name.compare("msLhat2_23i") == 0)
269 msLhat2_23i = value;
270 else if(name.compare("msLhat2_33r") == 0)
271 msLhat2_33r = value;
272 else if(name.compare("msEhat2_11r") == 0)
273 msEhat2_11r = value;
274 else if(name.compare("msEhat2_12r") == 0)
275 msEhat2_12r = value;
276 else if(name.compare("msEhat2_12i") == 0)
277 msEhat2_12i = value;
278 else if(name.compare("msEhat2_13r") == 0)
279 msEhat2_13r = value;
280 else if(name.compare("msEhat2_13i") == 0)
281 msEhat2_13i = value;
282 else if(name.compare("msEhat2_22r") == 0)
283 msEhat2_22r = value;
284 else if(name.compare("msEhat2_23r") == 0)
285 msEhat2_23r = value;
286 else if(name.compare("msEhat2_23i") == 0)
287 msEhat2_23i = value;
288 else if(name.compare("msEhat2_33r") == 0)
289 msEhat2_33r = value;
290 else if(name.compare("msNhat2_11r") == 0)
291 msNhat2_11r = value;
292 else if(name.compare("msNhat2_12r") == 0)
293 msNhat2_12r = value;
294 else if(name.compare("msNhat2_12i") == 0)
295 msNhat2_12i = value;
296 else if(name.compare("msNhat2_13r") == 0)
297 msNhat2_13r = value;
298 else if(name.compare("msNhat2_13i") == 0)
299 msNhat2_13i = value;
300 else if(name.compare("msNhat2_22r") == 0)
301 msNhat2_22r = value;
302 else if(name.compare("msNhat2_23r") == 0)
303 msNhat2_23r = value;
304 else if(name.compare("msNhat2_23i") == 0)
305 msNhat2_23i = value;
306 else if(name.compare("msNhat2_33r") == 0)
307 msNhat2_33r = value;
308 else if(name.compare("TUhat_11r") == 0)
309 TUhat_11r = value;
310 else if(name.compare("TUhat_11i") == 0)
311 TUhat_11i = value;
312 else if(name.compare("TUhat_12r") == 0)
313 TUhat_12r = value;
314 else if(name.compare("TUhat_12i") == 0)
315 TUhat_12i = value;
316 else if(name.compare("TUhat_13r") == 0)
317 TUhat_13r = value;
318 else if(name.compare("TUhat_13i") == 0)
319 TUhat_13i = value;
320 else if(name.compare("TUhat_21r") == 0)
321 TUhat_21r = value;
322 else if(name.compare("TUhat_21i") == 0)
323 TUhat_21i = value;
324 else if(name.compare("TUhat_22r") == 0)
325 TUhat_22r = value;
326 else if(name.compare("TUhat_22i") == 0)
327 TUhat_22i = value;
328 else if(name.compare("TUhat_23r") == 0)
329 TUhat_23r = value;
330 else if(name.compare("TUhat_23i") == 0)
331 TUhat_23i = value;
332 else if(name.compare("TUhat_31r") == 0)
333 TUhat_31r = value;
334 else if(name.compare("TUhat_31i") == 0)
335 TUhat_31i = value;
336 else if(name.compare("TUhat_32r") == 0)
337 TUhat_32r = value;
338 else if(name.compare("TUhat_32i") == 0)
339 TUhat_32i = value;
340 else if(name.compare("TUhat_33r") == 0)
341 TUhat_33r = value;
342 else if(name.compare("TUhat_33i") == 0)
343 TUhat_33i = value;
344 else if(name.compare("TDhat_11r") == 0)
345 TDhat_11r = value;
346 else if(name.compare("TDhat_11i") == 0)
347 TDhat_11i = value;
348 else if(name.compare("TDhat_12r") == 0)
349 TDhat_12r = value;
350 else if(name.compare("TDhat_12i") == 0)
351 TDhat_12i = value;
352 else if(name.compare("TDhat_13r") == 0)
353 TDhat_13r = value;
354 else if(name.compare("TDhat_13i") == 0)
355 TDhat_13i = value;
356 else if(name.compare("TDhat_21r") == 0)
357 TDhat_21r = value;
358 else if(name.compare("TDhat_21i") == 0)
359 TDhat_21i = value;
360 else if(name.compare("TDhat_22r") == 0)
361 TDhat_22r = value;
362 else if(name.compare("TDhat_22i") == 0)
363 TDhat_22i = value;
364 else if(name.compare("TDhat_23r") == 0)
365 TDhat_23r = value;
366 else if(name.compare("TDhat_23i") == 0)
367 TDhat_23i = value;
368 else if(name.compare("TDhat_31r") == 0)
369 TDhat_31r = value;
370 else if(name.compare("TDhat_31i") == 0)
371 TDhat_31i = value;
372 else if(name.compare("TDhat_32r") == 0)
373 TDhat_32r = value;
374 else if(name.compare("TDhat_32i") == 0)
375 TDhat_32i = value;
376 else if(name.compare("TDhat_33r") == 0)
377 TDhat_33r = value;
378 else if(name.compare("TDhat_33i") == 0)
379 TDhat_33i = value;
380 else if(name.compare("TEhat_11r") == 0)
381 TEhat_11r = value;
382 else if(name.compare("TEhat_11i") == 0)
383 TEhat_11i = value;
384 else if(name.compare("TEhat_12r") == 0)
385 TEhat_12r = value;
386 else if(name.compare("TEhat_12i") == 0)
387 TEhat_12i = value;
388 else if(name.compare("TEhat_13r") == 0)
389 TEhat_13r = value;
390 else if(name.compare("TEhat_13i") == 0)
391 TEhat_13i = value;
392 else if(name.compare("TEhat_21r") == 0)
393 TEhat_21r = value;
394 else if(name.compare("TEhat_21i") == 0)
395 TEhat_21i = value;
396 else if(name.compare("TEhat_22r") == 0)
397 TEhat_22r = value;
398 else if(name.compare("TEhat_22i") == 0)
399 TEhat_22i = value;
400 else if(name.compare("TEhat_23r") == 0)
401 TEhat_23r = value;
402 else if(name.compare("TEhat_23i") == 0)
403 TEhat_23i = value;
404 else if(name.compare("TEhat_31r") == 0)
405 TEhat_31r = value;
406 else if(name.compare("TEhat_31i") == 0)
407 TEhat_31i = value;
408 else if(name.compare("TEhat_32r") == 0)
409 TEhat_32r = value;
410 else if(name.compare("TEhat_32i") == 0)
411 TEhat_32i = value;
412 else if(name.compare("TEhat_33r") == 0)
413 TEhat_33r = value;
414 else if(name.compare("TEhat_33i") == 0)
415 TEhat_33i = value;
416 else if(name.compare("TNhat_11r") == 0)
417 TNhat_11r = value;
418 else if(name.compare("TNhat_11i") == 0)
419 TNhat_11i = value;
420 else if(name.compare("TNhat_12r") == 0)
421 TNhat_12r = value;
422 else if(name.compare("TNhat_12i") == 0)
423 TNhat_12i = value;
424 else if(name.compare("TNhat_13r") == 0)
425 TNhat_13r = value;
426 else if(name.compare("TNhat_13i") == 0)
427 TNhat_13i = value;
428 else if(name.compare("TNhat_21r") == 0)
429 TNhat_21r = value;
430 else if(name.compare("TNhat_21i") == 0)
431 TNhat_21i = value;
432 else if(name.compare("TNhat_22r") == 0)
433 TNhat_22r = value;
434 else if(name.compare("TNhat_22i") == 0)
435 TNhat_22i = value;
436 else if(name.compare("TNhat_23r") == 0)
437 TNhat_23r = value;
438 else if(name.compare("TNhat_23i") == 0)
439 TNhat_23i = value;
440 else if(name.compare("TNhat_31r") == 0)
441 TNhat_31r = value;
442 else if(name.compare("TNhat_31i") == 0)
443 TNhat_31i = value;
444 else if(name.compare("TNhat_32r") == 0)
445 TNhat_32r = value;
446 else if(name.compare("TNhat_32i") == 0)
447 TNhat_32i = value;
448 else if(name.compare("TNhat_33r") == 0)
449 TNhat_33r = value;
450 else if(name.compare("TNhat_33i") == 0)
451 TNhat_33i = value;
452 else
453 SUSY::setParameter(name, value);
454}
455
456bool GeneralSUSY::CheckParameters(const std::map<std::string, double>& DPars)
457{
458 for (int i = 0; i < NGeneralSUSYvars; i++) {
459 if (DPars.find(GeneralSUSYvars[i]) == DPars.end()) {
460 std::cout << "missing mandatory GeneralSUSY parameter " << GeneralSUSYvars[i] << std::endl;
463 }
464 }
466}
467
469{
470 msQhat2.assign(0,0, msQhat2_11r);
471 msQhat2.assign(0,1, gslpp::complex(msQhat2_12r, msQhat2_12i));
472 msQhat2.assign(0,2, gslpp::complex(msQhat2_13r, msQhat2_13i));
473 msQhat2.assign(1,1, msQhat2_22r);
474 msQhat2.assign(1,2, gslpp::complex(msQhat2_23r, msQhat2_23i));
475 msQhat2.assign(1,0, msQhat2(0,1).conjugate());
476 msQhat2.assign(2,0, msQhat2(0,2).conjugate());
477 msQhat2.assign(2,1, msQhat2(1,2).conjugate());
478 msQhat2.assign(2,2, msQhat2_33r);
479
480 msUhat2.assign(0,0, msUhat2_11r);
481 msUhat2.assign(0,1, gslpp::complex(msUhat2_12r, msUhat2_12i));
482 msUhat2.assign(0,2, gslpp::complex(msUhat2_13r, msUhat2_13i));
483 msUhat2.assign(1,1, msUhat2_22r);
484 msUhat2.assign(1,2, gslpp::complex(msUhat2_23r, msUhat2_23i));
485 msUhat2.assign(2,2, msUhat2_33r);
486 msUhat2.assign(1,0, msUhat2(0,1).conjugate());
487 msUhat2.assign(2,0, msUhat2(0,2).conjugate());
488 msUhat2.assign(2,1, msUhat2(1,2).conjugate());
489
490 msDhat2.assign(0,0, msDhat2_11r);
491 msDhat2.assign(0,1, gslpp::complex(msDhat2_12r, msDhat2_12i));
492 msDhat2.assign(0,2, gslpp::complex(msDhat2_13r, msDhat2_13i));
493 msDhat2.assign(1,1, msDhat2_22r);
494 msDhat2.assign(1,2, gslpp::complex(msDhat2_23r, msDhat2_23i));
495 msDhat2.assign(2,2, msDhat2_33r);
496 msDhat2.assign(1,0, msDhat2(0,1).conjugate());
497 msDhat2.assign(2,0, msDhat2(0,2).conjugate());
498 msDhat2.assign(2,1, msDhat2(1,2).conjugate());
499
500 msLhat2.assign(0,0, msLhat2_11r);
501 msLhat2.assign(0,1, gslpp::complex(msLhat2_12r, msLhat2_12i));
502 msLhat2.assign(0,2, gslpp::complex(msLhat2_13r, msLhat2_13i));
503 msLhat2.assign(1,1, msLhat2_22r);
504 msLhat2.assign(1,2, gslpp::complex(msLhat2_23r, msLhat2_23i));
505 msLhat2.assign(2,2, msLhat2_33r);
506 msLhat2.assign(1,0, msLhat2(0,1).conjugate());
507 msLhat2.assign(2,0, msLhat2(0,2).conjugate());
508 msLhat2.assign(2,1, msLhat2(1,2).conjugate());
509
510 msEhat2.assign(0,0, msEhat2_11r);
511 msEhat2.assign(0,1, gslpp::complex(msEhat2_12r, msEhat2_12i));
512 msEhat2.assign(0,2, gslpp::complex(msEhat2_13r, msEhat2_13i));
513 msEhat2.assign(1,1, msEhat2_22r);
514 msEhat2.assign(1,2, gslpp::complex(msEhat2_23r, msEhat2_23i));
515 msEhat2.assign(2,2, msEhat2_33r);
516 msEhat2.assign(1,0, msEhat2(0,1).conjugate());
517 msEhat2.assign(2,0, msEhat2(0,2).conjugate());
518 msEhat2.assign(2,1, msEhat2(1,2).conjugate());
519
520 msNhat2.assign(0,0, msNhat2_11r);
521 msNhat2.assign(0,1, gslpp::complex(msNhat2_12r, msNhat2_12i));
522 msNhat2.assign(0,2, gslpp::complex(msNhat2_13r, msNhat2_13i));
523 msNhat2.assign(1,1, msNhat2_22r);
524 msNhat2.assign(1,2, gslpp::complex(msNhat2_23r, msNhat2_23i));
525 msNhat2.assign(2,2, msNhat2_33r);
526 msNhat2.assign(1,0, msNhat2(0,1).conjugate());
527 msNhat2.assign(2,0, msNhat2(0,2).conjugate());
528 msNhat2.assign(2,1, msNhat2(1,2).conjugate());
529
530 TUhat.assign(0,0, gslpp::complex(TUhat_11r, TUhat_11i));
531 TUhat.assign(0,1, gslpp::complex(TUhat_12r, TUhat_12i));
532 TUhat.assign(0,2, gslpp::complex(TUhat_13r, TUhat_13i));
533 TUhat.assign(1,0, gslpp::complex(TUhat_21r, TUhat_21i));
534 TUhat.assign(1,1, gslpp::complex(TUhat_22r, TUhat_22i));
535 TUhat.assign(1,2, gslpp::complex(TUhat_23r, TUhat_23i));
536 TUhat.assign(2,0, gslpp::complex(TUhat_31r, TUhat_31i));
537 TUhat.assign(2,1, gslpp::complex(TUhat_32r, TUhat_32i));
538 TUhat.assign(2,2, gslpp::complex(TUhat_33r, TUhat_33i));
539
540 TDhat.assign(0,0, gslpp::complex(TDhat_11r, TDhat_11i));
541 TDhat.assign(0,1, gslpp::complex(TDhat_12r, TDhat_12i));
542 TDhat.assign(0,2, gslpp::complex(TDhat_13r, TDhat_13i));
543 TDhat.assign(1,0, gslpp::complex(TDhat_21r, TDhat_21i));
544 TDhat.assign(1,1, gslpp::complex(TDhat_22r, TDhat_22i));
545 TDhat.assign(1,2, gslpp::complex(TDhat_23r, TDhat_23i));
546 TDhat.assign(2,0, gslpp::complex(TDhat_31r, TDhat_31i));
547 TDhat.assign(2,1, gslpp::complex(TDhat_32r, TDhat_32i));
548 TDhat.assign(2,2, gslpp::complex(TDhat_33r, TDhat_33i));
549
550 TEhat.assign(0,0, gslpp::complex(TEhat_11r, TEhat_11i));
551 TEhat.assign(0,1, gslpp::complex(TEhat_12r, TEhat_12i));
552 TEhat.assign(0,2, gslpp::complex(TEhat_13r, TEhat_13i));
553 TEhat.assign(1,0, gslpp::complex(TEhat_21r, TEhat_21i));
554 TEhat.assign(1,1, gslpp::complex(TEhat_22r, TEhat_22i));
555 TEhat.assign(1,2, gslpp::complex(TEhat_23r, TEhat_23i));
556 TEhat.assign(2,0, gslpp::complex(TEhat_31r, TEhat_31i));
557 TEhat.assign(2,1, gslpp::complex(TEhat_32r, TEhat_32i));
558 TEhat.assign(2,2, gslpp::complex(TEhat_33r, TEhat_33i));
559
560 TNhat.assign(0,0, gslpp::complex(TNhat_11r, TNhat_11i));
561 TNhat.assign(0,1, gslpp::complex(TNhat_12r, TNhat_12i));
562 TNhat.assign(0,2, gslpp::complex(TNhat_13r, TNhat_13i));
563 TNhat.assign(1,0, gslpp::complex(TNhat_21r, TNhat_21i));
564 TNhat.assign(1,1, gslpp::complex(TNhat_22r, TNhat_22i));
565 TNhat.assign(1,2, gslpp::complex(TNhat_23r, TNhat_23i));
566 TNhat.assign(2,0, gslpp::complex(TNhat_31r, TNhat_31i));
567 TNhat.assign(2,1, gslpp::complex(TNhat_32r, TNhat_32i));
568 TNhat.assign(2,2, gslpp::complex(TNhat_33r, TNhat_33i));
569}
570
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
double msQhat2_11r
Definition: GeneralSUSY.h:263
double TEhat_21r
Definition: GeneralSUSY.h:273
double msNhat2_22r
Definition: GeneralSUSY.h:268
double TUhat_13r
Definition: GeneralSUSY.h:269
double TDhat_32r
Definition: GeneralSUSY.h:271
double msEhat2_13r
Definition: GeneralSUSY.h:267
double msLhat2_12r
Definition: GeneralSUSY.h:266
double TNhat_13r
Definition: GeneralSUSY.h:275
double msDhat2_23i
Definition: GeneralSUSY.h:265
double TDhat_12r
Definition: GeneralSUSY.h:271
double msQhat2_33r
Definition: GeneralSUSY.h:263
double msEhat2_12r
Definition: GeneralSUSY.h:267
double msDhat2_11r
Definition: GeneralSUSY.h:265
double msDhat2_33r
Definition: GeneralSUSY.h:265
double TUhat_31r
Definition: GeneralSUSY.h:269
double TEhat_22r
Definition: GeneralSUSY.h:273
double TDhat_31i
Definition: GeneralSUSY.h:272
double TUhat_33r
Definition: GeneralSUSY.h:269
virtual void setParameter(const std::string, const double &)
A method to set the value of a parameter of GeneralSUSY.
virtual bool PreUpdate()
The pre-update method for GeneralSUSY.
double msUhat2_11r
Definition: GeneralSUSY.h:264
double msDhat2_23r
Definition: GeneralSUSY.h:265
double TNhat_22i
Definition: GeneralSUSY.h:276
double msDhat2_12i
Definition: GeneralSUSY.h:265
double msNhat2_11r
Definition: GeneralSUSY.h:268
double TNhat_32r
Definition: GeneralSUSY.h:275
GeneralSUSY()
Friend classes of GeneralSUSY class.
Definition: GeneralSUSY.cpp:28
double TEhat_11i
Definition: GeneralSUSY.h:274
double msEhat2_23r
Definition: GeneralSUSY.h:267
double TUhat_23i
Definition: GeneralSUSY.h:270
double TNhat_21i
Definition: GeneralSUSY.h:276
static const int NGeneralSUSYvars
Definition: GeneralSUSY.h:202
static const std::string GeneralSUSYvars[NGeneralSUSYvars]
Definition: GeneralSUSY.h:203
double TUhat_13i
Definition: GeneralSUSY.h:270
double msQhat2_12i
Definition: GeneralSUSY.h:263
double TNhat_33i
Definition: GeneralSUSY.h:276
double TUhat_32r
Definition: GeneralSUSY.h:269
double TNhat_11r
Definition: GeneralSUSY.h:275
double TUhat_12i
Definition: GeneralSUSY.h:270
double TUhat_22r
Definition: GeneralSUSY.h:269
double TEhat_23r
Definition: GeneralSUSY.h:273
double TEhat_31r
Definition: GeneralSUSY.h:273
double msEhat2_33r
Definition: GeneralSUSY.h:267
double msNhat2_23i
Definition: GeneralSUSY.h:268
double msNhat2_13i
Definition: GeneralSUSY.h:268
virtual void SetSoftTerms()
virtual bool Init(const std::map< std::string, double > &DPars)
Initializes the GeneralSUSY parameters found in the argument.
double msNhat2_12r
Definition: GeneralSUSY.h:268
double TEhat_22i
Definition: GeneralSUSY.h:274
double msEhat2_23i
Definition: GeneralSUSY.h:267
double msUhat2_22r
Definition: GeneralSUSY.h:264
double msUhat2_12i
Definition: GeneralSUSY.h:264
double msUhat2_13r
Definition: GeneralSUSY.h:264
double TNhat_23i
Definition: GeneralSUSY.h:276
double TNhat_32i
Definition: GeneralSUSY.h:276
double msUhat2_12r
Definition: GeneralSUSY.h:264
double TUhat_21r
Definition: GeneralSUSY.h:269
double TUhat_23r
Definition: GeneralSUSY.h:269
double msUhat2_23r
Definition: GeneralSUSY.h:264
double TDhat_31r
Definition: GeneralSUSY.h:271
double msNhat2_13r
Definition: GeneralSUSY.h:268
double TDhat_11r
Definition: GeneralSUSY.h:271
double TNhat_11i
Definition: GeneralSUSY.h:276
double TDhat_23i
Definition: GeneralSUSY.h:272
double TNhat_12r
Definition: GeneralSUSY.h:275
virtual bool Update(const std::map< std::string, double > &DPars)
The update method for GeneralSUSY.
double TEhat_33i
Definition: GeneralSUSY.h:274
double TUhat_32i
Definition: GeneralSUSY.h:270
double TUhat_21i
Definition: GeneralSUSY.h:270
double TUhat_22i
Definition: GeneralSUSY.h:270
double TDhat_13r
Definition: GeneralSUSY.h:271
virtual bool InitializeModel()
A method to initialize the model.
double msDhat2_22r
Definition: GeneralSUSY.h:265
double TNhat_33r
Definition: GeneralSUSY.h:275
double msLhat2_12i
Definition: GeneralSUSY.h:266
double TEhat_13r
Definition: GeneralSUSY.h:273
double msEhat2_11r
Definition: GeneralSUSY.h:267
double msQhat2_12r
Definition: GeneralSUSY.h:263
double TNhat_22r
Definition: GeneralSUSY.h:275
double msQhat2_23r
Definition: GeneralSUSY.h:263
double TDhat_33r
Definition: GeneralSUSY.h:271
double msLhat2_33r
Definition: GeneralSUSY.h:266
double msNhat2_23r
Definition: GeneralSUSY.h:268
double msLhat2_11r
Definition: GeneralSUSY.h:266
double TEhat_21i
Definition: GeneralSUSY.h:274
double TNhat_13i
Definition: GeneralSUSY.h:276
double msLhat2_13r
Definition: GeneralSUSY.h:266
double msLhat2_13i
Definition: GeneralSUSY.h:266
double msDhat2_13i
Definition: GeneralSUSY.h:265
double TNhat_31r
Definition: GeneralSUSY.h:275
double msQhat2_13i
Definition: GeneralSUSY.h:263
double TDhat_22r
Definition: GeneralSUSY.h:271
double TDhat_11i
Definition: GeneralSUSY.h:272
double msEhat2_13i
Definition: GeneralSUSY.h:267
double msEhat2_12i
Definition: GeneralSUSY.h:267
double TEhat_33r
Definition: GeneralSUSY.h:273
double TDhat_22i
Definition: GeneralSUSY.h:272
double msQhat2_23i
Definition: GeneralSUSY.h:263
double msDhat2_13r
Definition: GeneralSUSY.h:265
double msLhat2_23i
Definition: GeneralSUSY.h:266
double msQhat2_13r
Definition: GeneralSUSY.h:263
double TNhat_31i
Definition: GeneralSUSY.h:276
double TUhat_12r
Definition: GeneralSUSY.h:269
double msNhat2_33r
Definition: GeneralSUSY.h:268
double TDhat_13i
Definition: GeneralSUSY.h:272
double TDhat_12i
Definition: GeneralSUSY.h:272
double TDhat_33i
Definition: GeneralSUSY.h:272
double TUhat_31i
Definition: GeneralSUSY.h:270
double msLhat2_22r
Definition: GeneralSUSY.h:266
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
A method to check if all the mandatory parameters for GeneralSUSY have been provided in model initial...
double TDhat_23r
Definition: GeneralSUSY.h:271
virtual bool PostUpdate()
The post-update method for GeneralSUSY.
double TDhat_32i
Definition: GeneralSUSY.h:272
double TEhat_31i
Definition: GeneralSUSY.h:274
double TUhat_33i
Definition: GeneralSUSY.h:270
double TNhat_23r
Definition: GeneralSUSY.h:275
double TEhat_12r
Definition: GeneralSUSY.h:273
double msQhat2_22r
Definition: GeneralSUSY.h:263
double msNhat2_12i
Definition: GeneralSUSY.h:268
double TEhat_32r
Definition: GeneralSUSY.h:273
double TDhat_21i
Definition: GeneralSUSY.h:272
double msUhat2_33r
Definition: GeneralSUSY.h:264
double TUhat_11i
Definition: GeneralSUSY.h:270
double TEhat_13i
Definition: GeneralSUSY.h:274
double msUhat2_13i
Definition: GeneralSUSY.h:264
double msUhat2_23i
Definition: GeneralSUSY.h:264
double TUhat_11r
Definition: GeneralSUSY.h:269
double TNhat_21r
Definition: GeneralSUSY.h:275
double msDhat2_12r
Definition: GeneralSUSY.h:265
double TEhat_12i
Definition: GeneralSUSY.h:274
double TEhat_23i
Definition: GeneralSUSY.h:274
double TEhat_32i
Definition: GeneralSUSY.h:274
double TNhat_12i
Definition: GeneralSUSY.h:276
double msEhat2_22r
Definition: GeneralSUSY.h:267
double TEhat_11r
Definition: GeneralSUSY.h:273
double msLhat2_23r
Definition: GeneralSUSY.h:266
double TDhat_21r
Definition: GeneralSUSY.h:271
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
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
bool IsModelInitialized() const
A method to check if the model is initialized.
Definition: Model.h:136
std::string name
The name of the model.
Definition: Model.h:285
bool UpdateError
A boolean set to false if update is successful.
Definition: Model.h:272
void raiseMissingModelParameterCount()
Definition: Model.h:260
A base class for SUSY models.
Definition: SUSY.h:33
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
Definition: SUSY.cpp:272
gslpp::matrix< gslpp::complex > msDhat2
Definition: SUSY.h:576
gslpp::matrix< gslpp::complex > TEhat
Definition: SUSY.h:577
gslpp::matrix< gslpp::complex > msUhat2
Definition: SUSY.h:576
gslpp::matrix< gslpp::complex > TUhat
Definition: SUSY.h:577
gslpp::matrix< gslpp::complex > msQhat2
Definition: SUSY.h:576
gslpp::matrix< gslpp::complex > msNhat2
Definition: SUSY.h:576
gslpp::matrix< gslpp::complex > msLhat2
Definition: SUSY.h:576
virtual void setParameter(const std::string name, const double &value)
A method to set the value of a parameter of SUSY.
Definition: SUSY.cpp:246
virtual bool PreUpdate()
Definition: SUSY.cpp:93
gslpp::matrix< gslpp::complex > msEhat2
Definition: SUSY.h:576
virtual bool PostUpdate()
Definition: SUSY.cpp:116
gslpp::matrix< gslpp::complex > TNhat
Definition: SUSY.h:577
virtual bool Init(const std::map< std::string, double > &DPars)
Definition: SUSY.cpp:88
virtual bool InitializeModel()
Definition: SUSY.cpp:68
gslpp::matrix< gslpp::complex > TDhat
Definition: SUSY.h:577