PYTHIA
8.316
|
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. | |
ParticleDataEntry & | operator= (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 | mSelInRange (double mMinNow, double mMaxNow) |
Set a temporary mass range for BW selection. More... | |
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. | |
DecayChannel & | channel (int i) |
Gain access to a channel in the decay table. | |
const DecayChannel & | channel (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... | |
DecayChannel & | pickChannel () |
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) |
This class holds info on a single particle species.
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.
double mSelInRange | ( | double | mMinNow, |
double | mMaxNow | ||
) |
Set a temporary mass range for BW selection.
Save current range values and calculate new mass limits.
Find new atan expressions to be used in random mass selection.
Call mSel for these limits, restore old range, and provide answer.
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.
|
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.)