herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Hadron
MEPP2QQHiggs.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEPP2QQHiggs_H
3
#define HERWIG_MEPP2QQHiggs_H
4
//
5
// This is the declaration of the MEPP2QQHiggs class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
10
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
11
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
12
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
13
#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
14
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
15
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
16
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
17
#include "Herwig/PDT/GenericMassGenerator.h"
18
19
namespace
Herwig
{
20
21
using namespace
ThePEG
;
22
30
class
MEPP2QQHiggs
:
public
HwMEBase
{
31
32
public
:
33
39
MEPP2QQHiggs
();
41
42
public
:
43
50
virtual
unsigned
int
orderInAlphaS()
const
;
51
56
virtual
unsigned
int
orderInAlphaEW()
const
;
57
65
virtual
double
me2()
const
;
66
70
virtual
Energy2 scale()
const
;
71
79
virtual
void
setKinematics();
80
85
virtual
int
nDim()
const
;
86
95
virtual
bool
generateKinematics(
const
double
* r);
96
101
virtual
CrossSection dSigHatDR()
const
;
102
106
virtual
void
getDiagrams()
const
;
107
116
virtual
Selector<DiagramIndex>
diagrams(
const
DiagramVector
& dv)
const
;
117
125
virtual
Selector<const ColourLines *>
126
colourGeometries(tcDiagPtr diag)
const
;
127
131
virtual
void
constructVertex(
tSubProPtr
);
133
134
protected
:
135
149
double
ggME(vector<VectorWaveFunction> &g1,vector<VectorWaveFunction> &g2,
150
vector<SpinorBarWaveFunction> & q,vector<SpinorWaveFunction> & qbar,
151
ScalarWaveFunction
& h,
152
unsigned
int
flow)
const
;
153
163
double
qqME(vector<SpinorWaveFunction> & q1,
164
vector<SpinorBarWaveFunction> & q2,
165
vector<SpinorBarWaveFunction> & q3,
166
vector<SpinorWaveFunction> & q4,
167
ScalarWaveFunction
& h,
168
unsigned
int
flow)
const
;
170
171
public
:
172
179
void
persistentOutput(
PersistentOStream
& os)
const
;
180
186
void
persistentInput(
PersistentIStream
& is,
int
version);
188
195
static
void
Init();
196
197
protected
:
198
205
virtual
IBPtr
clone()
const
;
206
211
virtual
IBPtr
fullclone()
const
;
213
214
protected
:
215
223
virtual
void
doinit();
225
226
private
:
227
232
MEPP2QQHiggs
& operator=(
const
MEPP2QQHiggs
&) =
delete
;
233
234
private
:
235
243
unsigned
int
quarkFlavour_
;
244
248
unsigned
int
process_
;
250
258
unsigned
int
shapeOpt_
;
259
263
Energy
mh_
;
264
268
Energy
wh_
;
269
273
GenericMassGeneratorPtr
hmass_
;
275
283
AbstractVVVVertexPtr
GGGVertex_
;
284
288
AbstractFFVVertexPtr
QQGVertex_
;
289
293
AbstractFFSVertexPtr
QQHVertex_
;
295
296
304
PDPtr
gluon_
;
305
309
PDPtr
higgs_
;
310
314
vector<PDPtr>
quark_
;
315
319
vector<PDPtr>
antiquark_
;
321
329
double
alpha_
;
331
335
mutable
unsigned
int
flow_
;
336
340
mutable
unsigned
int
diagram_
;
341
345
mutable
ProductionMatrixElement
me_
;
346
};
347
348
}
349
350
#endif
/* HERWIG_MEPP2QQHiggs_H */
ThePEG::PersistentIStream
Herwig::MEPP2QQHiggs::QQGVertex_
AbstractFFVVertexPtr QQGVertex_
vertex
Definition:
MEPP2QQHiggs.h:288
Herwig::MEPP2QQHiggs::quark_
vector< PDPtr > quark_
the quarks
Definition:
MEPP2QQHiggs.h:314
ThePEG::PersistentOStream
Herwig::MEPP2QQHiggs::QQHVertex_
AbstractFFSVertexPtr QQHVertex_
vertex
Definition:
MEPP2QQHiggs.h:293
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEPP2QQHiggs::higgs_
PDPtr higgs_
The Higgs boson.
Definition:
MEPP2QQHiggs.h:309
ThePEG
Herwig::MEPP2QQHiggs::process_
unsigned int process_
Processes to include.
Definition:
MEPP2QQHiggs.h:248
ThePEG::Helicity::ScalarWaveFunction
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process...
Definition:
ProductionMatrixElement.h:34
Herwig::MEPP2QQHiggs::shapeOpt_
unsigned int shapeOpt_
Switches etc for the Higgs mass generation.
Definition:
MEPP2QQHiggs.h:258
Herwig::MEPP2QQHiggs::GGGVertex_
AbstractVVVVertexPtr GGGVertex_
Vertices needed to compute the diagrams.
Definition:
MEPP2QQHiggs.h:283
Herwig::MEPP2QQHiggs::flow_
unsigned int flow_
Colour flow.
Definition:
MEPP2QQHiggs.h:335
Herwig::MEPP2QQHiggs::me_
ProductionMatrixElement me_
Matrix element.
Definition:
MEPP2QQHiggs.h:345
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::MEPP2QQHiggs::gluon_
PDPtr gluon_
ParticleData objects of the particles.
Definition:
MEPP2QQHiggs.h:304
ThePEG::Selector
Herwig::MEPP2QQHiggs::quarkFlavour_
unsigned int quarkFlavour_
Switches to control the subprocess.
Definition:
MEPP2QQHiggs.h:243
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MEPP2QQHiggs::wh_
Energy wh_
On-shell width for the higgs.
Definition:
MEPP2QQHiggs.h:268
Herwig::MEPP2QQHiggs::diagram_
unsigned int diagram_
Diagram.
Definition:
MEPP2QQHiggs.h:340
Herwig::MEPP2QQHiggs::alpha_
double alpha_
Parameters for the phase-space generation.
Definition:
MEPP2QQHiggs.h:329
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::MEPP2QQHiggs::hmass_
GenericMassGeneratorPtr hmass_
The mass generator for the Higgs.
Definition:
MEPP2QQHiggs.h:273
Herwig::MEPP2QQHiggs::antiquark_
vector< PDPtr > antiquark_
the antiquarks
Definition:
MEPP2QQHiggs.h:319
Herwig::MEPP2QQHiggs
The MEPP2QQHiggs class implements the matrix elements for and .
Definition:
MEPP2QQHiggs.h:30
Herwig::MEPP2QQHiggs::mh_
Energy mh_
On-shell mass for the higgs.
Definition:
MEPP2QQHiggs.h:263
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13