herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEqq2W2ff.h
1// -*- C++ -*-
2//
3// MEqq2W2ff.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_MEqq2W2ff_H
10#define HERWIG_MEqq2W2ff_H
11//
12// This is the declaration of the MEqq2W2ff 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
21namespace Herwig {
22
23using namespace ThePEG;
24using namespace ThePEG::Helicity;
25
33class MEqq2W2ff: public DrellYanBase {
34
35public:
36
41
48 virtual unsigned int orderInAlphaS() const;
49
54 virtual unsigned int orderInAlphaEW() const;
55
63 virtual double me2() const;
64
68 virtual Energy2 scale() const;
69
73 virtual void getDiagrams() const;
74
84
93 colourGeometries(tcDiagPtr diag) const;
94
100
101
102public:
103
111
117 void persistentInput(PersistentIStream & is, int version);
119
126 static void Init();
127
128protected:
129
138 double qqbarME(vector<SpinorWaveFunction> & fin ,
139 vector<SpinorBarWaveFunction> & ain ,
140 vector<SpinorBarWaveFunction> & fout,
141 vector<SpinorWaveFunction> & aout,
142 bool me) const;
143
144protected:
145
152 virtual IBPtr clone() const { return new_ptr(*this); }
153
158 virtual IBPtr fullclone() const { return new_ptr(*this); }
160
161protected:
162
170 virtual void doinit();
172
173private:
174
179 MEqq2W2ff & operator=(const MEqq2W2ff &) = delete;
180
181private:
182
186 AbstractFFVVertexPtr _theFFWVertex;
187
196
202
210 unsigned int _maxflavour;
211
215 unsigned int _plusminus;
216
220 unsigned int _process;
222
227};
228
229}
230
231#endif /* HERWIG_MEqq2W2ff_H */
The DrellYanBase class class provides a base class for the implemented of Drell-Yan type processes an...
Definition: DrellYanBase.h:23
The MEqq2W2ff class implements the matrix element for including the decay of the to Standard Model ...
Definition: MEqq2W2ff.h:33
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
MEqq2W2ff()
The default constructor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
unsigned int _process
Which decay products of the to include.
Definition: MEqq2W2ff.h:220
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: MEqq2W2ff.h:158
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
unsigned int _plusminus
Which intermediate bosons to include.
Definition: MEqq2W2ff.h:215
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
static void Init()
The standard Init function used to initialize the interfaces.
double qqbarME(vector< SpinorWaveFunction > &fin, vector< SpinorBarWaveFunction > &ain, vector< SpinorBarWaveFunction > &fout, vector< SpinorWaveFunction > &aout, bool me) const
Matrix element for .
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.
MEqq2W2ff & operator=(const MEqq2W2ff &)=delete
The assignment operator is private and must never be called.
AbstractFFVVertexPtr _theFFWVertex
Pointer to the W vertex.
Definition: MEqq2W2ff.h:186
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.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
tcPDPtr _wm
Pointer to the .
Definition: MEqq2W2ff.h:200
ProductionMatrixElement _me
Matrix element for spin correlations.
Definition: MEqq2W2ff.h:226
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: MEqq2W2ff.h:152
tcPDPtr _wp
Pointers to the intermediates resonances.
Definition: MEqq2W2ff.h:195
unsigned int _maxflavour
Switches to control the particles in the hard process.
Definition: MEqq2W2ff.h:210
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
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
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr