herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Lepton
MEee2Higgs2SM.h
1
// -*- C++ -*-
2
//
3
// MEee2Higgs2SM.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_MEee2Higgs2SM_H
10
#define HERWIG_MEee2Higgs2SM_H
11
//
12
// This is the declaration of the MEee2Higgs2SM class.
13
//
14
15
#include "ThePEG/MatrixElement/ME2to2Base.h"
16
#include "Herwig/Models/StandardModel/StandardModel.h"
17
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
18
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
19
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
20
21
namespace
Herwig
{
22
23
using namespace
ThePEG
;
24
33
class
MEee2Higgs2SM
:
public
ME2to2Base
{
34
35
public
:
36
40
inline
MEee2Higgs2SM
() :
allowed_
(0) {}
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
sub);
100
101
public
:
102
109
void
persistentOutput
(
PersistentOStream
& os)
const
;
110
116
void
persistentInput
(
PersistentIStream
& is,
int
version);
118
125
static
void
Init
();
126
127
protected
:
128
135
inline
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
136
141
inline
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
143
144
protected
:
145
153
virtual
void
doinit
();
154
164
virtual
void
rebind
(
const
TranslationMap
& trans)
165
;
166
172
virtual
IVector
getReferences
();
174
175
private
:
176
185
ProductionMatrixElement
HelicityME
(vector<SpinorWaveFunction> fin,
186
vector<SpinorBarWaveFunction> ain,
187
vector<SpinorBarWaveFunction> fout,
188
vector<SpinorWaveFunction> aout,
double
& me)
const
;
197
ProductionMatrixElement
ggME
(vector<SpinorWaveFunction> fin,
198
vector<SpinorBarWaveFunction> ain,
199
vector<VectorWaveFunction> g1,
200
vector<VectorWaveFunction> g2,
201
double
& me)
const
;
210
ProductionMatrixElement
WWME
(vector<SpinorWaveFunction> fin,
211
vector<SpinorBarWaveFunction> ain,
212
vector<VectorWaveFunction> g1,
213
vector<VectorWaveFunction> g2,
214
double
& me)
const
;
215
216
private
:
217
222
MEee2Higgs2SM
&
operator=
(
const
MEee2Higgs2SM
&) =
delete
;
223
224
private
:
225
229
AbstractFFSVertexPtr
FFHVertex_
;
230
234
AbstractVVSVertexPtr
HGGVertex_
;
235
239
AbstractVVSVertexPtr
HWWVertex_
;
240
244
int
allowed_
;
245
249
PDPtr
h0_
;
250
};
251
252
}
253
254
#endif
/* HERWIG_MEee2Higgs2SM_H */
Herwig::MEee2Higgs2SM
The MEee2Higgs2SM class implements the production of an -channel Higgs in collisions in order to all...
Definition:
MEee2Higgs2SM.h:33
Herwig::MEee2Higgs2SM::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEee2Higgs2SM::operator=
MEee2Higgs2SM & operator=(const MEee2Higgs2SM &)=delete
The assignment operator is private and must never be called.
Herwig::MEee2Higgs2SM::HGGVertex_
AbstractVVSVertexPtr HGGVertex_
Pointer to Higgs-gluon-gluon vertex.
Definition:
MEee2Higgs2SM.h:234
Herwig::MEee2Higgs2SM::allowed_
int allowed_
Allowed outgoing particles.
Definition:
MEee2Higgs2SM.h:244
Herwig::MEee2Higgs2SM::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEee2Higgs2SM::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEee2Higgs2SM.h:141
Herwig::MEee2Higgs2SM::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEee2Higgs2SM::getReferences
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
Herwig::MEee2Higgs2SM::FFHVertex_
AbstractFFSVertexPtr FFHVertex_
Pointer to the Higgs fermion-antifermion vertex.
Definition:
MEee2Higgs2SM.h:229
Herwig::MEee2Higgs2SM::ggME
ProductionMatrixElement ggME(vector< SpinorWaveFunction > fin, vector< SpinorBarWaveFunction > ain, vector< VectorWaveFunction > g1, vector< VectorWaveFunction > g2, double &me) const
matrix element
Herwig::MEee2Higgs2SM::h0_
PDPtr h0_
Pointer to the Higgs ParticleData object.
Definition:
MEee2Higgs2SM.h:249
Herwig::MEee2Higgs2SM::constructVertex
virtual void constructVertex(tSubProPtr sub)
set up the spin correlations
Herwig::MEee2Higgs2SM::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEee2Higgs2SM.h:135
Herwig::MEee2Higgs2SM::rebind
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
Herwig::MEee2Higgs2SM::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEee2Higgs2SM::MEee2Higgs2SM
MEee2Higgs2SM()
The default constructor.
Definition:
MEee2Higgs2SM.h:40
Herwig::MEee2Higgs2SM::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEee2Higgs2SM::WWME
ProductionMatrixElement WWME(vector< SpinorWaveFunction > fin, vector< SpinorBarWaveFunction > ain, vector< VectorWaveFunction > g1, vector< VectorWaveFunction > g2, double &me) const
matrix element
Herwig::MEee2Higgs2SM::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::MEee2Higgs2SM::HWWVertex_
AbstractVVSVertexPtr HWWVertex_
Pointer to Higgs-WW vertex.
Definition:
MEee2Higgs2SM.h:239
Herwig::MEee2Higgs2SM::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEee2Higgs2SM::HelicityME
ProductionMatrixElement HelicityME(vector< SpinorWaveFunction > fin, vector< SpinorBarWaveFunction > ain, vector< SpinorBarWaveFunction > fout, vector< SpinorWaveFunction > aout, double &me) const
The matrix element.
Herwig::MEee2Higgs2SM::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEee2Higgs2SM::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEee2Higgs2SM::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::MEee2Higgs2SM::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::ME2to2Base
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Rebinder
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
ThePEG::IVector
vector< IBPtr > IVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6