Rivet: More general particle class identification functions

| Rivet 3.1.9

Functions
More general particle class identification functions

## Functions
bool | Rivet::PID::isLepton (int pid)
bool | Rivet::PID::isBSMBoson (int pid)
| Is this a valid BSM boson (SUSY Higgs, W', Z')?
bool | Rivet::PID::isSMFundamental (int pid)
| Is this an SM fundamental particle?
bool | Rivet::PID::isSUSY (int pid)
| Is this a fundamental SUSY particle?
bool | Rivet::PID::isRHadron (int pid)
| Is this an R-hadron?
bool | Rivet::PID::isRhadron (int pid)
| Alias.
bool | Rivet::PID::isTechnicolor (int pid)
| Is this a technicolor particle?
bool | Rivet::PID::isExcited (int pid)
| Is this an excited (composite) quark or lepton?
bool | Rivet::PID::isKK (int pid)
| Is this a Kaluza-Klein excitation?
bool | Rivet::PID::isLeptoQuark (int pid)
| Is this a lepto-quark?
bool | Rivet::PID::isDarkMatter (int pid)
bool | Rivet::PID::isDM (int pid)
| Convenience alias.
bool | Rivet::PID::isHiddenValley (int pid)
| Is this a Hidden Valley particle?
bool | Rivet::PID::isExotic (int pid)
| Is this an exotic particle?
bool | Rivet::PID::isFourthGen (int pid)
| Is this a 4th generation particle?
bool | Rivet::PID::isMagMonopole (int pid)
| Is this from a magnetic monopole or dyon?
bool | Rivet::PID::isDyon (int pid)
| Just treat a dyon as an alias for magmonopole for now.
bool | Rivet::PID::isQBall (int pid)
bool | Rivet::PID::isQball (int pid)
| Alias.
bool | Rivet::PID::isExcitedLepton (int pid)
| Is this an excited lepton?
bool | Rivet::PID::isBlackHole (int pid)
| Is this a black hole?
bool | Rivet::PID::isAECO (int pid)
| Is this an anomalously electrically charged particle (AECO)?
bool | Rivet::PID::isBSM (int pid)
| Is this a BSM particle (including graviton)?
bool | Rivet::PID::isValid (int pid)

## Detailed Description

## Function Documentation

## ◆ isDarkMatter()

bool Rivet::PID::isDarkMatter | ( | int | pid | ) |
| inline

Is this a generic Dark Matter particle?

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?

References Rivet::in_closed_range(), and Rivet::pid().

Referenced by Rivet::PID::isDM().

## ◆ isLepton()

bool Rivet::PID::isLepton | ( | int | pid | ) |
| inline

Is this a valid lepton ID?

Note
  BSM "leptons" don't count

References Rivet::PID::isBSM(), and Rivet::pid().

Referenced by Rivet::PID::isExcitedLepton(), Rivet::Particle::isLepton(), Rivet::PID::isSMFundamental(), and Rivet::PID::isTransportable().

## ◆ isQBall()

bool Rivet::PID::isQBall | ( | int | pid | ) |
| inline

Is this a Q-ball?

Note
  Ad-hoc numbering for such particles is 100xxxx0, where xxxx is the charge in tenths.

References Rivet::pid().

Referenced by Rivet::PID::charge3(), and Rivet::PID::isQball().

## ◆ isSUSY()

bool Rivet::PID::isSUSY | ( | int | pid | ) |
| inline

Is this a fundamental SUSY particle?

The MSSM extended Higgs sector is not counted as 'SUSY' particles, since they are not superpartners.

References Rivet::PID::isChargedLepton(), Rivet::PID::isQuark(), Rivet::PID::isSMFundamental(), and Rivet::pid().

Referenced by Rivet::PID::isBSM(), and Rivet::PID::isRHadron().