a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
THDMWpositivity.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "THDMWpositivity.h"
9 #include "THDMW.h"
10 #include "THDMWcache.h"
11 
13 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
14 {}
15 
17 {
18  double mu1=myTHDMW.getTHDMW_mu1();
19  double mu2=myTHDMW.getTHDMW_mu2();
20  double mu3=myTHDMW.getTHDMW_mu3();
21  double mu4=myTHDMW.getTHDMW_mu4();
22  double mu5=myTHDMW.getTHDMW_mu5();
23  double mu6=myTHDMW.getTHDMW_mu6();
24 
25  return mu1+mu2+2.0*(mu3+mu4+mu5)+mu6;
26 }
27 
28 
29 
31 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
32 {}
33 
35 {
36  double mu1=myTHDMW.getTHDMW_mu1();
37  double mu2=myTHDMW.getTHDMW_mu2();
38  double mu3=myTHDMW.getTHDMW_mu3();
39  double mu4=myTHDMW.getTHDMW_mu4();
40 
41  return mu1+mu2+mu3+mu4;
42 }
43 
44 
45 
47 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
48 {}
49 
51 {
52  double mu1=myTHDMW.getTHDMW_mu1();
53  double mu2=myTHDMW.getTHDMW_mu2();
54  double mu3=myTHDMW.getTHDMW_mu3();
55  double mu4=myTHDMW.getTHDMW_mu4();
56  double mu6=myTHDMW.getTHDMW_mu6();
57 
58  return 14.0*(mu1+mu2) + 24.0*(mu3+mu4) + 5.0*mu6 - 3.0*fabs(2.0*(mu1+mu2)-mu6);
59 }
60 
61 
62 
64 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
65 {}
66 
68 {
69  double mu1=myTHDMW.getTHDMW_mu1();
70  double mu2=myTHDMW.getTHDMW_mu2();
71  double mu3=myTHDMW.getTHDMW_mu3();
72  double mu4=myTHDMW.getTHDMW_mu4();
73  double mu5=myTHDMW.getTHDMW_mu5();
74  double mu6=myTHDMW.getTHDMW_mu6();
75 
76  return 5.0*(mu1+mu2+mu6) + 6.0*(2.0*mu3+mu4+mu5) - fabs(mu1+mu2+mu6);
77 }
78 
79 
80 
82 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
83 {}
84 
86 {
88  double mu1=myTHDMW.getTHDMW_mu1();
89  double mu2=myTHDMW.getTHDMW_mu2();
90  double mu3=myTHDMW.getTHDMW_mu3();
91  double mu4=myTHDMW.getTHDMW_mu4();
92  double mu5=myTHDMW.getTHDMW_mu5();
93  double mu6=myTHDMW.getTHDMW_mu6();
94  double muAtimes2=mu1+mu2+2.0*(mu3+mu4+mu5)+mu6;
95  double nu1=myTHDMW.getTHDMW_nu1();
96  if (lambda1>0 && muAtimes2>0)
97  {
98  return sqrt(lambda1*muAtimes2)+nu1;
99  }
100  else
101  {
102  return -1.;
103  }
104 }
105 
106 
107 
109 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
110 {}
111 
113 {
115  double mu1=myTHDMW.getTHDMW_mu1();
116  double mu2=myTHDMW.getTHDMW_mu2();
117  double mu3=myTHDMW.getTHDMW_mu3();
118  double mu4=myTHDMW.getTHDMW_mu4();
119  double mu5=myTHDMW.getTHDMW_mu5();
120  double mu6=myTHDMW.getTHDMW_mu6();
121  double muAtimes2=mu1+mu2+2.0*(mu3+mu4+mu5)+mu6;
122  double nu1=myTHDMW.getTHDMW_nu1();
123  double nu2=myTHDMW.getTHDMW_nu2();
124  double nu3=myTHDMW.getTHDMW_nu3();
125  if (lambda1>0 && muAtimes2>0)
126  {
127  return sqrt(lambda1*muAtimes2)+nu1+nu2-2.0*fabs(nu3);
128  }
129  else
130  {
131  return -1.;
132  }
133 }
134 
135 
136 
138 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
139 {}
140 
142 {
144  double mu1=myTHDMW.getTHDMW_mu1();
145  double mu2=myTHDMW.getTHDMW_mu2();
146  double mu3=myTHDMW.getTHDMW_mu3();
147  double mu4=myTHDMW.getTHDMW_mu4();
148  double mu5=myTHDMW.getTHDMW_mu5();
149  double mu6=myTHDMW.getTHDMW_mu6();
150  double muA=0.5*(mu1+mu2+mu6)+mu3+mu4+mu5;
151  double nu1=myTHDMW.getTHDMW_nu1();
152  double nu2=myTHDMW.getTHDMW_nu2();
153  double nu3=myTHDMW.getTHDMW_nu3();
154  double nu4=myTHDMW.getTHDMW_nu4();
155  double nu5=myTHDMW.getTHDMW_nu5();
156  if (lambda1>0 && muA>0)
157  {
158  return lambda1 + 0.5*muA + nu1 + nu2 + 2.0*nu3 - fabs(nu4+nu5)/sqrt(3.0);
159  }
160  else
161  {
162  return -1.;
163  }
164 }
165 
166 
167 
169 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
170 {}
171 
173 {
177 
178  if (lambda1>0 && lambda2>0)
179  {
180  return lambda3+sqrt(lambda1*lambda2);
181  }
182  else
183  {
184  return -1.;
185  }
186 }
187 
188 
189 
191 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
192 {}
193 
195 {
201 
202  if (lambda1>0 && lambda2>0)
203  {
204  return lambda3+lambda4-fabs(lambda5)+sqrt(lambda1*lambda2);
205  }
206  else
207  {
208  return -1.;
209  }
210 }
211 
212 
213 
215 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
216 {}
217 
219 {
221  double mu1=myTHDMW.getTHDMW_mu1();
222  double mu2=myTHDMW.getTHDMW_mu2();
223  double mu3=myTHDMW.getTHDMW_mu3();
224  double mu4=myTHDMW.getTHDMW_mu4();
225  double mu5=myTHDMW.getTHDMW_mu5();
226  double mu6=myTHDMW.getTHDMW_mu6();
227  double muAtimes2=mu1+mu2+2.0*(mu3+mu4+mu5)+mu6;
228  double omega1=myTHDMW.getTHDMW_omega1();
229  if (lambda2>0 && muAtimes2>0)
230  {
231  return sqrt(lambda2*muAtimes2)+omega1;
232  }
233  else
234  {
235  return -1.;
236  }
237 }
238 
239 
240 
242 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
243 {}
244 
246 {
248  double mu1=myTHDMW.getTHDMW_mu1();
249  double mu2=myTHDMW.getTHDMW_mu2();
250  double mu3=myTHDMW.getTHDMW_mu3();
251  double mu4=myTHDMW.getTHDMW_mu4();
252  double mu5=myTHDMW.getTHDMW_mu5();
253  double mu6=myTHDMW.getTHDMW_mu6();
254  double muAtimes2=mu1+mu2+2.0*(mu3+mu4+mu5)+mu6;
255  double omega1=myTHDMW.getTHDMW_omega1();
256  double omega2=myTHDMW.getTHDMW_omega2();
257  double omega3=myTHDMW.getTHDMW_omega3();
258  if (lambda2>0 && muAtimes2>0)
259  {
260  return sqrt(lambda2*muAtimes2)+omega1+omega2-2.0*fabs(omega3);
261  }
262  else
263  {
264  return -1.;
265  }
266 }
267 
268 
269 
271 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
272 {}
273 
275 {
277  double mu1=myTHDMW.getTHDMW_mu1();
278  double mu2=myTHDMW.getTHDMW_mu2();
279  double mu3=myTHDMW.getTHDMW_mu3();
280  double mu4=myTHDMW.getTHDMW_mu4();
281  double mu5=myTHDMW.getTHDMW_mu5();
282  double mu6=myTHDMW.getTHDMW_mu6();
283  double muA=0.5*(mu1+mu2+mu6)+mu3+mu4+mu5;
284  double omega1=myTHDMW.getTHDMW_omega1();
285  double omega2=myTHDMW.getTHDMW_omega2();
286  double omega3=myTHDMW.getTHDMW_omega3();
287  double omega4=myTHDMW.getTHDMW_omega4();
288  double omega5=myTHDMW.getTHDMW_omega5();
289  if (lambda2>0 && muA>0)
290  {
291  return lambda2 + 0.5*muA + omega1 + omega2 + 2.0*omega3 - fabs(omega4+omega5)/sqrt(3.0);
292  }
293  else
294  {
295  return -1.;
296  }
297 }
298 
299 
300 
302 : ThObservable(SM_i),myTHDMW(static_cast<const THDMW&> (SM_i))
303 {}
304 
306 {
308  return a;
309 }
THDMWpositivity6::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:112
THDMW::getTHDMW_lambda4
double getTHDMW_lambda4() const
A getter for .
Definition: THDMW.h:443
THDMWpositivity8::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:172
THDMW::getTHDMW_nu4
double getTHDMW_nu4() const
A getter for .
Definition: THDMW.h:570
THDMWpositivity2::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:34
THDMW::getTHDMW_nu2
double getTHDMW_nu2() const
A getter for .
Definition: THDMW.h:550
THDMWpositiveMassSquares::THDMWpositiveMassSquares
THDMWpositiveMassSquares(const StandardModel &SM_i)
THDMWpositiveMassSquares constructor.
Definition: THDMWpositivity.cpp:301
THDMWpositivity8::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:180
THDMWpositivity3::THDMWpositivity3
THDMWpositivity3(const StandardModel &SM_i)
THDMWpositivity3 constructor.
Definition: THDMWpositivity.cpp:46
THDMWpositivity6::THDMWpositivity6
THDMWpositivity6(const StandardModel &SM_i)
THDMWpositivity6 constructor.
Definition: THDMWpositivity.cpp:108
THDMWpositivity5::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:123
THDMW::getTHDMW_nu5
double getTHDMW_nu5() const
A getter for .
Definition: THDMW.h:578
THDMW::getTHDMW_omega2
double getTHDMW_omega2() const
A getter for .
Definition: THDMW.h:604
THDMW.h
THDMWpositivity10::THDMWpositivity10
THDMWpositivity10(const StandardModel &SM_i)
THDMWpositivity10 constructor.
Definition: THDMWpositivity.cpp:214
THDMWpositivity11::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:237
lambda3
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:428
THDMW::getTHDMW_lambda3
double getTHDMW_lambda3() const
A getter for .
Definition: THDMW.h:430
THDMWpositivity5::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:85
THDMWpositivity11::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:245
THDMWpositivity12::THDMWpositivity12
THDMWpositivity12(const StandardModel &SM_i)
THDMWpositivity12 constructor.
Definition: THDMWpositivity.cpp:270
THDMW::getTHDMW_mu6
double getTHDMW_mu6() const
A getter for .
Definition: THDMW.h:529
THDMW::getTHDMW_lambda1
double getTHDMW_lambda1() const
A getter for .
Definition: THDMW.h:409
THDMWpositivity4::THDMWpositivity4
THDMWpositivity4(const StandardModel &SM_i)
THDMWpositivity4 constructor.
Definition: THDMWpositivity.cpp:63
THDMW::getTHDMW_mu4
double getTHDMW_mu4() const
A getter for .
Definition: THDMW.h:508
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
THDMW::getTHDMW_nu3
double getTHDMW_nu3() const
A getter for .
Definition: THDMW.h:558
THDMW::getTHDMW_omega5
double getTHDMW_omega5() const
A getter for .
Definition: THDMW.h:646
THDMW
A base class for symmetric Two-Higgs-Doublet-Manohar-Wise models.
Definition: THDMW.h:233
THDMWpositivity3::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:85
lambda1
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:382
THDMWpositivity4::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:104
THDMWpositivity2::THDMWpositivity2
THDMWpositivity2(const StandardModel &SM_i)
THDMWpositivity2 constructor.
Definition: THDMWpositivity.cpp:30
THDMWpositivity7::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:141
lambda4
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:451
THDMW::getTHDMW_mu2
double getTHDMW_mu2() const
A getter for .
Definition: THDMW.h:488
THDMW::getTHDMW_lambda5
double getTHDMW_lambda5() const
A getter for .
Definition: THDMW.h:456
THDMW::getMyTHDMWCache
THDMWcache * getMyTHDMWCache() const
A method get the THDMWCache.
Definition: THDMW.h:318
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
THDMWpositivity12::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:274
THDMW::getTHDMW_lambda2
double getTHDMW_lambda2() const
A getter for .
Definition: THDMW.h:417
THDMWcache.h
lambda2
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:405
THDMWpositivity7::THDMWpositivity7
THDMWpositivity7(const StandardModel &SM_i)
THDMWpositivity7 constructor.
Definition: THDMWpositivity.cpp:137
THDMWpositivity1::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:44
THDMW::getTHDMW_omega3
double getTHDMW_omega3() const
A getter for .
Definition: THDMW.h:617
THDMWpositivity9::THDMWpositivity9
THDMWpositivity9(const StandardModel &SM_i)
THDMWpositivity9 constructor.
Definition: THDMWpositivity.cpp:190
THDMWcache::setOtherParameters
double setOtherParameters()
Definition: THDMWcache.cpp:2737
THDMWpositivity9::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:199
THDMW::getTHDMW_mu3
double getTHDMW_mu3() const
A getter for .
Definition: THDMW.h:501
THDMWpositivity3::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:50
THDMWpositivity10::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:218
THDMW::getTHDMW_nu1
double getTHDMW_nu1() const
A getter for .
Definition: THDMW.h:542
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
THDMW::getTHDMW_omega1
double getTHDMW_omega1() const
A getter for .
Definition: THDMW.h:591
lambda5
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:474
THDMW::getTHDMW_mu5
double getTHDMW_mu5() const
A getter for .
Definition: THDMW.h:516
THDMWpositivity4::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:67
THDMW::getTHDMW_omega4
double getTHDMW_omega4() const
A getter for .
Definition: THDMW.h:633
THDMWpositivity10::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:218
THDMWpositiveMassSquares::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:275
THDMWpositivity5::THDMWpositivity5
THDMWpositivity5(const StandardModel &SM_i)
THDMWpositivity5 constructor.
Definition: THDMWpositivity.cpp:81
THDMWpositivity1::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:16
THDMWpositivity8::THDMWpositivity8
THDMWpositivity8(const StandardModel &SM_i)
THDMWpositivity8 constructor.
Definition: THDMWpositivity.cpp:168
THDMWpositivity9::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:194
THDMWpositivity1::THDMWpositivity1
THDMWpositivity1(const StandardModel &SM_i)
THDMWpositivity1 constructor.
Definition: THDMWpositivity.cpp:12
THDMW::getTHDMW_mu1
double getTHDMW_mu1() const
A getter for .
Definition: THDMW.h:480
THDMWpositivity7::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:161
THDMWpositivity.h
THDMWpositivity6::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:142
THDMWpositivity2::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:66
THDMWpositivity11::THDMWpositivity11
THDMWpositivity11(const StandardModel &SM_i)
THDMWpositivity11 constructor.
Definition: THDMWpositivity.cpp:241
THDMWpositiveMassSquares::computeThValue
double computeThValue()
Definition: THDMWpositivity.cpp:305
THDMWpositivity12::myTHDMW
const THDMW & myTHDMW
Definition: THDMWpositivity.h:256