ATLAS Offline Software
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 
15 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ISvcLocator.h"
18 #include "GaudiKernel/Service.h"
19 
23 
25 #include "xAODCore/BaseContainer.h"
27 
31 #include "RoiSelectionTool.h"
32 #include "TrackRoiSelectionTool.h"
33 #include "VertexRoiSelectionTool.h"
34 #include "ITrackSelectionTool.h"
35 #include "IVertexSelectionTool.h"
36 #include "ITrackMatchingTool.h"
37 #include "TrackAnalysisPlotsMgr.h"
39 
41 #include <string>
42 #include <vector>
43 
44 
46 
47 public :
48 
50  InDetTrackPerfMonTool( const std::string& type, const std::string& name, const IInterface* parent );
51 
54 
55  virtual StatusCode initialize();
56  virtual StatusCode bookHistograms();
57  virtual StatusCode fillHistograms();
58  virtual StatusCode procHistograms();
59 
60 private :
61 
64 
67 
70  this, "OfflineTrkParticleContainerName", "InDetTrackParticles", "Name of container of offline tracks" };
71 
74  this, "TriggerTrkParticleContainerName", "", "Name of container of trigger tracks" };
75 
78  this, "TruthParticleContainerName", "TruthParticles", "Name of container of TruthParticles" };
79 
82  this, "TruthEvents", "TruthEvents", "Name of the truth events container probably either TruthEvent or TruthEvents" };
83 
86  this, "TruthPileupEvents", "TruthPileupEvents", "Name of the truth pileup events container probably TruthPileupEvent(s)" };
87 
90  this, "EventInfoContainerName", "EventInfo", "event info" };
91 
94  this, "OfflineVertexContainerName", "PrimaryVertices", "" };
95 
98  this, "TriggerVertexContainerName", "", "" };
99 
102  this, "TruthVertexContainerName", "TruthVertices", "" };
103 
106  this, "TrkAnaInfoKey", "TrackAnalysisInfo", "Dedicated TrackAnalysis Info written out" };
107 
111 
112  PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool {
113  this, "TrigDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool", "" };
114 
115  ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool {
116  this, "TrackQualitySelectionTool", "IDTPM::InDetTrackPerfMon/ITrackSelectionTool", "Wrapper-tool to perform general quality-based track(truth) selection" };
117 
118  ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool {
119  this, "VertexQualitySelectionTool", "IDTPM::InDetTrackPerfMon/IVertexSelectionTool", "Wrapper-tool to perform general quality-based (truth) vertex selection" };
120 
121  ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool {
122  this, "RoiSelectionTool", "IDTPM::InDetTrackPerfMon/RoiSelectionTool", "Tool to retrieve and select RoIs" };
123 
124  ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool {
125  this, "TrackRoiSelectionTool", "IDTPM::InDetTrackPerfMon/TrackRoiSelectionTool", "Tool to select track within a RoI" };
126 
127  ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool {
128  this, "VertexRoiSelectionTool", "IDTPM::InDetTrackPerfMon/VertexRoiSelectionTool", "Tool to select vertices within a RoI" };
129 
130  ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool {
131  this, "TrackMatchingTool", "IDTPM::InDetTrackPerfMon/ITrackMatchingTool", "Tool to match test to reference tracks and viceversa" };
132 
133  ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool {
134  this, "TrackAnalysisInfoWriteTool", "IDTPM::InDetTrackPerfMon/TrackAnalysisInfoWriteTool", "Tool to write TrackAnalysisInfo to StoreGate" };
135 
136  StringProperty m_anaTag{ this, "AnaTag", "", "Track analysis tag" };
137 
138  BooleanProperty m_doMatch{ this, "doMatch", false, "Enable TrackMatchingTool" };
139 
140  BooleanProperty m_writeOut{ this, "writeOut", false, "Write TrkAnaInfo Collection to AOD_IDTPM" };
141 
143  SmartIF<ITrackAnalysisDefinitionSvc> m_trkAnaDefSvc;
144 
146  std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec;
147 };
148 
149 #endif
VertexRoiSelectionTool.h
Tool to select reco and truth vertices in given RoI.
InDetTrackPerfMonTool::loadCollections
StatusCode loadCollections(IDTPM::TrackAnalysisCollections &trkAnaColls)
retrieve all collections and load them into trkAnaCollections object
Definition: InDetTrackPerfMonTool.cxx:351
ITrackAnalysisDefinitionSvc.h
InDetTrackPerfMonTool::m_vertexRoiSelectionTool
ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool
Definition: InDetTrackPerfMonTool.h:127
InDetTrackPerfMonTool::procHistograms
virtual StatusCode procHistograms()
Definition: InDetTrackPerfMonTool.cxx:332
InDetTrackPerfMonTool
gaudi includes
Definition: InDetTrackPerfMonTool.h:45
IDTPM::TrackAnalysisCollections
Definition: TrackAnalysisCollections.h:46
InDetTrackPerfMonTool::m_vertexQualitySelectionTool
ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool
Definition: InDetTrackPerfMonTool.h:118
InDetTrackPerfMonTool::m_trackMatchingTool
ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool
Definition: InDetTrackPerfMonTool.h:130
InDetTrackPerfMonTool::~InDetTrackPerfMonTool
virtual ~InDetTrackPerfMonTool()
Destructor.
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
InDetTrackPerfMonTool::m_triggerTrkParticleName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_triggerTrkParticleName
Trigger TrackParticleContainer's name.
Definition: InDetTrackPerfMonTool.h:73
InDetTrackPerfMonTool::m_anaTag
StringProperty m_anaTag
Definition: InDetTrackPerfMonTool.h:136
AuxContainerBase.h
InDetTrackPerfMonTool::m_offlineTrkParticleName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticleName
Offline TrackParticleContainer's name.
Definition: InDetTrackPerfMonTool.h:69
RoiSelectionTool.h
Athena includes.
InDetTrackPerfMonTool::m_trkAnaDefSvc
SmartIF< ITrackAnalysisDefinitionSvc > m_trkAnaDefSvc
TrackAnalysisDefinitionSvc.
Definition: InDetTrackPerfMonTool.h:143
TrigDecisionTool.h
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
SG::ReadHandleKey< xAOD::TrackParticleContainer >
TrackAnalysisPlotsMgr.h
class to manage (book, fill) all the plots for the processed TrackAnalysis for tracking performance v...
InDetTrackPerfMonTool::m_truthEventName
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventName
TruthEvent container's name.
Definition: InDetTrackPerfMonTool.h:81
InDetTrackPerfMonTool::m_truthParticleName
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleName
TruthParticle container's name.
Definition: InDetTrackPerfMonTool.h:77
InDetTrackPerfMonTool::m_eventInfoContainerName
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoContainerName
EventInfo container name.
Definition: InDetTrackPerfMonTool.h:89
ManagedMonitorToolBase.h
InDetTrackPerfMonTool::m_roiSelectionTool
ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool
Definition: InDetTrackPerfMonTool.h:121
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
InDetTrackPerfMonTool::m_truthVertexContainerName
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_truthVertexContainerName
Truth vertex container's name.
Definition: InDetTrackPerfMonTool.h:101
InDetTrackPerfMonTool::m_trackQualitySelectionTool
ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool
Definition: InDetTrackPerfMonTool.h:115
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetTrackPerfMonTool::m_triggerVertexContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_triggerVertexContainerName
Trigger Primary vertex container's name.
Definition: InDetTrackPerfMonTool.h:97
InDetTrackPerfMonTool::m_trackRoiSelectionTool
ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool
Definition: InDetTrackPerfMonTool.h:124
InDetTrackPerfMonTool::m_truthPileUpEventName
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > m_truthPileUpEventName
TruthPileupEvent container's name.
Definition: InDetTrackPerfMonTool.h:85
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetTrackPerfMonTool::bookHistograms
virtual StatusCode bookHistograms()
Definition: InDetTrackPerfMonTool.cxx:128
InDetTrackPerfMonTool::fillHistograms
virtual StatusCode fillHistograms()
Definition: InDetTrackPerfMonTool.cxx:159
IVertexSelectionTool.h
TrackAnalysisInfoWriteTool.h
Tool to write Track Analysis Info to StoreGate.
InDetTrackPerfMonTool::m_doMatch
BooleanProperty m_doMatch
Definition: InDetTrackPerfMonTool.h:138
ITrackMatchingTool.h
TrackRoiSelectionTool.h
InDetTrackPerfMonTool::m_writeOut
BooleanProperty m_writeOut
Definition: InDetTrackPerfMonTool.h:140
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDetTrackPerfMonTool::m_trigDecTool
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Definition: InDetTrackPerfMonTool.h:112
InDetTrackPerfMonTool::m_trkAnaPlotsMgrVec
std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec
plots
Definition: InDetTrackPerfMonTool.h:146
InDetTrackPerfMonTool::m_trkAnaInfoWriteTool
ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool
Definition: InDetTrackPerfMonTool.h:133
InDetTrackPerfMonTool::m_trkAnaInfoKey
SG::WriteHandleKey< xAOD::BaseContainer > m_trkAnaInfoKey
WriteHandle for trkAnaInfo for reprocessing.
Definition: InDetTrackPerfMonTool.h:105
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ITrackSelectionTool.h
header file for interface for all the various track selection tools in this package
BaseContainer.h
InDetTrackPerfMonTool::m_offlineVertexContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_offlineVertexContainerName
Offline Primary vertex container's name.
Definition: InDetTrackPerfMonTool.h:93
InDetTrackPerfMonTool::InDetTrackPerfMonTool
InDetTrackPerfMonTool()
prevent default construction
InDetTrackPerfMonTool::initialize
virtual StatusCode initialize()
Definition: InDetTrackPerfMonTool.cxx:49