herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
12 namespace Herwig {
13 
14 using namespace ThePEG;
15 
23 class MEPP2SingleTop: public HwMEBase {
24 
25 public:
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 
73  virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const;
74 
83  colourGeometries(tcDiagPtr diag) const;
84 
88  virtual void constructVertex(tSubProPtr);
90 
91 public:
92 
99  void persistentOutput(PersistentOStream & os) const;
100 
106  void persistentInput(PersistentIStream & is, int version);
108 
115  static void Init();
116 
117 protected:
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 
166 protected:
167 
174  virtual IBPtr clone() const;
175 
180  virtual IBPtr fullclone() const;
182 
183 protected:
184 
192  virtual void doinit();
194 
195 private:
196 
201  MEPP2SingleTop & operator=(const MEPP2SingleTop &) = delete;
202 
203 private:
204 
212  AbstractFFVVertexPtr FFWvertex_;
213 
217  AbstractFFVVertexPtr FFGvertex_;
219 
223  unsigned int process_;
224 
229 
234 
238  int wOption_;
239 
244 
245 };
246 
247 }
248 
249 #endif /* HERWIG_MEPP2SingleTop_H */
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
int wOption_
Treatment of the W mass.
ProductionMatrixElement me_
The matrix element.
The storage of the helicity amplitude expression for the matrix element of a hard process...
The MEPP2SingleTop class implements the matrix element for the production of a single top quark...
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
unsigned int process_
Which processes to include.
int maxflavour_
Allowed flavours of the incoming quarks.
vector< DiagPtr > DiagramVector
-*- C++ -*-
AbstractFFVVertexPtr FFWvertex_
Vertices.
int topOption_
Treatment of the top quark mass.
The HwMEBase class serves a number of purposes.
Definition: HwMEBase.h:35
AbstractFFVVertexPtr FFGvertex_
FFGVertex.