namespace Rivet::PID
Rivet::PID
Types
Name | |
---|---|
enum | Location { nj =1, nq3, nq2, nq1, nl, nr, n, n8, n9, n10} |
Functions
Name | |
---|---|
std::string | toParticleName(PdgId p) Print a PdgId as a named string. |
PdgId | toParticleId(const std::string & pname) Print a PdgId as a named string. |
std::pair< PdgId, PdgId > | make_pdgid_pair(PdgId a, PdgId b) Convenience maker of particle ID pairs from PdgIds. |
std::pair< PdgId, PdgId > | make_pdgid_pair(const std::string & a, const std::string & b) Convenience maker of particle ID pairs from particle names. |
std::string | toBeamsString(const PdgIdPair & pair) Print a PdgIdPair as a string. |
int | abspid(int pid) |
bool | isBSM(int pid) Is this a BSM particle (including graviton)? |
bool | isNucleus(int pid) Is this a nucleus PID? |
int | nuclZ(int pid) |
int | nuclA(int pid) |
int | nuclNlambda(int pid) |
bool | isQuark(int pid) Determine if the PID is that of a quark. |
bool | isGluon(int pid) Determine if the PID is that of a gluon. |
bool | isParton(int pid) Determine if the PID is that of a parton (quark or gluon) |
bool | isPhoton(int pid) Determine if the PID is that of a photon. |
bool | isElectron(int pid) Determine if the PID is that of an electron or positron. |
bool | isMuon(int pid) Determine if the PID is that of an muon or antimuon. |
bool | isTau(int pid) Determine if the PID is that of an tau or antitau. |
bool | isChargedLepton(int pid) Determine if the PID is that of a charged lepton. |
bool | isChLepton(int pid) |
bool | isNeutrino(int pid) Determine if the PID is that of a neutrino. |
bool | isWplus(int pid) Determine if the PID is that of a W+. |
bool | isWminus(int pid) Determine if the PID is that of a W-. |
bool | isW(int pid) Determine if the PID is that of a W+-. |
bool | isZ(int pid) Determine if the PID is that of a Z0. |
bool | isHiggs(int pid) Determine if the PID is that of an SM/lightest SUSY Higgs. |
bool | isGraviton(int pid) Is this a graviton? |
bool | isStrange(int pid) Determine if the PID is that of an s/sbar. |
bool | isCharm(int pid) Determine if the PID is that of a c/cbar. |
bool | isBottom(int pid) Determine if the PID is that of a b/bbar. |
bool | isTop(int pid) Determine if the PID is that of a t/tbar. |
bool | isReggeon(int pid) Is this a pomeron, odderon, or generic reggeon? |
bool | isMeson(int pid) Check to see if this is a valid meson. |
bool | isBaryon(int pid) Check to see if this is a valid baryon. |
bool | isDiquark(int pid) |
bool | isDiQuark(int pid) |
bool | isPentaquark(int pid) Check to see if this is a valid pentaquark. |
bool | isHadron(int pid) |
bool | isLepton(int pid) |
bool | isBSMBoson(int pid) Is this a valid BSM boson (SUSY Higgs, W’, Z’)? |
bool | isSMFundamental(int pid) Is this an SM fundamental particle? |
bool | isSUSY(int pid) Is this a fundamental SUSY particle? |
bool | isRHadron(int pid) Is this an R-hadron? |
bool | isRhadron(int pid) Alias. |
bool | isTechnicolor(int pid) Is this a technicolor particle? |
bool | isExcited(int pid) Is this an excited (composite) quark or lepton? |
bool | isKK(int pid) Is this a Kaluza-Klein excitation? |
bool | isLeptoQuark(int pid) Is this a lepto-quark? |
bool | isDarkMatter(int pid) |
bool | isDM(int pid) Convenience alias. |
bool | isHiddenValley(int pid) Is this a Hidden Valley particle. |
bool | isExotic(int pid) Is this an exotic particle? |
bool | isFourthGen(int pid) Is this a 4th generation particle? |
bool | isMagMonopole(int pid) Is this from a magnetic monopole or dyon? |
bool | isDyon(int pid) Just treat a dyon as an alias for magmonopole for now. |
bool | isQBall(int pid) |
bool | isQball(int pid) Alias. |
bool | isExcitedLepton(int pid) Is this an excited lepton? |
bool | isBlackHole(int pid) |
bool | isAECO(int pid) Is this an anomalously electrically charged particle (AECO)? |
bool | isValid(int pid) |
bool | hasDown(int pid) Does this particle contain a down quark? |
bool | hasUp(int pid) Does this particle contain an up quark? |
bool | hasStrange(int pid) Does this particle contain a strange quark? |
bool | hasCharm(int pid) Does this particle contain a charm quark? |
bool | hasBottom(int pid) Does this particle contain a bottom quark? |
bool | hasTop(int pid) Does this particle contain a top quark? |
bool | isHeavyFlavour(int pid) Determine if the particle is a heavy flavour hadron or parton. |
bool | isHeavyParton(int pid) Determine if the PID is that of a heavy parton (c,b,t) |
bool | isLightParton(int pid) Determine if the PID is that of a light parton (u,d,s) |
bool | isHeavyMeson(int pid) Determine if the PID is that of a heavy flavour (b or c) meson. |
bool | isHeavyBaryon(int pid) Determine if the PID is that of a heavy flavour (b or c) baryon. |
bool | isHeavyHadron(int pid) Determine if the PID is that of a heavy flavour (b or c) hadron. |
bool | isLightMeson(int pid) Determine if the PID is that of a light flavour (not b or c) meson. |
bool | isLightBaryon(int pid) Determine if the PID is that of a light flavour (not b or c) baryon. |
bool | isLightHadron(int pid) Determine if the PID is that of a light flavour (not b or c) hadron. |
bool | isBottomMeson(int pid) Determine if the PID is that of a b-meson. |
bool | isBottomBaryon(int pid) Determine if the PID is that of a b-baryon. |
bool | isBottomHadron(int pid) Determine if the PID is that of a b-hadron. |
bool | isCharmMeson(int pid) Determine if the PID is that of a c-meson. |
bool | isCharmBaryon(int pid) Determine if the PID is that of a c-baryon. |
bool | isCharmHadron(int pid) |
bool | isStrangeMeson(int pid) |
bool | isStrangeBaryon(int pid) |
bool | isStrangeHadron(int pid) |
int | jSpin(int pid) jSpin returns 2J+1, where J is the total spin |
int | sSpin(int pid) sSpin returns 2S+1, where S is the spin |
int | lSpin(int pid) lSpin returns 2L+1, where L is the orbital angular momentum |
int | charge3(int pid) Three times the EM charge (as integer) |
int | threeCharge(int pid) |
int | abscharge3(int pid) Return the absolute value of 3 times the EM charge. |
double | charge(int pid) Return the EM charge (as floating point) |
double | abscharge(int pid) Return the EM charge (as floating point) |
bool | isCharged(int pid) Determine if the particle is electrically charged. |
bool | isNeutral(int pid) Determine if the particle is electrically neutral. |
bool | isStrongInteracting(int pid) Determine if the PID is that of a strongly interacting particle. |
bool | isEMInteracting(int pid) Determine if the PID is that of a electromagnetically interacting particle. |
bool | isWeakInteracting(int pid) |
bool | isGenSpecific(int pid) Determine if the PID is in the generator-specific range. |
bool | isResonance(int pid) |
bool | isTransportable(int pid) |
bool | isSameSign(PdgId a, PdgId b) |
bool | isOppSign(PdgId a, PdgId b) |
bool | isSameFlav(PdgId a, PdgId b) |
bool | isOppFlav(PdgId a, PdgId b) |
bool | isOSSF(PdgId a, PdgId b) |
bool | isSSSF(PdgId a, PdgId b) |
bool | isOSOF(PdgId a, PdgId b) |
bool | isSSOF(PdgId a, PdgId b) |
Attributes
Name | |
---|---|
const PdgId | ELECTRON |
const PdgId | POSITRON |
const PdgId | EMINUS |
const PdgId | EPLUS |
const PdgId | MUON |
const PdgId | ANTIMUON |
const PdgId | TAU |
const PdgId | ANTITAU |
const PdgId | NU_E |
const PdgId | NU_EBAR |
const PdgId | NU_MU |
const PdgId | NU_MUBAR |
const PdgId | NU_TAU |
const PdgId | NU_TAUBAR |
const PdgId | PHOTON |
const PdgId | GAMMA |
const PdgId | GLUON |
const PdgId | WPLUSBOSON |
const PdgId | WMINUSBOSON |
const PdgId | WPLUS |
const PdgId | WMINUS |
const PdgId | Z0BOSON |
const PdgId | ZBOSON |
const PdgId | Z0 |
const PdgId | HIGGSBOSON |
const PdgId | HIGGS |
const PdgId | H0BOSON |
const PdgId | HBOSON |
const PdgId | DQUARK |
const PdgId | UQUARK |
const PdgId | SQUARK |
const PdgId | CQUARK |
const PdgId | BQUARK |
const PdgId | TQUARK |
const PdgId | PROTON |
const PdgId | ANTIPROTON |
const PdgId | PBAR |
const PdgId | NEUTRON |
const PdgId | ANTINEUTRON |
const PdgId | PI0 |
const PdgId | PIPLUS |
const PdgId | PIMINUS |
const PdgId | RHO0 |
const PdgId | RHOPLUS |
const PdgId | RHOMINUS |
const PdgId | K0L |
const PdgId | K0S |
const PdgId | K0 |
const PdgId | KPLUS |
const PdgId | KMINUS |
const PdgId | ETA |
const PdgId | ETAPRIME |
const PdgId | PHI |
const PdgId | OMEGA |
const PdgId | ETAC |
const PdgId | JPSI |
const PdgId | PSI2S |
const PdgId | D0 |
const PdgId | D0BAR |
const PdgId | DPLUS |
const PdgId | DMINUS |
const PdgId | DSTARPLUS |
const PdgId | DSTARMINUS |
const PdgId | DSPLUS |
const PdgId | DSMINUS |
const PdgId | ETAB |
const PdgId | UPSILON1S |
const PdgId | UPSILON2S |
const PdgId | UPSILON3S |
const PdgId | UPSILON4S |
const PdgId | B0 |
const PdgId | B0BAR |
const PdgId | BPLUS |
const PdgId | BMINUS |
const PdgId | B0S |
const PdgId | BCPLUS |
const PdgId | BCMINUS |
const PdgId | LAMBDA |
const PdgId | SIGMA0 |
const PdgId | SIGMAPLUS |
const PdgId | SIGMAMINUS |
const PdgId | SIGMAB |
const PdgId | SIGMABPLUS |
const PdgId | SIGMABMINUS |
const PdgId | LAMBDACPLUS |
const PdgId | LAMBDACMINUS |
const PdgId | LAMBDAB |
const PdgId | XI0 |
const PdgId | XIMINUS |
const PdgId | XIPLUS |
const PdgId | XI0B |
const PdgId | XIBMINUS |
const PdgId | XI0C |
const PdgId | XICPLUS |
const PdgId | OMEGAMINUS |
const PdgId | OMEGAPLUS |
const PdgId | OMEGABMINUS |
const PdgId | OMEGA0C |
const PdgId | REGGEON |
const PdgId | POMERON |
const PdgId | ODDERON |
const PdgId | GRAVITON |
const PdgId | NEUTRALINO1 |
const PdgId | GRAVITINO |
const PdgId | GLUINO |
const int | BPRIME |
const int | TPRIME |
const int | LPRIME |
const int | NUPRIME |
const PdgId | DEUTERON |
const PdgId | ALUMINIUM |
const PdgId | COPPER |
const PdgId | XENON |
const PdgId | GOLD |
const PdgId | LEAD |
const PdgId | URANIUM |
const PdgId | ANY Static const convenience particle ID names. |
Types Documentation
enum Location
Enumerator | Value | Description |
---|---|---|
nj | =1 | |
nq3 | ||
nq2 | ||
nq1 | ||
nl | ||
nr | ||
n | ||
n8 | ||
n9 | ||
n10 |
PID digits (base 10) are: n nr nl nq1 nq2 nq3 nj The Location enum provides a convenient index into the PID.
Functions Documentation
function toParticleName
inline std::string toParticleName(
PdgId p
)
Print a PdgId as a named string.
function toParticleId
inline PdgId toParticleId(
const std::string & pname
)
Print a PdgId as a named string.
function make_pdgid_pair
inline std::pair< PdgId, PdgId > make_pdgid_pair(
PdgId a,
PdgId b
)
Convenience maker of particle ID pairs from PdgIds.
function make_pdgid_pair
inline std::pair< PdgId, PdgId > make_pdgid_pair(
const std::string & a,
const std::string & b
)
Convenience maker of particle ID pairs from particle names.
function toBeamsString
inline std::string toBeamsString(
const PdgIdPair & pair
)
Print a PdgIdPair as a string.
function abspid
inline int abspid(
int pid
)
Deprecated:
Just use abs()!
Absolute value
function isBSM
inline bool isBSM(
int pid
)
Is this a BSM particle (including graviton)?
function isNucleus
inline bool isNucleus(
int pid
)
Is this a nucleus PID?
This implements the 2006 Monte Carlo nuclear code scheme. Ion numbers are +/- 10LZZZAAAI. AAA is A - total baryon number ZZZ is Z - total charge L is the total number of strange quarks. I is the isomer number, with I=0 corresponding to the ground state.
function nuclZ
inline int nuclZ(
int pid
)
Note: Ion numbers are +/- 10LZZZAAAI.
Get the atomic number (number of protons) in a nucleus/ion
function nuclA
inline int nuclA(
int pid
)
Note: Ion numbers are +/- 10LZZZAAAI.
Get the atomic weight (number of nucleons) in a nucleus/ion
function nuclNlambda
inline int nuclNlambda(
int pid
)
Note: Ion numbers are +/- 10LZZZAAAI.
If this is a nucleus (ion), get nLambda
function isQuark
inline bool isQuark(
int pid
)
Determine if the PID is that of a quark.
function isGluon
inline bool isGluon(
int pid
)
Determine if the PID is that of a gluon.
function isParton
inline bool isParton(
int pid
)
Determine if the PID is that of a parton (quark or gluon)
function isPhoton
inline bool isPhoton(
int pid
)
Determine if the PID is that of a photon.
function isElectron
inline bool isElectron(
int pid
)
Determine if the PID is that of an electron or positron.
function isMuon
inline bool isMuon(
int pid
)
Determine if the PID is that of an muon or antimuon.
function isTau
inline bool isTau(
int pid
)
Determine if the PID is that of an tau or antitau.
function isChargedLepton
inline bool isChargedLepton(
int pid
)
Determine if the PID is that of a charged lepton.
function isChLepton
inline bool isChLepton(
int pid
)
Deprecated:
Prefer isChargedLepton
Alias for isChargedLepton
function isNeutrino
inline bool isNeutrino(
int pid
)
Determine if the PID is that of a neutrino.
function isWplus
inline bool isWplus(
int pid
)
Determine if the PID is that of a W+.
function isWminus
inline bool isWminus(
int pid
)
Determine if the PID is that of a W-.
function isW
inline bool isW(
int pid
)
Determine if the PID is that of a W+-.
function isZ
inline bool isZ(
int pid
)
Determine if the PID is that of a Z0.
function isHiggs
inline bool isHiggs(
int pid
)
Determine if the PID is that of an SM/lightest SUSY Higgs.
function isGraviton
inline bool isGraviton(
int pid
)
Is this a graviton?
Todo: isSUSYHiggs?
function isStrange
inline bool isStrange(
int pid
)
Determine if the PID is that of an s/sbar.
function isCharm
inline bool isCharm(
int pid
)
Determine if the PID is that of a c/cbar.
function isBottom
inline bool isBottom(
int pid
)
Determine if the PID is that of a b/bbar.
function isTop
inline bool isTop(
int pid
)
Determine if the PID is that of a t/tbar.
function isReggeon
inline bool isReggeon(
int pid
)
Is this a pomeron, odderon, or generic reggeon?
function isMeson
inline bool isMeson(
int pid
)
Check to see if this is a valid meson.
TodoRemove special-casing for EvtGen
function isBaryon
inline bool isBaryon(
int pid
)
Check to see if this is a valid baryon.
< TodoWhy this special case with nJ = 0? What are these? Not listed in RPP MC doc…
TodoThis is more correct by the definition, but the PDG’s entries 1212, 1214, 1216, 1218 and 2122, 2124, 2126, 2128 come out as invalid
function isDiquark
inline bool isDiquark(
int pid
)
function isDiQuark
inline bool isDiQuark(
int pid
)
Deprecated:
Use the nicer capitalisation isDiquark(pid)
function isPentaquark
inline bool isPentaquark(
int pid
)
Check to see if this is a valid pentaquark.
function isHadron
inline bool isHadron(
int pid
)
Note: BSM hadrons, e.g. R-hadrons, don’t count
Is this a valid hadron ID?
function isLepton
inline bool isLepton(
int pid
)
Note: BSM “leptons” don’t count
Is this a valid lepton ID?
function isBSMBoson
inline bool isBSMBoson(
int pid
)
Is this a valid BSM boson (SUSY Higgs, W’, Z’)?
function isSMFundamental
inline bool isSMFundamental(
int pid
)
Is this an SM fundamental particle?
function isSUSY
inline bool isSUSY(
int pid
)
Is this a fundamental SUSY particle?
The MSSM extended Higgs sector is not counted as ‘SUSY’ particles, since they are not superpartners.
function isRHadron
inline bool isRHadron(
int pid
)
Is this an R-hadron?
function isRhadron
inline bool isRhadron(
int pid
)
Alias.
function isTechnicolor
inline bool isTechnicolor(
int pid
)
Is this a technicolor particle?
function isExcited
inline bool isExcited(
int pid
)
Is this an excited (composite) quark or lepton?
function isKK
inline bool isKK(
int pid
)
Is this a Kaluza-Klein excitation?
function isLeptoQuark
inline bool isLeptoQuark(
int pid
)
Is this a lepto-quark?
function isDarkMatter
inline bool isDarkMatter(
int pid
)
Note:
- DM particles, including mediators, get the range 51-60
- Also covers other cases: Heavy neutral leptons (50), Light pseudo-scalar A in 2HDM (55), Z’ scalar UFO models (56)
Todo: Give a more explicit name to clarify that this does not cover all DM particles, e.g. LSP?
Is this a generic Dark Matter particle?
function isDM
inline bool isDM(
int pid
)
Convenience alias.
function isHiddenValley
inline bool isHiddenValley(
int pid
)
Is this a Hidden Valley particle.
function isExotic
inline bool isExotic(
int pid
)
Is this an exotic particle?
function isFourthGen
inline bool isFourthGen(
int pid
)
Is this a 4th generation particle?
function isMagMonopole
inline bool isMagMonopole(
int pid
)
Is this from a magnetic monopole or dyon?
function isDyon
inline bool isDyon(
int pid
)
Just treat a dyon as an alias for magmonopole for now.
function isQBall
inline bool isQBall(
int pid
)
Note: Ad-hoc numbering for such particles is 100xxxx0, where xxxx is the charge in tenths.
Is this a Q-ball?
function isQball
inline bool isQball(
int pid
)
Alias.
function isExcitedLepton
inline bool isExcitedLepton(
int pid
)
Is this an excited lepton?
function isBlackHole
inline bool isBlackHole(
int pid
)
function isAECO
inline bool isAECO(
int pid
)
Is this an anomalously electrically charged particle (AECO)?
function isValid
inline bool isValid(
int pid
)
function hasDown
inline bool hasDown(
int pid
)
Does this particle contain a down quark?
function hasUp
inline bool hasUp(
int pid
)
Does this particle contain an up quark?
function hasStrange
inline bool hasStrange(
int pid
)
Does this particle contain a strange quark?
function hasCharm
inline bool hasCharm(
int pid
)
Does this particle contain a charm quark?
function hasBottom
inline bool hasBottom(
int pid
)
Does this particle contain a bottom quark?
function hasTop
inline bool hasTop(
int pid
)
Does this particle contain a top quark?
function isHeavyFlavour
inline bool isHeavyFlavour(
int pid
)
Determine if the particle is a heavy flavour hadron or parton.
function isHeavyParton
inline bool isHeavyParton(
int pid
)
Determine if the PID is that of a heavy parton (c,b,t)
function isLightParton
inline bool isLightParton(
int pid
)
Determine if the PID is that of a light parton (u,d,s)
function isHeavyMeson
inline bool isHeavyMeson(
int pid
)
Determine if the PID is that of a heavy flavour (b or c) meson.
function isHeavyBaryon
inline bool isHeavyBaryon(
int pid
)
Determine if the PID is that of a heavy flavour (b or c) baryon.
function isHeavyHadron
inline bool isHeavyHadron(
int pid
)
Determine if the PID is that of a heavy flavour (b or c) hadron.
function isLightMeson
inline bool isLightMeson(
int pid
)
Determine if the PID is that of a light flavour (not b or c) meson.
function isLightBaryon
inline bool isLightBaryon(
int pid
)
Determine if the PID is that of a light flavour (not b or c) baryon.
function isLightHadron
inline bool isLightHadron(
int pid
)
Determine if the PID is that of a light flavour (not b or c) hadron.
function isBottomMeson
inline bool isBottomMeson(
int pid
)
Determine if the PID is that of a b-meson.
function isBottomBaryon
inline bool isBottomBaryon(
int pid
)
Determine if the PID is that of a b-baryon.
function isBottomHadron
inline bool isBottomHadron(
int pid
)
Determine if the PID is that of a b-hadron.
function isCharmMeson
inline bool isCharmMeson(
int pid
)
Determine if the PID is that of a c-meson.
Note: Specifically, the heaviest quark is a c: a B_c is a b-meson and NOT a c-meson. Charmonia (closed charm) are counted as c-mesons here.
function isCharmBaryon
inline bool isCharmBaryon(
int pid
)
Determine if the PID is that of a c-baryon.
Note: Specifically, the heaviest quark is a c: a baryon containing a b & c is a b-baryon and NOT a c-baryon. To test for the simpler case, just use a combination of hasCharm() and isBaryon().
function isCharmHadron
inline bool isCharmHadron(
int pid
)
Note: Specifically, the heaviest quark is a c: a baryon containing a b & c is a b-baryon and NOT a c-baryon. To test for the simpler case, just use a combination of hasCharm() and isBaryon().
Determine if the PID is that of a c-hadron.
function isStrangeMeson
inline bool isStrangeMeson(
int pid
)
Note: Specifically, the heaviest quark is an s: if it also contains either charm or bottom, it is not considered to be a strange hadron.
Determine if the PID is that of a strange meson
function isStrangeBaryon
inline bool isStrangeBaryon(
int pid
)
Note: Specifically, the heaviest quark is an s: if it also contains either charm or bottom, it is not considered to be a strange hadron.
Determine if the PID is that of a strange baryon
function isStrangeHadron
inline bool isStrangeHadron(
int pid
)
Note: Specifically, the heaviest quark is an s: if it also contains either charm or bottom, it is not considered to be a strange hadron.
Determine if the PID is that of a strange hadron
function jSpin
inline int jSpin(
int pid
)
jSpin returns 2J+1, where J is the total spin
function sSpin
inline int sSpin(
int pid
)
sSpin returns 2S+1, where S is the spin
function lSpin
inline int lSpin(
int pid
)
lSpin returns 2L+1, where L is the orbital angular momentum
function charge3
inline int charge3(
int pid
)
Three times the EM charge (as integer)
TodoIs this sufficiently general? Why only gluino in g+q+qbar? Better to recurse to the related SM hadron code?
function threeCharge
inline int threeCharge(
int pid
)
Deprecated:
Prefer charge3
Alias for charge3
function abscharge3
inline int abscharge3(
int pid
)
Return the absolute value of 3 times the EM charge.
function charge
inline double charge(
int pid
)
Return the EM charge (as floating point)
function abscharge
inline double abscharge(
int pid
)
Return the EM charge (as floating point)
function isCharged
inline bool isCharged(
int pid
)
Determine if the particle is electrically charged.
function isNeutral
inline bool isNeutral(
int pid
)
Determine if the particle is electrically neutral.
function isStrongInteracting
inline bool isStrongInteracting(
int pid
)
Determine if the PID is that of a strongly interacting particle.
function isEMInteracting
inline bool isEMInteracting(
int pid
)
Determine if the PID is that of a electromagnetically interacting particle.
function isWeakInteracting
inline bool isWeakInteracting(
int pid
)
Note: Photons are considered weak-interacting, as are all hadrons and leptons (we can’t distinguish between L and R fermions at physical particle level).
Determine if the PID is that of a weakly interacting particle
function isGenSpecific
inline bool isGenSpecific(
int pid
)
Determine if the PID is in the generator-specific range.
function isResonance
inline bool isResonance(
int pid
)
Todo: Also include SUSY, technicolor, etc. etc.? Maybe via a isStandardModel(pid) function, but there are stable BSM particles (in principle)
Determine if the PID is that of an EW scale resonance
function isTransportable
inline bool isTransportable(
int pid
)
Todo: Should exclude neutrinos/LSP, since the ATLAS G4 interface deletes them immediately?
What about long-lived particles… could be BSM but need to be transported
Check the PID for usability in transport codes like Geant4
function isSameSign
inline bool isSameSign(
PdgId a,
PdgId b
)
function isOppSign
inline bool isOppSign(
PdgId a,
PdgId b
)
function isSameFlav
inline bool isSameFlav(
PdgId a,
PdgId b
)
function isOppFlav
inline bool isOppFlav(
PdgId a,
PdgId b
)
function isOSSF
inline bool isOSSF(
PdgId a,
PdgId b
)
function isSSSF
inline bool isSSSF(
PdgId a,
PdgId b
)
function isOSOF
inline bool isOSOF(
PdgId a,
PdgId b
)
function isSSOF
inline bool isSSOF(
PdgId a,
PdgId b
)
Attributes Documentation
variable ELECTRON
static const PdgId ELECTRON = 11;
variable POSITRON
static const PdgId POSITRON = -ELECTRON;
variable EMINUS
static const PdgId EMINUS = ELECTRON;
variable EPLUS
static const PdgId EPLUS = POSITRON;
variable MUON
static const PdgId MUON = 13;
variable ANTIMUON
static const PdgId ANTIMUON = -MUON;
variable TAU
static const PdgId TAU = 15;
variable ANTITAU
static const PdgId ANTITAU = -TAU;
variable NU_E
static const PdgId NU_E = 12;
variable NU_EBAR
static const PdgId NU_EBAR = -NU_E;
variable NU_MU
static const PdgId NU_MU = 14;
variable NU_MUBAR
static const PdgId NU_MUBAR = -NU_MU;
variable NU_TAU
static const PdgId NU_TAU = 16;
variable NU_TAUBAR
static const PdgId NU_TAUBAR = -NU_TAU;
variable PHOTON
static const PdgId PHOTON = 22;
variable GAMMA
static const PdgId GAMMA = PHOTON;
variable GLUON
static const PdgId GLUON = 21;
variable WPLUSBOSON
static const PdgId WPLUSBOSON = 24;
variable WMINUSBOSON
static const PdgId WMINUSBOSON = -WPLUSBOSON;
variable WPLUS
static const PdgId WPLUS = WPLUSBOSON;
variable WMINUS
static const PdgId WMINUS = WMINUSBOSON;
variable Z0BOSON
static const PdgId Z0BOSON = 23;
variable ZBOSON
static const PdgId ZBOSON = Z0BOSON;
variable Z0
static const PdgId Z0 = Z0BOSON;
variable HIGGSBOSON
static const PdgId HIGGSBOSON = 25;
variable HIGGS
static const PdgId HIGGS = HIGGSBOSON;
variable H0BOSON
static const PdgId H0BOSON = HIGGSBOSON;
variable HBOSON
static const PdgId HBOSON = HIGGSBOSON;
variable DQUARK
static const PdgId DQUARK = 1;
variable UQUARK
static const PdgId UQUARK = 2;
variable SQUARK
static const PdgId SQUARK = 3;
variable CQUARK
static const PdgId CQUARK = 4;
variable BQUARK
static const PdgId BQUARK = 5;
variable TQUARK
static const PdgId TQUARK = 6;
variable PROTON
static const PdgId PROTON = 2212;
variable ANTIPROTON
static const PdgId ANTIPROTON = -PROTON;
variable PBAR
static const PdgId PBAR = ANTIPROTON;
variable NEUTRON
static const PdgId NEUTRON = 2112;
variable ANTINEUTRON
static const PdgId ANTINEUTRON = -NEUTRON;
variable PI0
static const PdgId PI0 = 111;
variable PIPLUS
static const PdgId PIPLUS = 211;
variable PIMINUS
static const PdgId PIMINUS = -PIPLUS;
variable RHO0
static const PdgId RHO0 = 113;
variable RHOPLUS
static const PdgId RHOPLUS = 213;
variable RHOMINUS
static const PdgId RHOMINUS = -RHOPLUS;
variable K0L
static const PdgId K0L = 130;
variable K0S
static const PdgId K0S = 310;
variable K0
static const PdgId K0 = 311;
variable KPLUS
static const PdgId KPLUS = 321;
variable KMINUS
static const PdgId KMINUS = -KPLUS;
variable ETA
static const PdgId ETA = 221;
variable ETAPRIME
static const PdgId ETAPRIME = 331;
variable PHI
static const PdgId PHI = 333;
variable OMEGA
static const PdgId OMEGA = 223;
variable ETAC
static const PdgId ETAC = 441;
variable JPSI
static const PdgId JPSI = 443;
variable PSI2S
static const PdgId PSI2S = 100443;
variable D0
static const PdgId D0 = 421;
variable D0BAR
static const PdgId D0BAR = -421;
variable DPLUS
static const PdgId DPLUS = 411;
variable DMINUS
static const PdgId DMINUS = -DPLUS;
variable DSTARPLUS
static const PdgId DSTARPLUS = 413;
variable DSTARMINUS
static const PdgId DSTARMINUS = -DSTARPLUS;
variable DSPLUS
static const PdgId DSPLUS = 431;
variable DSMINUS
static const PdgId DSMINUS = -DSPLUS;
variable ETAB
static const PdgId ETAB = 551;
variable UPSILON1S
static const PdgId UPSILON1S = 553;
variable UPSILON2S
static const PdgId UPSILON2S = 100553;
variable UPSILON3S
static const PdgId UPSILON3S = 200553;
variable UPSILON4S
static const PdgId UPSILON4S = 300553;
variable B0
static const PdgId B0 = 511;
variable B0BAR
static const PdgId B0BAR = -511;
variable BPLUS
static const PdgId BPLUS = 521;
variable BMINUS
static const PdgId BMINUS = -BPLUS;
variable B0S
static const PdgId B0S = 531;
variable BCPLUS
static const PdgId BCPLUS = 541;
variable BCMINUS
static const PdgId BCMINUS = -BCPLUS;
variable LAMBDA
static const PdgId LAMBDA = 3122;
variable SIGMA0
static const PdgId SIGMA0 = 3212;
variable SIGMAPLUS
static const PdgId SIGMAPLUS = 3222;
variable SIGMAMINUS
static const PdgId SIGMAMINUS = 3112;
variable SIGMAB
static const PdgId SIGMAB = 5212;
variable SIGMABPLUS
static const PdgId SIGMABPLUS = 5222;
variable SIGMABMINUS
static const PdgId SIGMABMINUS = 5112;
variable LAMBDACPLUS
static const PdgId LAMBDACPLUS = 4122;
variable LAMBDACMINUS
static const PdgId LAMBDACMINUS = 4122;
variable LAMBDAB
static const PdgId LAMBDAB = 5122;
variable XI0
static const PdgId XI0 = 3322;
variable XIMINUS
static const PdgId XIMINUS = 3312;
variable XIPLUS
static const PdgId XIPLUS = -XIMINUS;
variable XI0B
static const PdgId XI0B = 5232;
variable XIBMINUS
static const PdgId XIBMINUS = 5132;
variable XI0C
static const PdgId XI0C = 4132;
variable XICPLUS
static const PdgId XICPLUS = 4232;
variable OMEGAMINUS
static const PdgId OMEGAMINUS = 3334;
variable OMEGAPLUS
static const PdgId OMEGAPLUS = -OMEGAMINUS;
variable OMEGABMINUS
static const PdgId OMEGABMINUS = 5332;
variable OMEGA0C
static const PdgId OMEGA0C = 4332;
variable REGGEON
static const PdgId REGGEON = 110;
variable POMERON
static const PdgId POMERON = 990;
variable ODDERON
static const PdgId ODDERON = 9990;
variable GRAVITON
static const PdgId GRAVITON = 39;
variable NEUTRALINO1
static const PdgId NEUTRALINO1 = 1000022;
variable GRAVITINO
static const PdgId GRAVITINO = 1000039;
variable GLUINO
static const PdgId GLUINO = 1000021;
variable BPRIME
static const int BPRIME = 7;
variable TPRIME
static const int TPRIME = 8;
variable LPRIME
static const int LPRIME = 17;
variable NUPRIME
static const int NUPRIME = 18;
variable DEUTERON
static const PdgId DEUTERON = 1000010020;
variable ALUMINIUM
static const PdgId ALUMINIUM = 1000130270;
variable COPPER
static const PdgId COPPER = 1000290630;
variable XENON
static const PdgId XENON = 1000541290;
variable GOLD
static const PdgId GOLD = 1000791970;
variable LEAD
static const PdgId LEAD = 1000822080;
variable URANIUM
static const PdgId URANIUM = 1000922380;
variable ANY
static const PdgId ANY = 10000;
Static const convenience particle ID names.
Special wildcard particle name
Updated on 2022-08-07 at 20:17:17 +0100