5#ifndef INDETTRACKPERFMON_TRACKANALYSISCOLLECTIONS_H
6#define INDETTRACKPERFMON_TRACKANALYSISCOLLECTIONS_H
19#include "GaudiKernel/ISvcLocator.h"
20#include "GaudiKernel/Service.h"
40#include <unordered_map>
91 const std::vector< const xAOD::TruthParticle* >&
vec,
95 const std::vector< const xAOD::TrackParticle* >&
vec,
100 const std::vector< const xAOD::TruthParticle* >&
vec,
104 const std::vector< const xAOD::TrackParticle* >&
vec,
109 const std::vector< const xAOD::TruthParticle* >&
vec,
113 const std::vector< const xAOD::TrackParticle* >&
vec,
117 const std::vector< const xAOD::TrackParticle* >&
vec,
132 const std::vector< const xAOD::TruthVertex* >&
vec,
136 const std::vector< const xAOD::Vertex* >&
vec,
141 const std::vector< const xAOD::TruthVertex* >&
vec,
145 const std::vector< const xAOD::Vertex* >&
vec,
150 const std::vector< const xAOD::TruthVertex* >&
vec,
154 const std::vector< const xAOD::Vertex* >&
vec,
158 const std::vector< const xAOD::Vertex* >&
vec,
283 bool updateChainRois(
const std::string& chainRoi,
const std::string& roiStr );
std::vector< size_t > vec
Service interface to hold (and propagate) the basic properties of each defined TrackAnalysis and of t...
Interace for TrackMatchingLookup objects (templated)
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for reading from StoreGate.
static const Attributes_t empty
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
const xAOD::VertexContainer * testRecoVertexContainer()
TEST = Reco.
const std::vector< const xAOD::TruthVertex * > & refTruthVertexVec(Stage stage=FULL)
get REFERENCE vertex vectors
const std::vector< const xAOD::TruthParticle * > & testTruthVec(Stage stage=FULL)
get TEST track vectors
const xAOD::TrackParticleContainer * refTrackContainer()
REFERENCE = Track.
bool isNewChain()
check if this is a new chain
StatusCode fillRefTruthVertexVec(const std::vector< const xAOD::TruthVertex * > &vec, Stage stage=FULL)
fill REFERENCE vertex vectors
StatusCode fillTruthVertexContainer(const SG::ReadHandleKey< xAOD::TruthVertexContainer > &truthVertexHandleKey)
fill FULL vertex collections and vectors
const std::vector< const xAOD::TrackParticle * > & offlTrackVec(Stage stage=FULL)
void clear(Stage stage=FULL)
Clear vectors.
const xAOD::TruthPileupEventContainer * m_truthPUEventContainer
StatusCode fillTrigTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
Trigger tracks.
void copyFS()
copy content of FS vectors to InRoI vectors
std::vector< size_t > refTrackCounts()
REFERENCE.
const xAOD::TruthPileupEventContainer * truthPileupEventContainer()
const xAOD::VertexContainer * trigVertexContainer()
const std::vector< const xAOD::Vertex * > & offlVertexVec(Stage stage=FULL)
const std::vector< const xAOD::TrackParticle * > & trigTrackVec(Stage stage=FULL)
const xAOD::TrackParticleContainer * trigTrackContainer()
bool isNewRoI()
check if this is a new RoI
~TrackAnalysisCollections()=default
Destructor.
StatusCode fillOfflVertexVec(const std::vector< const xAOD::Vertex * > &vec, Stage stage=FULL)
Offline tracks.
const std::vector< const xAOD::Vertex * > & refRecoVertexVec(Stage stage=FULL)
REFERENCE = Reco.
std::vector< std::vector< const xAOD::TruthParticle * > > m_truthPartVec
vectors of track/truth particles at different stages of the selection/workflow
const std::string & anaTag()
— Getter methods —
StatusCode fillTrigVertexContainer(const SG::ReadHandleKey< xAOD::VertexContainer > &handleKey)
Trigger vertices.
const xAOD::TrackParticleContainer * offlTrackContainer()
std::string printInfo(Stage stage=FULL, bool printVertex=true) const
print information about tracks in the collection(s)
std::string printMatchInfo()
print track matching information
std::vector< std::vector< const xAOD::Vertex * > > m_offlVertexVec
std::unordered_map< std::string, std::string > mapChainRoi_t
map of chainRoiNames for caching
const xAOD::TruthParticleContainer * testTruthContainer()
get full TEST track containers
StatusCode fillTruthPartVec(const std::vector< const xAOD::TruthParticle * > &vec, Stage stage=FULL)
fill truth/offline/trigger track vector (TEST or REFERENCE)
const std::vector< const xAOD::TruthParticle * > & truthPartVec(Stage stage=FULL)
get truth/offline/trigger track vector (TEST or REFERENCE)
bool updateChainRois(const std::string &chainRoi, const std::string &roiStr)
update chainRois map
bool isNewEvent()
— Utility methods —
const std::vector< const xAOD::TruthVertex * > & truthVertexVec(Stage stage=FULL)
get truth/offline/trigger vertex vector (TEST or REFERENCE)
const xAOD::TrackParticleContainer * m_trigTrackContainer
const xAOD::TruthEventContainer * truthEventContainer()
const xAOD::VertexContainer * m_trigVertexContainer
std::vector< std::vector< const xAOD::TruthVertex * > > m_truthVertexVec
vectors of reco/truth vertices at different stages of the selection/workflow
StatusCode fillRefTruthVec(const std::vector< const xAOD::TruthParticle * > &vec, Stage stage=FULL)
fill REFERENCE track vectors
StatusCode fillTruthVertexVec(const std::vector< const xAOD::TruthVertex * > &vec, Stage stage=FULL)
fill truth/offline/trigger vertex vector (TEST or REFERENCE)
StatusCode initialize()
initialize
StatusCode fillOfflTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
Offline tracks.
const xAOD::VertexContainer * m_offlVertexContainer
StatusCode fillTrigVertexVec(const std::vector< const xAOD::Vertex * > &vec, Stage stage=FULL)
Trigger tracks.
ITrackMatchingLookup & matches()
get track matching information
StatusCode fillTestTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
TEST = tracks.
std::vector< size_t > refVertexCounts()
REFERENCE.
Stage
Enum for selection stages.
StatusCode fillTestTruthVec(const std::vector< const xAOD::TruthParticle * > &vec, Stage stage=FULL)
fill TEST track vectors
StatusCode fillTruthPartContainer(const SG::ReadHandleKey< xAOD::TruthParticleContainer > &truthPartHandleKey)
fill FULL track collections and vectors
StatusCode fillEventInfo(const SG::ReadHandleKey< xAOD::EventInfo > &eventInfoHandleKey, const SG::ReadHandleKey< xAOD::TruthEventContainer > &truthEventHandleKey, const SG::ReadHandleKey< xAOD::TruthPileupEventContainer > &truthPUEventHandleKey)
— Setter methods —
const xAOD::EventInfo * eventInfo()
get event info
const xAOD::TruthParticleContainer * refTruthContainer()
get full REFERENCE track containers
const xAOD::TruthParticleContainer * m_truthPartContainer
Full track collections.
std::vector< std::vector< const xAOD::TrackParticle * > > m_offlTrackVec
StatusCode fillTrigTrackContainer(const SG::ReadHandleKey< xAOD::TrackParticleContainer > &handleKey)
Trigger track particles.
void newChain()
update before running on new chain
std::vector< std::vector< const xAOD::Vertex * > > m_trigVertexVec
std::vector< const xAOD::TruthParticle * > m_nullTruthVec
const xAOD::TrackParticleContainer * testTrackContainer()
TEST = Track.
const xAOD::TruthVertexContainer * truthVertexContainer()
get truth/offline/trigger vertex containers (TEST or REFERENCE)
std::vector< std::vector< const xAOD::TrackParticle * > > m_trigTrackVec
const xAOD::TruthVertexContainer * testTruthVertexContainer()
get full TEST vertex containers
TrackAnalysisCollections(const std::string &anaTag)
Constructor.
const xAOD::TruthVertexContainer * m_truthVertexContainer
Full vertex collections.
const std::vector< const xAOD::TruthVertex * > & testTruthVertexVec(Stage stage=FULL)
get TEST vertex vectors
const std::vector< const xAOD::TrackParticle * > & testTrackVec(Stage stage=FULL)
TEST = Track.
std::unique_ptr< ITrackMatchingLookup > m_matches
Lookup table for test-reference matching.
const xAOD::EventInfo * m_eventInfo
— Collections class variables — EventInfo, TruthEvent, and TruthPUEvent
const xAOD::TruthEventContainer * m_truthEventContainer
StatusCode fillRefRecoVertexVec(const std::vector< const xAOD::Vertex * > &vec, Stage stage=FULL)
REFERENCE = reco.
StatusCode fillRefTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
REFERENCE = tracks.
const std::vector< const xAOD::TruthParticle * > & refTruthVec(Stage stage=FULL)
get REFERENCE track vectors
std::vector< const xAOD::TruthVertex * > m_nullTruthVertVec
const xAOD::TrackParticleContainer * m_offlTrackContainer
std::vector< const xAOD::TrackParticle * > m_nullTrackVec
null vectors
const std::vector< const xAOD::Vertex * > & trigVertexVec(Stage stage=FULL)
const std::vector< const xAOD::Vertex * > & testRecoVertexVec(Stage stage=FULL)
TEST = Reco.
std::string m_anaTag
TrackAnalysis properties.
StatusCode fillOfflTrackContainer(const SG::ReadHandleKey< xAOD::TrackParticleContainer > &handleKey)
Offline track particles.
const xAOD::VertexContainer * offlVertexContainer()
std::string printVertexInfo(Stage stage=FULL) const
print information about vertices in the collection(s)
const xAOD::VertexContainer * refRecoVertexContainer()
REFERENCE = Reco.
std::vector< size_t > testTrackCounts()
get counts vectors for TEST/REFERENCE track vectors at all stages
StatusCode fillTestTruthVertexVec(const std::vector< const xAOD::TruthVertex * > &vec, Stage stage=FULL)
fill TEST vertex vectors
StatusCode fillOfflVertexContainer(const SG::ReadHandleKey< xAOD::VertexContainer > &handleKey)
Offline vertices.
TrackAnalysisCollections & operator=(const TrackAnalysisCollections &)=delete
= operator
const xAOD::TruthVertexContainer * refTruthVertexContainer()
get full REFERENCE vertex containers
std::vector< size_t > testVertexCounts()
get counts vectors for TEST/REFERENCE vertex vectors at all stages
Counter
Enum for counting objects at various stages.
void newRoI()
update before running on new RoI
const xAOD::TruthParticleContainer * truthPartContainer()
get truth/offline/trigger track containers (TEST or REFERENCE)
std::vector< const xAOD::Vertex * > m_nullRecoVertVec
const std::vector< const xAOD::TrackParticle * > & refTrackVec(Stage stage=FULL)
TEST = Track.
StatusCode fillTestRecoVertexVec(const std::vector< const xAOD::Vertex * > &vec, Stage stage=FULL)
TEST = reco.
mapChainRoi_t m_chainRois
SmartIF< ITrackAnalysisDefinitionSvc > m_trkAnaDefSvc
Property holding a SG store/key/clid from which a ReadHandle is made.
TruthEventContainer_v1 TruthEventContainer
Declare the latest version of the truth event container.
EventInfo_v1 EventInfo
Definition of the latest event info version.
TruthPileupEventContainer_v1 TruthPileupEventContainer
Declare the latest version of the truth event container.
TruthVertexContainer_v1 TruthVertexContainer
Declare the latest version of the truth vertex container.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.