herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
Perturbative
SMHiggsFermionsDecayer.h
1
// -*- C++ -*-
2
//
3
// SMHiggsFermionsDecayer.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_SMHiggsFermionsDecayer_H
10
#define HERWIG_SMHiggsFermionsDecayer_H
11
//
12
// This is the declaration of the SMHiggsFermionsDecayer class.
13
//
14
15
#include "Herwig/Decay/PerturbativeDecayer.h"
16
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
17
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
18
19
namespace
Herwig
{
20
using namespace
ThePEG
;
21
28
class
SMHiggsFermionsDecayer
:
public
PerturbativeDecayer
{
29
30
public
:
31
35
SMHiggsFermionsDecayer
();
36
40
virtual
int
modeNumber
(
bool
& ,
tcPDPtr
,
const
tPDVector
& )
const
{
return
-1;}
41
48
virtual
bool
accept(
tcPDPtr
parent,
const
tPDVector
& children)
const
;
49
56
virtual
ParticleVector
decay(
const
Particle
& parent,
const
tPDVector
& children)
const
;
57
66
virtual
double
me2(
const
int
ichan,
const
Particle
& part,
67
const
ParticleVector
& decay,
MEOption
meopt)
const
;
68
74
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
78
virtual
POWHEGType
hasPOWHEGCorrection
() {
return
FSR;}
79
83
virtual
double
matrixElementRatio(
const
Particle
& inpart,
const
ParticleVector
& decay2,
84
const
ParticleVector
& decay3,
MEOption
meopt,
85
ShowerInteraction
inter);
86
87
public
:
88
95
void
persistentOutput(
PersistentOStream
& os)
const
;
96
102
void
persistentInput(
PersistentIStream
& is,
int
version);
104
111
static
void
Init();
112
113
protected
:
114
121
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
122
127
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
129
130
protected
:
131
135
double
calculateLambda(
double
x,
double
y,
double
z)
const
;
136
140
InvEnergy2 dipoleSubtractionTerm(
double
x1,
double
x2)
const
;
141
145
InvEnergy2 calculateRealEmission(
double
x1,
double
x2)
const
;
146
150
double
calculateVirtualTerm()
const
;
151
155
double
calculateNonSingletTerm(
double
beta,
double
L)
const
;
156
157
protected
:
158
166
virtual
void
doinit();
167
172
virtual
void
doinitrun();
174
175
private
:
176
181
SMHiggsFermionsDecayer
& operator=(
const
SMHiggsFermionsDecayer
&) =
delete
;
182
183
private
:
184
188
AbstractFFSVertexPtr
_hvertex
;
189
193
vector<double>
_maxwgt
;
194
198
mutable
RhoDMatrix
_rho
;
199
203
mutable
ScalarWaveFunction
_swave
;
204
208
mutable
vector<SpinorWaveFunction>
_wave
;
209
213
mutable
vector<SpinorBarWaveFunction>
_wavebar
;
214
private
:
215
219
double
CF_
;
220
224
mutable
Energy
mHiggs_
;
225
229
mutable
double
mu_
;
230
234
mutable
double
mu2_
;
235
239
mutable
double
aS_
;
240
248
vector<tcPDPtr>
partons_
;
249
253
vector<Lorentz5Momentum>
quark_
;
254
258
Lorentz5Momentum
gauge_
;
259
263
PPtr
higgs_
;
264
268
Energy2
mh2_
;
270
274
bool
NLO_
;
275
};
276
277
}
278
279
#endif
/* HERWIG_SMHiggsFermionsDecayer_H */
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::PersistentIStream
Herwig::SMHiggsFermionsDecayer::CF_
double CF_
The colour factor.
Definition:
SMHiggsFermionsDecayer.h:219
ThePEG::Particle
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
ThePEG::PersistentOStream
Herwig::SMHiggsFermionsDecayer::_swave
ScalarWaveFunction _swave
Scalar wavefunction.
Definition:
SMHiggsFermionsDecayer.h:203
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::SMHiggsFermionsDecayer::partons_
vector< tcPDPtr > partons_
Stuff for the POWHEG correction.
Definition:
SMHiggsFermionsDecayer.h:248
Herwig::SMHiggsFermionsDecayer::_hvertex
AbstractFFSVertexPtr _hvertex
Pointer to the Higgs vertex.
Definition:
SMHiggsFermionsDecayer.h:188
Herwig::SMHiggsFermionsDecayer::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Has a POWHEG style correction.
Definition:
SMHiggsFermionsDecayer.h:78
ThePEG
Herwig::SMHiggsFermionsDecayer
The SMHiggsFermionsDecayer class is designed to decay the Standard Model Higgs to the Standard Model ...
Definition:
SMHiggsFermionsDecayer.h:28
Herwig::SMHiggsFermionsDecayer::NLO_
bool NLO_
LO or NLO ?
Definition:
SMHiggsFermionsDecayer.h:274
Herwig::SMHiggsFermionsDecayer::mh2_
Energy2 mh2_
Higgs mass squared.
Definition:
SMHiggsFermionsDecayer.h:268
Herwig::SMHiggsFermionsDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
SMHiggsFermionsDecayer.h:198
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
ThePEG::Helicity::ScalarWaveFunction
Herwig::SMHiggsFermionsDecayer::quark_
vector< Lorentz5Momentum > quark_
The fermion momenta.
Definition:
SMHiggsFermionsDecayer.h:253
Herwig::SMHiggsFermionsDecayer::mHiggs_
Energy mHiggs_
The Higgs mass.
Definition:
SMHiggsFermionsDecayer.h:224
Herwig::SMHiggsFermionsDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
SMHiggsFermionsDecayer.h:127
Herwig::SMHiggsFermionsDecayer::gauge_
Lorentz5Momentum gauge_
The momentum of the radiated gauge boson.
Definition:
SMHiggsFermionsDecayer.h:258
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::HwDecayerBase::POWHEGType
POWHEGType
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
HwDecayerBase.h:76
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::PerturbativeDecayer
The PerturbativeDecayer class is the base class for perturbative decays in Herwig and implements the ...
Definition:
PerturbativeDecayer.h:23
Herwig::SMHiggsFermionsDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
SMHiggsFermionsDecayer.h:121
Herwig::SMHiggsFermionsDecayer::_wave
vector< SpinorWaveFunction > _wave
Spinor wavefunction.
Definition:
SMHiggsFermionsDecayer.h:208
Herwig::SMHiggsFermionsDecayer::mu_
double mu_
The reduced mass.
Definition:
SMHiggsFermionsDecayer.h:229
Herwig::SMHiggsFermionsDecayer::_maxwgt
vector< double > _maxwgt
maximum weights for the different decay modes
Definition:
SMHiggsFermionsDecayer.h:193
Herwig::SMHiggsFermionsDecayer::modeNumber
virtual int modeNumber(bool &, tcPDPtr, const tPDVector &) const
Which of the possible decays is required.
Definition:
SMHiggsFermionsDecayer.h:40
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::SMHiggsFermionsDecayer::_wavebar
vector< SpinorBarWaveFunction > _wavebar
Barred spinor wavefunction.
Definition:
SMHiggsFermionsDecayer.h:213
Herwig::SMHiggsFermionsDecayer::mu2_
double mu2_
The square of the reduced mass.
Definition:
SMHiggsFermionsDecayer.h:234
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::RhoDMatrix
Herwig::SMHiggsFermionsDecayer::aS_
double aS_
The strong coupling.
Definition:
SMHiggsFermionsDecayer.h:239
Herwig::SMHiggsFermionsDecayer::higgs_
PPtr higgs_
The Higgs boson.
Definition:
SMHiggsFermionsDecayer.h:263
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13