herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
Dipole
AlphaS
nlo_alpha_s.h
1
// -*- C++ -*-
2
3
// couplings/nlo_alpha_s.h is part of matchbox
4
// (C) 2008 Simon Platzer -- sp@particle.uni-karlsruhe.de
5
6
#ifndef matchbox_couplings_nlo_alpha_s_h
7
#define matchbox_couplings_nlo_alpha_s_h
8
9
#include "alpha_s.h"
10
11
namespace
matchbox {
12
13
using namespace
ThePEG
;
14
21
class
nlo_alpha_s
22
:
public
alpha_s
{
23
24
public
:
25
29
nlo_alpha_s
();
30
31
public
:
32
35
virtual
double
operator ()
(Energy2 scale,
36
Energy2 lambda2,
37
unsigned
int
nf)
const
;
38
40
virtual
unsigned
int
nloops
()
const
{
return
2; }
41
42
public
:
43
50
void
persistentOutput(
PersistentOStream
& os)
const
;
51
57
void
persistentInput(
PersistentIStream
& is,
int
version);
59
66
static
void
Init
();
67
68
protected
:
69
72
78
virtual
inline
void
doinit
() {
79
freezing_scale_ *=
scale_factor
();
80
alpha_s::doinit
();
81
}
82
84
85
protected
:
86
93
virtual
IBPtr
clone
()
const
;
94
99
virtual
IBPtr
fullclone
()
const
;
101
102
private
:
103
108
static
ClassDescription<nlo_alpha_s>
initnlo_alpha_s
;
109
114
nlo_alpha_s
&
operator=
(
const
nlo_alpha_s
&) =
delete
;
115
116
private
:
117
118
struct
rg_solution
{
119
120
inline
double
operator () (
double
alpha) {
121
122
double
beta0 = (33.-2.*nf)/(12.*
Constants::pi
);
123
double
beta1 = (153.-19.*nf)/(24.*
sqr
(
Constants::pi
));
124
125
return
((1./alpha)+(beta1/beta0)*log(alpha/(beta0+beta1*alpha))- beta0*slog);
126
127
}
128
129
double
slog;
130
unsigned
int
nf;
131
132
};
133
134
Energy freezing_scale_;
135
136
bool
exact_evaluation_;
137
138
static
rg_solution
& rg () {
139
static
rg_solution
rg_;
140
return
rg_;
141
}
142
143
static
gsl::bisection_root_solver<rg_solution,100>
& rg_solver () {
144
static
gsl::bisection_root_solver<rg_solution,100>
rg_solver_(rg());
145
return
rg_solver_;
146
}
147
148
bool
two_largeq_terms_;
149
150
};
151
152
}
153
154
#include "ThePEG/Utilities/ClassTraits.h"
155
156
namespace
ThePEG
{
157
162
template
<>
163
struct
BaseClassTrait
<matchbox::nlo_alpha_s,1> {
165
typedef
matchbox::alpha_s
NthBase
;
166
};
167
170
template
<>
171
struct
ClassTraits
<matchbox::nlo_alpha_s>
172
:
public
ClassTraitsBase
<matchbox::nlo_alpha_s> {
174
static
string
className
() {
return
"matchbox::nlo_alpha_s"
; }
182
static
string
library
() {
return
"HwDipoleShowerAlphaS.so"
; }
183
};
184
187
}
188
189
#endif
/* matchbox_couplings_nlo_alpha_s_h */
ThePEG::ClassDescription
ThePEG::PersistentIStream
ThePEG::PersistentOStream
matchbox::alpha_s
Base class for the strong coupling.
Definition:
alpha_s.h:97
matchbox::alpha_s::scale_factor
double scale_factor() const
return the scale factor
Definition:
alpha_s.h:243
matchbox::alpha_s::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition:
alpha_s.h:233
matchbox::nlo_alpha_s
NLO running alpha_s.
Definition:
nlo_alpha_s.h:22
matchbox::nlo_alpha_s::initnlo_alpha_s
static ClassDescription< nlo_alpha_s > initnlo_alpha_s
The static object used to initialize the description of this class.
Definition:
nlo_alpha_s.h:108
matchbox::nlo_alpha_s::nloops
virtual unsigned int nloops() const
return the number of loops which determine this running
Definition:
nlo_alpha_s.h:40
matchbox::nlo_alpha_s::clone
virtual IBPtr clone() const
Make a simple clone of this object.
matchbox::nlo_alpha_s::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition:
nlo_alpha_s.h:78
matchbox::nlo_alpha_s::Init
static void Init()
The standard Init function used to initialize the interfaces.
matchbox::nlo_alpha_s::operator=
nlo_alpha_s & operator=(const nlo_alpha_s &)=delete
The assignment operator is private and must never be called.
matchbox::nlo_alpha_s::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
matchbox::nlo_alpha_s::nlo_alpha_s
nlo_alpha_s()
The default constructor.
matchbox::nlo_alpha_s::operator()
virtual double operator()(Energy2 scale, Energy2 lambda2, unsigned int nf) const
return alpha_s as function of scale, QCD scale and number of active flavours
ThePEG::Constants::pi
constexpr double pi
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
ThePEG::BaseClassTrait
ThePEG::BaseClassTrait::NthBase
int NthBase
ThePEG::ClassTraitsBase
ThePEG::ClassTraitsBase::className
static string className()
ThePEG::ClassTraitsBase::library
static string library()
ThePEG::ClassTraits
matchbox::gsl::bisection_root_solver
wrapper araound the bisection root solver
Definition:
gsl.h:23
matchbox::nlo_alpha_s::rg_solution
Definition:
nlo_alpha_s.h:118
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6