herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
Perturbative
SMHiggsWWDecayer.h
1
// -*- C++ -*-
2
//
3
// SMHiggsWWDecayer.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_SMHiggsWWDecayer_H
10
#define HERWIG_SMHiggsWWDecayer_H
11
//
12
// This is the declaration of the SMHiggsWWDecayer class.
13
//
14
15
#include "Herwig/Decay/PerturbativeDecayer.h"
16
#include "Herwig/Decay/PhaseSpaceMode.h"
17
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
18
#include "ThePEG/Helicity/Vertex/AbstractVVSVertex.fh"
19
#include "ThePEG/Helicity/WaveFunction/ScalarWaveFunction.h"
20
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
21
22
namespace
Herwig
{
23
24
using namespace
ThePEG
;
25
using namespace
ThePEG::Helicity
;
26
35
class
SMHiggsWWDecayer
:
public
PerturbativeDecayer
{
36
37
public
:
38
42
typedef
Selector<unsigned int>
ModeSelector
;
43
44
public
:
45
49
SMHiggsWWDecayer
();
50
57
virtual
bool
accept
(
tcPDPtr
parent,
const
tPDVector
& children)
const
;
58
65
virtual
ParticleVector
decay
(
const
Particle
& parent,
66
const
tPDVector
& children)
const
;
67
71
virtual
int
modeNumber
(
bool
&,
tcPDPtr
,
const
tPDVector
& )
const
{
return
-1;}
72
82
double
me2
(
const
int
ichan,
const
Particle
& part,
83
const
tPDVector
&
outgoing
,
84
const
vector<Lorentz5Momentum> & momenta,
85
MEOption
meopt)
const
;
86
90
virtual
void
constructSpinInfo
(
const
Particle
& part,
91
ParticleVector
outgoing
)
const
;
92
98
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
99
100
public
:
101
108
void
persistentOutput
(
PersistentOStream
& os)
const
;
109
115
void
persistentInput
(
PersistentIStream
& is,
int
version);
117
124
static
void
Init
();
125
126
protected
:
127
134
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
135
140
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
142
143
protected
:
144
152
virtual
void
doinit
();
153
158
virtual
void
doinitrun
();
160
161
162
private
:
163
168
SMHiggsWWDecayer
&
operator=
(
const
SMHiggsWWDecayer
&) =
delete
;
169
170
private
:
171
179
AbstractFFVVertexPtr
_theFFWVertex
;
180
184
AbstractFFVVertexPtr
_theFFZVertex
;
185
189
AbstractVVSVertexPtr
_theHVVVertex
;
191
199
ModeSelector
_wdecays
;
200
204
ModeSelector
_zdecays
;
206
210
vector<double>
_ratio
;
211
219
vector<double>
_wmax
;
220
224
vector<double>
_zmax
;
226
230
mutable
RhoDMatrix
_rho
;
231
235
mutable
ScalarWaveFunction
_swave
;
236
240
mutable
vector<SpinorWaveFunction >
_awave1
;
241
245
mutable
vector<SpinorWaveFunction >
_awave2
;
246
250
mutable
vector<SpinorBarWaveFunction>
_fwave1
;
251
255
mutable
vector<SpinorBarWaveFunction>
_fwave2
;
256
};
257
258
}
259
260
#endif
/* HERWIG_SMHiggsWWDecayer_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::PerturbativeDecayer
The PerturbativeDecayer class is the base class for perturbative decays in Herwig and implements the ...
Definition:
PerturbativeDecayer.h:23
Herwig::SMHiggsWWDecayer
The SMHiggsWWDecayer class performs the decay of the Standard Model Higgs boson to and including th...
Definition:
SMHiggsWWDecayer.h:35
Herwig::SMHiggsWWDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::SMHiggsWWDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
SMHiggsWWDecayer.h:230
Herwig::SMHiggsWWDecayer::_zdecays
ModeSelector _zdecays
Selector for the Z decays.
Definition:
SMHiggsWWDecayer.h:204
Herwig::SMHiggsWWDecayer::accept
virtual bool accept(tcPDPtr parent, const tPDVector &children) const
Check if this decayer can perfom the decay for a particular mode.
Herwig::SMHiggsWWDecayer::_theHVVVertex
AbstractVVSVertexPtr _theHVVVertex
Pointer to the higgs-WW/ZZ vertex.
Definition:
SMHiggsWWDecayer.h:189
Herwig::SMHiggsWWDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::SMHiggsWWDecayer::me2
double me2(const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const
Return the matrix element squared for a given mode and phase-space channel.
Herwig::SMHiggsWWDecayer::_awave2
vector< SpinorWaveFunction > _awave2
2nd spinor wavefunction
Definition:
SMHiggsWWDecayer.h:245
Herwig::SMHiggsWWDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::SMHiggsWWDecayer::ModeSelector
Selector< unsigned int > ModeSelector
A typedef to select the boson decay modes.
Definition:
SMHiggsWWDecayer.h:42
Herwig::SMHiggsWWDecayer::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::SMHiggsWWDecayer::modeNumber
virtual int modeNumber(bool &, tcPDPtr, const tPDVector &) const
Which of the possible decays is required.
Definition:
SMHiggsWWDecayer.h:71
Herwig::SMHiggsWWDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
SMHiggsWWDecayer.h:140
Herwig::SMHiggsWWDecayer::_theFFZVertex
AbstractFFVVertexPtr _theFFZVertex
Pointer to the fermion-femion-Z vertex.
Definition:
SMHiggsWWDecayer.h:184
Herwig::SMHiggsWWDecayer::_ratio
vector< double > _ratio
Product of gauge boson branching ratios for normalisation.
Definition:
SMHiggsWWDecayer.h:210
Herwig::SMHiggsWWDecayer::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::SMHiggsWWDecayer::_wmax
vector< double > _wmax
Maximum weights for the decays.
Definition:
SMHiggsWWDecayer.h:219
Herwig::SMHiggsWWDecayer::_wdecays
ModeSelector _wdecays
Selectors for the gauge boson decay modes.
Definition:
SMHiggsWWDecayer.h:199
Herwig::SMHiggsWWDecayer::_theFFWVertex
AbstractFFVVertexPtr _theFFWVertex
Pointers to the vertices for the helicity calculations.
Definition:
SMHiggsWWDecayer.h:179
Herwig::SMHiggsWWDecayer::_fwave1
vector< SpinorBarWaveFunction > _fwave1
1st barred spinor wavefunction
Definition:
SMHiggsWWDecayer.h:250
Herwig::SMHiggsWWDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
SMHiggsWWDecayer.h:134
Herwig::SMHiggsWWDecayer::doinitrun
virtual void doinitrun()
Initialize this object.
Herwig::SMHiggsWWDecayer::_swave
ScalarWaveFunction _swave
Scalar wavefunction.
Definition:
SMHiggsWWDecayer.h:235
Herwig::SMHiggsWWDecayer::SMHiggsWWDecayer
SMHiggsWWDecayer()
The default constructor.
Herwig::SMHiggsWWDecayer::constructSpinInfo
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
Herwig::SMHiggsWWDecayer::decay
virtual ParticleVector decay(const Particle &parent, const tPDVector &children) const
For a given decay mode and a given particle instance, perform the decay and return the decay products...
Herwig::SMHiggsWWDecayer::_fwave2
vector< SpinorBarWaveFunction > _fwave2
2nd barred spinor wavefunction
Definition:
SMHiggsWWDecayer.h:255
Herwig::SMHiggsWWDecayer::_zmax
vector< double > _zmax
Maximum weight for decays.
Definition:
SMHiggsWWDecayer.h:224
Herwig::SMHiggsWWDecayer::operator=
SMHiggsWWDecayer & operator=(const SMHiggsWWDecayer &)=delete
The assignment operator is private and must never be called.
Herwig::SMHiggsWWDecayer::_awave1
vector< SpinorWaveFunction > _awave1
1st spinor wavefunction
Definition:
SMHiggsWWDecayer.h:240
ThePEG::Helicity::ScalarWaveFunction
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity
ThePEG::Helicity::outgoing
outgoing
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6