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

#include <GeneralTHDMunitarity.h>

Detailed Description

Definition at line 20 of file GeneralTHDMunitarity.h.

Public Member Functions

bool CalcSeigen00 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=0,\sigma=0\). More...
 
bool CalcSeigen01 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=0,\sigma=1\). More...
 
bool CalcSeigen21 (gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
 Computes the eigenvalues of the S matrix with \(Y=2,\sigma=1\). More...
 
gslpp::vector< double > getSeigen00 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=0\). More...
 
gslpp::vector< double > getSeigen01 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=1\). More...
 
gslpp::vector< double > getSeigen21 ()
 Assigns to a vector the eigenvalues of the S matrix with \(Y=2,\sigma=1\). More...
 
double RelCorrhHpHm ()
 Computes the relative correction of the vertex hHpHm (so NLO/LO contribution to that vertex) More...
 
double RelCorrHHpHm ()
 Computes the relative correction of the vertex HHpHm (so NLO/LO contribution to that vertex) More...
 
 unitarity_GTHDM (const StandardModel &SM_i)
 Constructor. More...
 
virtual ~unitarity_GTHDM ()
 Destructor. More...
 

Private Attributes

const GeneralTHDM & myGTHDM
 
gslpp::vector< double > Seigval00
 
gslpp::vector< double > Seigval01
 
gslpp::vector< double > Seigval21
 
gslpp::matrix< gslpp::complex > Seigvec00
 
gslpp::matrix< gslpp::complex > Seigvec01
 
gslpp::matrix< gslpp::complex > Seigvec21
 
gslpp::matrix< gslpp::complex > Smat00
 
gslpp::matrix< gslpp::complex > Smat01
 
gslpp::matrix< gslpp::complex > Smat21
 

Constructor & Destructor Documentation

◆ unitarity_GTHDM()

unitarity_GTHDM::unitarity_GTHDM ( const StandardModel SM_i)

Constructor.

Definition at line 12 of file GeneralTHDMunitarity.cpp.

13: myGTHDM(static_cast<const GeneralTHDM&> (SM_i)), Smat21(3,3,0.), Smat01(4,4,0.), Smat00(4,4,0.),
14 Seigvec21(3,3,0.), Seigvec01(4,4,0.), Seigvec00(4,4,0.), Seigval21(3,0.), Seigval01(4,0.), Seigval00(4,0.)
15{}
gslpp::matrix< gslpp::complex > Smat21
gslpp::matrix< gslpp::complex > Seigvec01
gslpp::vector< double > Seigval00
const GeneralTHDM & myGTHDM
gslpp::matrix< gslpp::complex > Smat00
gslpp::matrix< gslpp::complex > Smat01
gslpp::vector< double > Seigval21
gslpp::vector< double > Seigval01
gslpp::matrix< gslpp::complex > Seigvec21
gslpp::matrix< gslpp::complex > Seigvec00

◆ ~unitarity_GTHDM()

unitarity_GTHDM::~unitarity_GTHDM ( )
virtual

Destructor.

Definition at line 17 of file GeneralTHDMunitarity.cpp.

18{}

Member Function Documentation

◆ CalcSeigen00()

bool unitarity_GTHDM::CalcSeigen00 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=0,\sigma=0\).

Definition at line 87 of file GeneralTHDMunitarity.cpp.

88{
89 double lambda1 = myGTHDM.getlambda1();
90 double lambda2 = myGTHDM.getlambda2();
91 double lambda3 = myGTHDM.getlambda3();
92 double lambda4 = myGTHDM.getlambda4();
93 double Relambda5 = myGTHDM.getRelambda5();
94 double Imlambda5 = myGTHDM.getImlambda5();
95 double Relambda6 = myGTHDM.getRelambda6();
96 double Relambda7 = myGTHDM.getRelambda7();
97 double Imlambda6 = myGTHDM.getImlambda6();
98 double Imlambda7 = myGTHDM.getImlambda7();
99
100 gslpp::complex i = gslpp::complex::i();
101
102 Smat00.assign(0,0, 3.*lambda1);
103 Smat00.assign(0,1, 2.*lambda3 + lambda4);
104 Smat00.assign(0,2, 3.*(Relambda6 + i*Imlambda6));
105 Smat00.assign(0,3, 3.*(Relambda6 - i*Imlambda6));
106 Smat00.assign(1,0, 2.*lambda3 + lambda4);
107 Smat00.assign(1,1, 3.*lambda2);
108 Smat00.assign(1,2, 3.*(Relambda7 + i*Imlambda7));
109 Smat00.assign(1,3, 3.*(Relambda7 - i*Imlambda7));
110 Smat00.assign(2,0, 3.*(Relambda6 - i*Imlambda6));
111 Smat00.assign(2,1, 3.*(Relambda7 - i*Imlambda7));
112 Smat00.assign(2,2, lambda3 + 2.*lambda4);
113 Smat00.assign(2,3, 3.*(Relambda5 - i*Imlambda5));
114 Smat00.assign(3,0, 3.*(Relambda6 + i*Imlambda6));
115 Smat00.assign(3,1, 3.*(Relambda7 + i*Imlambda7));
116 Smat00.assign(3,2, 3.*(Relambda5 + i*Imlambda5));
117 Smat00.assign(3,3, lambda3 + 2.*lambda4);
118
119 Smat00.eigensystem(Seigvec_i, Seigval_i);
120
121 return true;
122}
parameter of the Higgs potential
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .

◆ CalcSeigen01()

bool unitarity_GTHDM::CalcSeigen01 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=0,\sigma=1\).

Definition at line 50 of file GeneralTHDMunitarity.cpp.

51{
52 double lambda1 = myGTHDM.getlambda1();
53 double lambda2 = myGTHDM.getlambda2();
54 double lambda3 = myGTHDM.getlambda3();
55 double lambda4 = myGTHDM.getlambda4();
56 double Relambda5 = myGTHDM.getRelambda5();
57 double Imlambda5 = myGTHDM.getImlambda5();
58 double Relambda6 = myGTHDM.getRelambda6();
59 double Relambda7 = myGTHDM.getRelambda7();
60 double Imlambda6 = myGTHDM.getImlambda6();
61 double Imlambda7 = myGTHDM.getImlambda7();
62
63 gslpp::complex i = gslpp::complex::i();
64
65 Smat01.assign(0,0, lambda1);
66 Smat01.assign(0,1, lambda4);
67 Smat01.assign(0,2, Relambda6 + i*Imlambda6);
68 Smat01.assign(0,3, Relambda6 - i*Imlambda6);
69 Smat01.assign(1,0, lambda4);
70 Smat01.assign(1,1, lambda2);
71 Smat01.assign(1,2, Relambda7 + i*Imlambda7);
72 Smat01.assign(1,3, Relambda7 - i*Imlambda7);
73 Smat01.assign(2,0, Relambda6 - i*Imlambda6);
74 Smat01.assign(2,1, Relambda7 - i*Imlambda7);
75 Smat01.assign(2,2, lambda3);
76 Smat01.assign(2,3, Relambda5 - i*Imlambda5);
77 Smat01.assign(3,0, Relambda6 + i*Imlambda6);
78 Smat01.assign(3,1, Relambda7 + i*Imlambda7);
79 Smat01.assign(3,2, Relambda5 + i*Imlambda5);
80 Smat01.assign(3,3, lambda3);
81
82 Smat01.eigensystem(Seigvec_i, Seigval_i);
83
84 return true;
85}

◆ CalcSeigen21()

bool unitarity_GTHDM::CalcSeigen21 ( gslpp::matrix< gslpp::complex > &  Seigvec_i,
gslpp::vector< double > &  Seigval_i 
)

Computes the eigenvalues of the S matrix with \(Y=2,\sigma=1\).

Definition at line 20 of file GeneralTHDMunitarity.cpp.

21{
22 double lambda1 = myGTHDM.getlambda1();
23 double lambda2 = myGTHDM.getlambda2();
24 double lambda3 = myGTHDM.getlambda3();
25 double lambda4 = myGTHDM.getlambda4();
26 double Relambda5 = myGTHDM.getRelambda5();
27 double Imlambda5 = myGTHDM.getImlambda5();
28 double Relambda6 = myGTHDM.getRelambda6();
29 double Relambda7 = myGTHDM.getRelambda7();
30 double Imlambda6 = myGTHDM.getImlambda6();
31 double Imlambda7 = myGTHDM.getImlambda7();
32
33 gslpp::complex i = gslpp::complex::i();
34
35 Smat21.assign(0,0, lambda1);
36 Smat21.assign(0,1, Relambda5 + i*Imlambda5);
37 Smat21.assign(0,2, sqrt(2)*(Relambda6 + i*Imlambda6));
38 Smat21.assign(1,0, Relambda5 - i*Imlambda5);
39 Smat21.assign(1,1, lambda2);
40 Smat21.assign(1,2, sqrt(2)*(Relambda7 - i*Imlambda7));
41 Smat21.assign(2,0, sqrt(2)*(Relambda6 - i*Imlambda6));
42 Smat21.assign(2,1, sqrt(2)*(Relambda7 + i*Imlambda7));
43 Smat21.assign(2,2, lambda3 + lambda4);
44
45 Smat21.eigensystem(Seigvec_i, Seigval_i);
46
47 return true;
48}

◆ getSeigen00()

gslpp::vector< double > unitarity_GTHDM::getSeigen00 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=0\).

Definition at line 138 of file GeneralTHDMunitarity.cpp.

139{
141
142 return Seigval00;
143}
bool CalcSeigen00(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .

◆ getSeigen01()

gslpp::vector< double > unitarity_GTHDM::getSeigen01 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=0,\sigma=1\).

Definition at line 131 of file GeneralTHDMunitarity.cpp.

132{
134
135 return Seigval01;
136}
bool CalcSeigen01(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .

◆ getSeigen21()

gslpp::vector< double > unitarity_GTHDM::getSeigen21 ( )

Assigns to a vector the eigenvalues of the S matrix with \(Y=2,\sigma=1\).

Definition at line 124 of file GeneralTHDMunitarity.cpp.

125{
127
128 return Seigval21;
129}
bool CalcSeigen21(gslpp::matrix< gslpp::complex > &Seigvec_i, gslpp::vector< double > &Seigval_i)
Computes the eigenvalues of the S matrix with .

◆ RelCorrhHpHm()

double unitarity_GTHDM::RelCorrhHpHm ( )

Computes the relative correction of the vertex hHpHm (so NLO/LO contribution to that vertex)

Definition at line 147 of file GeneralTHDMunitarity.cpp.

148{
149 //ONLY VALID IN THE CP-conserving LIMIT!!!
150
151 double mH1sq = myGTHDM.getmH1sq();
152 //double mH2sq = myGTHDM.getmH2sq();
153 double mHpsq = myGTHDM.getmHp2();
154 double vev = myGTHDM.v();
155
156 double rsqH1_Hp=mH1sq/mHpsq;
157
158 double Zrat = myGTHDM.getMyGTHDMCache()->ip_integral_perturb_ATHDM(rsqH1_Hp);
159
160 double lambda3 = myGTHDM.getlambda3();
161 double Relambda7 = myGTHDM.getRelambda7();
162 double cosalpha = myGTHDM.getcosalpha1();
163 double sinalpha = myGTHDM.getsinalpha1();
164
165 double lambdahHpHm = lambda3*cosalpha+Relambda7*sinalpha;
166
167
168
169
170 return (Zrat*vev*vev*lambdahHpHm*lambdahHpHm)/(16*M_PI*mHpsq);
171}

◆ RelCorrHHpHm()

double unitarity_GTHDM::RelCorrHHpHm ( )

Computes the relative correction of the vertex HHpHm (so NLO/LO contribution to that vertex)

Definition at line 175 of file GeneralTHDMunitarity.cpp.

176{
177 //ONLY VALID IN THE CP-conserving LIMIT!!!
178
179 double mH2sq = myGTHDM.getmH2sq();
180 //double mH2sq = myGTHDM.getmH2sq();
181 double mHpsq = myGTHDM.getmHp2();
182 double vev = myGTHDM.v();
183
184 double rsqH2_Hp=mH2sq/mHpsq;
185
186 double Zrat = myGTHDM.getMyGTHDMCache()->ip_integral_perturb_ATHDM(rsqH2_Hp);
187
188 double lambda3 = myGTHDM.getlambda3();
189 double Relambda7 = myGTHDM.getRelambda7();
190 double cosalpha = myGTHDM.getcosalpha1();
191 double sinalpha = myGTHDM.getsinalpha1();
192
193 double lambdaHHpHm = -lambda3*sinalpha+Relambda7*cosalpha;
194
195
196
197
198 return (Zrat*vev*vev*lambdaHHpHm*lambdaHHpHm)/(16*M_PI*mHpsq);
199}

Member Data Documentation

◆ myGTHDM

const GeneralTHDM& unitarity_GTHDM::myGTHDM
private

Definition at line 76 of file GeneralTHDMunitarity.h.

◆ Seigval00

gslpp::vector<double> unitarity_GTHDM::Seigval00
private

Definition at line 80 of file GeneralTHDMunitarity.h.

◆ Seigval01

gslpp::vector<double> unitarity_GTHDM::Seigval01
private

Definition at line 80 of file GeneralTHDMunitarity.h.

◆ Seigval21

gslpp::vector<double> unitarity_GTHDM::Seigval21
private

Definition at line 80 of file GeneralTHDMunitarity.h.

◆ Seigvec00

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec00
private

Definition at line 79 of file GeneralTHDMunitarity.h.

◆ Seigvec01

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec01
private

Definition at line 79 of file GeneralTHDMunitarity.h.

◆ Seigvec21

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Seigvec21
private

Definition at line 79 of file GeneralTHDMunitarity.h.

◆ Smat00

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat00
private

Definition at line 78 of file GeneralTHDMunitarity.h.

◆ Smat01

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat01
private

Definition at line 78 of file GeneralTHDMunitarity.h.

◆ Smat21

gslpp::matrix<gslpp::complex> unitarity_GTHDM::Smat21
private

Definition at line 78 of file GeneralTHDMunitarity.h.


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