herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Hadron
MEPP2WJet.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEPP2WJet_H
3
#define HERWIG_MEPP2WJet_H
4
//
5
// This is the declaration of the MEPP2WJet 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
27
class
MEPP2WJet
:
public
HwMEBase
{
28
29
public
:
30
34
MEPP2WJet
();
35
42
virtual
unsigned
int
orderInAlphaS
()
const
;
43
48
virtual
unsigned
int
orderInAlphaEW
()
const
;
49
57
virtual
double
me2
()
const
;
58
62
virtual
Energy2
scale
()
const
;
63
68
virtual
int
nDim
()
const
;
69
78
virtual
bool
generateKinematics
(
const
double
* r);
79
84
virtual
CrossSection
dSigHatDR
()
const
;
85
89
virtual
void
getDiagrams
()
const
;
90
99
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
100
108
virtual
Selector<const ColourLines *>
109
colourGeometries
(tcDiagPtr diag)
const
;
110
114
virtual
void
constructVertex
(
tSubProPtr
);
116
117
public
:
118
125
void
persistentOutput
(
PersistentOStream
& os)
const
;
126
132
void
persistentInput
(
PersistentIStream
& is,
int
version);
134
141
static
void
Init
();
142
143
protected
:
144
158
InvEnergy2
qqbarME
(vector<SpinorWaveFunction> & fin,
159
vector<SpinorBarWaveFunction> & ain,
160
vector<VectorWaveFunction> & gout,
161
vector<SpinorBarWaveFunction> & lm,
162
vector<SpinorWaveFunction> & lp,
163
bool
me=
false
)
const
;
164
174
InvEnergy2
qgME
(vector<SpinorWaveFunction> & fin,
175
vector<VectorWaveFunction> & gin,
176
vector<SpinorBarWaveFunction> & fout,
177
vector<SpinorBarWaveFunction> & lm,
178
vector<SpinorWaveFunction> & lp,
179
bool
me=
false
)
const
;
180
190
InvEnergy2
qbargME
(vector<SpinorBarWaveFunction> & fin,
191
vector<VectorWaveFunction> & gin,
192
vector<SpinorWaveFunction> & fout,
193
vector<SpinorBarWaveFunction> & lm,
194
vector<SpinorWaveFunction> & lp,
195
bool
me=
false
)
const
;
197
198
protected
:
199
206
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
207
212
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
214
215
protected
:
216
224
virtual
void
doinit
();
226
227
private
:
228
233
MEPP2WJet
&
operator=
(
const
MEPP2WJet
&) =
delete
;
234
235
private
:
236
244
AbstractFFVVertexPtr
_theFFWVertex
;
245
249
AbstractFFVVertexPtr
_theQQGVertex
;
251
259
tcPDPtr
_wplus
;
260
264
tcPDPtr
_wminus
;
266
274
unsigned
int
_process
;
275
279
unsigned
int
_maxflavour
;
280
284
unsigned
int
_plusminus
;
285
289
unsigned
int
_wdec
;
290
294
unsigned
int
_widthopt
;
296
300
mutable
ProductionMatrixElement
_me
;
301
305
Energy2
_scale
;
306
310
Energy2
_mw2
;
311
312
};
313
314
}
315
316
#endif
/* HERWIG_MEPP2WJet_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2WJet
The MEPP2WJet class implements the matrix element for the production of a W boson and a jet including...
Definition:
MEPP2WJet.h:27
Herwig::MEPP2WJet::_maxflavour
unsigned int _maxflavour
Allowed flavours for the incoming quarks.
Definition:
MEPP2WJet.h:279
Herwig::MEPP2WJet::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEPP2WJet.h:300
Herwig::MEPP2WJet::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2WJet::_plusminus
unsigned int _plusminus
Which charge states to include.
Definition:
MEPP2WJet.h:284
Herwig::MEPP2WJet::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEPP2WJet::_scale
Energy2 _scale
Storage of the scale to avoid the need to recalculate.
Definition:
MEPP2WJet.h:305
Herwig::MEPP2WJet::_theFFWVertex
AbstractFFVVertexPtr _theFFWVertex
Vertices for the helicity amplitude calculation.
Definition:
MEPP2WJet.h:244
Herwig::MEPP2WJet::MEPP2WJet
MEPP2WJet()
The default constructor.
Herwig::MEPP2WJet::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEPP2WJet::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEPP2WJet::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::MEPP2WJet::_wdec
unsigned int _wdec
W decay modes.
Definition:
MEPP2WJet.h:289
Herwig::MEPP2WJet::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2WJet.h:206
Herwig::MEPP2WJet::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEPP2WJet.h:212
Herwig::MEPP2WJet::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEPP2WJet::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::MEPP2WJet::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEPP2WJet::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::MEPP2WJet::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEPP2WJet::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEPP2WJet::_mw2
Energy2 _mw2
Storage of the off-shell W mass to avoid the need to recalculate.
Definition:
MEPP2WJet.h:310
Herwig::MEPP2WJet::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEPP2WJet::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEPP2WJet::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::MEPP2WJet::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEPP2WJet::operator=
MEPP2WJet & operator=(const MEPP2WJet &)=delete
The assignment operator is private and must never be called.
Herwig::MEPP2WJet::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEPP2WJet::_process
unsigned int _process
Subprocesses to include.
Definition:
MEPP2WJet.h:274
Herwig::MEPP2WJet::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2WJet::_theQQGVertex
AbstractFFVVertexPtr _theQQGVertex
Pointer to the vertex.
Definition:
MEPP2WJet.h:249
Herwig::MEPP2WJet::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::MEPP2WJet::_widthopt
unsigned int _widthopt
Option for the treatment of the W off-shell effects.
Definition:
MEPP2WJet.h:294
Herwig::MEPP2WJet::_wplus
tcPDPtr _wplus
The data pointer.
Definition:
MEPP2WJet.h:259
Herwig::MEPP2WJet::_wminus
tcPDPtr _wminus
The data pointer.
Definition:
MEPP2WJet.h:264
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