Herwig
7.2.1
|
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 &part) const |
Return true if this width generator can handle the given particle type. More... | |
virtual void | dataBaseOutput (ofstream &output, bool header=true) |
Output the initialisation info for the database. More... | |
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. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
Members to calculate the width and decay modes. | |
virtual Energy | width (const ParticleData &part, Energy m) const |
Calculate the width. More... | |
virtual DecayMap | rate (const ParticleData &part) const |
Initialize the given decay map for the given particle type. More... | |
virtual DecayMap | rate (const Particle &part) |
Return a decay map for a given particle instance. More... | |
virtual Energy | partialWidth (int iloc, Energy m) const |
The partial width for a given mode. More... | |
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. | |
Public Member Functions inherited from ThePEG::WidthGenerator | |
Energy | width (const Particle &) const |
Energy | width (const Particle &) 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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::Base | |
void | debug () 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 |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from ThePEG::WidthGenerator | |
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 () |
Protected Member Functions | |
Energy | partial2BodyWidth (int iloc, Energy q) const |
The width for on-shell particles. More... | |
virtual Energy | partial2BodyWidth (int iloc, Energy m0, Energy m1, Energy m2) const |
The width for outgoing particles which can be off-shell. More... | |
virtual void | setupMode (tcDMPtr mode, tDecayIntegratorPtr decayer, unsigned int imode) |
Perform the set up for a mode in classes inheriting from this one. More... | |
tPDPtr | particle () const |
Access to the particle dat for inheriting classes. | |
void | particle (tPDPtr in) |
Set the particle. | |
int | MEcode (int imode) const |
Matrix element code for a given mode. More... | |
double | MEcoupling (int imode) const |
Coupling for a given mode. More... | |
Energy | mass () const |
The on-shell mass of the particle. | |
bool | initialize () const |
Access to the decay modes. More... | |
bool | output () const |
Output option for use by the inheriting classes. | |
vector< tDMPtr > | decayModes () const |
Access to the DecayModes. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. More... | |
virtual void | dofinish () |
Finalize this object. More... | |
virtual void | rebind (const TranslationMap &trans) |
Rebind pointer to other Interfaced objects. More... | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. More... | |
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 | |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinitrun () |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinitrun () |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const 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) |
Private Member Functions | |
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. | |
Private Attributes | |
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 ME's. | |
vector< Energy > | MEmass2_ |
Mass of the second outgoing particle for the simple 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. | |
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. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::WidthGenerator | |
typedef Selector< tDMPtr > | DecayMap |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
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 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.
|
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(), and ThePEG::ParticleData::id().
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in Herwig::SMHiggsWidthGenerator, Herwig::BSMWidthGenerator, and Herwig::BaryonWidthGenerator.
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.
|
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::SMHiggsWidthGenerator, and Herwig::BaryonWidthGenerator.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::SMHiggsWidthGenerator, Herwig::BSMWidthGenerator, and Herwig::BaryonWidthGenerator.
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.
|
inlineprotected |
Matrix element code for a given mode.
imode | The mode. |
Definition at line 263 of file GenericWidthGenerator.h.
|
inlineprotected |
Coupling for a given mode.
imode | The mode. |
Definition at line 269 of file GenericWidthGenerator.h.
|
inlineprotected |
The 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.
|
protectedvirtual |
The 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, and Herwig::BaryonWidthGenerator.
|
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.
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. |
|
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().
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.
|
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::BaryonWidthGenerator, and Herwig::BSMWidthGenerator.
|
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.