5#ifndef XAODPFLOW_VERSIONS_FLOWELEMENT_V1_H
6#define XAODPFLOW_VERSIONS_FLOWELEMENT_V1_H
9#include "AthLinks/ElementLink.h"
69 virtual double pt()
const override;
70 virtual double eta()
const override;
71 virtual double phi()
const override;
72 virtual double m()
const override;
73 virtual double e()
const override;
74 virtual double rapidity()
const override;
76 virtual Type::ObjectType
type()
const override ;
133 std::vector<const xAOD::IParticle*>
otherObjects()
const ;
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
ElementLink implementation for ROOT usage.
A detector object made of other lower level object(s)
std::size_t nChargedObjects() const
std::size_t nOtherObjects() const
std::vector< const xAOD::IParticle * > chargedObjects() const
virtual double rapidity() const override
The true rapidity (y) of the particle.
std::vector< const xAOD::IParticle * > otherObjects() const
const std::vector< float > & chargedObjectWeights() const
void setVertexType(vertex_t t)
vertex_t vertexType() const
virtual double pt() const override
void setP4(float pt, float eta, float phi, float m)
virtual double m() const override
The invariant mass of the particle.
bool isMatchedToPV(MatchedPVType vxtype=HardScatter) const
const std::vector< ElementLink< IParticleContainer > > & otherObjectLinks() const
virtual double phi() const override
The azimuthal angle ( ) of the particle.
void setChargedObjectLinks(const std::vector< ElementLink< IParticleContainer > > &elV, const std::vector< float > &wV)
MatchedPVType
Enum to encode high-level information on the vertex associated to this FlowElement.
const std::vector< ElementLink< IParticleContainer > > & chargedObjectLinks() const
Access to the EL.
virtual double eta() const override
The pseudorapidity ( ) of the particle.
void setOtherObjectLinks(const std::vector< ElementLink< IParticleContainer > > &elV, const std::vector< float > &wV)
signal_t signalType() const
std::vector< std::pair< const xAOD::IParticle *, float > > otherObjectsAndWeights() const
void setChargedObjectLinks(const std::vector< ElementLink< IParticleContainer > > &elV)
std::pair< const xAOD::IParticle *, float > chargedObjectAndWeight(std::size_t i) const
void setSignalType(signal_t t)
TLorentzVector FourMom_t
Definition of the 4-momentum type.
const std::vector< float > & otherObjectWeights() const
SignalType
Enum to encode the nature of the object this FlowElement represents.
const xAOD::IParticle * chargedObject(std::size_t i) const
virtual Type::ObjectType type() const override
The type of the object as a simple enumeration.
void setOtherObjectLinks(const std::vector< ElementLink< IParticleContainer > > &elV)
virtual double e() const override
The total energy of the particle.
const xAOD::IParticle * otherObject(std::size_t i) const
std::vector< std::pair< const xAOD::IParticle *, float > > chargedObjectsAndWeights() const
virtual FourMom_t p4() const override
The full 4-momentum of the particle.
std::pair< const xAOD::IParticle *, float > otherObjectAndWeight(std::size_t i) const
Class providing the definition of the 4-vector interface.
TLorentzVector FourMom_t
Definition of the 4-momentum type.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.