positivity.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "positivity.h"
9 #include "StandardModel.h"
10 
12 : ThObservable(SM_i), myTHDM(static_cast<const THDM*> (&SM_i))
13 {
14  mylambda1=new lambda1(SM_i);
15  mylambda2=new lambda2(SM_i);
16 };
17 
19 {
20  delete mylambda1;
21  delete mylambda2;
22 };
23 
25 {
26  return 0.0;
27 
28 }
29 
31 : positivity(SM_i)
32 {}
33 
35 {
36  double mHl=myTHDM->getMHl();
37  double mHh2=myTHDM->getmHh2();
38  double mHp2=myTHDM->getmHp2();
39  double sina=myTHDM->getsina();
40  double cosa=myTHDM->getcosa();
41  double tanb=myTHDM->gettanb();
42  double sinb=myTHDM->getsinb();
43  double cosb=myTHDM->getcosb();
44  double m12_2=myTHDM->getm12_2();
47 
48  if (lambda1>0 && lambda2>0)
49  {
50  return 0.0001*(2.0*mHp2*cosb*sinb -m12_2 +(mHh2-mHl*mHl)*cosa*sina
51  +sqrt(std::abs((mHl*mHl*cosa*cosa +mHh2*sina*sina -m12_2/tanb)
52  *(mHh2*cosa*cosa +mHl*mHl*sina*sina -m12_2*tanb))));
53  }
54  else
55  {
56  return -1.;
57  }
58 }
59 
61 : positivity(SM_i)
62 {}
63 
65 {
66  double mHl=myTHDM->getMHl();
67  double mA2=myTHDM->getmA2();
68  double mHh2=myTHDM->getmHh2();
69  double sina=myTHDM->getsina();
70  double cosa=myTHDM->getcosa();
71  double tanb=myTHDM->gettanb();
72  double sinb=myTHDM->getsinb();
73  double cosb=myTHDM->getcosb();
74  double m12_2=myTHDM->getm12_2();
77 
78  if (lambda1>0 && lambda2>0)
79  {
80  return 0.0001*(mA2 -std::abs(mA2-m12_2/cosb/sinb)
81  +((mHh2-mHl*mHl)*cosa*sina
82  +sqrt(std::abs((mHl*mHl*cosa*cosa +mHh2*sina*sina -m12_2/tanb)
83  *(mHh2*cosa*cosa +mHl*mHl*sina*sina - m12_2*tanb))))
84  /cosb/sinb);
85  }
86  else
87  {
88  return -1.;
89  }
90 }
An observable class for the quartic Higgs potential coupling .
double getm12_2() const
Definition: THDM.h:278
double computeThValue()
Definition: positivity.cpp:34
double getsina() const
Definition: THDM.h:222
double getsinb() const
Definition: THDM.h:182
lambda1 * mylambda1
Definition: positivity.h:41
double getcosb() const
Definition: THDM.h:190
double getmHp2() const
Definition: THDM.h:262
A class for a model prediction of an observable.
Definition: ThObservable.h:22
positivity2(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:60
const THDM * myTHDM
Definition: positivity.h:40
A model class for the Standard Model.
double gettanb() const
Definition: THDM.h:174
double getmHh2() const
Definition: THDM.h:230
double getmA2() const
Definition: THDM.h:246
positivity1(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:30
double computeThValue()
The quartic coupling .
positivity(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:11
A base class symmetric Two-Higgs-Doublet models.
Definition: THDM.h:94
An observable class for the positivity conditions of the Higgs potential.
Definition: positivity.h:25
double computeThValue()
Two positivity conditions of the Higgs potential.
Definition: positivity.cpp:24
double computeThValue()
The quartic coupling .
An observable class for the quartic Higgs potential coupling .
double getMHl() const
A get method to retrieve the Higgs mass .
lambda2 * mylambda2
Definition: positivity.h:42
double computeThValue()
Definition: positivity.cpp:64
double getcosa() const
Definition: THDM.h:214
complex sqrt(const complex &z)