herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Hadron
MEPP2VV.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEPP2VV_H
3
#define HERWIG_MEPP2VV_H
4
//
5
// This is the declaration of the MEPP2VV class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
10
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
11
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
12
13
namespace
Herwig
{
14
15
using namespace
ThePEG
;
16
24
class
MEPP2VV
:
public
HwMEBase
{
25
26
public
:
27
31
MEPP2VV
();
32
33
public
:
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
66
virtual
int
process
()
const
{
return
process_
; }
67
71
virtual
void
getDiagrams
()
const
;
72
81
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
82
90
virtual
Selector<const ColourLines *>
91
colourGeometries
(tcDiagPtr diag)
const
;
92
97
virtual
double
getCosTheta
(
double
cthmin,
double
cthmax,
const
double
r);
98
102
virtual
void
constructVertex
(
tSubProPtr
);
104
105
public
:
106
113
void
persistentOutput
(
PersistentOStream
& os)
const
;
114
120
void
persistentInput
(
PersistentIStream
& is,
int
version);
122
129
static
void
Init
();
130
131
protected
:
132
141
double
WWME
(vector<SpinorWaveFunction> & f1,
142
vector<SpinorBarWaveFunction> & a1,
143
vector<VectorWaveFunction> & v1,
144
vector<VectorWaveFunction> & v2,
145
bool
me)
const
;
146
155
double
WZME
(vector<SpinorWaveFunction> & f1,
156
vector<SpinorBarWaveFunction> & a1,
157
vector<VectorWaveFunction> & v1,
158
vector<VectorWaveFunction> & v2,
159
bool
me)
const
;
160
169
double
ZZME
(vector<SpinorWaveFunction> & f1,
170
vector<SpinorBarWaveFunction> & a1,
171
vector<VectorWaveFunction> & v1,
172
vector<VectorWaveFunction> & v2,
173
bool
me)
const
;
174
175
protected
:
176
183
virtual
IBPtr
clone
()
const
;
184
189
virtual
IBPtr
fullclone
()
const
;
191
192
protected
:
193
201
virtual
void
doinit
();
203
204
private
:
205
210
MEPP2VV
&
operator=
(
const
MEPP2VV
&) =
delete
;
211
212
private
:
213
221
AbstractFFVVertexPtr
FFPvertex_
;
222
226
AbstractFFVVertexPtr
FFWvertex_
;
227
231
AbstractFFVVertexPtr
FFZvertex_
;
232
236
AbstractVVVVertexPtr
WWWvertex_
;
238
242
unsigned
int
process_
;
243
247
int
maxflavour_
;
248
252
unsigned
int
massOption_
;
253
257
mutable
ProductionMatrixElement
me_
;
258
};
259
260
}
261
262
#endif
/* HERWIG_MEPP2VV_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2VV
The MEPP2VV class implements the production of , and in hadron-hadron collisions.
Definition:
MEPP2VV.h:24
Herwig::MEPP2VV::WZME
double WZME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2, bool me) const
Matrix element for .
Herwig::MEPP2VV::getCosTheta
virtual double getCosTheta(double cthmin, double cthmax, const double r)
Used internally by generateKinematics, after calculating the limits on cos(theta).
Herwig::MEPP2VV::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEPP2VV::process
virtual int process() const
Return the process being run (WW/ZZ/WZ).
Definition:
MEPP2VV.h:66
Herwig::MEPP2VV::process_
unsigned int process_
Processes.
Definition:
MEPP2VV.h:242
Herwig::MEPP2VV::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MEPP2VV::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEPP2VV::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::MEPP2VV::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEPP2VV::FFWvertex_
AbstractFFVVertexPtr FFWvertex_
FFWVertex.
Definition:
MEPP2VV.h:226
Herwig::MEPP2VV::MEPP2VV
MEPP2VV()
The default constructor.
Herwig::MEPP2VV::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEPP2VV::massOption_
unsigned int massOption_
Treatment of the the boson masses.
Definition:
MEPP2VV.h:252
Herwig::MEPP2VV::me_
ProductionMatrixElement me_
The matrix element.
Definition:
MEPP2VV.h:257
Herwig::MEPP2VV::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEPP2VV::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEPP2VV::WWME
double WWME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2, bool me) const
Matrix element for .
Herwig::MEPP2VV::FFZvertex_
AbstractFFVVertexPtr FFZvertex_
FFZVertex.
Definition:
MEPP2VV.h:231
Herwig::MEPP2VV::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEPP2VV::operator=
MEPP2VV & operator=(const MEPP2VV &)=delete
The assignment operator is private and must never be called.
Herwig::MEPP2VV::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2VV::maxflavour_
int maxflavour_
Allowed flavours of the incoming quarks.
Definition:
MEPP2VV.h:247
Herwig::MEPP2VV::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MEPP2VV::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2VV::ZZME
double ZZME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< VectorWaveFunction > &v1, vector< VectorWaveFunction > &v2, bool me) const
Matrix element for .
Herwig::MEPP2VV::FFPvertex_
AbstractFFVVertexPtr FFPvertex_
Vertices.
Definition:
MEPP2VV.h:221
Herwig::MEPP2VV::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEPP2VV::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEPP2VV::WWWvertex_
AbstractVVVVertexPtr WWWvertex_
WWW Vertex.
Definition:
MEPP2VV.h:236
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::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6