a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYMassInsertion.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 "SUSYMassInsertion.h"
9
10const std::string SUSYMassInsertion::SusyMIvars[NSusyMIvars] = {"Msq", "m3", "MuM",
11
12 "rDULL11", "rDULL12", "rDULL13", "rDULL21", "rDULL22", "rDULL23",
13 "rDULL31", "rDULL32", "rDULL33", "iDULL11", "iDULL12", "iDULL13",
14 "iDULL21", "iDULL22", "iDULL23", "iDULL31", "iDULL32", "iDULL33",
15
16 "rDURL11", "rDURL12", "rDURL13", "rDURL21", "rDURL22", "rDURL23",
17 "rDURL31", "rDURL32", "rDURL33", "iDURL11", "iDURL12", "iDURL13",
18 "iDURL21", "iDURL22", "iDURL23", "iDURL31", "iDURL32", "iDURL33",
19
20 "rDULR11", "rDULR12", "rDULR13", "rDULR21", "rDULR22", "rDULR23",
21 "rDULR31", "rDULR32", "rDULR33", "iDULR11", "iDULR12", "iDULR13",
22 "iDULR21", "iDULR22", "iDULR23", "iDULR31", "iDULR32", "iDULR33",
23
24 "rDURR11", "rDURR12", "rDURR13", "rDURR21", "rDURR22", "rDURR23",
25 "rDURR31", "rDURR32", "rDURR33", "iDURR11", "iDURR12", "iDURR13",
26 "iDURR21", "iDURR22", "iDURR23", "iDURR31", "iDURR32", "iDURR33",
27
28 "rDDLL11", "rDDLL12", "rDDLL13", "rDDLL21", "rDDLL22", "rDDLL23",
29 "rDDLL31", "rDDLL32", "rDDLL33", "iDDLL11", "iDDLL12", "iDDLL13",
30 "iDDLL21", "iDDLL22", "iDDLL23", "iDDLL31", "iDDLL32", "iDDLL33",
31
32 "rDDRL11", "rDDRL12", "rDDRL13", "rDDRL21", "rDDRL22", "rDDRL23",
33 "rDDRL31", "rDDRL32", "rDDRL33", "iDDRL11", "iDDRL12", "iDDRL13",
34 "iDDRL21", "iDDRL22", "iDDRL23", "iDDRL31", "iDDRL32", "iDDRL33",
35
36 "rDDLR11", "rDDLR12", "rDDLR13", "rDDLR21", "rDDLR22", "rDDLR23",
37 "rDDLR31", "rDDLR32", "rDDLR33", "iDDLR11", "iDDLR12", "iDDLR13",
38 "iDDLR21", "iDDLR22", "iDDLR23", "iDDLR31", "iDDLR32", "iDDLR33",
39
40 "rDDRR11", "rDDRR12", "rDDRR13", "rDDRR21", "rDDRR22", "rDDRR23",
41 "rDDRR31", "rDDRR32", "rDDRR33", "iDDRR11", "iDDRR12", "iDDRR13",
42 "iDDRR21", "iDDRR22", "iDDRR23", "iDDRR31", "iDDRR32", "iDDRR33"
43
44};
45
48 Du_LL(3,0.), Du_LR(3,0.), Du_RL(3,0.), Du_RR(3,0.),
49 Dd_LL(3,0.), Dd_LR(3,0.), Dd_RL(3,0.), Dd_RR(3,0.),
50 SUSYMIM(*this)
51{
52 SMM.setObj((StandardModelMatching&) SUSYMIM.getObj());
53
54 rDULL11=0.; rDULL12=0.; rDULL13=0.;
55 rDULL21=0.; rDULL22=0.; rDULL23=0.;
56 rDULL31=0.; rDULL32=0.; rDULL33=0.;
57 iDULL11=0.; iDULL12=0.; iDULL13=0.;
58 iDULL21=0.; iDULL22=0.; iDULL23=0.;
59 iDULL31=0.; iDULL32=0.; iDULL33=0.;
60
61 rDURL11=0.; rDURL12=0.; rDURL13=0.;
62 rDURL21=0.; rDURL22=0.; rDURL23=0.;
63 rDURL31=0.; rDURL32=0.; rDURL33=0.;
64 iDURL11=0.; iDURL12=0.; iDURL13=0.;
65 iDURL21=0.; iDURL22=0.; iDURL23=0.;
66 iDURL31=0.; iDURL32=0.; iDURL33=0.;
67
68 rDULR11=0.; rDULR12=0.; rDULR13=0.;
69 rDULR21=0.; rDULR22=0.; rDULR23=0.;
70 rDULR31=0.; rDULR32=0.; rDULR33=0.;
71 iDULR11=0.; iDULR12=0.; iDULR13=0.;
72 iDULR21=0.; iDULR22=0.; iDULR23=0.;
73 iDULR31=0.; iDULR32=0.; iDULR33=0.;
74
75 rDURR11=0.; rDURR12=0.; rDURR13=0.;
76 rDURR21=0.; rDURR22=0.; rDURR23=0.;
77 rDURR31=0.; rDURR32=0.; rDURR33=0.;
78 iDURR11=0.; iDURR12=0.; iDURR13=0.;
79 iDURR21=0.; iDURR22=0.; iDURR23=0.;
80 iDURR31=0.; iDURR32=0.; iDURR33=0.;
81
82 rDDLL11=0.; rDDLL12=0.; rDDLL13=0.;
83 rDDLL21=0.; rDDLL22=0.; rDDLL23=0.;
84 rDDLL31=0.; rDDLL32=0.; rDDLL33=0.;
85 iDDLL11=0.; iDDLL12=0.; iDDLL13=0.;
86 iDDLL21=0.; iDDLL22=0.; iDDLL23=0.;
87 iDDLL31=0.; iDDLL32=0.; iDDLL33=0.;
88
89 rDDRL11=0.; rDDRL12=0.; rDDRL13=0.;
90 rDDRL21=0.; rDDRL22=0.; rDDRL23=0.;
91 rDDRL31=0.; rDDRL32=0.; rDDRL33=0.;
92 iDDRL11=0.; iDDRL12=0.; iDDRL13=0.;
93 iDDRL21=0.; iDDRL22=0.; iDDRL23=0.;
94 iDDRL31=0.; iDDRL32=0.; iDDRL33=0.;
95
96 rDDLR11=0.; rDDLR12=0.; rDDLR13=0.;
97 rDDLR21=0.; rDDLR22=0.; rDDLR23=0.;
98 rDDLR31=0.; rDDLR32=0.; rDDLR33=0.;
99 iDDLR11=0.; iDDLR12=0.; iDDLR13=0.;
100 iDDLR21=0.; iDDLR22=0.; iDDLR23=0.;
101 iDDLR31=0.; iDDLR32=0.; iDDLR33=0.;
102
103 rDDRR11=0.; rDDRR12=0.; rDDRR13=0.;
104 rDDRR21=0.; rDDRR22=0.; rDDRR23=0.;
105 rDDRR31=0.; rDDRR32=0.; rDDRR33=0.;
106 iDDRR11=0.; iDDRR12=0.; iDDRR13=0.;
107 iDDRR21=0.; iDDRR22=0.; iDDRR23=0.;
108 iDDRR31=0.; iDDRR32=0.; iDDRR33=0.;
109
110}
111
113}
114
116// Initialization
117
119{
121 return(true);
122}
123
125// Parameters
126
127bool SUSYMassInsertion::Init(const std::map<std::string, double>& DPars) {
128
129 if ((DPars.find("Msq") == DPars.end()) || (DPars.find("m3") == DPars.end()) ||
130 (DPars.find("MuM") == DPars.end())) {
131 std::cout << "missing mandatory Susy MIA parameter " << std::endl;
132 std::cout << "the gluino mass, the mean value of the squark masses "
133 "and the matching scale must be initialized " << std::endl;
134 return false;
135 }
136
137 return(StandardModel::Init(DPars));
138}
139
140
142{
143 if(!StandardModel::PreUpdate()) return (false);
144 return (true);
145}
146
147bool SUSYMassInsertion::Update(const std::map<std::string, double>& DPars)
148{
149 if(!PreUpdate()) return (false);
150
151 UpdateError = false;
152
153 for (std::map<std::string, double>::const_iterator it = DPars.begin(); it != DPars.end(); it++)
154 setParameter(it->first, it->second);
155
156 if (UpdateError) return (false);
157
158 if(!PostUpdate()) return (false);
159
160 return (true);
161}
162
164{
165 if (!StandardModel::PostUpdate()) return (false);
166 return (true);
167}
168
169void SUSYMassInsertion::setParameter(const std::string name, const double& value) {
170 if (name.compare("Msq") == 0)
171 Msq = value;
172 else if (name.compare("m3") == 0)
173 m3 = value;
174 else if (name.compare("MuM") == 0)
175 MuM = value;
176
177 //FILLS THE DELTAS, UP SECTOR
178 else if (name.compare("rDULL11") == 0){
179 rDULL11 = value;
180 Du_LL.assignre(0,0,rDULL11);}
181 else if (name.compare("rDULL12") == 0){
182 rDULL12 = value;
183 Du_LL.assignre(0,1,rDULL12);}
184 else if (name.compare("rDULL13") == 0){
185 rDULL13 = value;
186 Du_LL.assignre(0,2,rDULL13);}
187 else if (name.compare("rDULL21") == 0){
188 rDULL21 = value;
189 Du_LL.assignre(1,0,rDULL21);}
190 else if (name.compare("rDULL22") == 0){
191 rDULL22 = value;
192 Du_LL.assignre(1,1,rDULL22);}
193 else if (name.compare("rDULL23") == 0){
194 rDULL23 = value;
195 Du_LL.assignre(1,2,rDULL23);}
196 else if (name.compare("rDULL31") == 0){
197 rDULL31 = value;
198 Du_LL.assignre(2,0,rDULL31);}
199 else if (name.compare("rDULL32") == 0){
200 rDULL32 = value;
201 Du_LL.assignre(2,1,rDULL32);}
202 else if (name.compare("rDULL33") == 0){
203 rDULL33 = value;
204 Du_LL.assignre(2,2,rDULL33);}
205
206 else if (name.compare("iDULL11") == 0){
207 iDULL11 = value;
208 Du_LL.assignim(0,0,iDULL11);}
209 else if (name.compare("iDULL12") == 0){
210 iDULL12 = value;
211 Du_LL.assignim(0,1,iDULL12);}
212 else if (name.compare("iDULL13") == 0){
213 iDULL13 = value;
214 Du_LL.assignim(0,2,iDULL13);}
215 else if (name.compare("iDULL21") == 0){
216 iDULL21 = value;
217 Du_LL.assignim(1,0,iDULL21);}
218 else if (name.compare("iDULL22") == 0){
219 iDULL22 = value;
220 Du_LL.assignim(1,1,iDULL22);}
221 else if (name.compare("iDULL23") == 0){
222 iDULL23 = value;
223 Du_LL.assignim(1,2,iDULL23);}
224 else if (name.compare("iDULL31") == 0){
225 iDULL31 = value;
226 Du_LL.assignim(2,0,iDULL31);}
227 else if (name.compare("iDULL32") == 0){
228 iDULL32 = value;
229 Du_LL.assignim(2,1,iDULL32);}
230 else if (name.compare("iDULL33") == 0){
231 iDULL33 = value;
232 Du_LL.assignim(2,2,iDULL33);}
233
234
235 else if (name.compare("rDURL11") == 0){
236 rDURL11 = value;
237 Du_RL.assignre(0,0,rDURL11);}
238 else if (name.compare("rDURL12") == 0){
239 rDURL12 = value;
240 Du_RL.assignre(0,1,rDURL12);}
241 else if (name.compare("rDURL13") == 0){
242 rDURL13 = value;
243 Du_RL.assignre(0,2,rDURL13);}
244 else if (name.compare("rDURL21") == 0){
245 rDURL21 = value;
246 Du_RL.assignre(1,0,rDURL21);}
247 else if (name.compare("rDURL22") == 0){
248 rDURL22 = value;
249 Du_RL.assignre(1,1,rDURL22);}
250 else if (name.compare("rDURL23") == 0){
251 rDURL23 = value;
252 Du_RL.assignre(1,2,rDURL23);}
253 else if (name.compare("rDURL31") == 0){
254 rDURL31 = value;
255 Du_RL.assignre(2,0,rDURL31);}
256 else if (name.compare("rDURL32") == 0){
257 rDURL32 = value;
258 Du_RL.assignre(2,1,rDURL32);}
259 else if (name.compare("rDURL33") == 0){
260 rDURL33 = value;
261 Du_RL.assignre(2,2,rDURL33);}
262
263 else if (name.compare("iDURL11") == 0){
264 iDURL11 = value;
265 Du_RL.assignim(0,0,iDURL11);}
266 else if (name.compare("iDURL12") == 0){
267 iDURL12 = value;
268 Du_RL.assignim(0,1,iDURL12);}
269 else if (name.compare("iDURL13") == 0){
270 iDURL13 = value;
271 Du_RL.assignim(0,2,iDURL13);}
272 else if (name.compare("iDURL21") == 0){
273 iDURL21 = value;
274 Du_RL.assignim(1,0,iDURL21);}
275 else if (name.compare("iDURL22") == 0){
276 iDURL22 = value;
277 Du_RL.assignim(1,1,iDURL22);}
278 else if (name.compare("iDURL23") == 0){
279 iDURL23 = value;
280 Du_RL.assignim(1,2,iDURL23);}
281 else if (name.compare("iDURL31") == 0){
282 iDURL31 = value;
283 Du_RL.assignim(2,0,iDURL31);}
284 else if (name.compare("iDURL32") == 0){
285 iDURL32 = value;
286 Du_RL.assignim(2,1,iDURL32);}
287 else if (name.compare("iDURL33") == 0){
288 iDURL33 = value;
289 Du_RL.assignim(2,2,iDURL33);}
290
291
292 else if (name.compare("rDULR11") == 0){
293 rDULR11 = value;
294 Du_LR.assignre(0,0,rDULR11);}
295 else if (name.compare("rDULR12") == 0){
296 rDULR12 = value;
297 Du_LR.assignre(0,1,rDULR12);}
298 else if (name.compare("rDULR13") == 0){
299 rDULR13 = value;
300 Du_LR.assignre(0,2,rDULR13);}
301 else if (name.compare("rDULR21") == 0){
302 rDULR21 = value;
303 Du_LR.assignre(1,0,rDULR21);}
304 else if (name.compare("rDULR22") == 0){
305 rDULR22 = value;
306 Du_LR.assignre(1,1,rDULR22);}
307 else if (name.compare("rDULR23") == 0){
308 rDULR23 = value;
309 Du_LR.assignre(1,2,rDULR23);}
310 else if (name.compare("rDULR31") == 0){
311 rDULR31 = value;
312 Du_LR.assignre(2,0,rDULR31);}
313 else if (name.compare("rDULR32") == 0){
314 rDULR32 = value;
315 Du_LR.assignre(2,0,rDULR31);}
316 else if (name.compare("rDULR33") == 0){
317 rDULR33 = value;
318 Du_LR.assignre(2,2,rDULR33);}
319
320 else if (name.compare("iDULR11") == 0){
321 iDULR11 = value;
322 Du_LR.assignim(0,0,iDULR11);}
323 else if (name.compare("iDULR12") == 0){
324 iDULR12 = value;
325 Du_LR.assignim(0,1,iDULR12);}
326 else if (name.compare("iDULR13") == 0){
327 iDULR13 = value;
328 Du_LR.assignim(0,2,iDULR13);}
329 else if (name.compare("iDULR21") == 0){
330 iDULR21 = value;
331 Du_LR.assignim(1,0,iDULR21);}
332 else if (name.compare("iDULR22") == 0){
333 iDULR22 = value;
334 Du_LR.assignim(1,1,iDULR22);}
335 else if (name.compare("iDULR23") == 0){
336 iDULR23 = value;
337 Du_LR.assignim(1,2,iDULR23);}
338 else if (name.compare("iDULR31") == 0){
339 iDULR31 = value;
340 Du_LR.assignim(2,0,iDULR31);}
341 else if (name.compare("iDULR32") == 0){
342 iDULR32 = value;
343 Du_LR.assignim(2,1,iDULR32);}
344 else if (name.compare("iDULR33") == 0){
345 iDULR33 = value;
346 Du_LR.assignim(2,2,iDULR33);}
347
348
349 else if (name.compare("rDURR11") == 0){
350 rDURR11 = value;
351 Du_RR.assignre(0,0,rDURR11);}
352 else if (name.compare("rDURR12") == 0){
353 rDURR12 = value;
354 Du_RR.assignre(0,1,rDURR12);}
355 else if (name.compare("rDURR13") == 0){
356 rDURR13 = value;
357 Du_RR.assignre(0,2,rDURR13);}
358 else if (name.compare("rDURR21") == 0){
359 rDURR21 = value;
360 Du_RR.assignre(1,0,rDURR21);}
361 else if (name.compare("rDURR22") == 0){
362 rDURR22 = value;
363 Du_RR.assignre(1,1,rDURR22);}
364 else if (name.compare("rDURR23") == 0){
365 rDURR23 = value;
366 Du_RR.assignre(1,2,rDURR23);}
367 else if (name.compare("rDURR31") == 0){
368 rDURR31 = value;
369 Du_RR.assignre(2,0,rDURR31);}
370 else if (name.compare("rDURR32") == 0){
371 rDURR32 = value;
372 Du_RR.assignre(2,1,rDURR32);}
373 else if (name.compare("rDURR33") == 0){
374 rDURR33 = value;
375 Du_RR.assignre(2,2,rDURR33);}
376
377 else if (name.compare("iDURR11") == 0){
378 iDURR11 = value;
379 Du_RR.assignim(0,0,iDURR11);}
380 else if (name.compare("iDURR12") == 0){
381 iDURR12 = value;
382 Du_RR.assignim(0,1,iDURR12);}
383 else if (name.compare("iDURR13") == 0){
384 iDURR13 = value;
385 Du_RR.assignim(0,2,iDURR13);}
386 else if (name.compare("iDURR21") == 0){
387 iDURR21 = value;
388 Du_RR.assignim(1,0,iDURR21);}
389 else if (name.compare("iDURR22") == 0){
390 iDURR22 = value;
391 Du_RR.assignim(1,1,iDURR22);}
392 else if (name.compare("iDURR23") == 0){
393 iDURR23 = value;
394 Du_RR.assignim(1,2,iDURR23);}
395 else if (name.compare("iDURR31") == 0){
396 iDURR31 = value;
397 Du_RR.assignim(2,0,iDURR31);}
398 else if (name.compare("iDURR32") == 0){
399 iDURR32 = value;
400 Du_RR.assignim(2,1,iDURR32);}
401 else if (name.compare("iDURR33") == 0){
402 iDURR33 = value;
403 Du_RR.assignim(2,2,iDURR33);}
404
405 // FILLS THE DELTAS, DOWN SECTOR
406 else if (name.compare("rDDLL11") == 0){
407 rDDLL11 = value;
408 Dd_LL.assignre(0,0,rDDLL11);}
409 else if (name.compare("rDDLL12") == 0){
410 rDDLL12 = value;
411 Dd_LL.assignre(0,1,rDDLL12);}
412 else if (name.compare("rDDLL13") == 0){
413 rDDLL13 = value;
414 Dd_LL.assignre(0,2,rDDLL13);}
415 else if (name.compare("rDDLL21") == 0){
416 rDDLL21 = value;
417 Dd_LL.assignre(1,0,rDDLL21);}
418 else if (name.compare("rDDLL22") == 0){
419 rDDLL22 = value;
420 Dd_LL.assignre(1,1,rDDLL22);}
421 else if (name.compare("rDDLL23") == 0){
422 rDDLL23 = value;
423 Dd_LL.assignre(1,2,rDDLL23);}
424 else if (name.compare("rDDLL31") == 0){
425 rDDLL31 = value;
426 Dd_LL.assignre(2,0,rDDLL31);}
427 else if (name.compare("rDDLL32") == 0){
428 rDDLL32 = value;
429 Dd_LL.assignre(2,1,rDDLL32);}
430 else if (name.compare("rDDLL33") == 0){
431 rDDLL33 = value;
432 Dd_LL.assignre(2,2,rDDLL33);}
433
434 else if (name.compare("iDDLL11") == 0){
435 iDDLL11 = value;
436 Dd_LL.assignim(0,0,iDDLL11);}
437 else if (name.compare("iDDLL12") == 0){
438 iDDLL12 = value;
439 Dd_LL.assignim(0,1,iDDLL12);}
440 else if (name.compare("iDDLL13") == 0){
441 iDDLL13 = value;
442 Dd_LL.assignim(0,2,iDDLL13);}
443 else if (name.compare("iDDLL21") == 0){
444 iDDLL21 = value;
445 Dd_LL.assignim(1,0,iDDLL21);}
446 else if (name.compare("iDDLL22") == 0){
447 iDDLL22 = value;
448 Dd_LL.assignim(1,1,iDDLL22);}
449 else if (name.compare("iDDLL23") == 0){
450 iDDLL23 = value;
451 Dd_LL.assignim(1,2,iDDLL23);}
452 else if (name.compare("iDDLL31") == 0){
453 iDDLL31 = value;
454 Dd_LL.assignim(2,0,iDDLL31);}
455 else if (name.compare("iDDLL32") == 0){
456 iDDLL32 = value;
457 Dd_LL.assignim(2,1,iDDLL32);}
458 else if (name.compare("iDDLL33") == 0){
459 iDDLL33 = value;
460 Dd_LL.assignim(2,2,iDDLL33);}
461
462
463 else if (name.compare("rDDRL11") == 0){
464 rDDRL11 = value;
465 Dd_RL.assignre(0,0,rDDRL11);}
466 else if (name.compare("rDDRL12") == 0){
467 rDDRL12 = value;
468 Dd_RL.assignre(0,1,rDDRL12);}
469 else if (name.compare("rDDRL13") == 0){
470 rDDRL13 = value;
471 Dd_RL.assignre(0,2,rDDRL13);}
472 else if (name.compare("rDDRL21") == 0){
473 rDDRL21 = value;
474 Dd_RL.assignre(1,0,rDDRL21);}
475 else if (name.compare("rDDRL22") == 0){
476 rDDRL22 = value;
477 Dd_RL.assignre(1,1,rDDRL22);}
478 else if (name.compare("rDDRL23") == 0){
479 rDDRL23 = value;
480 Dd_RL.assignre(1,2,rDDRL23);}
481 else if (name.compare("rDDRL31") == 0){
482 rDDRL31 = value;
483 Dd_RL.assignre(2,0,rDDRL31);}
484 else if (name.compare("rDDRL32") == 0){
485 rDDRL32 = value;
486 Dd_RL.assignre(2,1,rDDRL32);}
487 else if (name.compare("rDDRL33") == 0){
488 rDDRL33 = value;
489 Dd_RL.assignre(2,2,rDDRL33);}
490
491 else if (name.compare("iDDRL11") == 0){
492 iDDRL11 = value;
493 Dd_RL.assignim(0,0,iDDRL11);}
494 else if (name.compare("iDDRL12") == 0){
495 iDDRL12 = value;
496 Dd_RL.assignim(0,1,iDDRL12);}
497 else if (name.compare("iDDRL13") == 0){
498 iDDRL13 = value;
499 Dd_RL.assignim(0,2,iDDRL13);}
500 else if (name.compare("iDDRL21") == 0){
501 iDDRL21 = value;
502 Dd_RL.assignim(1,0,iDDRL21);}
503 else if (name.compare("iDDRL22") == 0){
504 iDDRL22 = value;
505 Dd_RL.assignim(1,1,iDDRL22);}
506 else if (name.compare("iDDRL23") == 0){
507 iDDRL23 = value;
508 Dd_RL.assignim(1,2,iDDRL23);}
509 else if (name.compare("iDDRL31") == 0){
510 iDDRL31 = value;
511 Dd_RL.assignim(2,0,iDDRL31);}
512 else if (name.compare("iDDRL32") == 0){
513 iDDRL32 = value;
514 Dd_RL.assignim(2,1,iDDRL32);}
515 else if (name.compare("iDDRL33") == 0){
516 iDDRL33 = value;
517 Dd_RL.assignim(2,2,iDDRL33);}
518
519
520 else if (name.compare("rDDLR11") == 0){
521 rDDLR11 = value;
522 Dd_LR.assignre(0,0,rDDLR11);}
523 else if (name.compare("rDDLR12") == 0){
524 rDDLR12 = value;
525 Dd_LR.assignre(0,1,rDDLR12);}
526 else if (name.compare("rDDLR13") == 0){
527 rDDLR13 = value;
528 Dd_LR.assignre(0,2,rDDLR13);}
529 else if (name.compare("rDDLR21") == 0){
530 rDDLR21 = value;
531 Dd_LR.assignre(1,0,rDDLR21);}
532 else if (name.compare("rDDLR22") == 0){
533 rDDLR22 = value;
534 Dd_LR.assignre(1,1,rDDLR22);}
535 else if (name.compare("rDDLR23") == 0){
536 rDDLR23 = value;
537 Dd_LR.assignre(1,2,rDDLR23);}
538 else if (name.compare("rDDLR31") == 0){
539 rDDLR31 = value;
540 Dd_LR.assignre(2,0,rDDLR31);}
541 else if (name.compare("rDDLR32") == 0){
542 rDDLR32 = value;
543 Dd_LR.assignre(2,0,rDDLR31);}
544 else if (name.compare("rDDLR33") == 0){
545 rDDLR33 = value;
546 Dd_LR.assignre(2,2,rDDLR33);}
547
548 else if (name.compare("iDDLR11") == 0){
549 iDDLR11 = value;
550 Dd_LR.assignim(0,0,iDDLR11);}
551 else if (name.compare("iDDLR12") == 0){
552 iDDLR12 = value;
553 Dd_LR.assignim(0,1,iDDLR12);}
554 else if (name.compare("iDDLR13") == 0){
555 iDDLR13 = value;
556 Dd_LR.assignim(0,2,iDDLR13);}
557 else if (name.compare("iDDLR21") == 0){
558 iDDLR21 = value;
559 Dd_LR.assignim(1,0,iDDLR21);}
560 else if (name.compare("iDDLR22") == 0){
561 iDDLR22 = value;
562 Dd_LR.assignim(1,1,iDDLR22);}
563 else if (name.compare("iDDLR23") == 0){
564 iDDLR23 = value;
565 Dd_LR.assignim(1,2,iDDLR23);}
566 else if (name.compare("iDDLR31") == 0){
567 iDDLR31 = value;
568 Dd_LR.assignim(2,0,iDDLR31);}
569 else if (name.compare("iDDLR32") == 0){
570 iDDLR32 = value;
571 Dd_LR.assignim(2,0,iDDLR31);}
572 else if (name.compare("iDDLR33") == 0){
573 iDDLR33 = value;
574 Dd_LR.assignim(2,2,iDDLR33);}
575
576
577 else if (name.compare("rDDRR11") == 0){
578 rDDRR11 = value;
579 Dd_RR.assignre(0,0,rDDRR11);}
580 else if (name.compare("rDDRR12") == 0){
581 rDDRR12 = value;
582 Dd_RR.assignre(0,1,rDDRR12);}
583 else if (name.compare("rDDRR13") == 0){
584 rDDRR13 = value;
585 Dd_RR.assignre(0,2,rDDRR13);}
586 else if (name.compare("rDDRR21") == 0){
587 rDDRR21 = value;
588 Dd_RR.assignre(1,0,rDDRR21);}
589 else if (name.compare("rDDRR22") == 0){
590 rDDRR22 = value;
591 Dd_RR.assignre(1,1,rDDRR22);}
592 else if (name.compare("rDDRR23") == 0){
593 rDDRR23 = value;
594 Dd_RR.assignre(1,2,rDDRR23);}
595 else if (name.compare("rDDRR31") == 0){
596 rDDRR31 = value;
597 Dd_RR.assignre(2,0,rDDRR31);}
598 else if (name.compare("rDDRR32") == 0){
599 rDDRR32 = value;
600 Dd_RR.assignre(2,1,rDDRR32);}
601 else if (name.compare("rDDRR33") == 0){
602 rDDRR33 = value;
603 Dd_RR.assignre(2,2,rDDRR33);}
604
605 else if (name.compare("iDDRR11") == 0){
606 iDDRR11 = value;
607 Dd_RR.assignim(0,0,iDDRR11);}
608 else if (name.compare("iDDRR12") == 0){
609 iDDRR12 = value;
610 Dd_RR.assignim(0,1,iDDRR12);}
611 else if (name.compare("iDDRR13") == 0){
612 iDDRR13 = value;
613 Dd_RR.assignim(0,2,iDDRR13);}
614 else if (name.compare("iDDRR21") == 0){
615 iDDRR21 = value;
616 Dd_RR.assignim(1,0,iDDRR21);}
617 else if (name.compare("iDDRR22") == 0){
618 iDDRR22 = value;
619 Dd_RR.assignim(1,1,iDDRR22);}
620 else if (name.compare("iDDRR23") == 0){
621 iDDRR23 = value;
622 Dd_RR.assignim(1,2,iDDRR23);}
623 else if (name.compare("iDDRR31") == 0){
624 iDDRR31 = value;
625 Dd_RR.assignim(2,0,iDDRR31);}
626 else if (name.compare("iDDRR32") == 0){
627 iDDRR32 = value;
628 Dd_RR.assignim(2,1,iDDRR32);}
629 else if (name.compare("iDDRR33") == 0){
630 iDDRR33 = value;
631 Dd_RR.assignim(2,2,iDDRR33);}
632
633 else
635}
636
637bool SUSYMassInsertion::CheckParameters(const std::map<std::string, double>& DPars)
638{
639 for(int i=0; i<NSusyMIvars; i++)
640 if(DPars.find(SusyMIvars[i])==DPars.end()) {
641 std::cout << "missing mandatory SUSY MIA parameter " << SusyMIvars[i] << std::endl;
644 }
646}
std::map< std::string, double > DPars
Definition: Minimal.cpp:11
void addMissingModelParameter(const std::string &missingParameterName)
Definition: Model.h:250
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
bool UpdateError
A boolean set to false if update is successful.
Definition: Model.h:272
void raiseMissingModelParameterCount()
Definition: Model.h:260
virtual bool Init(const std::map< std::string, double > &DPars)
a method to check the correct assignment forthe value of all the SM and SUSY parameters in respect to...
static const int NSusyMIvars
gslpp::matrix< gslpp::complex > Dd_LL
gslpp::matrix< gslpp::complex > Du_LL
virtual bool PostUpdate()
virtual bool InitializeModel()
gslpp::matrix< gslpp::complex > Du_LR
virtual ~SUSYMassInsertion()
SUSYMassInsertion destructor.
gslpp::matrix< gslpp::complex > Du_RL
gslpp::matrix< gslpp::complex > Dd_RL
virtual bool PreUpdate()
gslpp::matrix< gslpp::complex > Dd_LR
SUSYMassInsertion()
SUSYMassInsertion constructor.
Matching< SUSYMassInsertionMatching, SUSYMassInsertion > SUSYMIM
virtual void setParameter(const std::string, const double &)
a method to set the value of all the SUSY parameters given as input in Model.conf
static const std::string SusyMIvars[NSusyMIvars]
gslpp::matrix< gslpp::complex > Dd_RR
gslpp::matrix< gslpp::complex > Du_RR
virtual bool CheckParameters(const std::map< std::string, double > &DPars)
virtual bool Update(const std::map< std::string, double > &DPars)
a method to update SM and SUSY parameters found in the argument
A model class for the Standard Model.
virtual bool PreUpdate()
The pre-update method for StandardModel.
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...
virtual bool Init(const std::map< std::string, double > &DPars)
A method to initialize the model parameters.
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.
A class for the matching in the Standard Model.