herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Models
UED
UEDBase.h
1
// -*- C++ -*-
2
//
3
// UEDBase.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_UEDBase_H
10
#define HERWIG_UEDBase_H
11
//
12
// This is the declaration of the UEDBase class.
13
//
14
15
#include "Herwig/Models/General/BSMModel.h"
16
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
17
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
18
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
19
#include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h"
20
21
#include "UEDBase.fh"
22
23
namespace
Herwig
{
24
using namespace
ThePEG
;
25
38
class
UEDBase
:
public
BSMModel
{
39
40
public
:
41
43
typedef
pair<long, Energy>
IDMassPair
;
44
46
typedef
map<unsigned int, double>
WAMap
;
47
48
public
:
49
53
UEDBase
();
54
61
void
persistentOutput
(
PersistentOStream
& os)
const
;
62
68
void
persistentInput
(
PersistentIStream
& is,
int
version);
70
77
static
void
Init
();
78
79
public
:
80
86
InvEnergy
compactRadius
()
const
{
87
return
1./
theInvRadius
;
88
}
89
93
double
sinThetaN
(
const
unsigned
int
n)
const
;
94
98
double
sinThetaOne
()
const
{
99
return
theSinThetaOne
;
100
}
102
103
protected
:
104
109
void
addMassElement
(
IDMassPair
elem) {
110
theMasses
.push_back(elem);
111
}
112
118
void
addMixingAngle
(
const
unsigned
int
n,
119
const
double
val) {
120
theMixingAngles
.insert(make_pair(n, val));
121
}
122
123
private
:
124
131
void
calculateKKMasses
(
const
unsigned
int
n);
132
138
void
bosonMasses
(
const
unsigned
int
n);
139
145
void
fermionMasses
(
const
unsigned
int
n);
146
152
void
resetMass
(
long
id
, Energy value);
153
158
double
calculateMixingAngle
(
const
unsigned
int
n);
160
164
void
writeSpectrum
();
165
169
static
bool
lowerMass
(
const
pair<long, Energy> & p1,
170
const
pair<long, Energy> & p2) {
171
return
p1.second < p2.second;
172
}
173
174
protected
:
175
182
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
183
188
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
190
191
192
protected
:
193
196
virtual
void
doinit
();
198
199
private
:
200
205
UEDBase
&
operator=
(
const
UEDBase
&) =
delete
;
206
207
private
:
208
212
bool
theRadCorr
;
213
217
Energy
theInvRadius
;
218
222
double
theLambdaR
;
223
227
Energy
theMbarH
;
228
232
WAMap
theMixingAngles
;
233
237
double
theSinThetaOne
;
238
242
vector<IDMassPair>
theMasses
;
243
247
Energy
theVeV
;
248
252
bool
includeSMMass_
;
253
257
bool
fixedCouplings_
;
258
262
bool
includeGaugeMixing_
;
263
269
AbstractFFVVertexPtr
theF1F1Z0Vertex
;
270
274
AbstractFFVVertexPtr
theF1F1G0Vertex
;
275
279
AbstractFFVVertexPtr
theF1F0G1Vertex
;
280
284
AbstractVVVVertexPtr
theG1G1G0Vertex
;
285
289
AbstractVVVVVertexPtr
theG0G0G1G1Vertex
;
290
294
AbstractFFVVertexPtr
theF1F1P0Vertex
;
295
299
AbstractFFVVertexPtr
theF1F1W0Vertex
;
300
304
AbstractFFVVertexPtr
theF1F0W1Vertex
;
305
309
AbstractFFSVertexPtr
theF1F0H1Vertex
;
310
314
AbstractVSSVertexPtr
theP0H1H1Vertex
;
315
319
AbstractVSSVertexPtr
theZ0H1H1Vertex
;
320
324
AbstractVSSVertexPtr
theW0A1H1Vertex
;
325
329
AbstractVSSVertexPtr
theZ0A1h1Vertex
;
330
334
AbstractVVVVertexPtr
theW0W1W1Vertex
;
336
};
337
338
339
}
340
341
#endif
/* HERWIG_UEDBase_H */
Herwig::BSMModel
Here is the documentation of the BSMModel class.
Definition:
BSMModel.h:21
Herwig::UEDBase
This class serves as a base class for all UED models.
Definition:
UEDBase.h:38
Herwig::UEDBase::bosonMasses
void bosonMasses(const unsigned int n)
Calculate the radiative corrections to the spin-0 and spin-1 masses of the KK excitations.
Herwig::UEDBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::UEDBase::theW0W1W1Vertex
AbstractVVVVertexPtr theW0W1W1Vertex
The vertex.
Definition:
UEDBase.h:334
Herwig::UEDBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::UEDBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::UEDBase::calculateMixingAngle
double calculateMixingAngle(const unsigned int n)
Calculate the Weinburg Mixing angle for the appropriate level.
Herwig::UEDBase::theF1F1W0Vertex
AbstractFFVVertexPtr theF1F1W0Vertex
The .
Definition:
UEDBase.h:299
Herwig::UEDBase::theF1F1Z0Vertex
AbstractFFVVertexPtr theF1F1Z0Vertex
The .
Definition:
UEDBase.h:269
Herwig::UEDBase::theSinThetaOne
double theSinThetaOne
Store for faster access.
Definition:
UEDBase.h:237
Herwig::UEDBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::UEDBase::operator=
UEDBase & operator=(const UEDBase &)=delete
The assignment operator is private and must never be called.
Herwig::UEDBase::writeSpectrum
void writeSpectrum()
Write out a spectrum file ordered in mass (name can be set by an interface).
Herwig::UEDBase::sinThetaN
double sinThetaN(const unsigned int n) const
Return the Weinburg mixing angle for any level.
Herwig::UEDBase::theF1F0G1Vertex
AbstractFFVVertexPtr theF1F0G1Vertex
The .
Definition:
UEDBase.h:279
Herwig::UEDBase::compactRadius
InvEnergy compactRadius() const
Return the compactification radius.
Definition:
UEDBase.h:86
Herwig::UEDBase::theG1G1G0Vertex
AbstractVVVVertexPtr theG1G1G0Vertex
The vertex.
Definition:
UEDBase.h:284
Herwig::UEDBase::theW0A1H1Vertex
AbstractVSSVertexPtr theW0A1H1Vertex
The .
Definition:
UEDBase.h:324
Herwig::UEDBase::theF1F0H1Vertex
AbstractFFSVertexPtr theF1F0H1Vertex
The .
Definition:
UEDBase.h:309
Herwig::UEDBase::theZ0A1h1Vertex
AbstractVSSVertexPtr theZ0A1h1Vertex
The .
Definition:
UEDBase.h:329
Herwig::UEDBase::includeSMMass_
bool includeSMMass_
Include SM masses in calculation of KK masses.
Definition:
UEDBase.h:252
Herwig::UEDBase::theG0G0G1G1Vertex
AbstractVVVVVertexPtr theG0G0G1G1Vertex
The vertex.
Definition:
UEDBase.h:289
Herwig::UEDBase::UEDBase
UEDBase()
The default constructor.
Herwig::UEDBase::lowerMass
static bool lowerMass(const pair< long, Energy > &p1, const pair< long, Energy > &p2)
A predicate for sorting the list of masses.
Definition:
UEDBase.h:169
Herwig::UEDBase::theMixingAngles
WAMap theMixingAngles
The values of .
Definition:
UEDBase.h:232
Herwig::UEDBase::theInvRadius
Energy theInvRadius
Store the radius of the compactified dimension.
Definition:
UEDBase.h:217
Herwig::UEDBase::includeGaugeMixing_
bool includeGaugeMixing_
Include gauge boson mixing.
Definition:
UEDBase.h:262
Herwig::UEDBase::theMasses
vector< IDMassPair > theMasses
Store the masses of the new particles.
Definition:
UEDBase.h:242
Herwig::UEDBase::theLambdaR
double theLambdaR
The value of .
Definition:
UEDBase.h:222
Herwig::UEDBase::theVeV
Energy theVeV
The value of the vacuum expectation value of the higgs field.
Definition:
UEDBase.h:247
Herwig::UEDBase::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
UEDBase.h:188
Herwig::UEDBase::theF1F1G0Vertex
AbstractFFVVertexPtr theF1F1G0Vertex
The .
Definition:
UEDBase.h:274
Herwig::UEDBase::theZ0H1H1Vertex
AbstractVSSVertexPtr theZ0H1H1Vertex
The .
Definition:
UEDBase.h:319
Herwig::UEDBase::calculateKKMasses
void calculateKKMasses(const unsigned int n)
Calculate the radiative corrections to the masses of the KK excitations.
Herwig::UEDBase::theP0H1H1Vertex
AbstractVSSVertexPtr theP0H1H1Vertex
The .
Definition:
UEDBase.h:314
Herwig::UEDBase::theRadCorr
bool theRadCorr
Whether to calculate the radiative corrections to the KK masses.
Definition:
UEDBase.h:212
Herwig::UEDBase::fixedCouplings_
bool fixedCouplings_
Use fixed couplings for the mass calculation.
Definition:
UEDBase.h:257
Herwig::UEDBase::WAMap
map< unsigned int, double > WAMap
Typedef for unsigned int/double map to store Weinburg angles.
Definition:
UEDBase.h:46
Herwig::UEDBase::theF1F0W1Vertex
AbstractFFVVertexPtr theF1F0W1Vertex
The .
Definition:
UEDBase.h:304
Herwig::UEDBase::addMixingAngle
void addMixingAngle(const unsigned int n, const double val)
Add a new mixing angle to the storage.
Definition:
UEDBase.h:118
Herwig::UEDBase::resetMass
void resetMass(long id, Energy value)
Reset the mass of the ParticleData object.
Herwig::UEDBase::addMassElement
void addMassElement(IDMassPair elem)
Add a new ID,mass pair to the mass storage.
Definition:
UEDBase.h:109
Herwig::UEDBase::theF1F1P0Vertex
AbstractFFVVertexPtr theF1F1P0Vertex
The .
Definition:
UEDBase.h:294
Herwig::UEDBase::IDMassPair
pair< long, Energy > IDMassPair
Typedef for ID-Mass pair.
Definition:
UEDBase.h:43
Herwig::UEDBase::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
UEDBase.h:182
Herwig::UEDBase::sinThetaOne
double sinThetaOne() const
Return the Weinburg mixing angle for .
Definition:
UEDBase.h:98
Herwig::UEDBase::fermionMasses
void fermionMasses(const unsigned int n)
Calculate the radiative corrections to the spin-1/2 masses of the KK excitations.
Herwig::UEDBase::theMbarH
Energy theMbarH
The boundary mass term for the Higgs.
Definition:
UEDBase.h:227
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6