PYTHIA  8.311
Public Member Functions | List of all members
ParticleDataEntry Class Reference

This class holds info on a single particle species. More...

#include <ParticleData.h>

Public Member Functions

 ParticleDataEntry (int idIn=0, string nameIn=" ", int spinTypeIn=0, int chargeTypeIn=0, int colTypeIn=0, double m0In=0., double mWidthIn=0., double mMinIn=0., double mMaxIn=0., double tau0In=0., bool varWidthIn=false)
 Constructors: for antiparticle exists or not.
 
 ParticleDataEntry (int idIn, string nameIn, string antiNameIn, int spinTypeIn=0, int chargeTypeIn=0, int colTypeIn=0, double m0In=0., double mWidthIn=0., double mMinIn=0., double mMaxIn=0., double tau0In=0., bool varWidthIn=false)
 
 ParticleDataEntry (const ParticleDataEntry &oldPDE)
 Copy constructor.
 
ParticleDataEntryoperator= (const ParticleDataEntry &oldPDE)
 Assignment operator.
 
void setDefaults ()
 Initialization of some particle flags. More...
 
void initPtr (ParticleData *particleDataPtrIn)
 Store pointer to whole particle data table/database.
 
void setAll (string nameIn, string antiNameIn, int spinTypeIn=0, int chargeTypeIn=0, int colTypeIn=0, double m0In=0., double mWidthIn=0., double mMinIn=0., double mMaxIn=0., double tau0In=0., bool varWidthIn=false)
 Reset all the properties of an existing particle.
 
void setName (string nameIn)
 
void setAntiName (string antiNameIn)
 
void setNames (string nameIn, string antiNameIn)
 
void setSpinType (int spinTypeIn)
 
void setChargeType (int chargeTypeIn)
 
void setColType (int colTypeIn)
 
void setM0 (double m0In)
 
void setMWidth (double mWidthIn, bool countAsChanged=true)
 
void setMMin (double mMinIn)
 
void setMMax (double mMaxIn)
 
void setMMinNoChange (double mMinIn)
 Special options specifically when cutting wings of Breit-Wigners.
 
void setMMaxNoChange (double mMaxIn)
 
void setTau0 (double tau0In, bool countAsChanged=true)
 
void setVarWidth (bool varWidthIn)
 
void setIsResonance (bool isResonanceIn)
 
void setMayDecay (bool mayDecayIn, bool countAsChanged=true)
 
void setTauCalc (bool tauCalcIn, bool countAsChanged=true)
 
void setDoExternalDecay (bool doExternalDecayIn)
 
void setIsVisible (bool isVisibleIn)
 
void setDoForceWidth (bool doForceWidthIn)
 
void setHasChanged (bool hasChangedIn)
 
int id () const
 Give back current values.
 
int antiId () const
 
bool hasAnti () const
 
string name (int idIn=1) const
 
int spinType () const
 
int chargeType (int idIn=1) const
 
double charge (int idIn=1) const
 
int colType (int idIn=1) const
 
double m0 () const
 
double mWidth () const
 
double mMin () const
 
double mMax () const
 
double m0Min () const
 
double m0Max () const
 
double tau0 () const
 
bool isResonance () const
 
bool varWidth () const
 
bool mayDecay () const
 
bool tauCalc () const
 
bool doExternalDecay () const
 
bool isVisible () const
 
bool doForceWidth () const
 
bool hasChanged () const
 
bool hasChangedMMin () const
 
bool hasChangedMMax () const
 
void initBWmass ()
 Set and give back several mass-related quantities. More...
 
double constituentMass () const
 
double mSel () const
 
double mRun (double mH) const
 Function to calculate running mass at given mass scale. More...
 
bool useBreitWigner () const
 Give back other quantities.
 
bool canDecay () const
 
bool isLepton () const
 
bool isQuark () const
 
bool isGluon () const
 
bool isDiquark () const
 
bool isParton () const
 Identify Hidden Valley partons as partons.
 
bool isHadron () const
 
bool isMeson () const
 
bool isBaryon () const
 
bool isOnium () const
 Find out if a particle is quarkonia.
 
bool isExotic () const
 
bool isOctetHadron () const
 Intermediate octet ccbar or bbar states in colour-octet model.
 
int heaviestQuark (int idIn=1) const
 Extract the heaviest (= largest id) quark in a hadron. More...
 
int baryonNumberType (int idIn=1) const
 Calculate three times baryon number, i.e. net quark - antiquark number. More...
 
int nQuarksInCode (int idQIn) const
 
void clearChannels ()
 Reset to empty decay table.
 
void addChannel (int onMode=0, double bRatio=0., int meMode=0, int prod0=0, int prod1=0, int prod2=0, int prod3=0, int prod4=0, int prod5=0, int prod6=0, int prod7=0)
 Add a decay channel to the decay table.
 
int sizeChannels () const
 Decay table size.
 
DecayChannelchannel (int i)
 Gain access to a channel in the decay table.
 
const DecayChannelchannel (int i) const
 
void rescaleBR (double newSumBR=1.)
 Rescale sum of branching ratios to unity. More...
 
bool preparePick (int idSgn, double mHat=0., int idInFlav=0)
 Random choice of decay channel according to branching ratios. More...
 
DecayChannelpickChannel ()
 Pick a decay channel according to branching ratios from preparePick. More...
 
void setResonancePtr (ResonanceWidthsPtr resonancePtrIn)
 Access methods stored in ResonanceWidths.
 
ResonanceWidthsPtr getResonancePtr ()
 
void resInit (Info *infoPtrIn)
 
double resWidth (int idSgn, double mHat, int idIn=0, bool openOnly=false, bool setBR=false)
 
double resWidthOpen (int idSgn, double mHat, int idIn=0)
 
double resWidthStore (int idSgn, double mHat, int idIn=0)
 
double resOpenFrac (int idSgn)
 
double resWidthRescaleFactor ()
 
double resWidthChan (double mHat, int idAbs1=0, int idAbs2=0)
 

Detailed Description

This class holds info on a single particle species.

Member Function Documentation

int baryonNumberType ( int  idIn = 1) const

Calculate three times baryon number, i.e. net quark - antiquark number.

Quarks.

Diquarks

Baryons.

Done.

int heaviestQuark ( int  idIn = 1) const

Extract the heaviest (= largest id) quark in a hadron.

Meson.

Baryon.

Done.

void initBWmass ( )

Set and give back several mass-related quantities.

Prepare the Breit-Wigner mass selection by precalculating frequently-used expressions.

Optionally set decay vertices also for short-lived particles. (Lifetimes are explicitly tabulated for long-lived ones.)

Find Breit-Wigner mode for current particle.

Find atan expressions to be used in random mass selection.

Done if no threshold factor.

Find average mass threshold for threshold-factor correction.

Switch off Breit-Wigner if very close to threshold.

bool isBaryon ( ) const

Find out if a particle is a baryon. Covers normal hadrons and exotic hadrons with baryon number 1, but not e.g. R-hadrons.

Check that id has non-zero spin type and three quarks.

Catch pentaquarks of the form 9qqqqqs.

bool isExotic ( ) const

Find out if particle is exotic hadron. Internally this is used to determine whether a particle can rescatter.

bool isHadron ( ) const

Find out if a particle is a hadron. Only covers normal hadrons, not e.g. R-hadrons.

bool isMeson ( ) const

Find out if a particle is a meson. Covers normal hadrons and exotic hadrons with baryon number 0, but not e.g. R-hadrons.

K_S and K_L are special.

Check that id has non-zero spin type and at least two quarks.

If id has three quarks, return true only for tetraquarks.

Otherwise it is a meson.

double mRun ( double  mH) const

Function to calculate running mass at given mass scale.

Except for six quarks return nominal mass.

For d, u, s quarks start running at 2 GeV (RPP 2006 p. 505).

For c, b and t quarks start running at respective mass.

double mSel ( ) const

Function to give mass of a particle, either at the nominal value or picked according to a (linear or quadratic) Breit-Wigner.

Nominal value. (Width check should not be needed, but just in case.)

Mass according to a Breit-Wigner linear in m.

Ditto, but make Gamma proportional to sqrt(m^2 - m_threshold^2).

Mass according to a Breit-Wigner quadratic in m.

Ditto, but m_0 Gamma_0 -> m Gamma(m) with threshold factor as above.

Done.

int nQuarksInCode ( int  idQIn) const

Find number of quarks of given kind inside quark, diquark or hadron. Note: naive answer for flavour-diagonal meson mixing.

Do not keep track of sign.

Quarks.

Diquarks.

Mesons.

Baryons.

Done. Room for improvements e.g. w.r.t. R-hadrons.

DecayChannel & pickChannel ( )

Pick a decay channel according to branching ratios from preparePick.

Find channel in table.

Emergency if no channel found. Done.

bool preparePick ( int  idSgn,
double  mHat = 0.,
int  idInFlav = 0 
)

Random choice of decay channel according to branching ratios.

Prepare to pick a decay channel.

Reset sum of allowed widths/branching ratios.

For resonances the widths are calculated dynamically.

Else use normal fixed branching ratios.

Failure if no channels found with positive branching ratios.

void rescaleBR ( double  newSumBR = 1.)

Rescale sum of branching ratios to unity.

Rescale all branching ratios to assure normalization to unity.

Sum up branching ratios. Find rescaling factor. Rescale.

void resInit ( Info infoPtr)

Access methods stored in ResonanceWidths. Could have been inline in .h, except for problems with forward declarations.

void setDefaults ( )

Initialization of some particle flags.

Set initial default values for some quantities.

A particle is a resonance if it is heavy enough.

A particle may decay if it is shortlived enough.

A particle's lifetime is calculated from its decay width.

A particle by default has no external decays.

A particle is invisible if in current table of such.

Additionally all particles purely in Hidden Sector are invisible.

Normally a resonance should not have width forced to fixed value.

Set up constituent masses.

No Breit-Wigner mass selection before initialized. Status tau0.

void setName ( string  nameIn)
inline

Change current values one at a time (or set if not set before). (Must use set here since else name+signature clash with get methods.)


The documentation for this class was generated from the following files: