herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Hadron
MEPP2ZJet.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEPP2ZJet_H
3
#define HERWIG_MEPP2ZJet_H
4
//
5
// This is the declaration of the MEPP2ZJet class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
10
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
12
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
13
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
14
15
namespace
Herwig
{
16
17
using namespace
ThePEG
;
18
using namespace
ThePEG::Helicity
;
19
28
class
MEPP2ZJet
:
public
HwMEBase
{
29
30
public
:
31
35
MEPP2ZJet
();
36
43
virtual
unsigned
int
orderInAlphaS
()
const
;
44
49
virtual
unsigned
int
orderInAlphaEW
()
const
;
50
58
virtual
double
me2
()
const
;
59
63
virtual
Energy2
scale
()
const
;
64
69
virtual
int
nDim
()
const
;
70
79
virtual
bool
generateKinematics
(
const
double
* r);
80
85
virtual
CrossSection
dSigHatDR
()
const
;
86
90
virtual
void
getDiagrams
()
const
;
91
100
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
101
109
virtual
Selector<const ColourLines *>
110
colourGeometries
(tcDiagPtr diag)
const
;
111
115
virtual
void
constructVertex
(
tSubProPtr
);
117
118
public
:
119
126
void
persistentOutput
(
PersistentOStream
& os)
const
;
127
133
void
persistentInput
(
PersistentIStream
& is,
int
version);
135
142
static
void
Init
();
143
144
protected
:
145
159
InvEnergy2
qqbarME
(vector<SpinorWaveFunction> & fin,
160
vector<SpinorBarWaveFunction> & ain,
161
vector<VectorWaveFunction> & gout,
162
vector<SpinorBarWaveFunction> & lm, vector<SpinorWaveFunction> & lp,
163
bool
me=
false
)
const
;
164
174
InvEnergy2
qgME
(vector<SpinorWaveFunction> & fin,vector<VectorWaveFunction> & gin,
175
vector<SpinorBarWaveFunction> & fout,
176
vector<SpinorBarWaveFunction> & lm, vector<SpinorWaveFunction> & lp,
177
bool
me=
false
)
const
;
178
188
InvEnergy2
qbargME
(vector<SpinorBarWaveFunction> & fin,
189
vector<VectorWaveFunction> & gin,
190
vector<SpinorWaveFunction> & fout,
191
vector<SpinorBarWaveFunction> & lm, vector<SpinorWaveFunction> & lp,
192
bool
me=
false
)
const
;
194
195
protected
:
196
203
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
204
209
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
211
212
protected
:
213
221
virtual
void
doinit
();
223
224
private
:
225
230
MEPP2ZJet
&
operator=
(
const
MEPP2ZJet
&) =
delete
;
231
232
private
:
233
241
AbstractFFVVertexPtr
_theFFZVertex
;
242
246
AbstractFFVVertexPtr
_theFFPVertex
;
247
251
AbstractFFVVertexPtr
_theQQGVertex
;
253
261
tcPDPtr
_z0
;
262
266
tcPDPtr
_gamma
;
268
276
unsigned
int
_process
;
277
281
int
_maxflavour
;
282
286
int
_zdec
;
287
291
unsigned
int
_gammaZ
;
292
296
unsigned
int
_widthopt
;
298
303
double
_pprob
;
304
308
mutable
ProductionMatrixElement
_me
;
309
313
Energy2
_scale
;
314
318
Energy2
_mz2
;
319
};
320
321
}
322
323
#endif
/* HERWIG_MEPP2ZJet_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2ZJet
The MEPP2ZJet class implements the matrix element for the production of a Z boson + a jet including t...
Definition:
MEPP2ZJet.h:28
Herwig::MEPP2ZJet::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Vertices for the helicity amplitude calculation.
Definition:
MEPP2ZJet.h:241
Herwig::MEPP2ZJet::MEPP2ZJet
MEPP2ZJet()
The default constructor.
Herwig::MEPP2ZJet::_scale
Energy2 _scale
Storage of the scale to avoid the need to recalculate.
Definition:
MEPP2ZJet.h:313
Herwig::MEPP2ZJet::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEPP2ZJet::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEPP2ZJet::qgME
InvEnergy2 qgME(vector< SpinorWaveFunction > &fin, vector< VectorWaveFunction > &gin, vector< SpinorBarWaveFunction > &fout, vector< SpinorBarWaveFunction > &lm, vector< SpinorWaveFunction > &lp, bool me=false) const
Matrix element for .
Herwig::MEPP2ZJet::_gammaZ
unsigned int _gammaZ
Which terms to include.
Definition:
MEPP2ZJet.h:291
Herwig::MEPP2ZJet::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEPP2ZJet::_widthopt
unsigned int _widthopt
Option for the treatment of the W off-shell effects.
Definition:
MEPP2ZJet.h:296
Herwig::MEPP2ZJet::_pprob
double _pprob
Probability of selecting for the jacobian transformation of the boson mass.
Definition:
MEPP2ZJet.h:303
Herwig::MEPP2ZJet::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEPP2ZJet::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2ZJet.h:203
Herwig::MEPP2ZJet::_z0
tcPDPtr _z0
Pointer to the Z ParticleData object.
Definition:
MEPP2ZJet.h:261
Herwig::MEPP2ZJet::qqbarME
InvEnergy2 qqbarME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< VectorWaveFunction > &gout, vector< SpinorBarWaveFunction > &lm, vector< SpinorWaveFunction > &lp, bool me=false) const
Matrix elements for the different subprocesses.
Herwig::MEPP2ZJet::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEPP2ZJet::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEPP2ZJet.h:308
Herwig::MEPP2ZJet::operator=
MEPP2ZJet & operator=(const MEPP2ZJet &)=delete
The assignment operator is private and must never be called.
Herwig::MEPP2ZJet::_process
unsigned int _process
Subprocesses to include.
Definition:
MEPP2ZJet.h:276
Herwig::MEPP2ZJet::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEPP2ZJet::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEPP2ZJet::_gamma
tcPDPtr _gamma
Pointer to the photon ParticleData object.
Definition:
MEPP2ZJet.h:266
Herwig::MEPP2ZJet::_theQQGVertex
AbstractFFVVertexPtr _theQQGVertex
Pointer to the vertex.
Definition:
MEPP2ZJet.h:251
Herwig::MEPP2ZJet::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEPP2ZJet::_theFFPVertex
AbstractFFVVertexPtr _theFFPVertex
Pointer to the photon vertex.
Definition:
MEPP2ZJet.h:246
Herwig::MEPP2ZJet::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::MEPP2ZJet::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEPP2ZJet::qbargME
InvEnergy2 qbargME(vector< SpinorBarWaveFunction > &fin, vector< VectorWaveFunction > &gin, vector< SpinorWaveFunction > &fout, vector< SpinorBarWaveFunction > &lm, vector< SpinorWaveFunction > &lp, bool me=false) const
Matrix element for .
Herwig::MEPP2ZJet::_zdec
int _zdec
Control over which Z decay modes to include.
Definition:
MEPP2ZJet.h:286
Herwig::MEPP2ZJet::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2ZJet::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2ZJet::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::MEPP2ZJet::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEPP2ZJet::_mz2
Energy2 _mz2
Storage of the off-shell Z mass to avoid the need to recalculate.
Definition:
MEPP2ZJet.h:318
Herwig::MEPP2ZJet::_maxflavour
int _maxflavour
Allowed flavours for the incoming quarks.
Definition:
MEPP2ZJet.h:281
Herwig::MEPP2ZJet::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEPP2ZJet::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEPP2ZJet.h:209
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::Helicity
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6