herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
MEfftoffH.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEfftoffH_H
3
#define HERWIG_MEfftoffH_H
4
//
5
// This is the declaration of the MEfftoffH class.
6
//
7
8
#include "HwMEBase.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
10
#include "ThePEG/Helicity/Vertex/AbstractVVSVertex.h"
11
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
12
#include "Herwig/PDT/GenericMassGenerator.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
25
class
MEfftoffH
:
public
HwMEBase
{
26
27
public
:
28
32
MEfftoffH
() :
_shapeopt
(2),
_maxflavour
(5),
_minflavour
(1),
_process
(0),
33
_mh
(),
_wh
(),
_swap
(false) {}
34
41
virtual
unsigned
int
orderInAlphaS
()
const
;
42
47
virtual
unsigned
int
orderInAlphaEW
()
const
;
48
56
virtual
double
me2
()
const
;
57
61
virtual
Energy2
scale
()
const
;
62
70
virtual
void
setKinematics
();
71
76
virtual
int
nDim
()
const
;
77
86
virtual
bool
generateKinematics
(
const
double
* r);
87
92
virtual
CrossSection
dSigHatDR
()
const
;
93
102
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
103
111
virtual
Selector<const ColourLines *>
112
colourGeometries
(tcDiagPtr diag)
const
;
113
117
virtual
void
constructVertex
(
tSubProPtr
);
119
120
121
public
:
122
129
void
persistentOutput
(
PersistentOStream
& os)
const
;
130
136
void
persistentInput
(
PersistentIStream
& is,
int
version);
138
145
static
void
Init
();
146
147
protected
:
148
159
double
helicityME
(vector<SpinorWaveFunction> & f1 ,
160
vector<SpinorWaveFunction> & f2 ,
161
vector<SpinorBarWaveFunction> & a1,
162
vector<SpinorBarWaveFunction> & a2,
163
bool
swap1,
bool
swap2,
164
bool
me)
const
;
165
173
PDPtr
WPlus
()
const
{
return
_wplus
;}
174
178
PDPtr
WMinus
()
const
{
return
_wminus
;}
179
183
PDPtr
Z0
()
const
{
return
_z0
;}
184
188
PDPtr
higgs
()
const
{
return
_higgs
;}
189
193
void
higgs
(
PDPtr
in) {
_higgs
=in;}
195
199
void
setWWHVertex
(AbstractVVSVertexPtr in) {
200
_vertexWWH
= in;
201
}
202
206
void
lineShape
(
unsigned
int
in) {
_shapeopt
=in;}
207
211
unsigned
int
process
()
const
{
return
_process
;}
212
216
bool
swapOrder
() {
return
_swap
;}
217
221
void
process
(
unsigned
int
in) {
_process
= in;}
222
226
unsigned
int
maxFlavour
()
const
{
return
_maxflavour
;}
227
231
unsigned
int
minFlavour
()
const
{
return
_minflavour
;}
232
233
protected
:
234
242
virtual
void
doinit
();
244
245
private
:
246
251
MEfftoffH
&
operator=
(
const
MEfftoffH
&) =
delete
;
252
253
private
:
254
258
unsigned
int
_shapeopt
;
259
263
unsigned
int
_maxflavour
;
264
268
unsigned
int
_minflavour
;
269
273
unsigned
int
_process
;
274
282
PDPtr
_wplus
;
283
287
PDPtr
_wminus
;
288
292
PDPtr
_z0
;
293
297
PDPtr
_higgs
;
299
307
AbstractFFVVertexPtr
_vertexFFW
;
308
312
AbstractFFVVertexPtr
_vertexFFZ
;
313
317
AbstractVVSVertexPtr
_vertexWWH
;
319
323
Energy
_mh
;
324
328
Energy
_wh
;
329
333
GenericMassGeneratorPtr
_hmass
;
334
335
339
mutable
ProductionMatrixElement
_me
;
340
344
bool
_swap
;
345
};
346
347
}
348
349
#endif
/* HERWIG_MEfftoffH_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEfftoffH
The MEfftoffH class is the base class for vector boson fusion type processes in Herwig.
Definition:
MEfftoffH.h:25
Herwig::MEfftoffH::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEfftoffH::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEfftoffH::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEfftoffH::minFlavour
unsigned int minFlavour() const
Minimum flavour of the incoming partons.
Definition:
MEfftoffH.h:231
Herwig::MEfftoffH::WMinus
PDPtr WMinus() const
Access to the data.
Definition:
MEfftoffH.h:178
Herwig::MEfftoffH::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEfftoffH::_wminus
PDPtr _wminus
Definition:
MEfftoffH.h:287
Herwig::MEfftoffH::swapOrder
bool swapOrder()
Whether momenta are swapped.
Definition:
MEfftoffH.h:216
Herwig::MEfftoffH::_z0
PDPtr _z0
Definition:
MEfftoffH.h:292
Herwig::MEfftoffH::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEfftoffH::_hmass
GenericMassGeneratorPtr _hmass
The mass generator for the Higgs.
Definition:
MEfftoffH.h:333
Herwig::MEfftoffH::_process
unsigned int _process
Whether to include $WW$ and $ZZ$ processes or both.
Definition:
MEfftoffH.h:273
Herwig::MEfftoffH::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEfftoffH::lineShape
void lineShape(unsigned int in)
Set the line shape treatment.
Definition:
MEfftoffH.h:206
Herwig::MEfftoffH::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEfftoffH.h:339
Herwig::MEfftoffH::_shapeopt
unsigned int _shapeopt
Defines the Higgs resonance shape.
Definition:
MEfftoffH.h:258
Herwig::MEfftoffH::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::MEfftoffH::helicityME
double helicityME(vector< SpinorWaveFunction > &f1, vector< SpinorWaveFunction > &f2, vector< SpinorBarWaveFunction > &a1, vector< SpinorBarWaveFunction > &a2, bool swap1, bool swap2, bool me) const
Matrix element for .
Herwig::MEfftoffH::setKinematics
virtual void setKinematics()
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me()...
Herwig::MEfftoffH::_swap
bool _swap
if order swaped
Definition:
MEfftoffH.h:344
Herwig::MEfftoffH::_wplus
PDPtr _wplus
The intermediate vector bosons.
Definition:
MEfftoffH.h:282
Herwig::MEfftoffH::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEfftoffH::_maxflavour
unsigned int _maxflavour
Maximum flavour of the quarks involved.
Definition:
MEfftoffH.h:263
Herwig::MEfftoffH::Z0
PDPtr Z0() const
Access to the data.
Definition:
MEfftoffH.h:183
Herwig::MEfftoffH::_vertexFFZ
AbstractFFVVertexPtr _vertexFFZ
Vertex for fermion-fermion-Z.
Definition:
MEfftoffH.h:312
Herwig::MEfftoffH::colourGeometries
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
Herwig::MEfftoffH::operator=
MEfftoffH & operator=(const MEfftoffH &)=delete
The assignment operator is private and must never be called.
Herwig::MEfftoffH::_higgs
PDPtr _higgs
Higgs boson.
Definition:
MEfftoffH.h:297
Herwig::MEfftoffH::_minflavour
unsigned int _minflavour
Minimum flavour of the quarks involved.
Definition:
MEfftoffH.h:268
Herwig::MEfftoffH::_wh
Energy _wh
On-shell width for the higgs.
Definition:
MEfftoffH.h:328
Herwig::MEfftoffH::higgs
void higgs(PDPtr in)
Set the Higgs boson.
Definition:
MEfftoffH.h:193
Herwig::MEfftoffH::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEfftoffH::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEfftoffH::WPlus
PDPtr WPlus() const
Access to the vector ParticleData objects.
Definition:
MEfftoffH.h:173
Herwig::MEfftoffH::_mh
Energy _mh
On-shell mass for the higgs.
Definition:
MEfftoffH.h:323
Herwig::MEfftoffH::setWWHVertex
void setWWHVertex(AbstractVVSVertexPtr in)
Set the pointer to the vector-vector-Higgs vertex.
Definition:
MEfftoffH.h:199
Herwig::MEfftoffH::MEfftoffH
MEfftoffH()
The default constructor.
Definition:
MEfftoffH.h:32
Herwig::MEfftoffH::process
void process(unsigned int in)
Which process to generate.
Definition:
MEfftoffH.h:221
Herwig::MEfftoffH::higgs
PDPtr higgs() const
Access to the Higgs boson.
Definition:
MEfftoffH.h:188
Herwig::MEfftoffH::process
unsigned int process() const
Which process to generate.
Definition:
MEfftoffH.h:211
Herwig::MEfftoffH::maxFlavour
unsigned int maxFlavour() const
Maximum flavour of the incoming partons.
Definition:
MEfftoffH.h:226
Herwig::MEfftoffH::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEfftoffH::_vertexWWH
AbstractVVSVertexPtr _vertexWWH
Vertex for vector-vector-Higgs.
Definition:
MEfftoffH.h:317
Herwig::MEfftoffH::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEfftoffH::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEfftoffH::_vertexFFW
AbstractFFVVertexPtr _vertexFFW
The vertices for the calculation of the matrix element.
Definition:
MEfftoffH.h:307
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6