herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEPP2SingleTop.h
1// -*- C++ -*-
2#ifndef HERWIG_MEPP2SingleTop_H
3#define HERWIG_MEPP2SingleTop_H
4//
5// This is the declaration of the MEPP2SingleTop class.
6//
7
8#include "Herwig/MatrixElement/HwMEBase.h"
9#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
10#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11
12namespace Herwig {
13
14using namespace ThePEG;
15
23class MEPP2SingleTop: public HwMEBase {
24
25public:
26
31
38 virtual unsigned int orderInAlphaS() const;
39
44 virtual unsigned int orderInAlphaEW() const;
45
53 virtual double me2() const;
54
58 virtual Energy2 scale() const;
59
63 virtual void getDiagrams() const;
64
74
83 colourGeometries(tcDiagPtr diag) const;
84
90
91public:
92
100
106 void persistentInput(PersistentIStream & is, int version);
108
115 static void Init();
116
117protected:
118
131 double sChannelME(vector<SpinorWaveFunction> & fin ,
132 vector<SpinorBarWaveFunction> & ain ,
133 vector<SpinorBarWaveFunction> & fout,
134 vector<SpinorWaveFunction> & aout,
135 bool me) const;
136
145 double tChannelME(vector<SpinorWaveFunction> & f1 ,
146 vector<SpinorBarWaveFunction> & a1 ,
147 vector<SpinorWaveFunction> & f2,
148 vector<SpinorBarWaveFunction> & a2,
149 bool me) const;
150
159 double tWME(vector<SpinorWaveFunction> & fin,
160 vector<VectorWaveFunction> & gin,
161 vector<SpinorBarWaveFunction> & fout,
162 vector<VectorWaveFunction> & Wout,
163 bool me) const;
165
166protected:
167
174 virtual IBPtr clone() const;
175
180 virtual IBPtr fullclone() const;
182
183protected:
184
192 virtual void doinit();
194
195private:
196
202
203private:
204
212 AbstractFFVVertexPtr FFWvertex_;
213
217 AbstractFFVVertexPtr FFGvertex_;
219
223 unsigned int process_;
224
229
234
239
244
245};
246
247}
248
249#endif /* HERWIG_MEPP2SingleTop_H */
The HwMEBase class serves a number of purposes.
Definition: HwMEBase.h:35
The MEPP2SingleTop class implements the matrix element for the production of a single top quark.
double sChannelME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< SpinorBarWaveFunction > &fout, vector< SpinorWaveFunction > &aout, bool me) const
Matrix Elements ofr the different processes.
virtual IBPtr clone() const
Make a simple clone of this object.
static void Init()
The standard Init function used to initialize the interfaces.
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
MEPP2SingleTop & operator=(const MEPP2SingleTop &)=delete
The assignment operator is private and must never be called.
int topOption_
Treatment of the top quark mass.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ProductionMatrixElement me_
The matrix element.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
int wOption_
Treatment of the W mass.
double tChannelME(vector< SpinorWaveFunction > &f1, vector< SpinorBarWaveFunction > &a1, vector< SpinorWaveFunction > &f2, vector< SpinorBarWaveFunction > &a2, bool me) const
Matrix element for .
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
int maxflavour_
Allowed flavours of the incoming quarks.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
AbstractFFVVertexPtr FFGvertex_
FFGVertex.
AbstractFFVVertexPtr FFWvertex_
Vertices.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
unsigned int process_
Which processes to include.
MEPP2SingleTop()
The default constructor.
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
double tWME(vector< SpinorWaveFunction > &fin, vector< VectorWaveFunction > &gin, vector< SpinorBarWaveFunction > &fout, vector< VectorWaveFunction > &Wout, bool me) const
Matrix element for .
The storage of the helicity amplitude expression for the matrix element of a hard process.
vector< DiagPtr > DiagramVector
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr