herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Hadron
MEPP2GammaJet.h
1
// -*- C++ -*-
2
//
3
// MEPP2GammaJet.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_MEPP2GammaJet_H
10
#define HERWIG_MEPP2GammaJet_H
11
//
12
// This is the declaration of the MEPP2GammaJet class.
13
//
14
15
#include "Herwig/MatrixElement/HwMEBase.h"
16
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
17
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
18
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
19
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
20
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
21
22
namespace
Herwig
{
23
24
using namespace
ThePEG
;
25
using namespace
ThePEG::Helicity
;
26
34
class
MEPP2GammaJet
:
public
HwMEBase
{
35
36
public
:
37
41
MEPP2GammaJet
();
42
49
virtual
unsigned
int
orderInAlphaS
()
const
;
50
55
virtual
unsigned
int
orderInAlphaEW
()
const
;
56
64
virtual
double
me2
()
const
;
65
69
virtual
Energy2
scale
()
const
;
70
74
virtual
void
getDiagrams
()
const
;
75
84
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
85
93
virtual
Selector<const ColourLines *>
94
colourGeometries
(tcDiagPtr diag)
const
;
95
99
virtual
void
constructVertex
(
tSubProPtr
);
101
102
103
public
:
104
111
void
persistentOutput
(
PersistentOStream
& os)
const
;
112
118
void
persistentInput
(
PersistentIStream
& is,
int
version);
120
127
static
void
Init
();
128
129
protected
:
130
137
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
138
143
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
145
146
protected
:
147
155
virtual
void
doinit
();
156
166
virtual
void
rebind
(
const
TranslationMap
& trans)
167
;
168
174
virtual
IVector
getReferences
();
176
177
private
:
178
191
double
qqbarME
(vector<SpinorWaveFunction> & fin, vector<SpinorBarWaveFunction> & ain,
192
vector<VectorWaveFunction> & gout, vector<VectorWaveFunction> & pout,
193
bool
me)
const
;
194
203
double
qgME
(vector<SpinorWaveFunction> & fin,vector<VectorWaveFunction> & gin,
204
vector<VectorWaveFunction> & pout,vector<SpinorBarWaveFunction> & fout,
205
bool
me)
const
;
206
215
double
qbargME
(vector<SpinorBarWaveFunction> & ain, vector<VectorWaveFunction> & gin,
216
vector<VectorWaveFunction> & pout, vector<SpinorWaveFunction> & aout,
217
bool
me)
const
;
219
220
private
:
221
226
MEPP2GammaJet
&
operator=
(
const
MEPP2GammaJet
&) =
delete
;
227
228
private
:
229
233
AbstractFFVVertexPtr
_gluonvertex
;
234
238
AbstractFFVVertexPtr
_photonvertex
;
239
243
int
_maxflavour
;
244
248
unsigned
int
_processopt
;
249
253
ProductionMatrixElement
_me
;
254
258
double
scalePreFactor_
;
259
};
260
261
}
262
263
#endif
/* HERWIG_MEPP2GammaJet_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2GammaJet
The MEPP2GammaJet class implements the matrix element for photon+jet production in hadron-hadron coll...
Definition:
MEPP2GammaJet.h:34
Herwig::MEPP2GammaJet::scalePreFactor_
double scalePreFactor_
Scale prefactor.
Definition:
MEPP2GammaJet.h:258
Herwig::MEPP2GammaJet::rebind
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
Herwig::MEPP2GammaJet::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEPP2GammaJet::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2GammaJet::MEPP2GammaJet
MEPP2GammaJet()
The default constructor.
Herwig::MEPP2GammaJet::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEPP2GammaJet::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEPP2GammaJet.h:253
Herwig::MEPP2GammaJet::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2GammaJet::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2GammaJet.h:137
Herwig::MEPP2GammaJet::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEPP2GammaJet::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::MEPP2GammaJet::qbargME
double qbargME(vector< SpinorBarWaveFunction > &ain, vector< VectorWaveFunction > &gin, vector< VectorWaveFunction > &pout, vector< SpinorWaveFunction > &aout, bool me) const
Matrix element for .
Herwig::MEPP2GammaJet::_gluonvertex
AbstractFFVVertexPtr _gluonvertex
Pointer to the quark-antiquark-gluon vertex.
Definition:
MEPP2GammaJet.h:233
Herwig::MEPP2GammaJet::_photonvertex
AbstractFFVVertexPtr _photonvertex
Pointer to the quark-antiquark-photon vertex.
Definition:
MEPP2GammaJet.h:238
Herwig::MEPP2GammaJet::getReferences
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
Herwig::MEPP2GammaJet::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEPP2GammaJet.h:143
Herwig::MEPP2GammaJet::_maxflavour
int _maxflavour
Maximum PDG code of the quarks allowed.
Definition:
MEPP2GammaJet.h:243
Herwig::MEPP2GammaJet::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEPP2GammaJet::operator=
MEPP2GammaJet & operator=(const MEPP2GammaJet &)=delete
The assignment operator is private and must never be called.
Herwig::MEPP2GammaJet::qgME
double qgME(vector< SpinorWaveFunction > &fin, vector< VectorWaveFunction > &gin, vector< VectorWaveFunction > &pout, vector< SpinorBarWaveFunction > &fout, bool me) const
Matrix element for .
Herwig::MEPP2GammaJet::_processopt
unsigned int _processopt
Option for which processes to include.
Definition:
MEPP2GammaJet.h:248
Herwig::MEPP2GammaJet::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEPP2GammaJet::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEPP2GammaJet::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEPP2GammaJet::qqbarME
double qqbarME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< VectorWaveFunction > &gout, vector< VectorWaveFunction > &pout, bool me) const
Members to return the matrix elements for the different subprocesses.
Herwig::MEPP2GammaJet::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEPP2GammaJet::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
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::Rebinder
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::IVector
vector< IBPtr > IVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6