|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef XAODTRUTH_VERSIONS_TRUTHPARTICLE_V1_H
8 #define XAODTRUTH_VERSIONS_TRUTHPARTICLE_V1_H
11 #include "AthLinks/ElementLink.h"
21 #include "Math/Vector4D.h"
23 template struct DataVector_detail::DVLEltBaseInit< xAOD::TruthParticle_v1>;
52 inline int pdg_id()
const {
return pdgId();}
77 bool hasProdVtx()
const;
108 size_t nParents()
const;
114 size_t nChildren()
const;
131 virtual double pt()
const override final;
133 virtual
double eta()
const override final;
135 virtual
double phi()
const override final;
144 virtual
double rapidity()
const override final;
172 double abseta()
const;
175 double absrapidity()
const;
193 void setE(
float value );
196 void setM(
float value );
319 polarizationTheta = 1
334 bool polarizationParameter(
float&
value, PolParam parameter )
const;
348 bool setPolarizationParameter(
float value, PolParam parameter );
360 float polarizationParameter( PolParam parameter )
const;
376 return ( (
phi > 0.0 ) && (
theta > 0.0 ) );
400 if (!
p) {
os <<
"Prt: Empty particle" << std::endl;
return os;}
402 os <<
p->id() <<
" pdg_id=";
403 os <<
p->pdg_id() <<
" (px,py,pz,e)=";
404 os <<
p->px() <<
",";
405 os <<
p->py() <<
",";
406 os <<
p->pz() <<
",";
407 os <<
p->e() <<
";(pt,eta,phi)=";
408 os <<
p->pt() <<
",";
409 os <<
p->eta() <<
",";
410 os <<
p->phi() <<
"; status=";
417 #endif // XAODTRUTH_VERSIONS_TRUTHPARTICLE_V1_H
bool isStrangeMeson(const T &p)
void setStatus(int value)
Set status code.
bool isBottomMeson(const T &p)
int absPdgId() const
Absolute PDG ID code (often useful)
Polarization()
Constructor to set (invalid) defaults.
bool isHeavyHadron(const T &p)
Scalar phi() const
phi method
bool isBottomBaryon(const T &p)
Polarization polarization(const T &a)
const TruthVertex_v1 * production_vertex() const
The production vertex of this particle.
bool hasCharm(const T &p)
Scalar eta() const
pseudorapidity method
bool isGenSpecific(const T &p)
void setBarcode(int value)
Set barcode.
Scalar theta() const
theta method
double threeCharge(const T &p)
bool valid() const
Check if the stored values are valid.
bool isCharmMeson(const T &p)
bool hasBottom(const T &p)
bool isNeutrino(const T &p)
APID: the fourth generation neutrinos are neutrinos.
bool isResonance(const T &p)
bool isParton(const T &p)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
bool isHeavyBaryon(const T &p)
bool const RAWDATA *ch2 const
bool isLightBaryon(const T &p)
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > GenVecFourMom_t
Base 4 Momentum type for TruthParticle.
int pdg_id() const
PDG ID code.
Class providing the definition of the 4-vector interface.
bool isBottomHadron(const T &p)
bool isGenStable(const T &p)
Determine if the particle is stable at the generator (not det-sim) level,.
bool isLightMeson(const T &p)
bool isHiggs(const T &p)
APID: HIGGS boson is only one particle.
TLorentzVector FourMom_t
Definition of the 4-momentum type.
bool isQuark(const T &p)
PDG rule 2: Quarks and leptons are numbered consecutively starting from 1 and 11 respectively; to dot...
std::ostream & operator<<(std::ostream &os, const TruthParticle_v1 *p)
bool hasDecayVtx() const
Check for a decay vertex on this particle.
bool isLightHadron(const T &p)
const ElementLink< TruthVertexContainer > & prodVtxLink() const
The production vertex link of this particle.
bool isElectron(const xAOD::Egamma *eg)
is the object an electron (not Fwd)
Class describing a truth particle in the MC record.
bool isCharmBaryon(const T &p)
bool isNeutral(const T &p)
bool hasStrange(const T &p)
int barcode() const
Barcode.
bool isChLepton(const T &p)
APID: the fourth generation leptons are leptons.
const ElementLink< TruthVertexContainer > & decayVtxLink() const
The decay vertex link of this particle.
float phi
Polarization in ( )
ElementLink implementation for ROOT usage.
const TruthVertex_v1 * decayVtx() const
The decay vertex of this particle.
Class describing a truth vertex in the MC record.
void setPdgId(int pid)
Set PDG ID code.
bool isStrangeHadron(const T &p)
bool isHadron(const T &p)
double charge(const T &p)
bool isBaryon(const T &p)
PolParam
Polarization parameter types.
int status() const
Status code.
bool isCharged(const T &p)
const TruthVertex_v1 * end_vertex() const
The decay vertex of this particle.
bool isPhoton(const xAOD::Egamma *eg)
is the object a photon
bool isLepton(const T &p)
APID: the fourth generation leptons are leptons.
bool isCharmHadron(const T &p)
void setDecayVtxLink(const ElementLink< TruthVertexContainer > &link)
Set the decay vertex of the particle.
void setProdVtxLink(const ElementLink< TruthVertexContainer > &link)
Set the production vertex of the particle.
bool isHeavyMeson(const T &p)
bool isStrangeBaryon(const T &p)
Single container for full polarization information.
int pdgId() const
PDG ID code.
float theta
Polarization in ( )