Herwig 7.3.0
|
The GenericWidthGenerator class is designed to automatically calculate the running width for a given particle using information from the decayModes and the Decayers to construct the running width. More...
#include <GenericWidthGenerator.h>
Public Member Functions | |
GenericWidthGenerator () | |
Default constructor. | |
![]() | |
virtual bool | accept (const ParticleData &) const=0 |
Energy | width (const Particle &) const |
virtual Energy | width (const ParticleData &, Energy m) const=0 |
virtual Length | lifeTime (const ParticleData &, Energy m, Energy w) const |
virtual DecayMap | rate (const ParticleData &) const=0 |
virtual DecayMap | rate (const Particle &) |
![]() | |
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 |
![]() | |
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 |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
![]() | |
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 | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
![]() | |
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) |
![]() | |
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 &) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
![]() | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Friends | |
class | ModelGenerator |
ModelGenerator class as must be friend to set the particle. | |
class | TwoBodyAllOnCalculator |
A friend class so the off-shell matrix elements can be integrated. | |
Standard Interfaced functions. | |
tPDPtr | particle_ |
The pointer to the ParticleData object for the particle for this width generator. | |
vector< tDMPtr > | decayModes_ |
The decaymodes. | |
vector< string > | decayTags_ |
The tags for the DecayMode s. | |
vector< Energy > | minMass_ |
The minimum mass of the decaying particle for which this decay mode is possible. | |
Energy | mass_ |
The on-shell mass of the particle. | |
double | prefactor_ |
Prefactor to get the on-shell width. | |
vector< int > | MEtype_ |
The type of ME, whether it is fixed, calculated by this class or interpolation. | |
vector< int > | MEcode_ |
The code for the matrix element. | |
vector< Energy > | MEmass1_ |
Mass of the first outgoing particle for the simple \(1\to2\) ME's. | |
vector< Energy > | MEmass2_ |
Mass of the second outgoing particle for the simple \(1\to2\) ME's. | |
vector< double > | MEcoupling_ |
the coupling for a given me | |
vector< bool > | modeOn_ |
is this mode used for the running width | |
vector< Energy > | interMasses_ |
storage of the massesto set up the interpolation tables | |
vector< Energy > | interWidths_ |
storage of the widths to set up the interpolation tables | |
vector< int > | noOfEntries_ |
the number of entries in the decay table for a particular mode | |
bool | initialize_ |
initialize the generator using the particle data object | |
bool | output_ |
Output the parameters. | |
bool | BRnorm_ |
normalise the terms so that the partial widths for an on-shell particle are correct | |
int | npoints_ |
number of points to use for interpolation tables | |
vector< Interpolator< Energy, Energy >::Ptr > | interpolators_ |
intepolators for the running width | |
double | BRminimum_ |
minimum branching ratio for the inclusion in the total running width | |
unsigned int | intOrder_ |
Order of the interpolation for the tables. | |
bool | twoBodyOnly_ |
Whether or not to only include 2 body modes in the running width calculation, higher modes flat. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
virtual void | dofinish () |
Finalize this object. | |
virtual void | rebind (const TranslationMap &trans) |
Rebind pointer to other Interfaced objects. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
int | MEcode (int imode) const |
Matrix element code for a given mode. | |
double | MEcoupling (int imode) const |
Coupling for a given mode. | |
Energy | mass () const |
The on-shell mass of the particle. | |
bool | initialize () const |
Access to the decay modes. | |
bool | output () const |
Output option for use by the inheriting classes. | |
vector< tDMPtr > | decayModes () const |
Access to the DecayModes. | |
void | setParticle (string) |
Helper function for the interface. | |
string | getParticle () const |
Helper function for the interface. | |
GenericWidthGenerator & | operator= (const GenericWidthGenerator &)=delete |
Private and non-existent assignment operator. | |
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 bool | accept (const ParticleData &part) const |
Return true if this width generator can handle the given particle type. | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Members to calculate the width and decay modes. | |
virtual Energy | width (const ParticleData &part, Energy m) const |
Calculate the width. | |
virtual DecayMap | rate (const ParticleData &part) const |
Initialize the given decay map for the given particle type. | |
virtual DecayMap | rate (const Particle &part) |
Return a decay map for a given particle instance. | |
virtual Energy | partialWidth (int iloc, Energy m) const |
The partial width for a given mode. | |
virtual pair< Energy, Energy > | width (Energy, const ParticleData &) const |
Return the total width and the sum of the partial widths for modes which are used. | |
virtual void | dataBaseOutput (ofstream &output, bool header=true) |
Output the initialisation info for the database. | |
virtual Length | lifeTime (const ParticleData &, Energy m, Energy w) const |
Given a particle type and a mass and a width of an instance of that particle type, generate a life time. | |
Energy | partial2BodyWidth (int iloc, Energy q) const |
The \(1\to2\) width for on-shell particles. | |
virtual Energy | partial2BodyWidth (int iloc, Energy m0, Energy m1, Energy m2) const |
The \(1\to2\) width for outgoing particles which can be off-shell. | |
virtual void | setupMode (tcDMPtr mode, tDecayIntegratorPtr decayer, unsigned int imode) |
Perform the set up for a mode in classes inheriting from this one. | |
tPDPtr | particle () const |
Access to the particle dat for inheriting classes. | |
void | particle (tPDPtr in) |
Set the particle. | |
Additional Inherited Members | |
![]() | |
typedef Selector< tDMPtr > | DecayMap |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
initializing | |
uninitialized | |
initialized | |
runready | |
![]() | |
const unsigned long | uniqueId |
![]() | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
The GenericWidthGenerator class is designed to automatically calculate the running width for a given particle using information from the decayModes and the Decayers to construct the running width.
It also gives us the option of selecting the decay modes for a particle based on the mass.
Definition at line 51 of file GenericWidthGenerator.h.
|
inline |
Default constructor.
Definition at line 70 of file GenericWidthGenerator.h.
|
inlinevirtual |
Return true if this width generator can handle the given particle type.
part | The particle data pointer of the particle. |
Implements ThePEG::WidthGenerator.
Definition at line 104 of file GenericWidthGenerator.h.
References ThePEG::ParticleData::CC(), ThePEG::ParticleData::id(), and particle_.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in Herwig::BSMWidthGenerator, Herwig::BaryonWidthGenerator, Herwig::HeavyMesonWidthGenerator, and Herwig::SMHiggsWidthGenerator.
Definition at line 213 of file GenericWidthGenerator.h.
|
virtual |
Output the initialisation info for the database.
output | The stream to output the information to |
header | output the header. |
Reimplemented in Herwig::BaryonWidthGenerator, and Herwig::HeavyMesonWidthGenerator.
|
inlineprotected |
Access to the DecayModes.
Definition at line 294 of file GenericWidthGenerator.h.
References decayModes_.
|
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.
|
protectedvirtual |
Initialize this object after the setup phase before saving and EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::BaryonWidthGenerator, and Herwig::SMHiggsWidthGenerator.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::BSMWidthGenerator, Herwig::BaryonWidthGenerator, Herwig::HeavyMesonWidthGenerator, and Herwig::SMHiggsWidthGenerator.
Definition at line 219 of file GenericWidthGenerator.h.
|
protectedvirtual |
Return a vector of all pointers to Interfaced objects used in this object.
Reimplemented from ThePEG::InterfacedBase.
|
inlineprotected |
Access to the decay modes.
Initialization option for use by the inheriting classes
Definition at line 284 of file GenericWidthGenerator.h.
References initialize_.
|
virtual |
Given a particle type and a mass and a width of an instance of that particle type, generate a life time.
Reimplemented from ThePEG::WidthGenerator.
|
inlineprotected |
The on-shell mass of the particle.
Definition at line 275 of file GenericWidthGenerator.h.
References mass_.
|
inlineprotected |
Matrix element code for a given mode.
imode | The mode. |
Definition at line 263 of file GenericWidthGenerator.h.
References MEcode_.
|
inlineprotected |
Coupling for a given mode.
imode | The mode. |
Definition at line 269 of file GenericWidthGenerator.h.
References MEcoupling_.
|
inlineprotected |
Output option for use by the inheriting classes.
Definition at line 289 of file GenericWidthGenerator.h.
References output_.
|
protectedvirtual |
The \(1\to2\) width for outgoing particles which can be off-shell.
iloc | The location of the mode in the list. |
m0 | The mass of the decaying particle. |
m1 | The mass of the first outgoing particle. |
m2 | The mass of the second outgoing particle. |
Reimplemented in Herwig::BSMWidthGenerator, Herwig::BaryonWidthGenerator, and Herwig::HeavyMesonWidthGenerator.
|
inlineprotected |
The \(1\to2\) width for on-shell particles.
q | The mass, or scale, for the calculation |
iloc | The location of the mode in the list. |
Definition at line 173 of file GenericWidthGenerator.h.
References MEmass1_, MEmass2_, and partial2BodyWidth().
Referenced by partial2BodyWidth().
|
virtual |
The partial width for a given mode.
m | The mass, or scale, for the calculation |
iloc | The location of the mode in the list |
Reimplemented in Herwig::SMHiggsWidthGenerator.
|
inlineprotected |
Access to the particle dat for inheriting classes.
Definition at line 198 of file GenericWidthGenerator.h.
References particle_.
|
inlineprotected |
void Herwig::GenericWidthGenerator::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::GenericWidthGenerator::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Return a decay map for a given particle instance.
This allows us to vary the branching ratios as a function of the particles mass.
part | The particle instance |
Reimplemented from ThePEG::WidthGenerator.
Reimplemented in Herwig::SMHiggsWidthGenerator.
|
inlinevirtual |
Initialize the given decay map for the given particle type.
part | The particle data pointer of the particle. |
Implements ThePEG::WidthGenerator.
Reimplemented in Herwig::SMHiggsWidthGenerator.
Definition at line 125 of file GenericWidthGenerator.h.
References ThePEG::ParticleData::decaySelector().
|
protectedvirtual |
Rebind pointer to other Interfaced objects.
Called in the setup phase after all objects used in an EventGenerator has been cloned so that the pointers will refer to the cloned objects afterwards.
trans | a TranslationMap relating the original objects to their respective clones. |
RebindException | if no cloned object was found for a given pointer. |
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Perform the set up for a mode in classes inheriting from this one.
mode | The decay mode |
decayer | The decayer for the mode. |
imode | The number of the mode. |
Reimplemented in Herwig::BSMWidthGenerator, Herwig::BaryonWidthGenerator, and Herwig::HeavyMesonWidthGenerator.
|
virtual |
Calculate the width.
part | The particle data pointer of the particle. |
m | The scale for the width calculation |
Implements ThePEG::WidthGenerator.
Reimplemented in Herwig::SMHiggsWidthGenerator.
|
virtual |
Return the total width and the sum of the partial widths for modes which are used.
Reimplemented in Herwig::SMHiggsWidthGenerator.
|
friend |
ModelGenerator class as must be friend to set the particle.
Definition at line 56 of file GenericWidthGenerator.h.
|
friend |
A friend class so the off-shell matrix elements can be integrated.
Definition at line 63 of file GenericWidthGenerator.h.
|
private |
minimum branching ratio for the inclusion in the total running width
Definition at line 419 of file GenericWidthGenerator.h.
|
private |
normalise the terms so that the partial widths for an on-shell particle are correct
Definition at line 404 of file GenericWidthGenerator.h.
|
private |
|
private |
The tags for the DecayMode s.
Definition at line 330 of file GenericWidthGenerator.h.
|
private |
initialize the generator using the particle data object
Definition at line 394 of file GenericWidthGenerator.h.
Referenced by initialize().
|
private |
storage of the massesto set up the interpolation tables
Definition at line 379 of file GenericWidthGenerator.h.
|
private |
intepolators for the running width
Definition at line 414 of file GenericWidthGenerator.h.
|
private |
storage of the widths to set up the interpolation tables
Definition at line 384 of file GenericWidthGenerator.h.
|
private |
Order of the interpolation for the tables.
Definition at line 424 of file GenericWidthGenerator.h.
|
private |
The on-shell mass of the particle.
Definition at line 340 of file GenericWidthGenerator.h.
Referenced by mass().
|
private |
The code for the matrix element.
Definition at line 355 of file GenericWidthGenerator.h.
Referenced by MEcode().
|
private |
the coupling for a given me
Definition at line 369 of file GenericWidthGenerator.h.
Referenced by MEcoupling().
|
private |
Mass of the first outgoing particle for the simple \(1\to2\) ME's.
Definition at line 360 of file GenericWidthGenerator.h.
Referenced by partial2BodyWidth().
|
private |
Mass of the second outgoing particle for the simple \(1\to2\) ME's.
Definition at line 364 of file GenericWidthGenerator.h.
Referenced by partial2BodyWidth().
|
private |
The type of ME, whether it is fixed, calculated by this class or interpolation.
Definition at line 350 of file GenericWidthGenerator.h.
|
private |
The minimum mass of the decaying particle for which this decay mode is possible.
Definition at line 335 of file GenericWidthGenerator.h.
|
private |
is this mode used for the running width
Definition at line 374 of file GenericWidthGenerator.h.
|
private |
the number of entries in the decay table for a particular mode
Definition at line 389 of file GenericWidthGenerator.h.
|
private |
number of points to use for interpolation tables
Definition at line 409 of file GenericWidthGenerator.h.
|
private |
Output the parameters.
Definition at line 399 of file GenericWidthGenerator.h.
Referenced by output().
|
private |
The pointer to the ParticleData object for the particle for this width generator.
Definition at line 320 of file GenericWidthGenerator.h.
Referenced by accept(), and particle().
|
private |
Prefactor to get the on-shell width.
Definition at line 345 of file GenericWidthGenerator.h.
|
private |
Whether or not to only include 2 body modes in the running width calculation, higher modes flat.
Definition at line 430 of file GenericWidthGenerator.h.