![]() |
ATLAS Offline Software
|
A detector object made of other lower level object(s). More...
#include <FlowElement_v1.h>
Public Types | |
| enum | SignalType { Neutral = 0x1000 , Charged = 0x2000 , Combined = 0x4000 , CaloCluster = Neutral | 0x0100 , Track = Charged | 0x0200 , Muon = Charged | 0x0400 , PFlow = 0x0010 , NeutralPFlow = Neutral | PFlow , ChargedPFlow = Charged | PFlow , TCC = 0x0020 , NeutralTCC = Neutral | TCC , ChargedTCC = Charged | TCC , UFO = 0x0001 , NeutralUFO = Neutral | UFO , ChargedUFO = Charged | UFO , Unknown = 0x0000 } |
| Enum to encode the nature of the object this FlowElement represents. More... | |
| enum | MatchedPVType { Undefined = 0x00 , HardScatter = 0x10 , Pileup = 0x20 , PileupSideBand = 0x21 } |
| Enum to encode high-level information on the vertex associated to this FlowElement. More... | |
| typedef unsigned long | signal_t |
| typedef short | vertex_t |
| typedef TLorentzVector | FourMom_t |
| Definition of the 4-momentum type. | |
Public Member Functions | |
| IParticle ()=default | |
| IParticle (const IParticle &)=default | |
| IParticle (IParticle &&)=delete | |
| virtual double | pt () const override |
| virtual double | eta () const override |
| The pseudorapidity ( \(\eta\)) of the particle. | |
| virtual double | phi () const override |
| The azimuthal angle ( \(\phi\)) of the particle. | |
| virtual double | m () const override |
| The invariant mass of the particle. | |
| virtual double | e () const override |
| The total energy of the particle. | |
| virtual double | rapidity () const override |
| The true rapidity (y) of the particle. | |
| virtual FourMom_t | p4 () const override |
| The full 4-momentum of the particle. | |
| virtual Type::ObjectType | type () const override |
| The type of the object as a simple enumeration. | |
| void | setP4 (float pt, float eta, float phi, float m) |
| void | setP4 (const FourMom_t &p4) |
| signal_t | signalType () const |
| void | setSignalType (signal_t t) |
| bool | isMatchedToPV (MatchedPVType vxtype=HardScatter) const |
| vertex_t | vertexType () const |
| void | setVertexType (vertex_t t) |
| bool | isCharged () const |
| float | charge () const |
| void | setCharge (float c) |
| std::vector< const xAOD::IParticle * > | chargedObjects () const |
| std::vector< std::pair< const xAOD::IParticle *, float > > | chargedObjectsAndWeights () const |
| std::size_t | nChargedObjects () const |
| const xAOD::IParticle * | chargedObject (std::size_t i) const |
| std::pair< const xAOD::IParticle *, float > | chargedObjectAndWeight (std::size_t i) const |
| const std::vector< ElementLink< IParticleContainer > > & | chargedObjectLinks () const |
| Access to the EL. | |
| const std::vector< float > & | chargedObjectWeights () const |
| void | setChargedObjectLinks (const std::vector< ElementLink< IParticleContainer > > &elV) |
| void | setChargedObjectLinks (const std::vector< ElementLink< IParticleContainer > > &elV, const std::vector< float > &wV) |
| std::vector< const xAOD::IParticle * > | otherObjects () const |
| std::vector< std::pair< const xAOD::IParticle *, float > > | otherObjectsAndWeights () const |
| std::size_t | nOtherObjects () const |
| const xAOD::IParticle * | otherObject (std::size_t i) const |
| std::pair< const xAOD::IParticle *, float > | otherObjectAndWeight (std::size_t i) const |
| const std::vector< ElementLink< IParticleContainer > > & | otherObjectLinks () const |
| const std::vector< float > & | otherObjectWeights () const |
| void | setOtherObjectLinks (const std::vector< ElementLink< IParticleContainer > > &elV) |
| void | setOtherObjectLinks (const std::vector< ElementLink< IParticleContainer > > &elV, const std::vector< float > &wV) |
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. | |
A detector object made of other lower level object(s).
This class is intended to describe reconstruction objects coumpound of lower level detector objects. Typically it provides links to tracks and calo clusters such as is needed for particle flow objects.
The class is kept minimal and very generic so it can cover many use cases, including a generic type to describe jet constituents.
Definition at line 25 of file FlowElement_v1.h.
| typedef TLorentzVector xAOD::IParticle::FourMom_t |
Definition of the 4-momentum type.
Definition at line 69 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
| typedef unsigned long xAOD::FlowElement_v1::signal_t |
Definition at line 30 of file FlowElement_v1.h.
| typedef short xAOD::FlowElement_v1::vertex_t |
Definition at line 31 of file FlowElement_v1.h.
Enum to encode high-level information on the vertex associated to this FlowElement.
| Enumerator | |
|---|---|
| Undefined | |
| HardScatter | |
| Pileup | |
| PileupSideBand | |
Definition at line 62 of file FlowElement_v1.h.
Enum to encode the nature of the object this FlowElement represents.
| Enumerator | |
|---|---|
| Neutral | |
| Charged | |
| Combined | |
| CaloCluster | |
| Track | |
| Muon | |
| PFlow | |
| NeutralPFlow | |
| ChargedPFlow | |
| TCC | |
| NeutralTCC | |
| ChargedTCC | |
| UFO | |
| NeutralUFO | |
| ChargedUFO | |
| Unknown | |
Definition at line 35 of file FlowElement_v1.h.
|
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::FlowElement_v1::charge | ( | ) | const |
| const xAOD::IParticle * xAOD::FlowElement_v1::chargedObject | ( | std::size_t | i | ) | const |
Definition at line 127 of file FlowElement_v1.cxx.
| std::pair< const xAOD::IParticle *, float > xAOD::FlowElement_v1::chargedObjectAndWeight | ( | std::size_t | i | ) | const |
Definition at line 133 of file FlowElement_v1.cxx.
| const std::vector< ElementLink< IParticleContainer > > & xAOD::FlowElement_v1::chargedObjectLinks | ( | ) | const |
Access to the EL.
| std::vector< const xAOD::IParticle * > xAOD::FlowElement_v1::chargedObjects | ( | ) | const |
Access directly the charged underlying IParticle (typically : TrackParticle) nullptr are returned if the ElementLink to the IParticle are invalid (ex: after thinning)
Definition at line 94 of file FlowElement_v1.cxx.
| std::vector< std::pair< const xAOD::IParticle *, float > > xAOD::FlowElement_v1::chargedObjectsAndWeights | ( | ) | const |
Definition at line 104 of file FlowElement_v1.cxx.
|
overridevirtual |
The total energy of the particle.
Implements xAOD::IParticle.
Definition at line 25 of file FlowElement_v1.cxx.
|
overridevirtual |
The pseudorapidity ( \(\eta\)) of the particle.
Implements xAOD::IParticle.
|
default |
|
default |
|
delete |
|
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::FlowElement_v1::isCharged | ( | ) | const |
| bool xAOD::FlowElement_v1::isMatchedToPV | ( | MatchedPVType | vxtype = HardScatter | ) | const |
Acess vertex types
Definition at line 63 of file FlowElement_v1.cxx.
|
overridevirtual |
The invariant mass of the particle.
Implements xAOD::IParticle.
| std::size_t xAOD::FlowElement_v1::nChargedObjects | ( | ) | const |
Definition at line 123 of file FlowElement_v1.cxx.
| std::size_t xAOD::FlowElement_v1::nOtherObjects | ( | ) | const |
Definition at line 192 of file FlowElement_v1.cxx.
| const xAOD::IParticle * xAOD::FlowElement_v1::otherObject | ( | std::size_t | i | ) | const |
Definition at line 196 of file FlowElement_v1.cxx.
| std::pair< const xAOD::IParticle *, float > xAOD::FlowElement_v1::otherObjectAndWeight | ( | std::size_t | i | ) | const |
Definition at line 202 of file FlowElement_v1.cxx.
| const std::vector< ElementLink< IParticleContainer > > & xAOD::FlowElement_v1::otherObjectLinks | ( | ) | const |
Access to the EL
| std::vector< const xAOD::IParticle * > xAOD::FlowElement_v1::otherObjects | ( | ) | const |
Access directly the 'other' underlying IParticle (typically neutral CaloCluster) nullptr are returned if the ElementLink to the IParticle are invalid (ex: after thinning)
Definition at line 163 of file FlowElement_v1.cxx.
| std::vector< std::pair< const xAOD::IParticle *, float > > xAOD::FlowElement_v1::otherObjectsAndWeights | ( | ) | const |
Definition at line 173 of file FlowElement_v1.cxx.
|
overridevirtual |
The full 4-momentum of the particle.
Implements xAOD::IParticle.
Definition at line 33 of file FlowElement_v1.cxx.
|
overridevirtual |
The azimuthal angle ( \(\phi\)) of the particle.
Implements xAOD::IParticle.
|
overridevirtual |
kinematics (IParticle interface)
Implements xAOD::IParticle.
|
overridevirtual |
The true rapidity (y) of the particle.
Implements xAOD::IParticle.
Definition at line 29 of file FlowElement_v1.cxx.
| void xAOD::FlowElement_v1::setCharge | ( | float | c | ) |
| void xAOD::FlowElement_v1::setChargedObjectLinks | ( | const std::vector< ElementLink< IParticleContainer > > & | elV | ) |
| void xAOD::FlowElement_v1::setChargedObjectLinks | ( | const std::vector< ElementLink< IParticleContainer > > & | elV, |
| const std::vector< float > & | wV ) |
| void xAOD::FlowElement_v1::setOtherObjectLinks | ( | const std::vector< ElementLink< IParticleContainer > > & | elV | ) |
| void xAOD::FlowElement_v1::setOtherObjectLinks | ( | const std::vector< ElementLink< IParticleContainer > > & | elV, |
| const std::vector< float > & | wV ) |
Definition at line 51 of file FlowElement_v1.cxx.
Definition at line 39 of file FlowElement_v1.cxx.
| void xAOD::FlowElement_v1::setSignalType | ( | signal_t | t | ) |
| void xAOD::FlowElement_v1::setVertexType | ( | vertex_t | t | ) |
| signal_t xAOD::FlowElement_v1::signalType | ( | ) | const |
Access signal type
|
overridevirtual |
The type of the object as a simple enumeration.
Implements xAOD::IParticle.
Definition at line 68 of file FlowElement_v1.cxx.
| vertex_t xAOD::FlowElement_v1::vertexType | ( | ) | const |