herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Utilities
HiggsLoopFunctions.h
1
#include "ThePEG/Config/Constants.h"
2
3
namespace
Herwig
{
4
using namespace
ThePEG
;
5
6
13
namespace
HiggsLoopFunctions {
14
18
const
Complex
epsi
=
Complex
(0.,-1.e-20);
19
25
Complex
W1
(Energy2 s,Energy2 mf2) {
26
double
root =
sqrt
(abs(1.-4.*mf2/s));
27
if
(s<
ZERO
)
return
2.*root*asinh(0.5*
sqrt
(-s/mf2));
28
else
if
(s<4.*mf2)
return
2.*root*asin(0.5*
sqrt
( s/mf2));
29
else
return
root*(2.*acosh(0.5*
sqrt
(s/mf2))
30
-
Constants::pi
*
Complex
(0.,1.));
31
}
32
38
Complex
W2
(Energy2 s,Energy2 mf2) {
39
double
root=0.5*
sqrt
(abs(s)/mf2);
40
if
(s<
ZERO
)
return
4.*
sqr
(asinh(root));
41
else
if
(s<4.*mf2)
return
-4.*
sqr
(asin(root));
42
else
return
4.*
sqr
(acosh(root))-
sqr
(
Constants::pi
)
43
-4.*
Constants::pi
*acosh(root)*
Complex
(0.,1.);
44
}
45
54
Complex
I3
(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2) {
55
double
ratio=(4.*mf2*t/(u*s)),root(
sqrt
(1+ratio));
56
if
(
v
==
ZERO
)
return
0.;
57
Complex
y=0.5*(1.+
sqrt
(1.-4.*(mf2+
epsi
*MeV*MeV)/
v
));
58
Complex
xp=0.5*(1.+root),xm=0.5*(1.-root);
59
Complex
output =
60
Math::Li2
(xm/(xm-y))-
Math::Li2
(xp/(xp-y))+
61
Math::Li2
(xm/(y-xp))-
Math::Li2
(xp/(y-xm))+
62
log(-xm/xp)*log(1.-
epsi
-
v
/mf2*xp*xm);
63
return
output*2./root;
64
}
65
74
Complex
W3
(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2) {
75
return
I3
(s,t,u,
v
,mf2)-
I3
(s,t,u,s,mf2)-
I3
(s,t,u,u,mf2);
76
}
77
85
Complex
b2
(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
86
Energy2 mh2(s+u+t);
87
complex<Energy2> output=s*(u-s)/(s+u)+2.*u*t*(u+2.*s)/
sqr
(s+u)*(
W1
(t,mf2)-
W1
(mh2,mf2))
88
+(mf2-0.25*s)*(0.5*(
W2
(s,mf2)+
W2
(mh2,mf2))-
W2
(t,mf2)+
W3
(s,t,u,mh2,mf2))
89
+
sqr
(s)*(2.*mf2/
sqr
(s+u)-0.5/(s+u))*(
W2
(t,mf2)-
W2
(mh2,mf2))
90
+0.5*u*t/s*(
W2
(mh2,mf2)-2.*
W2
(t,mf2))
91
+0.125*(s-12.*mf2-4.*u*t/s)*
W3
(t,s,u,mh2,mf2);
92
return
output*mf2/
sqr
(mh2);
93
}
94
102
Complex
b4
(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
103
Energy2 mh2(s+t+u);
104
return
mf2/mh2*(-2./3.+(mf2/mh2-0.25)*(
W2
(t,mf2)-
W2
(mh2,mf2)+
W3
(s,t,u,mh2,mf2)));
105
}
106
112
Complex
A1(Energy2 mh2, Energy2 mf2) {
113
return
mf2/mh2*(4.-
W2
(mh2,mf2)*(1.-4.*mf2/mh2));
114
}
115
123
Complex
A2(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
124
return
b2
(s,t,u,mf2)+
b2
(s,u,t,mf2);
125
}
126
134
Complex
A4
(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
135
return
b4
(s,t,u,mf2)+
b4
(u,s,t,mf2)+
b4
(t,u,s,mf2);
136
}
137
}
138
}
Herwig::HiggsLoopFunctions::W3
Complex W3(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:74
Herwig::HiggsLoopFunctions::A4
Complex A4(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:134
Herwig::HiggsLoopFunctions::W1
Complex W1(Energy2 s, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:25
Herwig::HiggsLoopFunctions::b2
Complex b2(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:85
Herwig::HiggsLoopFunctions::W2
Complex W2(Energy2 s, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:38
Herwig::HiggsLoopFunctions::I3
Complex I3(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:54
Herwig::HiggsLoopFunctions::b4
Complex b4(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2)
The function of NPB297 (1988) 221-243.
Definition:
HiggsLoopFunctions.h:102
Herwig::HiggsLoopFunctions::epsi
const Complex epsi
Epsilon parameter.
Definition:
HiggsLoopFunctions.h:18
Herwig::Math::Li2
Complex Li2(Complex)
The dilog function taken from FORTRAN Herwig.
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Constants::pi
constexpr double pi
SpinorType::v
@ v
ThePEG
ThePEG::sqrt
double sqrt(int x)
ThePEG::Complex
std::complex< double > Complex
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6