#include <TruthParticle_v1.h>
Classes | |
struct | Polarization |
Public Member Functions | |
TruthParticle_v1 () | |
Default constructor. | |
void | toPersistent () |
Function making sure that the object is ready for persistification. | |
Functions identifying the particle in the MC record | |
void | setPdgId (int pid) |
Set PDG ID code. | |
int | pdgId () const |
PDG ID code. | |
int | absPdgId () const |
Absolute PDG ID code (often useful). | |
int | barcode () const |
void | setBarcode (int value) |
Set barcode. | |
int | status () const |
Status code. | |
void | setStatus (int value) |
Set status code. | |
Links to the production and decay vertices | |
bool | hasProdVtx () const |
Check for a production vertex on this particle. | |
const TruthVertex_v1 * | prodVtx () const |
The production vertex of this particle. | |
const ElementLink < TruthVertexContainer > & | prodVtxLink () const |
The production vertex link of this particle. | |
void | setProdVtxLink (const ElementLink< TruthVertexContainer > &link) |
Set the production vertex of the particle. | |
bool | hasDecayVtx () const |
Check for a decay vertex on this particle. | |
const TruthVertex_v1 * | decayVtx () const |
The decay vertex of this particle. | |
const ElementLink < TruthVertexContainer > & | decayVtxLink () const |
The decay vertex link of this particle. | |
void | setDecayVtxLink (const ElementLink< TruthVertexContainer > &link) |
Set the decay vertex of the particle. | |
Particle connection / origin / decay information | |
size_t | nParents () const |
Number of parents of this particle. | |
const TruthParticle_v1 * | parent (size_t i=0) const |
Retrieve the i-th mother (TruthParticle) of this TruthParticle. | |
size_t | nChildren () const |
Number of children of this particle. | |
const TruthParticle_v1 * | child (size_t i=0) const |
Retrieve the i-th mother (TruthParticle) of this TruthParticle. | |
4-momentum accessors specific to truth particles | |
double | abseta () const |
double | absrapidity () const |
float | px () const |
The x component of the particle's momentum. | |
void | setPx (float value) |
Set the x component of the particle's momentum. | |
float | py () const |
The y component of the particle's momentum. | |
void | setPy (float value) |
Set the y component of the particle's momentum. | |
float | pz () const |
The z component of the particle's momentum. | |
void | setPz (float value) |
Set the z component of the particle's momentum. | |
void | setE (float value) |
Set the energy of the particle. | |
void | setM (float value) |
Also store the mass. | |
Particle species information | |
double | charge () const |
Physical charge. | |
int | threeCharge () const |
3 x the physical charge (so it can be an int for quarks) | |
bool | isCharged () const |
Whether the particle is electrically charged. | |
bool | isNeutral () const |
Whether the particle is electrically neutral. | |
bool | isPhoton () const |
Whether the particle is a photon. | |
bool | isLepton () const |
Whether the particle is a lepton. | |
bool | isChLepton () const |
Whether the particle is a charged lepton. | |
bool | isElectron () const |
Whether the particle is an electron (or positron). | |
bool | isMuon () const |
Whether the particle is a muon (or antimuon). | |
bool | isTau () const |
Whether the particle is a tau (or antitau). | |
bool | isNeutrino () const |
Whether the particle is a neutrino (or antineutrino). | |
bool | isHadron () const |
Whether the particle is a hadron. | |
bool | isMeson () const |
Whether the particle is a meson. | |
bool | isBaryon () const |
Whether the particle is a baryon. | |
bool | hasStrange () const |
Whether the particle contains a strange quark (or antiquark). | |
bool | hasCharm () const |
Whether the particle contains a charm quark (or antiquark). | |
bool | hasBottom () const |
Whether the particle contains a bottom quark (or antiquark). | |
bool | isLightMeson () const |
Determine if the PID is that of a light flavour (not b or c) meson. | |
bool | isLightBaryon () const |
Determine if the PID is that of a light flavour (not b or c) baryon. | |
bool | isLightHadron () const |
Determine if the PID is that of a light flavour (not b or c) hadron. | |
bool | isHeavyMeson () const |
Determine if the PID is that of a heavy flavour (b or c) meson. | |
bool | isHeavyBaryon () const |
Determine if the PID is that of a heavy flavour (b or c) baryon. | |
bool | isHeavyHadron () const |
Determine if the PID is that of a heavy flavour (b or c) hadron. | |
bool | isBottomMeson () const |
Determine if the PID is that of a b-meson. | |
bool | isBottomBaryon () const |
Determine if the PID is that of a b-baryon. | |
bool | isBottomHadron () const |
Determine if the PID is that of a b-hadron. | |
bool | isCharmMeson () const |
Determine if the PID is that of a c-meson. | |
bool | isCharmBaryon () const |
Determine if the PID is that of a c-baryon. | |
bool | isCharmHadron () const |
Determine if the PID is that of a c-hadron. | |
bool | isStrangeMeson () const |
Determine if the PID is that of a strange meson. | |
bool | isStrangeBaryon () const |
Determine if the PID is that of a strange baryon. | |
bool | isStrangeHadron () const |
Determine if the PID is that of a strange hadron. | |
bool | isQuark () const |
Check if this particle is a quark. | |
bool | isParton () const |
Check if this particle is a parton. | |
bool | isTop () const |
Check if this particle is a top quark. | |
bool | isW () const |
Check if this particle is a W boson. | |
bool | isZ () const |
Check if this particle is a Z boson. | |
bool | isHiggs () const |
Check if this particle is a Higgs boson. | |
bool | isResonance () const |
Check if this particle is a resonant state. | |
bool | isGenSpecific () const |
Check if this is a generator specific (non-physical) particle. | |
Polarization properties (optional) | |
| |
enum | PolParam { polarizationPhi = 0, polarizationTheta = 1 } |
Polarization parameter types. More... | |
bool | polarizationParameter (float &value, PolParam parameter) const |
bool | setPolarizationParameter (float value, PolParam parameter) |
float | polarizationPatameter (PolParam parameter) const |
Polarization | polarization () const |
Functions implementing the xAOD::IParticle interface | |
| |
typedef IParticle::FourMom_t | FourMom_t |
Definition of the 4-momentum type. | |
virtual double | pt () const |
The transverse momentum () of the particle. | |
virtual double | eta () const |
The pseudorapidity () of the particle. | |
virtual double | phi () const |
The azimuthal angle () of the particle. | |
virtual double | m () const |
virtual double | e () const |
The total energy of the particle. | |
virtual double | rapidity () const |
The true rapidity () of the particle. | |
virtual const FourMom_t & | p4 () const |
virtual Type::ObjectType | type () const |
The type of the object as a simple enumeration. |
Class describing a truth particle in the MC record
The xAOD truth record mimicks the structure of HepMC. Truth particles and truth vertices form a decay tree. Where each truth particle is connected to a single production and decay vertex. And each vertex is connected to one or more incoming, and one or more outgoing particles.
Polarization parameter types.
polarizationPhi |
Polarization in (). |
polarizationTheta |
Polarization in (). |
double xAOD::TruthParticle_v1::abseta | ( | ) | const |
The absolute pseudorapidity () of the particle
double xAOD::TruthParticle_v1::absrapidity | ( | ) | const |
The true absolute rapidity () of the particle
int xAOD::TruthParticle_v1::barcode | ( | ) | const |
Barcode
bool xAOD::TruthParticle_v1::isCharmBaryon | ( | ) | const |
Determine if the PID is that of a c-baryon.
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().
bool xAOD::TruthParticle_v1::isCharmMeson | ( | ) | const |
Determine if the PID is that of a c-meson.
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.
virtual double xAOD::TruthParticle_v1::m | ( | ) | const [virtual] |
const TruthParticle_v1::FourMom_t & xAOD::TruthParticle_v1::p4 | ( | ) | const [virtual] |
The full 4-momentum of the particle
Note that m may not be right, though, if not on mass shell. In which case p4().M()
will be different from m()
.
Implements xAOD::IParticle.
TruthParticle_v1::Polarization xAOD::TruthParticle_v1::polarization | ( | ) | const |
Retrieve a full Polarization with a single call
bool xAOD::TruthParticle_v1::polarizationParameter | ( | float & | value, | |
PolParam | parameter | |||
) | const |
Accessor for polarization parameters
Generic C++ code should use this function to retrieve the polarization parameters of a truth particle. Since these parameters are optional, the function is designed to tell the user whether the requested parameter could be retrieved or not.
value | The polarization parameter value read from the object | |
parameter | The polarization parameter that we are interested in |
true
if the retrieval was successful, false
if it wasn't float xAOD::TruthParticle_v1::polarizationPatameter | ( | PolParam | parameter | ) | const |
Convenience accessor for a polariozation parameter.
Throws an exception if the request can't be completed. It should mostly be used in PyROOT, as the other form of this function is very hard to use there. But one needs to know for sure that the requested parameter will exist.
parameter | The polarion parameter that we are interested in |
bool xAOD::TruthParticle_v1::setPolarizationParameter | ( | float | value, | |
PolParam | parameter | |||
) |
Set method for polarization parameter values
In order to keep the symmetry with the getter function, this setter communicates a possible failure in its operation through a return value. Setting a polariozation parameter is much less likely to fail than retrieving one, but in some situations it may still happen...
value | The polarization parameter value to set on the object | |
parameter | The polarization parameter type that we want to set |
true
if the operation was successful, or false
if it wasn't