herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
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 */
ThePEG::PersistentIStream
ThePEG::Helicity
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::_z0
tcPDPtr _z0
Pointer to the Z ParticleData object.
Definition:
MEPP2ZJet.h:261
Herwig::MEPP2ZJet::_theFFPVertex
AbstractFFVVertexPtr _theFFPVertex
Pointer to the photon vertex.
Definition:
MEPP2ZJet.h:246
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEPP2ZJet::_gamma
tcPDPtr _gamma
Pointer to the photon ParticleData object.
Definition:
MEPP2ZJet.h:266
ThePEG
Herwig::MEPP2ZJet::_scale
Energy2 _scale
Storage of the scale to avoid the need to recalculate.
Definition:
MEPP2ZJet.h:313
Herwig::MEPP2ZJet::_pprob
double _pprob
Probability of selecting for the jacobian transformation of the boson mass.
Definition:
MEPP2ZJet.h:303
Herwig::MEPP2ZJet::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2ZJet.h:203
Herwig::MEPP2ZJet::_widthopt
unsigned int _widthopt
Option for the treatment of the W off-shell effects.
Definition:
MEPP2ZJet.h:296
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEPP2ZJet::_theQQGVertex
AbstractFFVVertexPtr _theQQGVertex
Pointer to the vertex.
Definition:
MEPP2ZJet.h:251
Herwig::MEPP2ZJet::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Vertices for the helicity amplitude calculation.
Definition:
MEPP2ZJet.h:241
Herwig::MEPP2ZJet::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEPP2ZJet.h:308
Herwig::MEPP2ZJet::_process
unsigned int _process
Subprocesses to include.
Definition:
MEPP2ZJet.h:276
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
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::MEPP2ZJet::_gammaZ
unsigned int _gammaZ
Which terms to include.
Definition:
MEPP2ZJet.h:291
Herwig::MEPP2ZJet::_mz2
Energy2 _mz2
Storage of the off-shell Z mass to avoid the need to recalculate.
Definition:
MEPP2ZJet.h:318
ThePEG::Selector
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MEPP2ZJet::_maxflavour
int _maxflavour
Allowed flavours for the incoming quarks.
Definition:
MEPP2ZJet.h:281
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2ZJet::_zdec
int _zdec
Control over which Z decay modes to include.
Definition:
MEPP2ZJet.h:286
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13