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