![]() |
ATLAS Offline Software
|
Class describing a particle flow object. More...
#include <PFO_v1.h>
Public Types | |
| typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > | GenVecFourMom_t |
| Base 4 Momentum type (GenVector version). | |
Functions describing the 4-momentum of the object | |
| typedef TLorentzVector | FourMom_t |
| Definition of the 4-momentum type. | |
Public Member Functions | |
| PFO_v1 () | |
| Default constructor. | |
| PFO_v1 (const PFO_v1 &other) | |
| Copy Constructor. | |
| PFO_v1 & | operator= (const PFO_v1 &other)=default |
| GenVecFourMom_t | genvecP4 () const |
| The full 4-momentum of the particle : GenVector version. | |
| void | setP4 (const FourMom_t &vec) |
| set the 4-vec | |
| void | setP4 (float pt, float eta, float phi, float m=0.0) |
| set the 4-vec | |
| FourMom_t | p4EM () const |
| get EM scale 4-vector | |
| GenVecFourMom_t | genvecP4EM () const |
| get EM scale 4-vector | |
| void | setP4EM (const FourMom_t &p4EM) |
| set EM scale 4-vector | |
| void | setP4EM (float pt, float eta, float phi, float m) |
| set EM scale 4-vector | |
| virtual double | ptEM () const |
| get EM scale pt | |
| virtual double | etaEM () const |
| get EM scale eta | |
| virtual double | phiEM () const |
| get EM scale phi | |
| virtual double | mEM () const |
| get EM scale mass | |
| virtual double | eEM () const |
| get EM scale energy | |
| float | bdtPi0Score () const |
| get BDT Score used to classify clusters as Pi0 like or not | |
| void | setBDTPi0Score (float BDTPi0Score) |
| set BDT Score used to classify clusters as Pi0 like or not | |
| float | centerMag () const |
| get CenterMag moment needed for vertex correction | |
| void | setCenterMag (float CenterMag) |
| set CenterMag moment needed for vertex correction | |
| bool | isCharged () const |
| is a charged PFO | |
| float | charge () const |
| get charge of PFO | |
| void | setCharge (float charge) |
| set charge of PFO | |
| template<class T> | |
| void | setAttribute (PFODetails::PFOAttributes AttributeType, const T &anAttribute) |
| Set a PFO Variable via enum - overwrite is allowed. | |
| template<class T> | |
| bool | attribute (PFODetails::PFOAttributes AttributeType, T &anAttribute) const |
| get a PFO Variable via enum | |
| template<class T> | |
| void | setAttribute (const std::string &AttributeType, const T &anAttribute) |
| Set a PFO Variable via string - overwrite is allowed. | |
| template<class T> | |
| bool | attribute (const std::string &AttributeType, T &anAttribute) const |
| Get a PFO Variable via string. | |
| bool | getClusterMoment (float &theMoment, xAOD::CaloCluster::MomentType momentType) const |
| Accessor for cluster moments. | |
| unsigned int | nCaloCluster () const |
| Find out how many CaloCluster are linked. | |
| const CaloCluster * | cluster (unsigned int index) const |
| Retrieve a const pointer to a CaloCluster. | |
| const TrackParticle * | track (unsigned int index) const |
| Retrieve a const pointer to a Rec::TrackParticle. | |
| const xAOD::Vertex * | vertex () const |
| Retrieve a const pointer to the xAOD::Vertex a charged PFO is associated to. | |
| bool | setVertexLink (const ElementLink< xAOD::VertexContainer > &theVertexLink) |
| Set a vertex link. | |
| template<class T> | |
| void | convertLink (ElementLink< IParticleContainer > &IParticleLink, const ElementLink< T > &templateLink) |
| Convert a generic link to an IParticleLink - perhaps this will go in a dedicated helper tool? | |
| bool | setTrackLink (const ElementLink< xAOD::TrackParticleContainer > &theTrack) |
| Set a track constituent - does NOT append to existing container. | |
| bool | setClusterLink (const ElementLink< xAOD::CaloClusterContainer > &theCluster) |
| Set a cluster constituent - does NOT append to existing container. | |
| bool | addClusterLink (const ElementLink< xAOD::CaloClusterContainer > &theCluster) |
| Add a cluster constituent appends to existing container. | |
| bool | setAssociatedParticleLink (PFODetails::PFOParticleType ParticleType, const ElementLink< IParticleContainer > &theParticle) |
| Set an IParticle constituent via enum - does NOT append to existing container. | |
| void | setAssociatedParticleLink (const std::string &ParticleType, const ElementLink< IParticleContainer > &theParticle) |
| Set an IParticle constituent via string - does NOT append to existing container. | |
| bool | addAssociatedParticleLink (PFODetails::PFOParticleType ParticleType, const ElementLink< IParticleContainer > &theParticle) |
| Add an IParticle constituent via enum - appends to existing container. | |
| void | addAssociatedParticleLink (const std::string &ParticleType, const ElementLink< IParticleContainer > &theParticle) |
| Add an IParticle constituent via enum - appends to existing container. | |
| bool | setAssociatedParticleLinks (PFODetails::PFOParticleType ParticleType, const std::vector< ElementLink< IParticleContainer > > &theParticles) |
| Set a vector of PFO constituent particle types via enum - overwrite is allowed. | |
| bool | associatedParticles (PFODetails::PFOParticleType ParticleType, std::vector< const IParticle * > &theParticles) const |
| get a vector of PFO constituent particle types via enum | |
| void | setAssociatedParticleLinks (const std::string &ParticleType, const std::vector< ElementLink< IParticleContainer > > &theParticles) |
| Set a vector of PFO constituent particle types via string - overwrite is allowed. | |
| bool | associatedParticles (const std::string &ParticleType, std::vector< const IParticle * > &theParticles) const |
| get a vector of PFO constituent particle types via string | |
| TLorentzVector | GetVertexCorrectedFourVec (const xAOD::Vertex &vertexToCorrectTo) const |
| Correct 4-vector to point at a vertex. | |
| TLorentzVector | GetVertexCorrectedFourVec (const TVector3 &vertexToCorrectTo) const |
| Correct 4-vector to point at a vertex. | |
| TLorentzVector | GetVertexCorrectedEMFourVec (const xAOD::Vertex &vertexToCorrectTo) const |
| Correct EM scale 4-vector to point at a vertex. | |
| TLorentzVector | GetVertexCorrectedEMFourVec (const TVector3 &vertexToCorrectTo) const |
| Correct EM scale 4-vector to point at a vertex. | |
| void | toPersistent () |
| prepare all links for persistification | |
| template<> | |
| void | setAttribute (const std::string &AttributeType, const xAOD::PFODetails::PFOLeptonType &anAttribute) |
| specaial implementations for floats, for eflowRec JetETMiss variables, to reduce disk space usage | |
| template<> | |
| bool | attribute (const std::string &AttributeType, xAOD::PFODetails::PFOLeptonType &anAttribute) const |
| template<> | |
| void | setAttribute (PFODetails::PFOAttributes AttributeType, const float &anAttribute) |
| template<> | |
| bool | attribute (PFODetails::PFOAttributes AttributeType, float &anAttribute) const |
| template<> | |
| void | setAttribute (PFODetails::PFOAttributes AttributeType, const double &anAttribute) |
| special implementations for doubles to prevent user from putting doubles in the aux store - convert to float in this case | |
| template<> | |
| bool | attribute (PFODetails::PFOAttributes AttributeType, double &anAttribute) const |
| template<> | |
| void | setAttribute (const std::string &AttributeType, const double &anAttribute) |
| template<> | |
| bool | attribute (const std::string &AttributeType, double &anAttribute) const |
xAOD::IParticle functions | |
| virtual double | pt () const |
| The transverse momentum ( \(p_T\)) of the particle. | |
| virtual double | eta () const |
| The pseudorapidity ( \(\eta\)) of the particle. | |
| virtual double | phi () const |
| The azimuthal angle ( \(\phi\)) of the particle. | |
| virtual double | m () const |
| The invariant mass of the particle. | |
| virtual double | e () const |
| The total energy of the particle. | |
| virtual double | rapidity () const |
| The true rapidity (y) of the particle. | |
| virtual FourMom_t | p4 () const |
| The full 4-momentum of the particle. | |
| virtual Type::ObjectType | type () const |
| The type of the object as a simple enumeration. | |
Functions for getting and setting user properties | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED T & | auxdata (const std::string &name, const std::string &clsname="") |
| Fetch an aux data variable, as a non-const reference. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED const T & | auxdata (const std::string &name, const std::string &clsname="") const |
| Fetch an aux data variable, as a const reference. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailable (const std::string &name, const std::string &clsname="") const |
| Check if a user property is available for reading or not. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailableWritable (const std::string &name, const std::string &clsname="") const |
| Check if a user property is available for writing or not. | |
Private Member Functions | |
| bool | getClusterMomentFromPFO (float &theMoment, xAOD::CaloCluster::MomentType momentType) const |
| Gives access to cluster moments direct from the PFO - getClusterMoment calls this, if needed. | |
| void | VertexCorrectTheFourVector (const TVector3 &vertexToCorrectTo, TLorentzVector &theFourVector) const |
| This does the vertex correction of neutral PFO. | |
| bool | getAttributeName_FromClusterMoment (xAOD::PFODetails::PFOAttributes &myAttribute, xAOD::CaloCluster::MomentType &momentType) const |
| Map from cluster moment name onto PFOAttribute name. | |
| bool | isJetETMissFloatForCompression (xAOD::PFODetails::PFOAttributes AttributeType) const |
| Performs a check as to whether a variable should be compressed. | |
Static Private Attributes | |
| static const int | s_floatCompressionFactor = 1000 |
| this defines the factor to compress floats by | |
|
inherited |
Definition of the 4-momentum type.
Definition at line 69 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
| typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > xAOD::PFO_v1::GenVecFourMom_t |
| xAOD::PFO_v1::PFO_v1 | ( | ) |
Default constructor.
Definition at line 44 of file PFO_v1.cxx.
| xAOD::PFO_v1::PFO_v1 | ( | const PFO_v1 & | other | ) |
Copy Constructor.
Definition at line 47 of file PFO_v1.cxx.
| void xAOD::PFO_v1::addAssociatedParticleLink | ( | const std::string & | ParticleType, |
| const ElementLink< IParticleContainer > & | theParticle ) |
Add an IParticle constituent via enum - appends to existing container.
Definition at line 585 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::addAssociatedParticleLink | ( | PFODetails::PFOParticleType | ParticleType, |
| const ElementLink< IParticleContainer > & | theParticle ) |
Add an IParticle constituent via enum - appends to existing container.
Definition at line 571 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::addClusterLink | ( | const ElementLink< xAOD::CaloClusterContainer > & | theCluster | ) |
Add a cluster constituent appends to existing container.
Definition at line 555 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::associatedParticles | ( | const std::string & | ParticleType, |
| std::vector< const IParticle * > & | theParticles ) const |
get a vector of PFO constituent particle types via string
Definition at line 645 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::associatedParticles | ( | PFODetails::PFOParticleType | ParticleType, |
| std::vector< const IParticle * > & | theParticles ) const |
get a vector of PFO constituent particle types via enum
Definition at line 610 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::attribute | ( | const std::string & | AttributeType, |
| double & | anAttribute ) const |
Definition at line 393 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::attribute | ( | const std::string & | AttributeType, |
| xAOD::PFODetails::PFOLeptonType & | anAttribute ) const |
Definition at line 262 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::attribute | ( | PFODetails::PFOAttributes | AttributeType, |
| double & | anAttribute ) const |
Definition at line 377 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::attribute | ( | PFODetails::PFOAttributes | AttributeType, |
| float & | anAttribute ) const |
Definition at line 289 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::attribute | ( | PFODetails::PFOAttributes | AttributeType, |
| T & | anAttribute ) const |
|
inlineinherited |
Fetch an aux data variable, as a non-const reference.
This function provides an easy way for users to decorate objects with auxiliary data.
Take note that this function is slow. Should not be used inside time-critical code.
Definition at line 98 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
inlineinherited |
Fetch an aux data variable, as a const reference.
This function provides an easy way for users to retrieve auxiliary decorations from an object.
Take note that this function is slow. Should not be used inside time-critical code.
Definition at line 118 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
| float xAOD::PFO_v1::bdtPi0Score | ( | ) | const |
get BDT Score used to classify clusters as Pi0 like or not
| float xAOD::PFO_v1::centerMag | ( | ) | const |
get CenterMag moment needed for vertex correction
| const CaloCluster * xAOD::PFO_v1::cluster | ( | unsigned int | index | ) | const |
Retrieve a const pointer to a CaloCluster.
Definition at line 669 of file PFO_v1.cxx.
| void xAOD::PFO_v1::convertLink | ( | ElementLink< IParticleContainer > & | IParticleLink, |
| const ElementLink< T > & | templateLink ) |
Convert a generic link to an IParticleLink - perhaps this will go in a dedicated helper tool?
|
virtual |
The total energy of the particle.
Implements xAOD::IParticle.
Definition at line 81 of file PFO_v1.cxx.
|
virtual |
get EM scale energy
Definition at line 233 of file PFO_v1.cxx.
|
virtual |
The pseudorapidity ( \(\eta\)) of the particle.
Implements xAOD::IParticle.
Definition at line 60 of file PFO_v1.cxx.
|
virtual |
| PFO_v1::GenVecFourMom_t xAOD::PFO_v1::genvecP4 | ( | ) | const |
The full 4-momentum of the particle : GenVector version.
Definition at line 101 of file PFO_v1.cxx.
| PFO_v1::GenVecFourMom_t xAOD::PFO_v1::genvecP4EM | ( | ) | const |
get EM scale 4-vector
Definition at line 160 of file PFO_v1.cxx.
|
private |
Map from cluster moment name onto PFOAttribute name.
Definition at line 433 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::getClusterMoment | ( | float & | theMoment, |
| xAOD::CaloCluster::MomentType | momentType ) const |
Accessor for cluster moments.
Definition at line 402 of file PFO_v1.cxx.
|
private |
Gives access to cluster moments direct from the PFO - getClusterMoment calls this, if needed.
Definition at line 423 of file PFO_v1.cxx.
| TLorentzVector xAOD::PFO_v1::GetVertexCorrectedEMFourVec | ( | const TVector3 & | vertexToCorrectTo | ) | const |
Correct EM scale 4-vector to point at a vertex.
Definition at line 742 of file PFO_v1.cxx.
| TLorentzVector xAOD::PFO_v1::GetVertexCorrectedEMFourVec | ( | const xAOD::Vertex & | vertexToCorrectTo | ) | const |
Correct EM scale 4-vector to point at a vertex.
Definition at line 737 of file PFO_v1.cxx.
| TLorentzVector xAOD::PFO_v1::GetVertexCorrectedFourVec | ( | const TVector3 & | vertexToCorrectTo | ) | const |
Correct 4-vector to point at a vertex.
Definition at line 727 of file PFO_v1.cxx.
| TLorentzVector xAOD::PFO_v1::GetVertexCorrectedFourVec | ( | const xAOD::Vertex & | vertexToCorrectTo | ) | const |
Correct 4-vector to point at a vertex.
Definition at line 722 of file PFO_v1.cxx.
|
inlineinherited |
Check if a user property is available for reading or not.
This function should be used to check if a user property which may or may not exist, is set on the object.
Definition at line 135 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
inlineinherited |
Check if a user property is available for writing or not.
This function can be used to check whether it will be possible to set a user property on the object.
Definition at line 152 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
| bool xAOD::PFO_v1::isCharged | ( | ) | const |
|
private |
Performs a check as to whether a variable should be compressed.
Definition at line 312 of file PFO_v1.cxx.
|
virtual |
The invariant mass of the particle.
Implements xAOD::IParticle.
Definition at line 74 of file PFO_v1.cxx.
|
virtual |
get EM scale mass
Definition at line 224 of file PFO_v1.cxx.
Find out how many CaloCluster are linked.
Definition at line 659 of file PFO_v1.cxx.
|
virtual |
The full 4-momentum of the particle.
Implements xAOD::IParticle.
Definition at line 95 of file PFO_v1.cxx.
| PFO_v1::FourMom_t xAOD::PFO_v1::p4EM | ( | ) | const |
get EM scale 4-vector
Definition at line 144 of file PFO_v1.cxx.
|
virtual |
The azimuthal angle ( \(\phi\)) of the particle.
Implements xAOD::IParticle.
Definition at line 67 of file PFO_v1.cxx.
|
virtual |
|
virtual |
The transverse momentum ( \(p_T\)) of the particle.
Implements xAOD::IParticle.
Definition at line 52 of file PFO_v1.cxx.
|
virtual |
|
virtual |
The true rapidity (y) of the particle.
Implements xAOD::IParticle.
Definition at line 90 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAssociatedParticleLink | ( | const std::string & | ParticleType, |
| const ElementLink< IParticleContainer > & | theParticle ) |
Set an IParticle constituent via string - does NOT append to existing container.
Definition at line 566 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::setAssociatedParticleLink | ( | PFODetails::PFOParticleType | ParticleType, |
| const ElementLink< IParticleContainer > & | theParticle ) |
Set an IParticle constituent via enum - does NOT append to existing container.
Definition at line 561 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAssociatedParticleLinks | ( | const std::string & | ParticleType, |
| const std::vector< ElementLink< IParticleContainer > > & | theParticles ) |
Set a vector of PFO constituent particle types via string - overwrite is allowed.
Definition at line 629 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::setAssociatedParticleLinks | ( | PFODetails::PFOParticleType | ParticleType, |
| const std::vector< ElementLink< IParticleContainer > > & | theParticles ) |
Set a vector of PFO constituent particle types via enum - overwrite is allowed.
Definition at line 600 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAttribute | ( | const std::string & | AttributeType, |
| const double & | anAttribute ) |
Definition at line 386 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAttribute | ( | const std::string & | AttributeType, |
| const xAOD::PFODetails::PFOLeptonType & | anAttribute ) |
specaial implementations for floats, for eflowRec JetETMiss variables, to reduce disk space usage
Definition at line 257 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAttribute | ( | PFODetails::PFOAttributes | AttributeType, |
| const double & | anAttribute ) |
special implementations for doubles to prevent user from putting doubles in the aux store - convert to float in this case
Definition at line 372 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAttribute | ( | PFODetails::PFOAttributes | AttributeType, |
| const float & | anAttribute ) |
Definition at line 274 of file PFO_v1.cxx.
| void xAOD::PFO_v1::setAttribute | ( | PFODetails::PFOAttributes | AttributeType, |
| const T & | anAttribute ) |
| void xAOD::PFO_v1::setBDTPi0Score | ( | float | BDTPi0Score | ) |
set BDT Score used to classify clusters as Pi0 like or not
| void xAOD::PFO_v1::setCenterMag | ( | float | CenterMag | ) |
set CenterMag moment needed for vertex correction
| bool xAOD::PFO_v1::setClusterLink | ( | const ElementLink< xAOD::CaloClusterContainer > & | theCluster | ) |
Set a cluster constituent - does NOT append to existing container.
Definition at line 549 of file PFO_v1.cxx.
set the 4-vec
Definition at line 107 of file PFO_v1.cxx.
set the 4-vec
Definition at line 124 of file PFO_v1.cxx.
set EM scale 4-vector
Definition at line 173 of file PFO_v1.cxx.
set EM scale 4-vector
Definition at line 188 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::setTrackLink | ( | const ElementLink< xAOD::TrackParticleContainer > & | theTrack | ) |
Set a track constituent - does NOT append to existing container.
Definition at line 543 of file PFO_v1.cxx.
| bool xAOD::PFO_v1::setVertexLink | ( | const ElementLink< xAOD::VertexContainer > & | theVertexLink | ) |
| void xAOD::PFO_v1::toPersistent | ( | ) |
prepare all links for persistification
Definition at line 774 of file PFO_v1.cxx.
| const TrackParticle * xAOD::PFO_v1::track | ( | unsigned int | index | ) | const |
Retrieve a const pointer to a Rec::TrackParticle.
Definition at line 691 of file PFO_v1.cxx.
|
virtual |
The type of the object as a simple enumeration.
Implements xAOD::IParticle.
Definition at line 140 of file PFO_v1.cxx.
| const xAOD::Vertex * xAOD::PFO_v1::vertex | ( | ) | const |
Retrieve a const pointer to the xAOD::Vertex a charged PFO is associated to.
Definition at line 712 of file PFO_v1.cxx.
|
private |
This does the vertex correction of neutral PFO.
Definition at line 752 of file PFO_v1.cxx.