ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackPerfMonTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTRACKPERFMON_INDETTRACKPERFMONTOOL_H
6#define INDETTRACKPERFMON_INDETTRACKPERFMONTOOL_H
7
14
16#include "GaudiKernel/ToolHandle.h"
17#include "GaudiKernel/ISvcLocator.h"
18#include "GaudiKernel/Service.h"
19
23
27
31#include "RoiSelectionTool.h"
34#include "ITrackSelectionTool.h"
36#include "ITrackMatchingTool.h"
39
41#include <string>
42#include <vector>
43
44namespace IDTPM {
45
47
48public :
49
51 InDetTrackPerfMonTool( const std::string& type, const std::string& name, const IInterface* parent );
52
55
56 virtual StatusCode initialize();
57 virtual StatusCode bookHistograms();
58 virtual StatusCode fillHistograms(const EventContext& ctx);
59 virtual StatusCode procHistograms();
60
61private :
62
65
67 StatusCode loadCollections( IDTPM::TrackAnalysisCollections& trkAnaColls );
68
71 this, "OfflineTrkParticleContainerName", "InDetTrackParticles", "Name of container of offline tracks" };
72
75 this, "TriggerTrkParticleContainerName", "", "Name of container of trigger tracks" };
76
79 this, "TruthParticleContainerName", "TruthParticles", "Name of container of TruthParticles" };
80
83 this, "TruthEvents", "TruthEvents", "Name of the truth events container probably either TruthEvent or TruthEvents" };
84
87 this, "TruthPileupEvents", "TruthPileupEvents", "Name of the truth pileup events container probably TruthPileupEvent(s)" };
88
91 this, "EventInfoContainerName", "EventInfo", "event info" };
92
95 this, "OfflineVertexContainerName", "PrimaryVertices", "" };
96
99 this, "TriggerVertexContainerName", "", "" };
100
103 this, "TruthVertexContainerName", "TruthVertices", "" };
104
107 this, "TrkAnaInfoKey", "TrackAnalysisInfo", "Dedicated TrackAnalysis Info written out" };
108
112
113 ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool {
114 this, "TrackQualitySelectionTool", "IDTPM::InDetTrackPerfMon/ITrackSelectionTool", "Wrapper-tool to perform general quality-based track(truth) selection" };
115
116 ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool {
117 this, "VertexQualitySelectionTool", "IDTPM::InDetTrackPerfMon/IVertexSelectionTool", "Wrapper-tool to perform general quality-based (truth) vertex selection" };
118
119 ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool {
120 this, "RoiSelectionTool", "IDTPM::InDetTrackPerfMon/RoiSelectionTool", "Tool to retrieve and select RoIs" };
121
122 ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool {
123 this, "TrackRoiSelectionTool", "IDTPM::InDetTrackPerfMon/TrackRoiSelectionTool", "Tool to select track within a RoI" };
124
125 ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool {
126 this, "VertexRoiSelectionTool", "IDTPM::InDetTrackPerfMon/VertexRoiSelectionTool", "Tool to select vertices within a RoI" };
127
128 ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool {
129 this, "TrackMatchingTool", "IDTPM::InDetTrackPerfMon/ITrackMatchingTool", "Tool to match test to reference tracks and viceversa" };
130
131 ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool {
132 this, "TrackAnalysisInfoWriteTool", "IDTPM::InDetTrackPerfMon/TrackAnalysisInfoWriteTool", "Tool to write TrackAnalysisInfo to StoreGate" };
133
134 StringProperty m_anaTag{ this, "AnaTag", "", "Track analysis tag" };
135
136 BooleanProperty m_doMatch{ this, "doMatch", false, "Enable TrackMatchingTool" };
137
138 BooleanProperty m_writeOut{ this, "writeOut", false, "Write TrkAnaInfo Collection to AOD_IDTPM" };
139
141 SmartIF<IDTPM::ITrackAnalysisDefinitionSvc> m_trkAnaDefSvc;
142
144 std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec;
145};
146
147}
148
149#endif
Service interface to hold (and propagate) the basic properties of each defined TrackAnalysis and of t...
header file for interface for all the various track selection tools in this package
interface for track matching tools in this package
header file for interface for all the vertex selection tools in this package
Athena includes.
Class to hold for each event collections needed in the TrkAnalsis.
Tool to write Track Analysis Info to StoreGate.
class to manage (book, fill) all the plots for the processed TrackAnalysis for tracking performance v...
header file for class of same name
Tool to select reco and truth vertices in given RoI.
SmartIF< IDTPM::ITrackAnalysisDefinitionSvc > m_trkAnaDefSvc
TrackAnalysisDefinitionSvc.
ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool
ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool
InDetTrackPerfMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters.
ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleName
TruthParticle container's name.
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > m_truthPileUpEventName
TruthPileupEvent container's name.
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventName
TruthEvent container's name.
SG::ReadHandleKey< xAOD::VertexContainer > m_triggerVertexContainerName
Trigger Primary vertex container's name.
ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool
ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool
virtual ~InDetTrackPerfMonTool()
Destructor.
InDetTrackPerfMonTool()
prevent default construction
std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec
plots
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_triggerTrkParticleName
Trigger TrackParticleContainer's name.
SG::ReadHandleKey< xAOD::VertexContainer > m_offlineVertexContainerName
Offline Primary vertex container's name.
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_truthVertexContainerName
Truth vertex container's name.
ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool
SG::WriteHandleKey< xAOD::BaseContainer > m_trkAnaInfoKey
WriteHandle for trkAnaInfo for reprocessing.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticleName
Offline TrackParticleContainer's name.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoContainerName
EventInfo container name.
StatusCode loadCollections(IDTPM::TrackAnalysisCollections &trkAnaColls)
retrieve all collections and load them into trkAnaCollections object
ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool
virtual StatusCode fillHistograms(const EventContext &ctx)
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Property holding a SG store/key/clid from which a WriteHandle is made.
Athena include(s).
#define private