a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EWPO Class Reference

An observable class to calculate the electroweak precision observables in the THDM. More...

#include <EWPO.h>

+ Inheritance diagram for EWPO:

Detailed Description

An observable class to calculate the electroweak precision observables in the THDM.

Author
HEPfit Collaboration

An observable class to calculate EWPO in context of the 2HDM.

Definition at line 25 of file EWPO.h.

Public Member Functions

void computeTHDMcouplings ()
 
double computeThValue ()
 
double dDelta_r ()
 
 EWPO (const StandardModel &SM_i)
 EWPO constructor. More...
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin. More...
 
double getBinMin ()
 A get method to get the minimum value of the bin. More...
 
const StandardModelgetModel ()
 A get method to get the model. More...
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable. More...
 
void setBinMax (double max)
 A set method to set the maximum value of the bin. More...
 
void setBinMin (double min)
 A set method to set the minimum value of the bin. More...
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable. More...
 
 ThObservable (const StandardModel &SM_i)
 Constructor. More...
 
 ThObservable (const ThObservable &orig)
 The copy constructor. More...
 
virtual ~ThObservable ()
 The default destructor. More...
 

Public Attributes

THDMcachemycache
 
const THDMmyTHDM
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum. More...
 
double min
 The bin minimum. More...
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable More...
 
const StandardModelSM
 A reference to an object of StandardMode class. More...
 

Constructor & Destructor Documentation

◆ EWPO()

EWPO::EWPO ( const StandardModel SM_i)

EWPO constructor.

Parameters
[in]SM.A reference to a SM object

Definition at line 12 of file EWPO.cpp.

13: ThObservable(SM_i), myTHDM(static_cast<const THDM*> (&SM_i))
14{
15 mycache = new THDMcache(SM_i);
16};
THDMcache * mycache
Definition: EWPO.h:40
const THDM * myTHDM
Definition: EWPO.h:39
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
A class for the caching of some THDM objects.
Definition: THDMcache.h:29
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32

Member Function Documentation

◆ computeTHDMcouplings()

void EWPO::computeTHDMcouplings ( )

Definition at line 135 of file EWPO.cpp.

136{
137// double mHl2=myTHDM->getmHl2();
138// double mA=myTHDM->getMA();
139// double mHh=myTHDM->getMHh();
140// double mHp=myTHDM->getMHp();
141// double vev=myTHDM->v();
142// double sina=myTHDM->computeSina();
143// double cosa=myTHDM->computeCosa();
144// double tanb=myTHDM->getTanb();
145// double sinb=myTHDM->getSinb();
146// double cosb=myTHDM->getCosb();
147// double sin_ba=myTHDM->getsin_ba();
148// double m12_2=myTHDM->getM12_2();
149
150// get MW shift
151// calculate deltagV and deltagA = g(MW_corr)-g(MW_SM)+deltagloop
152// gslpp::complex deltagVl=0.0;
153// gslpp::complex deltagAl=0.0;
154// calculate the Deltas:
155// double DeltaAl=AlSM*(deltagVl.real()/gVlTL
156// +deltagAl.real()/gAlTL
157// -2*(gVlTL*deltagVl.real()+gAlTL*deltagAl.real())/(gVlTL*gVlTL+gAlTL*gAlTL));
159// double DeltaAc=AcSM*(deltagVc.real()/gVuTL
160// +deltagAc.real()/gAuTL
161// -2*(gVuTL*deltagVc.real()+gAuTL*deltagAc.real())/(gVuTL*gVuTL+gAuTL*gAuTL));
162// double DeltaAb=AbSM*(deltagVb.real()/gVdTL
163// +deltagAb.real()/gAdTL
164// -2*(gVdTL*deltagVb.real()+gAdTL*deltagAb.real())/(gVdTL*gVdTL+gAdTL*gAdTL));
175
176}

◆ computeThValue()

double EWPO::computeThValue ( )
virtual

Implements ThObservable.

Reimplemented in AlTHDM, PpoltauTHDM, AcTHDM, AbTHDM, AFBl0THDM, AFBc0THDM, AFBb0THDM, GammaZTHDM, Rl0THDM, Rc0THDM, Rb0THDM, SigmahadTHDM, GammaWTHDM, sinthetaeffl_2THDM, and MWTHDM.

Definition at line 18 of file EWPO.cpp.

19{
20 return 0.0;
21}

◆ dDelta_r()

double EWPO::dDelta_r ( )

+(-B00_MZ2_0_mA2_mHp2

Definition at line 23 of file EWPO.cpp.

24{
25 double Ale=myTHDM->getAle();
26 double MZ=myTHDM->getMz();
27 double MZ2=MZ*MZ;
28// double MW=myTHDM->Mw_tree();
29// double MW2=MW*MW;
30 double s02=myTHDM->s02();
31 double c02=myTHDM->c02();
32// double bma=myTHDM->getbma();
33// double CBA2=cos(bma)*cos(bma);
34// double SBA2=sin(bma)*sin(bma);
35// double mHl2=myTHDM->getmHl2();
36// double mHh2=myTHDM->getmHh2();
37// double mA2=myTHDM->getmA2();
38// double mHp2=myTHDM->getmHp2();
39
40 double prefactor=Ale/(4.*c02*MZ2*M_PI*s02*s02);
41
42 double part_A=0.;
43// double part_A=-(c02*(mycache->A0_MZ2_mHp2(MZ2,mHp2)*(1.0 -10.0*c02*c02 +16.0*c02*s02 -6.0*s02*s02)
44// -9.0*mycache->A0_MZ2_MW2(MZ2,MW2)*(13.0*c02*c02 -2.0*c02*s02 +s02*s02)))/2.;
45
46
47// double B0_MZ2_0_MW2_mHh2 = mycache->B0_MZ2_0_MW2_mHh2(MZ2,MW2,mHh2).abs();
48// double B0_MZ2_0_MW2_mHl2 = mycache->B0_MZ2_0_MW2_mHl2(MZ2,MW2,mHl2).abs();
49// double Re_B0_MZ2_MW2_MW2_mHh2 = mycache->B0_MZ2_MW2_MW2_mHh2(MZ2,MW2,mHh2).real();
50// double Re_B0_MZ2_MW2_MW2_mHl2 = mycache->B0_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHl2).real();
51// double Re_B0_MZ2_MZ2_MZ2_mHh2 = mycache->B0_MZ2_MZ2_MZ2_mHh2(MZ2,mHh2).real();
52// double Re_B0_MZ2_MZ2_MZ2_mHl2 = mycache->B0_MZ2_MZ2_MZ2_mHl2(MZ2,mHl2).real();
53
54// double B00_MZ2_0_mA2_mHp2 = mycache->B00_MZ2_0_mA2_mHp2(MZ2,mA2,mHp2).abs();
55// double B00_MZ2_0_mHh2_mHp2 = mycache->B00_MZ2_0_mHh2_mHp2(MZ2,mHh2,mHp2).abs();
56// double B00_MZ2_0_mHh2_MW2 = mycache->B00_MZ2_0_mHh2_MW2(MZ2,mHh2,MW2).abs();
57// double B00_MZ2_0_mHl2_mHp2 = mycache->B00_MZ2_0_mHl2_mHp2(MZ2,mHl2,mHp2).abs();
58// double B00_MZ2_0_mHl2_MW2 = mycache->B00_MZ2_0_mHl2_MW2(MZ2,mHl2,MW2).abs();
59// double B00_MZ2_0_mHp2_mHp2 = mycache->B00_MZ2_0_mHp2_mHp2(MZ2,mHp2).abs();
60// double B00_MZ2_0_MW2_mHl2 = mycache->B00_MZ2_0_MW2_mHl2(MZ2,MW2,mHl2).abs();
61// double B00_MZ2_0_MW2_MZ2 = mycache->B00_MZ2_0_MW2_MZ2(MZ2,MW2).abs();
62// double B00_MZ2_0_MZ2_MW2 = mycache->B00_MZ2_0_MZ2_MW2(MZ2,MW2).abs();
63
64// double Re_B00_MZ2_MW2_mA2_mHp2 = mycache->B00_MZ2_MW2_mA2_mHp2(MZ2,MW2,mA2,mHp2).real();
65// double Re_B00_MZ2_MW2_mHh2_mHp2 = mycache->B00_MZ2_MW2_mHh2_mHp2(MZ2,MW2,mHh2,mHp2).real();
66// double Re_B00_MZ2_MW2_mHh2_MW2 = mycache->B00_MZ2_MW2_mHh2_MW2(MZ2,MW2,mHh2).real();
67// double Re_B00_MZ2_MW2_mHl2_mHp2 = mycache->B00_MZ2_MW2_mHl2_mHp2(MZ2,MW2,mHl2,mHp2).real();
68// double Re_B00_MZ2_MW2_mHl2_MW2 = mycache->B00_MZ2_MW2_mHl2_MW2(MZ2,MW2,mHl2).real();
69// double Re_B00_MZ2_MW2_MW2_mHl2 = mycache->B00_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHl2).real();
70// double Re_B00_MZ2_MW2_MW2_MZ2 = mycache->B00_MZ2_MW2_MW2_MZ2(MZ2,MW2).real();
71// double Re_B00_MZ2_MW2_MZ2_MW2 = mycache->B00_MZ2_MW2_MZ2_MW2(MZ2,MW2).real();
72// double Re_B00_MZ2_MZ2_mHh2_mA2 = mycache->B00_MZ2_MZ2_mHh2_mA2(MZ2,mHh2,mA2).real();
73// double Re_B00_MZ2_MZ2_mHh2_MZ2 = mycache->B00_MZ2_MZ2_mHh2_MZ2(MZ2,mHh2).real();
74// double Re_B00_MZ2_MZ2_mHl2_mA2 = mycache->B00_MZ2_MZ2_mHl2_mA2(MZ2,mHl2,mA2).real();
75// double Re_B00_MZ2_MZ2_mHl2_MZ2 = mycache->B00_MZ2_MZ2_mHl2_MZ2(MZ2,mHl2).real();
76// double Re_B00_MZ2_MZ2_mHp2_mHp2 = mycache->B00_MZ2_MZ2_mHp2_mHp2(MZ2,mHp2).real();
77//
78// double B00p_0_mHp2_mHp2 = mycache->B00p_0_mHp2_mHp2(MZ2,mHp2).abs(); /*check whether this is the correct PV function!*/
79
80
81
82
83
84 double part_B=0.;
85// double part_B=c02*c02*c02*mycache->Re_B00_MZ2_MZ2_mHp2_mHp2(MZ2,mHp2)
87// +mycache->B00_MZ2_0_MW2_mHl2(MZ2,MW2,mHl2)
88// +mycache->B00_MZ2_0_MW2_MZ2(MZ2,MW2)
89// -mycache->B00_MZ2_0_MZ2_MW2(MZ2,MW2)
90// +mycache->Re_B00_MZ2_MW2_mA2_mHp2(MZ2,MW2,mA2,mHp2)
91// -mycache->Re_B00_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHl2)
92// -mycache->Re_B00_MZ2_MW2_MW2_MZ2(MZ2,MW2)
93// +mycache->Re_B00_MZ2_MW2_MZ2_MW2(MZ2,MW2)
94// -CBA2*mycache->B00_MZ2_0_mHl2_mHp2(MZ2,mHl2,mHp2)
95// -CBA2*mycache->B00_MZ2_0_mHh2_MW2(MZ2,mHh2,MW2)
96// +CBA2*mycache->Re_B00_MZ2_MW2_mHl2_mHp2(MZ2,MW2,mHl2,mHp2)
97// +CBA2*mycache->Re_B00_MZ2_MW2_mHh2_MW2(MZ2,MW2,mHh2)
98// -SBA2*mycache->B00_MZ2_0_mHl2_MW2(MZ2,mHl2,MW2)
99// -SBA2*mycache->B00_MZ2_0_mHh2_mHp2(MZ2,mHh2,mHp2)
100// +SBA2*mycache->Re_B00_MZ2_MW2_mHl2_MW2(MZ2,MW2,mHl2)
101// +SBA2*mycache->Re_B00_MZ2_MW2_mHh2_mHp2(MZ2,MW2,mHh2,mHp2))*s02
102// -c02*(mycache->Re_B00_MZ2_MW2_mA2_mHp2(MZ2,MW2,mA2,mHp2)
103// -mycache->Re_B00_MZ2_MW2_MW2_mHl2(MZ2,MW2,mHl2)
104// -mycache->Re_B00_MZ2_MW2_MW2_MZ2(MZ2,MW2)
105// +mycache->Re_B00_MZ2_MW2_MZ2_MW2(MZ2,MW2)
106// +mycache->Re_B00_MZ2_MZ2_mHl2_MZ2(MZ2,mHl2)
108// +mycache->Re_B00_MZ2_MW2_mHl2_MW2(MZ2,MW2,mHl2)*SBA2
109// +mycache->Re_B00_MZ2_MW2_mHh2_mHp2(MZ2,MW2,mHh2,mHp2)*SBA2
110// -mycache->Re_B00_MZ2_MZ2_mHl2_MZ2(MZ2,mHl2)*SBA2
111// -mycache->Re_B00_MZ2_MZ2_mHh2_mA2(MZ2,mHh2,mA2)*SBA2
117// +4.0*mycache->B00_MZ2_0_mHp2_mHp2(MZ2,mHp2)*s02*s02
118// +4.0*mycache->B00p_0_mHp2_mHp2(MZ2,mHp2)*MZ2*s02*s02 /*check whether this is the correct PV function!*/
119// -mycache->Re_B00_MZ2_MZ2_mHp2_mHp2(MZ2,mHp2)*s02*s02
120// +CBA2*(mycache->Re_B00_MZ2_MW2_mHl2_mHp2(MZ2,MW2,mHl2,mHp2)
121// +mycache->Re_B00_MZ2_MW2_mHh2_MW2(MZ2,MW2,mHh2)
122// -mycache->Re_B00_MZ2_MZ2_mHl2_mA2(MZ2,mHl2,mA2)
123// -mycache->Re_B00_MZ2_MZ2_mHh2_MZ2(MZ2,mHh2)
124// +MZ2*mycache->Re_B0_MZ2_MZ2_mHh2_MZ2(MZ2,mHh2)
129// +2.0*(2.0*mycache->B00_MZ2_0_mHp2_mHp2(MZ2,mHp2)
130// -mycache->Re_B00_MZ2_MZ2_mHp2_mHp2(MZ2,mHp2))*s02));
131
132 return prefactor*(part_A+part_B);
133}
const double getMz() const
A get method to access the mass of the boson .
const double s02() const
The square of the sine of the weak mixing angle defined without weak radiative corrections.
const double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
const double getAle() const
A get method to retrieve the fine-structure constant .

Member Data Documentation

◆ mycache

THDMcache* EWPO::mycache

Definition at line 40 of file EWPO.h.

◆ myTHDM

const THDM* EWPO::myTHDM

Definition at line 39 of file EWPO.h.


The documentation for this class was generated from the following files: