herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
Perturbative
SMTopDecayer.h
1
// -*- C++ -*-
2
//
3
// SMTopDecayer.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_SMTopDecayer_H
10
#define HERWIG_SMTopDecayer_H
11
//
12
// This is the declaration of the SMTopDecayer class.
13
//
14
15
#include "Herwig/Decay/PerturbativeDecayer.h"
16
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
17
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
18
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
19
#include "Herwig/Models/StandardModel/StandardModel.h"
20
#include "Herwig/Shower/ShowerAlpha.fh"
21
22
namespace
Herwig
{
23
using namespace
ThePEG
;
24
using namespace
ThePEG::Helicity
;
25
33
class
SMTopDecayer
:
public
PerturbativeDecayer
{
34
35
public
:
36
40
SMTopDecayer
();
41
42
public
:
43
52
virtual
bool
hasMECorrection
() {
return
true
;}
53
57
virtual
void
initializeMECorrection(RealEmissionProcessPtr ,
double
& ,
58
double
& );
59
72
virtual
bool
softMatrixElementVeto(
PPtr
parent,
73
PPtr
progenitor,
74
const
bool
& fs,
75
const
Energy & highestpT,
76
const
vector<tcPDPtr> & ids,
77
const
double
& z,
78
const
Energy & scale,
79
const
Energy & pT);
80
84
virtual
POWHEGType
hasPOWHEGCorrection
() {
return
FSR;}
86
87
public
:
88
92
virtual
int
modeNumber
(
bool
& ,
tcPDPtr
,
const
tPDVector
& )
const
{
return
-1;}
93
100
virtual
bool
accept(
tcPDPtr
parent,
const
tPDVector
& children)
const
;
101
108
virtual
ParticleVector
decay(
const
Particle
& parent,
109
const
tPDVector
& children)
const
;
110
119
virtual
double
me2(
const
int
ichan,
const
Particle
& part,
120
const
ParticleVector
& decay,
MEOption
meopt)
const
;
121
127
virtual
WidthCalculatorBasePtr threeBodyMEIntegrator(
const
DecayMode
& dm)
const
;
128
139
virtual
InvEnergy threeBodydGammads(
const
int
imode,
const
Energy2 q2,
140
const
Energy2 s,
const
Energy m1,
141
const
Energy m2,
const
Energy m3)
const
;
142
148
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
149
150
public
:
151
158
void
persistentOutput(
PersistentOStream
& os)
const
;
159
165
void
persistentInput(
PersistentIStream
& is,
int
version);
167
174
static
void
Init();
175
176
protected
:
177
181
Energy6 dGammaIntegrand(Energy2 mffb2, Energy2 mbf2, Energy mt, Energy mb,
182
Energy mf, Energy mfb, Energy mw)
const
;
183
184
protected
:
185
192
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
193
198
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
200
201
protected
:
202
210
virtual
void
doinit();
211
216
virtual
void
doinitrun();
218
219
protected
:
220
227
double
xgbcut(
double
);
228
234
double
me(
double
xw,
double
xg);
235
236
protected
:
237
241
virtual
double
matrixElementRatio(
const
Particle
& inpart,
const
ParticleVector
& decay2,
242
const
ParticleVector
& decay3,
MEOption
meopt,
243
ShowerInteraction
inter);
244
248
double
loME(
const
Particle
& inpart,
const
ParticleVector
& decay);
249
253
double
realME(
const
Particle
& inpart,
const
ParticleVector
& decay,
254
ShowerInteraction
inter);
255
256
private
:
257
262
SMTopDecayer
& operator=(
const
SMTopDecayer
&) =
delete
;
263
267
AbstractFFVVertexPtr
FFWVertex_
;
268
272
AbstractFFVVertexPtr
FFGVertex_
;
273
277
AbstractFFVVertexPtr
FFPVertex_
;
278
282
AbstractVVVVertexPtr
WWWVertex_
;
283
291
vector<double>
_wquarkwgt
;
292
296
vector<double>
_wleptonwgt
;
298
302
PDPtr
_wplus
;
303
307
mutable
RhoDMatrix
_rho
;
308
312
mutable
vector<SpinorWaveFunction >
_inHalf
;
313
317
mutable
vector<SpinorWaveFunction >
_outHalf
;
318
322
mutable
vector<SpinorBarWaveFunction>
_inHalfBar
;
323
327
mutable
vector<SpinorBarWaveFunction>
_outHalfBar
;
328
332
Energy
_ma
;
333
337
Energy
_mc
;
338
342
Energy
_mt
;
343
347
Energy
_mg
;
348
352
double
_a
;
353
357
double
_c
;
358
362
double
_g
;
363
367
double
_ktb
;
368
372
double
_ktc
;
373
374
379
double
_xg_sampling
;
380
384
double
_initialenhance
;
385
389
double
_finalenhance
;
390
};
391
392
}
393
394
#endif
/* HERWIG_SMTopDecayer_H */
Herwig::SMTopDecayer::FFPVertex_
AbstractFFVVertexPtr FFPVertex_
Pointer to the photon vertex.
Definition:
SMTopDecayer.h:277
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
Herwig::SMTopDecayer::_mt
Energy _mt
The top mass.
Definition:
SMTopDecayer.h:342
ThePEG::PersistentIStream
Herwig::SMTopDecayer::_g
double _g
The mass ratio for the gluon.
Definition:
SMTopDecayer.h:362
Herwig::SMTopDecayer::_ktb
double _ktb
Two times the energy fraction of a.
Definition:
SMTopDecayer.h:367
ThePEG::Particle
ThePEG::Helicity
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
Herwig::SMTopDecayer::_wleptonwgt
vector< double > _wleptonwgt
Weight .
Definition:
SMTopDecayer.h:296
ThePEG::PersistentOStream
Herwig::SMTopDecayer::_inHalfBar
vector< SpinorBarWaveFunction > _inHalfBar
1st barred spinor for the decay
Definition:
SMTopDecayer.h:322
Herwig::SMTopDecayer::_initialenhance
double _initialenhance
The enhancement factor for initial-state radiation.
Definition:
SMTopDecayer.h:384
Herwig::SMTopDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
SMTopDecayer.h:192
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::SMTopDecayer::_ma
Energy _ma
The mass of the W boson.
Definition:
SMTopDecayer.h:332
Herwig::SMTopDecayer::FFGVertex_
AbstractFFVVertexPtr FFGVertex_
Pointer to the gluon vertex.
Definition:
SMTopDecayer.h:272
ThePEG
Herwig::SMTopDecayer::_rho
RhoDMatrix _rho
Spin density matrix for the decay.
Definition:
SMTopDecayer.h:307
Herwig::SMTopDecayer::_outHalfBar
vector< SpinorBarWaveFunction > _outHalfBar
2nd barred spinor for the decay
Definition:
SMTopDecayer.h:327
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::SMTopDecayer::_mc
Energy _mc
The mass of the bottom quark.
Definition:
SMTopDecayer.h:337
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
Herwig::SMTopDecayer::_mg
Energy _mg
The gluon mass.
Definition:
SMTopDecayer.h:347
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
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::SMTopDecayer::_finalenhance
double _finalenhance
The enhancement factor for final-state radiation.
Definition:
SMTopDecayer.h:389
Herwig::SMTopDecayer::_ktc
double _ktc
Two times the energy fraction of the gluon.
Definition:
SMTopDecayer.h:372
Herwig::SMTopDecayer::_wplus
PDPtr _wplus
Pointer to the .
Definition:
SMTopDecayer.h:302
Herwig::SMTopDecayer::_outHalf
vector< SpinorWaveFunction > _outHalf
2nd spinor for the decay
Definition:
SMTopDecayer.h:317
Herwig::SMTopDecayer::_c
double _c
The mass ratio for the bottom.
Definition:
SMTopDecayer.h:357
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::DecayMode
Herwig::SMTopDecayer::modeNumber
virtual int modeNumber(bool &, tcPDPtr, const tPDVector &) const
Which of the possible decays is required.
Definition:
SMTopDecayer.h:92
Herwig::SMTopDecayer::_a
double _a
The mass ratio for the W.
Definition:
SMTopDecayer.h:352
Herwig::SMTopDecayer
The SMTopDecayer performs decays of the top quark into the bottom quark and qqbar pairs or to the bot...
Definition:
SMTopDecayer.h:33
Herwig::SMTopDecayer::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Has a POWHEG style correction.
Definition:
SMTopDecayer.h:84
Herwig::SMTopDecayer::FFWVertex_
AbstractFFVVertexPtr FFWVertex_
Pointer to the W vertex.
Definition:
SMTopDecayer.h:267
Herwig::SMTopDecayer::WWWVertex_
AbstractVVVVertexPtr WWWVertex_
Pointer to the photon vertex.
Definition:
SMTopDecayer.h:282
Herwig::SMTopDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
SMTopDecayer.h:198
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::RhoDMatrix
Herwig::SMTopDecayer::_wquarkwgt
vector< double > _wquarkwgt
Max weight for integration.
Definition:
SMTopDecayer.h:291
Herwig::SMTopDecayer::hasMECorrection
virtual bool hasMECorrection()
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
SMTopDecayer.h:52
Herwig::SMTopDecayer::_xg_sampling
double _xg_sampling
This determines the hard matrix element importance sampling in _xg.
Definition:
SMTopDecayer.h:379
Herwig::SMTopDecayer::_inHalf
vector< SpinorWaveFunction > _inHalf
1st spinor for the decay
Definition:
SMTopDecayer.h:312
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13