herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Hadron
MEqq2gZ2ff.h
1
// -*- C++ -*-
2
//
3
// MEqq2gZ2ff.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_MEqq2gZ2ff_H
10
#define HERWIG_MEqq2gZ2ff_H
11
//
12
// This is the declaration of the MEqq2gZ2ff class.
13
//
14
15
#include "Herwig/MatrixElement/DrellYanBase.h"
16
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
17
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
18
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
19
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
20
21
namespace
Herwig
{
22
23
using namespace
ThePEG
;
24
using namespace
ThePEG::Helicity
;
25
34
class
MEqq2gZ2ff
:
public
DrellYanBase
{
35
36
public
:
37
41
MEqq2gZ2ff
();
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
139
double
qqbarME
(vector<SpinorWaveFunction> & fin ,
140
vector<SpinorBarWaveFunction> & ain ,
141
vector<SpinorBarWaveFunction> & fout,
142
vector<SpinorWaveFunction> & aout,
143
bool
me)
const
;
144
145
protected
:
146
153
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
154
159
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
161
162
protected
:
163
171
virtual
void
doinit
();
173
174
private
:
175
180
MEqq2gZ2ff
&
operator=
(
const
MEqq2gZ2ff
&) =
delete
;
181
182
private
:
183
191
AbstractFFVVertexPtr
_theFFZVertex
;
192
196
AbstractFFVVertexPtr
_theFFPVertex
;
198
206
tcPDPtr
_z0
;
207
211
tcPDPtr
_gamma
;
213
221
int
_minflavour
;
222
226
int
_maxflavour
;
227
231
unsigned
int
_gammaZ
;
232
236
int
_process
;
238
242
ProductionMatrixElement
_me
;
243
247
bool
spinCorrelations_
;
248
};
249
250
}
251
252
#endif
/* HERWIG_MEqq2gZ2ff_H */
Herwig::DrellYanBase
The DrellYanBase class class provides a base class for the implemented of Drell-Yan type processes an...
Definition:
DrellYanBase.h:23
Herwig::MEqq2gZ2ff
The MEqq2gZ2ff class implements the products of Standard Model fermion antifermion pairs via the res...
Definition:
MEqq2gZ2ff.h:34
Herwig::MEqq2gZ2ff::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEqq2gZ2ff::_gamma
tcPDPtr _gamma
Pointer to the photon ParticleData object.
Definition:
MEqq2gZ2ff.h:211
Herwig::MEqq2gZ2ff::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEqq2gZ2ff.h:159
Herwig::MEqq2gZ2ff::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEqq2gZ2ff::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEqq2gZ2ff::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEqq2gZ2ff::constructVertex
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
Herwig::MEqq2gZ2ff::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEqq2gZ2ff::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEqq2gZ2ff::_me
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition:
MEqq2gZ2ff.h:242
Herwig::MEqq2gZ2ff::_minflavour
int _minflavour
Switches to control the particles in the hard process.
Definition:
MEqq2gZ2ff.h:221
Herwig::MEqq2gZ2ff::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEqq2gZ2ff.h:153
Herwig::MEqq2gZ2ff::MEqq2gZ2ff
MEqq2gZ2ff()
The default constructor.
Herwig::MEqq2gZ2ff::operator=
MEqq2gZ2ff & operator=(const MEqq2gZ2ff &)=delete
The assignment operator is private and must never be called.
Herwig::MEqq2gZ2ff::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEqq2gZ2ff::_process
int _process
Which processes to include.
Definition:
MEqq2gZ2ff.h:236
Herwig::MEqq2gZ2ff::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEqq2gZ2ff::qqbarME
double qqbarME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< SpinorBarWaveFunction > &fout, vector< SpinorWaveFunction > &aout, bool me) const
Matrix element for .
Herwig::MEqq2gZ2ff::_z0
tcPDPtr _z0
Pointers to the intermediate resonances.
Definition:
MEqq2gZ2ff.h:206
Herwig::MEqq2gZ2ff::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Pointer to the vertices for the helicity calculations.
Definition:
MEqq2gZ2ff.h:191
Herwig::MEqq2gZ2ff::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::MEqq2gZ2ff::_maxflavour
int _maxflavour
Maximum allowed flavour for the incoming quarks.
Definition:
MEqq2gZ2ff.h:226
Herwig::MEqq2gZ2ff::_gammaZ
unsigned int _gammaZ
Whether to include both and or only one.
Definition:
MEqq2gZ2ff.h:231
Herwig::MEqq2gZ2ff::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEqq2gZ2ff::spinCorrelations_
bool spinCorrelations_
Whether of not to construct the vertex for spin correlations.
Definition:
MEqq2gZ2ff.h:247
Herwig::MEqq2gZ2ff::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEqq2gZ2ff::_theFFPVertex
AbstractFFVVertexPtr _theFFPVertex
Pointer to the photon vertex.
Definition:
MEqq2gZ2ff.h:196
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