a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
positivity.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "positivity.h"
9 #include "THDM.h"
10 #include "THDMquantities.h"
11 
13 : ThObservable(SM_i), myTHDM(static_cast<const THDM*> (&SM_i))
14 {
15  mylambda1=new lambda1(SM_i);
16  mylambda2=new lambda2(SM_i);
17 };
18 
20 {
21  delete mylambda1;
22  delete mylambda2;
23 };
24 
26 {
27  return 0.0;
28 
29 }
30 
32 : positivity(SM_i)
33 {}
34 
36 {
37  double mHl2=myTHDM->getmHl2();
38  double mHh2=myTHDM->getmHh2();
39  double mHp2=myTHDM->getmHp2();
40  double sina=myTHDM->getsina();
41  double cosa=myTHDM->getcosa();
42  double tanb=myTHDM->gettanb();
43  double sinb=myTHDM->getsinb();
44  double cosb=myTHDM->getcosb();
45  double m12_2=myTHDM->getm12_2();
48 
49  if (lambda1>0 && lambda2>0)
50  {
51  return 0.0001*(2.0*mHp2*cosb*sinb -m12_2 +(mHh2-mHl2)*cosa*sina
52  +sqrt(fabs((mHl2*cosa*cosa +mHh2*sina*sina -m12_2/tanb)
53  *(mHh2*cosa*cosa +mHl2*sina*sina -m12_2*tanb))));
54  }
55  else
56  {
57  return -1.;
58  }
59 }
60 
62 : positivity(SM_i)
63 {}
64 
66 {
67  double mHl2=myTHDM->getmHl2();
68  double mA2=myTHDM->getmA2();
69  double mHh2=myTHDM->getmHh2();
70  double sina=myTHDM->getsina();
71  double cosa=myTHDM->getcosa();
72  double tanb=myTHDM->gettanb();
73  double sinb=myTHDM->getsinb();
74  double cosb=myTHDM->getcosb();
75  double m12_2=myTHDM->getm12_2();
78 
79  if (lambda1>0 && lambda2>0)
80  {
81  return 0.0001*(mA2 -fabs(mA2-m12_2/cosb/sinb)
82  +((mHh2-mHl2)*cosa*sina
83  +sqrt(fabs((mHl2*cosa*cosa +mHh2*sina*sina -m12_2/tanb)
84  *(mHh2*cosa*cosa +mHl2*sina*sina - m12_2*tanb))))
85  /cosb/sinb);
86  }
87  else
88  {
89  return -1.;
90  }
91 }
THDM::getsinb
double getsinb() const
A method get .
Definition: THDM.h:291
positivity::positivity
positivity(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:12
THDM
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
positivity::computeThValue
double computeThValue()
Two positivity conditions of the Higgs potential.
Definition: positivity.cpp:25
THDM::getmA2
double getmA2() const
A method get the squared mass of the pseudoscalar Higgs A.
Definition: THDM.h:423
THDM::gettanb
double gettanb() const
A method get .
Definition: THDM.h:283
THDM::getm12_2
double getm12_2() const
A method get the parameter of the Higgs potential .
Definition: THDM.h:491
positivity2::positivity2
positivity2(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:61
THDM::getmHp2
double getmHp2() const
A method get the squared charged Higgs mass.
Definition: THDM.h:457
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
THDM::getsina
double getsina() const
A method get .
Definition: THDM.h:331
lambda1::computeThValue
double computeThValue()
The quartic coupling .
Definition: THDMquantities.cpp:197
THDM::getmHh2
double getmHh2() const
A method get the squared mass of the "non-125 GeV" neutral scalar Higgs.
Definition: THDM.h:365
lambda2::computeThValue
double computeThValue()
The quartic coupling .
Definition: THDMquantities.cpp:216
lambda1
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:382
positivity.h
positivity::mylambda2
lambda2 * mylambda2
Definition: positivity.h:43
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
THDMquantities.h
lambda2
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:405
positivity1::positivity1
positivity1(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:31
positivity::~positivity
~positivity()
Definition: positivity.cpp:19
positivity::mylambda1
lambda1 * mylambda1
Definition: positivity.h:42
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
THDM::getcosa
double getcosa() const
A method get .
Definition: THDM.h:323
THDM::getmHl2
double getmHl2() const
A method get the squared mass of the lighter neutral scalar Higgs.
Definition: THDM.h:339
THDM::getcosb
double getcosb() const
A method get .
Definition: THDM.h:299
positivity2::computeThValue
double computeThValue()
Definition: positivity.cpp:65
THDM.h
positivity::myTHDM
const THDM * myTHDM
Definition: positivity.h:41
positivity
An observable class for the positivity conditions of the Higgs potential.
Definition: positivity.h:27
positivity1::computeThValue
double computeThValue()
Definition: positivity.cpp:35