herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
PDT
SMHiggsWidthGenerator.h
1
// -*- C++ -*-
2
//
3
// SMHiggsWidthGenerator.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_SMHiggsWidthGenerator_H
10
#define HERWIG_SMHiggsWidthGenerator_H
11
//
12
// This is the declaration of the SMHiggsWidthGenerator class.
13
//
14
15
#include "GenericWidthGenerator.h"
16
17
namespace
Herwig
{
18
using namespace
ThePEG
;
19
27
class
SMHiggsWidthGenerator
:
public
GenericWidthGenerator
{
28
29
public
:
30
34
SMHiggsWidthGenerator
()
35
:
widthopt_
(2),
offshell_
(10.),
mw_
(
ZERO
),
mz_
(
ZERO
),
gamw_
(
ZERO
),
36
gamz_
(
ZERO
),
qmass_
(7,
ZERO
),
lmass_
(3,
ZERO
),
37
sw2_
(0.),
ca_
(0.),
cf_
(0.),
qlast_
(
ZERO
)
38
{}
39
40
private
:
41
42
49
virtual
Energy
width
(
const
ParticleData
&, Energy m)
const
;
50
54
virtual
DecayMap
rate
(
const
ParticleData
&)
const
;
55
59
virtual
DecayMap
rate
(
const
Particle
&);
61
66
virtual
pair<Energy,Energy>
width
(Energy,
const
ParticleData
&)
const
;
67
73
Energy
partialWidth
(
int
imode, Energy mH)
const
;
74
75
public
:
76
83
void
persistentOutput
(
PersistentOStream
& os)
const
;
84
90
void
persistentInput
(
PersistentIStream
& is,
int
version);
92
99
static
void
Init
();
100
101
protected
:
102
109
virtual
IBPtr
clone
()
const
;
110
115
virtual
IBPtr
fullclone
()
const
;
117
118
protected
:
119
128
double
HwDoubleBW
(
double
x,
double
y)
const
;
129
134
Complex
HwW2
(
double
tau)
const
;
136
141
DecayMap
branching
(Energy scale,
const
ParticleData
&)
const
;
142
143
protected
:
144
152
virtual
void
doinit
();
154
155
156
private
:
157
162
SMHiggsWidthGenerator
&
operator=
(
const
SMHiggsWidthGenerator
&) =
delete
;
163
164
private
:
165
169
unsigned
int
widthopt_
;
170
174
double
offshell_
;
175
183
Energy
mw_
;
184
188
Energy
mz_
;
189
193
Energy
gamw_
;
194
198
Energy
gamz_
;
199
203
vector<Energy>
qmass_
;
204
208
vector<Energy>
lmass_
;
209
213
double
sw2_
;
214
218
double
ca_
;
219
223
double
cf_
;
225
233
mutable
Energy
qlast_
;
234
238
mutable
Energy
lambdaQCD_
;
239
243
mutable
double
alphaEM_
;
244
248
mutable
double
alphaS_
;
249
253
mutable
double
cd_
;
254
258
mutable
Energy2
gfermiinv_
;
259
263
mutable
double
gam0_
;
264
268
mutable
double
beta0_
;
270
274
map<int,int>
locMap_
;
275
};
276
277
}
278
279
#endif
/* HERWIG_SMHiggsWidthGenerator_H */
Herwig::GenericWidthGenerator
The GenericWidthGenerator class is designed to automatically calculate the running width for a given ...
Definition:
GenericWidthGenerator.h:51
Herwig::SMHiggsWidthGenerator
The SMHiggsWidthGenerator class calculates the width for the Standard Model Higgs boson.
Definition:
SMHiggsWidthGenerator.h:27
Herwig::SMHiggsWidthGenerator::gamw_
Energy gamw_
Width of the W boson.
Definition:
SMHiggsWidthGenerator.h:193
Herwig::SMHiggsWidthGenerator::alphaEM_
double alphaEM_
The electromagnetic coupling.
Definition:
SMHiggsWidthGenerator.h:243
Herwig::SMHiggsWidthGenerator::widthopt_
unsigned int widthopt_
Type of the Higgs width used (options: fixed, LO running, NLL corrected running)
Definition:
SMHiggsWidthGenerator.h:169
Herwig::SMHiggsWidthGenerator::lambdaQCD_
Energy lambdaQCD_
Definition:
SMHiggsWidthGenerator.h:238
Herwig::SMHiggsWidthGenerator::mw_
Energy mw_
Particle properties extracted at initialization.
Definition:
SMHiggsWidthGenerator.h:183
Herwig::SMHiggsWidthGenerator::cd_
double cd_
Correction factor for .
Definition:
SMHiggsWidthGenerator.h:253
Herwig::SMHiggsWidthGenerator::operator=
SMHiggsWidthGenerator & operator=(const SMHiggsWidthGenerator &)=delete
The assignment operator is private and must never be called.
Herwig::SMHiggsWidthGenerator::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::SMHiggsWidthGenerator::mz_
Energy mz_
Mass of the Z boson.
Definition:
SMHiggsWidthGenerator.h:188
Herwig::SMHiggsWidthGenerator::ca_
double ca_
The colour factor.
Definition:
SMHiggsWidthGenerator.h:218
Herwig::SMHiggsWidthGenerator::rate
virtual DecayMap rate(const ParticleData &) const
Return decay map for the given particle type.
Herwig::SMHiggsWidthGenerator::partialWidth
Energy partialWidth(int imode, Energy mH) const
Calculate the partial width for a given mode.
Herwig::SMHiggsWidthGenerator::offshell_
double offshell_
Number of times the width the Higgs is allowed to be off-shell.
Definition:
SMHiggsWidthGenerator.h:174
Herwig::SMHiggsWidthGenerator::rate
virtual DecayMap rate(const Particle &)
Return a decay map for a given Particle instance.
Herwig::SMHiggsWidthGenerator::lmass_
vector< Energy > lmass_
Masses of the leptons.
Definition:
SMHiggsWidthGenerator.h:208
Herwig::SMHiggsWidthGenerator::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::SMHiggsWidthGenerator::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::SMHiggsWidthGenerator::sw2_
double sw2_
Definition:
SMHiggsWidthGenerator.h:213
Herwig::SMHiggsWidthGenerator::width
virtual Energy width(const ParticleData &, Energy m) const
Given a particle type and a mass of an instance of that particle type, calculate a width.
Herwig::SMHiggsWidthGenerator::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::SMHiggsWidthGenerator::qmass_
vector< Energy > qmass_
Masses of the quarks.
Definition:
SMHiggsWidthGenerator.h:203
Herwig::SMHiggsWidthGenerator::SMHiggsWidthGenerator
SMHiggsWidthGenerator()
The default constructor.
Definition:
SMHiggsWidthGenerator.h:34
Herwig::SMHiggsWidthGenerator::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::SMHiggsWidthGenerator::beta0_
double beta0_
The function coefficient for .
Definition:
SMHiggsWidthGenerator.h:268
Herwig::SMHiggsWidthGenerator::HwW2
Complex HwW2(double tau) const
Calculate a loop function for the triangle vertex GGH/AAH.
Herwig::SMHiggsWidthGenerator::qlast_
Energy qlast_
Storage of parameters for speed.
Definition:
SMHiggsWidthGenerator.h:233
Herwig::SMHiggsWidthGenerator::gfermiinv_
Energy2 gfermiinv_
Fermi constant.
Definition:
SMHiggsWidthGenerator.h:258
Herwig::SMHiggsWidthGenerator::gam0_
double gam0_
The anomalous dimension for .
Definition:
SMHiggsWidthGenerator.h:263
Herwig::SMHiggsWidthGenerator::cf_
double cf_
The colour factor.
Definition:
SMHiggsWidthGenerator.h:223
Herwig::SMHiggsWidthGenerator::branching
DecayMap branching(Energy scale, const ParticleData &) const
Return the branching ratios at the given scale.
Herwig::SMHiggsWidthGenerator::locMap_
map< int, int > locMap_
Map between location in decay modes vector and code here.
Definition:
SMHiggsWidthGenerator.h:274
Herwig::SMHiggsWidthGenerator::HwDoubleBW
double HwDoubleBW(double x, double y) const
Calculates the double Breit-Wigner Integral a-la FORTRAN HERWIG.
Herwig::SMHiggsWidthGenerator::width
virtual pair< Energy, Energy > width(Energy, const ParticleData &) const
Return the total width and the sum of the partial widths for modes which are used.
Herwig::SMHiggsWidthGenerator::gamz_
Energy gamz_
Width of the Z boson.
Definition:
SMHiggsWidthGenerator.h:198
Herwig::SMHiggsWidthGenerator::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::SMHiggsWidthGenerator::alphaS_
double alphaS_
The strong coupling.
Definition:
SMHiggsWidthGenerator.h:248
ThePEG::ParticleData
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Selector< tDMPtr >
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::Complex
std::complex< double > Complex
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6