herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
MEfftoVH.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEfftoVH_H
3
#define HERWIG_MEfftoVH_H
4
//
5
// This is the declaration of the MEfftoVH class.
6
//
7
8
#include "DrellYanBase.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
using namespace
ThePEG
;
16
25
class
MEfftoVH
:
public
DrellYanBase
{
26
27
public
:
28
32
MEfftoVH
() :
_shapeopt
(2),
_maxflavour
(5),
_mh
(),
_wh
() {}
33
40
virtual
unsigned
int
orderInAlphaS
()
const
;
41
46
virtual
unsigned
int
orderInAlphaEW
()
const
;
47
55
virtual
double
me2
()
const
;
56
60
virtual
Energy2
scale
()
const
;
61
69
virtual
void
setKinematics
();
70
75
virtual
int
nDim
()
const
;
76
85
virtual
bool
generateKinematics
(
const
double
* r);
86
91
virtual
CrossSection
dSigHatDR
()
const
;
92
101
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
102
110
virtual
Selector<const ColourLines *>
111
colourGeometries
(tcDiagPtr diag)
const
;
112
116
virtual
void
constructVertex
(
tSubProPtr
);
118
119
120
public
:
121
128
void
persistentOutput
(
PersistentOStream
& os)
const
;
129
135
void
persistentInput
(
PersistentIStream
& is,
int
version);
137
144
static
void
Init
();
145
146
protected
:
147
156
double
helicityME
(vector<SpinorWaveFunction> & fin ,
157
vector<SpinorBarWaveFunction> & ain ,
158
vector<SpinorBarWaveFunction> & fout,
159
vector<SpinorWaveFunction> & aout,
160
bool
me)
const
;
161
169
PDPtr
WPlus
()
const
{
return
_wplus
; }
170
174
PDPtr
WMinus
()
const
{
return
_wminus
; }
175
179
PDPtr
Z0
()
const
{
return
_z0
; }
180
184
PDPtr
higgs
()
const
{
return
_higgs
; }
185
189
void
higgs
(
PDPtr
in) {
_higgs
=in;}
191
195
void
setWWHVertex
(AbstractVVSVertexPtr in) {
196
_vertexWWH
= in;
197
}
198
202
void
lineShape
(
unsigned
int
in) {
_shapeopt
=in;}
203
207
unsigned
int
maxFlavour
()
const
{
return
_maxflavour
;}
208
209
protected
:
210
218
virtual
void
doinit
();
220
221
private
:
222
227
MEfftoVH
&
operator=
(
const
MEfftoVH
&) =
delete
;
228
229
private
:
230
234
unsigned
int
_shapeopt
;
235
239
unsigned
int
_maxflavour
;
240
248
PDPtr
_wplus
;
249
253
PDPtr
_wminus
;
254
258
PDPtr
_z0
;
259
263
PDPtr
_higgs
;
265
273
AbstractFFVVertexPtr
_vertexFFW
;
274
278
AbstractFFVVertexPtr
_vertexFFZ
;
279
283
AbstractVVSVertexPtr
_vertexWWH
;
285
289
Energy
_mh
;
290
294
Energy
_wh
;
295
299
GenericMassGeneratorPtr
_hmass
;
300
304
ProductionMatrixElement
_me
;
305
};
306
307
}
308
309
#endif
/* HERWIG_MEfftoVH_H */
Herwig::DrellYanBase
The DrellYanBase class class provides a base class for the implemented of Drell-Yan type processes an...
Definition:
DrellYanBase.h:23
Herwig::MEfftoVH
The MEfftoVH class is the base class for processes.
Definition:
MEfftoVH.h:25
Herwig::MEfftoVH::_z0
PDPtr _z0
Definition:
MEfftoVH.h:258
Herwig::MEfftoVH::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEfftoVH::helicityME
double helicityME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< SpinorBarWaveFunction > &fout, vector< SpinorWaveFunction > &aout, bool me) const
Matrix element for .
Herwig::MEfftoVH::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::MEfftoVH::WPlus
PDPtr WPlus() const
Access to the vector ParticleData objects.
Definition:
MEfftoVH.h:169
Herwig::MEfftoVH::setWWHVertex
void setWWHVertex(AbstractVVSVertexPtr in)
Set the pointer to the vector-vector-Higgs vertex.
Definition:
MEfftoVH.h:195
Herwig::MEfftoVH::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEfftoVH::maxFlavour
unsigned int maxFlavour() const
Maximum flavour of the incoming partons.
Definition:
MEfftoVH.h:207
Herwig::MEfftoVH::_vertexFFW
AbstractFFVVertexPtr _vertexFFW
The vertices for the calculation of the matrix element.
Definition:
MEfftoVH.h:273
Herwig::MEfftoVH::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEfftoVH::_higgs
PDPtr _higgs
The higgs bosom.
Definition:
MEfftoVH.h:263
Herwig::MEfftoVH::_vertexFFZ
AbstractFFVVertexPtr _vertexFFZ
Vertex for fermion-fermion-Z.
Definition:
MEfftoVH.h:278
Herwig::MEfftoVH::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEfftoVH::_vertexWWH
AbstractVVSVertexPtr _vertexWWH
Vertex for vector-vector-Higgs.
Definition:
MEfftoVH.h:283
Herwig::MEfftoVH::WMinus
PDPtr WMinus() const
Access to the data.
Definition:
MEfftoVH.h:174
Herwig::MEfftoVH::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEfftoVH::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEfftoVH.h:304
Herwig::MEfftoVH::setKinematics
virtual void setKinematics()
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me()...
Herwig::MEfftoVH::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEfftoVH::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEfftoVH::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEfftoVH::MEfftoVH
MEfftoVH()
The default constructor.
Definition:
MEfftoVH.h:32
Herwig::MEfftoVH::_mh
Energy _mh
On-shell mass for the higgs.
Definition:
MEfftoVH.h:289
Herwig::MEfftoVH::higgs
void higgs(PDPtr in)
Set the higgs data.
Definition:
MEfftoVH.h:189
Herwig::MEfftoVH::_wh
Energy _wh
On-shell width for the higgs.
Definition:
MEfftoVH.h:294
Herwig::MEfftoVH::operator=
MEfftoVH & operator=(const MEfftoVH &)=delete
The assignment operator is private and must never be called.
Herwig::MEfftoVH::_maxflavour
unsigned int _maxflavour
The allowed flavours of the incoming quarks.
Definition:
MEfftoVH.h:239
Herwig::MEfftoVH::Z0
PDPtr Z0() const
Access to the data.
Definition:
MEfftoVH.h:179
Herwig::MEfftoVH::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEfftoVH::_hmass
GenericMassGeneratorPtr _hmass
The mass generator for the Higgs.
Definition:
MEfftoVH.h:299
Herwig::MEfftoVH::_shapeopt
unsigned int _shapeopt
Defines the Higgs resonance shape.
Definition:
MEfftoVH.h:234
Herwig::MEfftoVH::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEfftoVH::lineShape
void lineShape(unsigned int in)
Set the line shape treatment.
Definition:
MEfftoVH.h:202
Herwig::MEfftoVH::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEfftoVH::_wminus
PDPtr _wminus
Definition:
MEfftoVH.h:253
Herwig::MEfftoVH::higgs
PDPtr higgs() const
Access to the higgs data.
Definition:
MEfftoVH.h:184
Herwig::MEfftoVH::_wplus
PDPtr _wplus
The intermediate vector bosons.
Definition:
MEfftoVH.h:248
Herwig::MEfftoVH::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::MEfftoVH::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
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