![]() |
Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
Hammer class for dealing with particle data. More...
#include <Pdg.hh>
Public Member Functions | |
PdgId | toPdgCode (const std::string &name) const |
convert a particle name to its PDG code. More... | |
std::vector< PdgId > | toPdgList (const std::string &name) const |
return a list of PDG codes corresponding to a particle name E.g. More... | |
double | getMass (PdgId id) const |
particle mass from a PDG code More... | |
double | getMass (const std::string &name) const |
particle mass from a particle name More... | |
void | setMass (PdgId id, double value) |
set the particle mass by PDG code More... | |
void | setMass (const std::string &name, double value) |
set the particle mass by particle name More... | |
double | getWidth (PdgId id) const |
particle width from a PDG code More... | |
double | getWidth (const std::string &name) const |
particle width from a particle name More... | |
void | setWidth (PdgId id, double value) |
set the particle width by PDG code More... | |
void | setWidth (const std::string &name, double value) |
set the particle width by particle name More... | |
size_t | getSpinMultiplicity (PdgId id) const |
return \( 2s+1 \) where s is the particle spin from a PDG code More... | |
size_t | getSpinMultiplicity (const std::string &name) const |
return \( 2s+1 \) where s is the particle spin from a particle name More... | |
size_t | getSpinMultiplicities (const std::vector< PdgId > &ids) const |
return \( \prod_i (2s_i+1) \) where \( s_i \) is the spin of particle i from a list of particle PDG codes More... | |
size_t | getSpinMultiplicities (const std::vector< std::string > &names) const |
return \( \prod_i (2s_i+1) \) where \( s_i \) is the spin of particle i from a list of particle names More... | |
int | getThreeCharge (PdgId id) const |
return \( 3*q \) where q is the particle electric charge from a PDG code More... | |
int | getThreeCharge (const std::vector< PdgId > &ids) const |
return 3 times the total electric charge from a list of particle PDG codes More... | |
int | getLeptonNumber (PdgId id) const |
the particle lepton number from a PDG code More... | |
int | getLeptonNumber (const std::vector< PdgId > &ids) const |
return the total lepton number from a list of particle PDG codes More... | |
int | getBaryonNumber (PdgId id) const |
the particle baryon number from a PDG code More... | |
int | getBaryonNumber (const std::vector< PdgId > &ids) const |
return the total baryon number from a list of particle PDG codes More... | |
std::tuple< int, int, int > | getLeptonFlavorNumber (PdgId id) const |
the particle lepton numbers for each flavor from a PDG code More... | |
std::tuple< int, int, int > | getLeptonFlavorNumber (const std::vector< PdgId > &ids) const |
return the total lepton numbers for each flabor from a list of particle PDG codes More... | |
std::vector< HashId > | expandToValidVertexUIDs (const std::string &name, const bool &hadOnly=false) const |
std::vector< std::pair< PdgId, std::vector< PdgId > > > | expandToValidVertices (const std::string &name) const |
std::map< HashId, double > | getPartialWidths () |
get partial Widths More... | |
bool | isMeson (PdgId id) const |
check whether a PDG code corresponds to a meson More... | |
Static Public Member Functions | |
static PID & | instance () |
Static Public Attributes | |
Charged leptons | |
static const PdgId | ELECTRON = 11 |
static const PdgId | POSITRON = -ELECTRON |
static const PdgId | EMINUS = ELECTRON |
static const PdgId | EPLUS = POSITRON |
static const PdgId | MUON = 13 |
static const PdgId | ANTIMUON = -MUON |
static const PdgId | TAU = 15 |
static const PdgId | ANTITAU = -TAU |
Neutrinos | |
static const PdgId | NU_E = 12 |
static const PdgId | NU_EBAR = -NU_E |
static const PdgId | NU_MU = 14 |
static const PdgId | NU_MUBAR = -NU_MU |
static const PdgId | NU_TAU = 16 |
static const PdgId | NU_TAUBAR = -NU_TAU |
Bosons | |
static const PdgId | PHOTON = 22 |
static const PdgId | GAMMA = PHOTON |
static const PdgId | WBOSON = 24 |
Nucleons | |
static const PdgId | PROTON = 2212 |
static const PdgId | ANTIPROTON = -PROTON |
static const PdgId | PBAR = ANTIPROTON |
static const PdgId | NEUTRON = 2112 |
static const PdgId | ANTINEUTRON = -NEUTRON |
Light mesons | |
static const PdgId | PI0 = 111 |
static const PdgId | PIPLUS = 211 |
static const PdgId | PIMINUS = -PIPLUS |
static const PdgId | RHO0 = 113 |
static const PdgId | RHOPLUS = 213 |
static const PdgId | RHOMINUS = -RHOPLUS |
static const PdgId | K0L = 130 |
static const PdgId | K0S = 310 |
static const PdgId | KPLUS = 321 |
static const PdgId | KMINUS = -KPLUS |
static const PdgId | ETA = 221 |
static const PdgId | ETAPRIME = 331 |
static const PdgId | PHI = 333 |
static const PdgId | OMEGA = 223 |
Charmonia | |
static const PdgId | ETAC = 441 |
static const PdgId | JPSI = 443 |
static const PdgId | PSI2S = 100443 |
Charm mesons | |
static const PdgId | D0 = 421 |
static const PdgId | DPLUS = 411 |
static const PdgId | DMINUS = -DPLUS |
static const PdgId | DSTAR = 423 |
static const PdgId | DSTARPLUS = 413 |
static const PdgId | DSTARMINUS = -DSTARPLUS |
static const PdgId | DSSD0STAR = 10421 |
static const PdgId | DSSD0STARPLUS = 10411 |
static const PdgId | DSSD0STARMINUS = -DSSD0STARPLUS |
static const PdgId | DSSD1STAR = 20423 |
static const PdgId | DSSD1STARPLUS = 20413 |
static const PdgId | DSSD1STARMINUS = -DSSD1STARPLUS |
static const PdgId | DSSD1 = 10423 |
static const PdgId | DSSD1PLUS = 10413 |
static const PdgId | DSSD1MINUS = -DSSD1PLUS |
static const PdgId | DSSD2STAR = 425 |
static const PdgId | DSSD2STARPLUS = 415 |
static const PdgId | DSSD2STARMINUS = -DSSD2STARPLUS |
static const PdgId | DSPLUS = 431 |
static const PdgId | DSMINUS = -DSPLUS |
static const PdgId | DSSTARPLUS = 433 |
static const PdgId | DSSTARMINUS = -DSSTARPLUS |
static const PdgId | DSSDS0STARPLUS = 10431 |
static const PdgId | DSSDS0STARMINUS = -DSSDS0STARPLUS |
static const PdgId | DSSDS1STARPLUS = 20433 |
static const PdgId | DSSDS1STARMINUS = -DSSDS1STARPLUS |
static const PdgId | DSSDS1PLUS = 10433 |
static const PdgId | DSSDS1MINUS = -DSSDS1PLUS |
static const PdgId | DSSDS2STARPLUS = 435 |
static const PdgId | DSSDS2STARMINUS = -DSSDS2STARPLUS |
Bottomonia | |
static const PdgId | ETAB = 551 |
static const PdgId | UPSILON1S = 553 |
static const PdgId | UPSILON2S = 100553 |
static const PdgId | UPSILON3S = 200553 |
static const PdgId | UPSILON4S = 300553 |
b mesons | |
static const PdgId | BZERO = 511 |
static const PdgId | BPLUS = 521 |
static const PdgId | BMINUS = -BPLUS |
static const PdgId | BS = 531 |
static const PdgId | BCPLUS = 541 |
static const PdgId | BCMINUS = -BCPLUS |
Baryons | |
static const PdgId | LAMBDA = 3122 |
static const PdgId | SIGMA0 = 3212 |
static const PdgId | SIGMAPLUS = 3222 |
static const PdgId | SIGMAMINUS = 3112 |
static const PdgId | LAMBDACPLUS = 4122 |
static const PdgId | LAMBDACMINUS = -LAMBDACPLUS |
static const PdgId | LAMBDAB = 5122 |
static const PdgId | XI0 = 3322 |
static const PdgId | XIMINUS = 3312 |
static const PdgId | XIPLUS = -XIMINUS |
static const PdgId | OMEGAMINUS = 3334 |
static const PdgId | OMEGAPLUS = -OMEGAMINUS |
Protected Types | |
enum | location { nj = 1, nq3, nq2, nq1, nl, nr, n, n8, n9, n10 } |
Protected Member Functions | |
void | init () |
initializes the data tables More... | |
void | addBR (PdgId parent, const std::vector< PdgId > &daughters, const double br) |
add BRs More... | |
bool | isHadron (PdgId id) const |
check whether a PDG code corresponds to a hadron More... | |
bool | isBaryon (PdgId id) const |
check whether a PDG code corresponds to a baryon More... | |
bool | isDiQuark (PdgId id) const |
check whether a PDG code corresponds to a diquark More... | |
bool | isPentaquark (PdgId id) const |
check whether a PDG code corresponds to a pentaquark More... | |
bool | isLepton (PdgId id) const |
check whether a PDG code corresponds to a charged lepton More... | |
bool | isNeutrino (PdgId id) const |
check whether a PDG code corresponds to a neutrino More... | |
PdgId | fundamentalID (PdgId id) const |
PdgId | extraBits (PdgId id) const |
PdgId | abspid (PdgId id) const |
takes the absolute value of a PDG code More... | |
unsigned short | digit (location loc, PdgId pid) const |
extracts a digit from a PDG code More... | |
Static Protected Member Functions | |
static PID * | getPIDInstance () |
Private Member Functions | |
PID () | |
PID (const PID &)=delete | |
PID & | operator= (const PID &)=delete |
PID (PID &&)=delete | |
PID & | operator= (PID &&)=delete |
~PID () | |
Private Attributes | |
std::map< PdgId, double > | _masses |
std::map< PdgId, double > | _widths |
std::map< HashId, std::pair < double, PdgId > > | _brs |
std::map< std::string, std::vector< PdgId > > | _names |
Static Private Attributes | |
static PID * | _thePID = nullptr |
Hammer class for dealing with particle data.
Provides PDG code information retrieval, particle masses and properties. Organized as a singleton accessed by the instance()
method
|
protected |
|
privatedelete |
|
privatedelete |
vector< HashId > Hammer::PID::expandToValidVertexUIDs | ( | const std::string & | name, |
const bool & | hadOnly = false |
||
) | const |
int Hammer::PID::getBaryonNumber | ( | PdgId | id | ) | const |
int Hammer::PID::getBaryonNumber | ( | const std::vector< PdgId > & | ids | ) | const |
tuple< int, int, int > Hammer::PID::getLeptonFlavorNumber | ( | PdgId | id | ) | const |
tuple< int, int, int > Hammer::PID::getLeptonFlavorNumber | ( | const std::vector< PdgId > & | ids | ) | const |
int Hammer::PID::getLeptonNumber | ( | PdgId | id | ) | const |
int Hammer::PID::getLeptonNumber | ( | const std::vector< PdgId > & | ids | ) | const |
double Hammer::PID::getMass | ( | PdgId | id | ) | const |
double Hammer::PID::getMass | ( | const std::string & | name | ) | const |
map< HashId, double > Hammer::PID::getPartialWidths | ( | ) |
|
staticprotected |
size_t Hammer::PID::getSpinMultiplicities | ( | const std::vector< PdgId > & | ids | ) | const |
size_t Hammer::PID::getSpinMultiplicities | ( | const std::vector< std::string > & | names | ) | const |
size_t Hammer::PID::getSpinMultiplicity | ( | PdgId | id | ) | const |
size_t Hammer::PID::getSpinMultiplicity | ( | const std::string & | name | ) | const |
int Hammer::PID::getThreeCharge | ( | PdgId | id | ) | const |
int Hammer::PID::getThreeCharge | ( | const std::vector< PdgId > & | ids | ) | const |
double Hammer::PID::getWidth | ( | PdgId | id | ) | const |
double Hammer::PID::getWidth | ( | const std::string & | name | ) | const |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
bool Hammer::PID::isMeson | ( | PdgId | id | ) | const |
|
protected |
|
protected |
void Hammer::PID::setMass | ( | PdgId | id, |
double | value | ||
) |
void Hammer::PID::setMass | ( | const std::string & | name, |
double | value | ||
) |
void Hammer::PID::setWidth | ( | PdgId | id, |
double | value | ||
) |
void Hammer::PID::setWidth | ( | const std::string & | name, |
double | value | ||
) |
PdgId Hammer::PID::toPdgCode | ( | const std::string & | name | ) | const |
vector< PdgId > Hammer::PID::toPdgList | ( | const std::string & | name | ) | const |
|
private |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |