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}
A model class for the Standard Model.
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
double gettanb() const
A method get .
Definition: THDM.h:283
double getmHh2() const
A method get the squared mass of the "non-125 GeV" neutral scalar Higgs.
Definition: THDM.h:365
double getsinb() const
A method get .
Definition: THDM.h:291
double getmHl2() const
A method get the squared mass of the lighter neutral scalar Higgs.
Definition: THDM.h:339
double getmHp2() const
A method get the squared charged Higgs mass.
Definition: THDM.h:457
double getm12_2() const
A method get the parameter of the Higgs potential .
Definition: THDM.h:491
double getcosb() const
A method get .
Definition: THDM.h:299
double getcosa() const
A method get .
Definition: THDM.h:323
double getsina() const
A method get .
Definition: THDM.h:331
double getmA2() const
A method get the squared mass of the pseudoscalar Higgs A.
Definition: THDM.h:423
A class for a model prediction of an observable.
Definition: ThObservable.h:25
parameter of the Higgs potential
double computeThValue()
The quartic coupling .
An observable class for the quartic Higgs potential coupling .
double computeThValue()
The quartic coupling .
double computeThValue()
Definition: positivity.cpp:35
positivity1(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:31
double computeThValue()
Definition: positivity.cpp:65
positivity2(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:61
An observable class for the positivity conditions of the Higgs potential.
Definition: positivity.h:27
const THDM * myTHDM
Definition: positivity.h:41
lambda2 * mylambda2
Definition: positivity.h:43
positivity(const StandardModel &SM_i)
Constructor.
Definition: positivity.cpp:12
double computeThValue()
Two positivity conditions of the Higgs potential.
Definition: positivity.cpp:25
lambda1 * mylambda1
Definition: positivity.h:42