Herwig 7.3.0
|
The HwDecayerBase class is the base class for Decayers in Herwig. More...
#include <HwDecayerBase.h>
Public Member Functions | |
HwDecayerBase () | |
The default constructor. | |
Public Member Functions inherited from ThePEG::Decayer | |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual bool | accept (const DecayMode &dm) const=0 |
virtual bool | needsFullStep () const |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const=0 |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p, Step &step) const |
virtual double | brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const |
virtual double | brat (const DecayMode &dm, const Particle &p, double oldbrat) const |
virtual ParticleVector | getChildren (const DecayMode &dm, const Particle &parent) const |
virtual void | finalBoost (const Particle &parent, const ParticleVector &children) const |
virtual void | setScales (const Particle &parent, const ParticleVector &children) const |
Ptr< Amplitude >::pointer | amplitude () const |
Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Protected Member Functions | |
Virtual functions to replaced those from the Decayer class. | |
This is so that the decay and accept members of this class can handle all the more complicated features of the DecayMode class | |
virtual bool | accept (tcPDPtr parent, const tPDVector &children) const =0 |
Check if this decayer can perfom the decay for a particular mode. | |
virtual ParticleVector | decay (const Particle &parent, const tPDVector &children) const =0 |
Perform the decay of the particle to the specified decay products. | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Virtual functions required by the Decayer class. | |
enum | POWHEGType { No , ISR , FSR , Both } |
Virtual members to be overridden by inheriting classes which implement hard corrections. More... | |
virtual bool | accept (const DecayMode &dm) const |
Check if this decayer can perfom the decay specified by the given decay mode. | |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const |
Perform a decay for a given DecayMode and a given Particle instance. | |
virtual POWHEGType | hasPOWHEGCorrection () |
Has a POWHEG style correction. | |
virtual bool | hasMECorrection () |
Has an old fashioned ME correction. | |
virtual void | initializeMECorrection (RealEmissionProcessPtr, double &, double &) |
Initialize the ME correction. | |
virtual RealEmissionProcessPtr | applyHardMatrixElementCorrection (RealEmissionProcessPtr) |
Apply the hard matrix element correction to a given hard process or decay. | |
virtual bool | softMatrixElementVeto (PPtr parent, PPtr progenitor, const bool &fs, const Energy &highestpT, const vector< tcPDPtr > &ids, const double &z, const Energy &scale, const Energy &pT) |
Apply the soft matrix element correction. | |
virtual RealEmissionProcessPtr | generateHardest (RealEmissionProcessPtr) |
Apply the POWHEG style correction. | |
Standard Interfaced functions. | |
bool | _initialize |
perform initialisation | |
bool | _dbOutput |
Print out database | |
virtual void | dofinish () |
Finalize this object. | |
HwDecayerBase & | operator= (const HwDecayerBase &)=delete |
The assignment operator is private and must never be called. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
virtual void | dataBaseOutput (ofstream &os, bool header) const =0 |
Functions for the Herwig decayer. | |
bool | initialize () const |
Access to the initialize variable. | |
bool | databaseOutput () const |
Access the database output variable. | |
void | fixRho (RhoDMatrix &) const |
Set rho to be diagonal if no correlations. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Static Public Member Functions inherited from ThePEG::Decayer | |
static void | Init () |
static ParticleVector | DecayParticle (tPPtr parent, Step &step, long maxtry=1000) |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
The HwDecayerBase class is the base class for Decayers in Herwig.
It inherits from the Decayer class of ThePEG and implements additional functionality for the output of the results to the particle database and initialization of the datbase.
It also provide the option of specifying a class based on the DecayRadiationGenerator which should be used to generate QED radiation in the decay
Definition at line 37 of file HwDecayerBase.h.
Virtual members to be overridden by inheriting classes which implement hard corrections.
Type of POWHEG correction
Definition at line 76 of file HwDecayerBase.h.
|
inline |
The default constructor.
Definition at line 44 of file HwDecayerBase.h.
|
virtual |
Check if this decayer can perfom the decay specified by the given decay mode.
dm | the DecayMode describing the decay. |
Implements ThePEG::Decayer.
|
protectedpure virtual |
Check if this decayer can perfom the decay for a particular mode.
parent | The decaying particle |
children | The decay products |
Implemented in Herwig::BaryonFactorizedDecayer, Herwig::SemiLeptonicBaryonDecayer, Herwig::DecayIntegrator, Herwig::Hw64Decayer, Herwig::MamboDecayer, Herwig::BtoSGammaDecayer, Herwig::HeavyDecayer, Herwig::QuarkoniumDecayer, Herwig::WeakPartonicDecayer, Herwig::SMHiggsFermionsDecayer, Herwig::SMHiggsGGHiggsPPDecayer, Herwig::SMHiggsWWDecayer, Herwig::SMTopDecayer, Herwig::ScalarMesonFactorizedDecayer, Herwig::SemiLeptonicScalarDecayer, Herwig::TauDecayer, and Herwig::PartonicDecayerBase.
|
virtual |
Apply the hard matrix element correction to a given hard process or decay.
Reimplemented in Herwig::PerturbativeDecayer.
|
inline |
Access the database output variable.
Definition at line 200 of file HwDecayerBase.h.
References _dbOutput.
|
pure virtual |
Functions for the Herwig decayer.
Output the setup information for the particle database
os | The stream to output the information to |
header | Whether or not to output the information for MySQL |
Implemented in Herwig::Baryon1MesonDecayerBase, Herwig::BaryonFactorizedDecayer, Herwig::KornerKramerCharmDecayer, Herwig::NonLeptonicHyperonDecayer, Herwig::NonLeptonicOmegaDecayer, Herwig::OmegaXiStarPionDecayer, Herwig::RadiativeDoublyHeavyBaryonDecayer, Herwig::RadiativeHeavyBaryonDecayer, Herwig::RadiativeHyperonDecayer, Herwig::SemiLeptonicBaryonDecayer, Herwig::StrongHeavyBaryonDecayer, Herwig::SU3BaryonDecupletOctetPhotonDecayer, Herwig::SU3BaryonDecupletOctetScalarDecayer, Herwig::SU3BaryonOctetDecupletScalarDecayer, Herwig::SU3BaryonOctetOctetPhotonDecayer, Herwig::SU3BaryonOctetOctetScalarDecayer, Herwig::SU3BaryonSingletOctetPhotonDecayer, Herwig::SU3BaryonSingletOctetScalarDecayer, Herwig::DalitzBase, Herwig::ScalarTo3ScalarDalitz, Herwig::VectorTo3PseudoScalarDalitz, Herwig::DecayIntegrator, Herwig::HQETRadiativeDecayer, Herwig::HQETStrongDecayer, Herwig::Hw64Decayer, Herwig::MamboDecayer, Herwig::BtoSGammaDecayer, Herwig::HeavyDecayer, Herwig::PartonicDecayerBase, Herwig::QuarkoniumDecayer, Herwig::WeakPartonicDecayer, Herwig::SMHiggsFermionsDecayer, Herwig::SMHiggsGGHiggsPPDecayer, Herwig::SMHiggsWWDecayer, Herwig::SMTopDecayer, Herwig::SMWDecayer, Herwig::SMZDecayer, Herwig::EtaPiGammaGammaDecayer, Herwig::EtaPiPiFermionsDecayer, Herwig::EtaPiPiGammaDecayer, Herwig::EtaPiPiPiDecayer, Herwig::PScalar4FermionsDecayer, Herwig::PScalarLeptonNeutrinoDecayer, Herwig::PScalarPScalarVectorDecayer, Herwig::PScalarVectorFermionsDecayer, Herwig::PScalarVectorVectorDecayer, Herwig::PseudoScalar2FermionsDecayer, Herwig::Scalar2FermionsDecayer, Herwig::ScalarMesonFactorizedDecayer, Herwig::ScalarMesonTensorScalarDecayer, Herwig::ScalarScalarScalarDecayer, Herwig::ScalarVectorVectorDecayer, Herwig::SemiLeptonicScalarDecayer, Herwig::TauDecayer, Herwig::PseudoTensorMesonTensorVectorDecayer, Herwig::PseudoTensorMesonVectorVectorDecayer, Herwig::Spin3Meson2PScalarDecayer, Herwig::Spin3MesonTensorPScalarDecayer, Herwig::Spin3MesonTensorVectorDecayer, Herwig::Spin3MesonVectorPScalarDecayer, Herwig::Spin3MesonVectorScalarDecayer, Herwig::TensorMeson2PScalarDecayer, Herwig::TensorMesonSpin3VectorDecayer, Herwig::TensorMesonTensorPScalarDecayer, Herwig::TensorMesonTensorScalarDecayer, Herwig::TensorMesonVectorPScalarDecayer, Herwig::TensorMesonVectorScalarDecayer, Herwig::TensorMesonVectorVectorDecayer, Herwig::a1SimpleDecayer, Herwig::a1ThreePionCLEODecayer, Herwig::a1ThreePionDecayer, Herwig::f1FourPiDecayer, Herwig::f1RhoPiPiDecayer, Herwig::OniumToOniumPiPiDecayer, Herwig::VectorMeson2FermionDecayer, Herwig::VectorMeson2MesonDecayer, Herwig::VectorMeson2SpinHalfBaryonsDecayer, Herwig::VectorMeson2SpinThreeHalfBaryonsDecayer, Herwig::VectorMesonPScalarFermionsDecayer, Herwig::VectorMesonTensorVectorDecayer, Herwig::VectorMesonVectorPScalarDecayer, Herwig::VectorMesonVectorScalarDecayer, and Herwig::VectorMesonVectorVectorDecayer.
|
virtual |
Perform a decay for a given DecayMode and a given Particle instance.
dm | the DecayMode describing the decay. |
p | the Particle instance to be decayed. |
Implements ThePEG::Decayer.
Reimplemented in Herwig::PartonicDecayerBase.
|
protectedpure virtual |
Perform the decay of the particle to the specified decay products.
parent | The decaying particle |
children | The decay products |
Implemented in Herwig::DecayIntegrator, Herwig::GeneralFourBodyDecayer, Herwig::GeneralThreeBodyDecayer, Herwig::GeneralTwoBodyDecayer, Herwig::Hw64Decayer, Herwig::MamboDecayer, Herwig::BtoSGammaDecayer, Herwig::HeavyDecayer, Herwig::QuarkoniumDecayer, Herwig::WeakPartonicDecayer, Herwig::SMHiggsFermionsDecayer, Herwig::SMHiggsGGHiggsPPDecayer, Herwig::SMHiggsWWDecayer, Herwig::SMTopDecayer, Herwig::SMWDecayer, Herwig::SMZDecayer, Herwig::f1FourPiDecayer, Herwig::f1RhoPiPiDecayer, and Herwig::PartonicDecayerBase.
|
protectedvirtual |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
|
virtual |
Apply the POWHEG style correction.
Reimplemented in Herwig::PerturbativeDecayer.
|
inlinevirtual |
Has an old fashioned ME correction.
Reimplemented in Herwig::SMTopDecayer, Herwig::SMWDecayer, and Herwig::SMZDecayer.
Definition at line 88 of file HwDecayerBase.h.
|
inlinevirtual |
Has a POWHEG style correction.
Reimplemented in Herwig::FFSDecayer, Herwig::FFVDecayer, Herwig::SFFDecayer, Herwig::SSSDecayer, Herwig::SSVDecayer, Herwig::SVVDecayer, Herwig::TFFDecayer, Herwig::TVVDecayer, Herwig::VFFDecayer, Herwig::VSSDecayer, Herwig::VVSDecayer, Herwig::VVVDecayer, Herwig::SMHiggsFermionsDecayer, Herwig::SMHiggsGGHiggsPPDecayer, Herwig::SMTopDecayer, Herwig::SMWDecayer, Herwig::SMZDecayer, and Herwig::PerturbativeDecayer.
Definition at line 82 of file HwDecayerBase.h.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
inline |
Access to the initialize variable.
Definition at line 195 of file HwDecayerBase.h.
References _initialize.
|
virtual |
Initialize the ME correction.
Reimplemented in Herwig::SMTopDecayer, Herwig::SMWDecayer, and Herwig::SMZDecayer.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::HwDecayerBase::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::HwDecayerBase::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
virtual |
Apply the soft matrix element correction.
parent | The initial particle in the current branching |
progenitor | The progenitor particle of the jet |
fs | Whether the emission is initial or final-state |
highestpT | The highest pT so far in the shower |
ids | ids of the particles produced in the branching |
z | The momentum fraction of the branching |
scale | the evolution scale of the branching |
pT | The transverse momentum of the branching |
Reimplemented in Herwig::SMTopDecayer, and Herwig::SMWDecayer.
|
private |
|
private |