herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
DIS
MENeutralCurrentDIS.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MENeutralCurrentDIS_H
3
#define HERWIG_MENeutralCurrentDIS_H
4
//
5
// This is the declaration of the MENeutralCurrentDIS class.
6
//
7
8
#include "DISBase.h"
9
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
10
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
12
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
27
class
MENeutralCurrentDIS
:
public
DISBase
{
28
29
public
:
30
34
MENeutralCurrentDIS
();
35
42
virtual
unsigned
int
orderInAlphaS
()
const
;
43
48
virtual
unsigned
int
orderInAlphaEW
()
const
;
49
57
virtual
double
me2
()
const
;
58
62
virtual
void
getDiagrams
()
const
;
63
72
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
73
81
virtual
Selector<const ColourLines *>
82
colourGeometries
(tcDiagPtr diag)
const
;
83
87
virtual
void
constructVertex
(
tSubProPtr
);
89
90
public
:
91
98
void
persistentOutput
(
PersistentOStream
& os)
const
;
99
105
void
persistentInput
(
PersistentIStream
& is,
int
version);
107
114
static
void
Init
();
115
116
protected
:
117
128
double
helicityME
(vector<SpinorWaveFunction> & f1 ,
129
vector<SpinorWaveFunction> & f2,
130
vector<SpinorBarWaveFunction> & a1 ,
131
vector<SpinorBarWaveFunction> & a2,
132
bool
lorder,
bool
qorder,
133
bool
me)
const
;
134
135
139
inline
unsigned
int
gammaZOption
()
const
{
return
_gammaZ
;}
140
145
virtual
double
A
(
tcPDPtr
lin,
tcPDPtr
lout,
tcPDPtr
qin,
tcPDPtr
qout,
146
Energy2
scale
)
const
;
147
148
protected
:
149
157
virtual
void
doinit
();
159
160
protected
:
161
168
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
169
174
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
176
177
private
:
178
183
MENeutralCurrentDIS
&
operator=
(
const
MENeutralCurrentDIS
&) =
delete
;
184
185
private
:
186
194
AbstractFFVVertexPtr
_theFFZVertex
;
195
199
AbstractFFVVertexPtr
_theFFPVertex
;
201
209
tcPDPtr
_z0
;
210
214
tcPDPtr
_gamma
;
216
224
int
_minflavour
;
225
229
int
_maxflavour
;
230
234
unsigned
int
_gammaZ
;
236
240
ProductionMatrixElement
_me
;
241
249
double
_sinW
;
250
254
double
_cosW
;
255
259
Energy2
_mz2
;
261
262
};
263
264
}
265
266
#endif
/* HERWIG_MENeutralCurrentDIS_H */
Herwig::DISBase
The DISBase class is the base class for the implementation of DIS type processes including correction...
Definition:
DISBase.h:23
Herwig::DISBase::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MENeutralCurrentDIS
The MENeutralCurrentDIS class provides the matrix elements for neutral current DIS.
Definition:
MENeutralCurrentDIS.h:27
Herwig::MENeutralCurrentDIS::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MENeutralCurrentDIS::operator=
MENeutralCurrentDIS & operator=(const MENeutralCurrentDIS &)=delete
The assignment operator is private and must never be called.
Herwig::MENeutralCurrentDIS::_minflavour
int _minflavour
Switches to control the particles in the hard process.
Definition:
MENeutralCurrentDIS.h:224
Herwig::MENeutralCurrentDIS::MENeutralCurrentDIS
MENeutralCurrentDIS()
The default constructor.
Herwig::MENeutralCurrentDIS::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::MENeutralCurrentDIS::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MENeutralCurrentDIS.h:240
Herwig::MENeutralCurrentDIS::gammaZOption
unsigned int gammaZOption() const
Option for treatment of terms.
Definition:
MENeutralCurrentDIS.h:139
Herwig::MENeutralCurrentDIS::_gamma
tcPDPtr _gamma
Pointer to the photon ParticleData object.
Definition:
MENeutralCurrentDIS.h:214
Herwig::MENeutralCurrentDIS::A
virtual double A(tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout, Energy2 scale) const
Calculate the coefficient A for the correlations in the hard radiation.
Herwig::MENeutralCurrentDIS::_theFFPVertex
AbstractFFVVertexPtr _theFFPVertex
Pointer to the photon vertex.
Definition:
MENeutralCurrentDIS.h:199
Herwig::MENeutralCurrentDIS::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MENeutralCurrentDIS::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MENeutralCurrentDIS.h:168
Herwig::MENeutralCurrentDIS::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MENeutralCurrentDIS::_mz2
Energy2 _mz2
The square of the Z mass.
Definition:
MENeutralCurrentDIS.h:259
Herwig::MENeutralCurrentDIS::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MENeutralCurrentDIS::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MENeutralCurrentDIS::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MENeutralCurrentDIS::helicityME
double helicityME(vector< SpinorWaveFunction > &f1, vector< SpinorWaveFunction > &f2, vector< SpinorBarWaveFunction > &a1, vector< SpinorBarWaveFunction > &a2, bool lorder, bool qorder, bool me) const
Matrix element for .
Herwig::MENeutralCurrentDIS::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Pointer to the vertices for the helicity calculations.
Definition:
MENeutralCurrentDIS.h:194
Herwig::MENeutralCurrentDIS::_sinW
double _sinW
Electroweak parameters.
Definition:
MENeutralCurrentDIS.h:249
Herwig::MENeutralCurrentDIS::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MENeutralCurrentDIS::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MENeutralCurrentDIS.h:174
Herwig::MENeutralCurrentDIS::_maxflavour
int _maxflavour
Maximum flavour of the incoming quarks.
Definition:
MENeutralCurrentDIS.h:229
Herwig::MENeutralCurrentDIS::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MENeutralCurrentDIS::_cosW
double _cosW
Definition:
MENeutralCurrentDIS.h:254
Herwig::MENeutralCurrentDIS::_gammaZ
unsigned int _gammaZ
Whether to include both and or only one.
Definition:
MENeutralCurrentDIS.h:234
Herwig::MENeutralCurrentDIS::_z0
tcPDPtr _z0
Pointers to the intermediate resonances.
Definition:
MENeutralCurrentDIS.h:209
Herwig::MENeutralCurrentDIS::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MENeutralCurrentDIS::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
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
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6