a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeneralTHDMstability.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "GeneralTHDMstability.h"
9 #include "GeneralTHDM.h"
10 #include "GeneralTHDMcache.h"
11 
13 : myGTHDM(static_cast<const GeneralTHDM&> (SM_i)), vecMinus1(4,-1.), vecStability(4,0.)
14 {}
15 
17 {}
18 
20 {
21  double lambda1 = myGTHDM.getMyGTHDMCache()->lambda1;
22  double lambda2 = myGTHDM.getMyGTHDMCache()->lambda2;
23  double lambda3 = myGTHDM.getMyGTHDMCache()->lambda3;
24  double lambda4 = myGTHDM.getMyGTHDMCache()->lambda4;
25  double Relambda5 = myGTHDM.getRelambda5();
26  double Imlambda5 = myGTHDM.getImlambda5();
27  double Relambda6 = myGTHDM.getRelambda6();
28  double Relambda7 = myGTHDM.getRelambda7();
29  double Imlambda6 = myGTHDM.getMyGTHDMCache()->Imlambda6;
30  double Imlambda7 = myGTHDM.getMyGTHDMCache()->Imlambda7;
31 
33  vecStability(1) = lambda3 + lambda4 - sqrt(Relambda5*Relambda5+Imlambda5*Imlambda5) + sqrt(lambda1*lambda2);
34  vecStability(2) = (lambda1+lambda2)/2. + lambda3 + lambda4 + Relambda5 - 2.*fabs(Relambda6 + Relambda7);
35  vecStability(3) = (lambda1+lambda2)/2. + lambda3 + lambda4 - Relambda5 - 2.*fabs(Imlambda6 + Imlambda7);
36 
37  if (lambda1>0 && lambda2>0)
38  return vecStability;
39  else
40  return vecMinus1;
41 }
42 
43 
45 : ThObservable(SM_i), mystability_GTHDM(SM_i)
46 {}
47 
49 {
50  return (mystability_GTHDM.getStability())(0);
51 }
52 
53 
55 : ThObservable(SM_i), mystability_GTHDM(SM_i)
56 {}
57 
59 {
60  return (mystability_GTHDM.getStability())(1);
61 }
62 
63 
65 : ThObservable(SM_i), mystability_GTHDM(SM_i)
66 {}
67 
69 {
70  return (mystability_GTHDM.getStability())(2);
71 }
72 
73 
75 : ThObservable(SM_i), mystability_GTHDM(SM_i)
76 {}
77 
79 {
80  return (mystability_GTHDM.getStability())(3);
81 }
stability_GTHDM::~stability_GTHDM
virtual ~stability_GTHDM()
Destructor.
Definition: GeneralTHDMstability.cpp:16
stability3_GTHDM::computeThValue
double computeThValue()
Definition: GeneralTHDMstability.cpp:68
stability_GTHDM::myGTHDM
const GeneralTHDM & myGTHDM
Definition: GeneralTHDMstability.h:39
stability2_GTHDM::mystability_GTHDM
stability_GTHDM mystability_GTHDM
Definition: GeneralTHDMstability.h:82
stability3_GTHDM::mystability_GTHDM
stability_GTHDM mystability_GTHDM
Definition: GeneralTHDMstability.h:103
GeneralTHDM::getMyGTHDMCache
GeneralTHDMcache * getMyGTHDMCache() const
Definition: GeneralTHDM.h:564
lambda3
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:428
GeneralTHDM::getRelambda7
double getRelambda7() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:809
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
lambda1
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:382
lambda4
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:451
GeneralTHDM::getImlambda5
double getImlambda5() const
A getter for the Imaginary part of the Higgs potential parameter .
Definition: GeneralTHDM.h:788
stability4_GTHDM::computeThValue
double computeThValue()
Definition: GeneralTHDMstability.cpp:78
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
stability_GTHDM::vecStability
gslpp::vector< double > vecStability
Definition: GeneralTHDMstability.h:40
stability2_GTHDM::stability2_GTHDM
stability2_GTHDM(const StandardModel &SM_i)
stability2_GTHDM constructor.
Definition: GeneralTHDMstability.cpp:54
GeneralTHDM.h
lambda2
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:405
stability4_GTHDM::mystability_GTHDM
stability_GTHDM mystability_GTHDM
Definition: GeneralTHDMstability.h:124
GeneralTHDM
A class for general Two-Higgs-Doublet models.
Definition: GeneralTHDM.h:463
stability2_GTHDM::computeThValue
double computeThValue()
Definition: GeneralTHDMstability.cpp:58
gslpp::vector< double >
A class for constructing and defining operations on real vectors.
Definition: gslpp_vector_double.h:33
GeneralTHDMcache.h
GeneralTHDM::getRelambda5
double getRelambda5() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:780
stability3_GTHDM::stability3_GTHDM
stability3_GTHDM(const StandardModel &SM_i)
stability3_GTHDM constructor.
Definition: GeneralTHDMstability.cpp:64
stability4_GTHDM::stability4_GTHDM
stability4_GTHDM(const StandardModel &SM_i)
stability4_GTHDM constructor.
Definition: GeneralTHDMstability.cpp:74
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
GeneralTHDMstability.h
stability1_GTHDM::computeThValue
double computeThValue()
Definition: GeneralTHDMstability.cpp:48
GeneralTHDM::getRelambda6
double getRelambda6() const
A getter for the Real part of the Higgs potential parameter .
Definition: GeneralTHDM.h:801
stability_GTHDM::getStability
gslpp::vector< double > getStability()
Destructor.
Definition: GeneralTHDMstability.cpp:19
stability1_GTHDM::stability1_GTHDM
stability1_GTHDM(const StandardModel &SM_i)
stability1_GTHDM constructor.
Definition: GeneralTHDMstability.cpp:44
stability1_GTHDM::mystability_GTHDM
stability_GTHDM mystability_GTHDM
Definition: GeneralTHDMstability.h:61
stability_GTHDM::stability_GTHDM
stability_GTHDM(const StandardModel &SM_i)
Constructor.
Definition: GeneralTHDMstability.cpp:12
stability_GTHDM::vecMinus1
gslpp::vector< double > vecMinus1
Definition: GeneralTHDMstability.h:40