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
44
46
47public :
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
60private :
61
64
66 StatusCode loadCollections( IDTPM::TrackAnalysisCollections& trkAnaColls );
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 ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool {
113 this, "TrackQualitySelectionTool", "IDTPM::InDetTrackPerfMon/ITrackSelectionTool", "Wrapper-tool to perform general quality-based track(truth) selection" };
114
115 ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool {
116 this, "VertexQualitySelectionTool", "IDTPM::InDetTrackPerfMon/IVertexSelectionTool", "Wrapper-tool to perform general quality-based (truth) vertex selection" };
117
118 ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool {
119 this, "RoiSelectionTool", "IDTPM::InDetTrackPerfMon/RoiSelectionTool", "Tool to retrieve and select RoIs" };
120
121 ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool {
122 this, "TrackRoiSelectionTool", "IDTPM::InDetTrackPerfMon/TrackRoiSelectionTool", "Tool to select track within a RoI" };
123
124 ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool {
125 this, "VertexRoiSelectionTool", "IDTPM::InDetTrackPerfMon/VertexRoiSelectionTool", "Tool to select vertices within a RoI" };
126
127 ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool {
128 this, "TrackMatchingTool", "IDTPM::InDetTrackPerfMon/ITrackMatchingTool", "Tool to match test to reference tracks and viceversa" };
129
130 ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool {
131 this, "TrackAnalysisInfoWriteTool", "IDTPM::InDetTrackPerfMon/TrackAnalysisInfoWriteTool", "Tool to write TrackAnalysisInfo to StoreGate" };
132
133 StringProperty m_anaTag{ this, "AnaTag", "", "Track analysis tag" };
134
135 BooleanProperty m_doMatch{ this, "doMatch", false, "Enable TrackMatchingTool" };
136
137 BooleanProperty m_writeOut{ this, "writeOut", false, "Write TrkAnaInfo Collection to AOD_IDTPM" };
138
140 SmartIF<ITrackAnalysisDefinitionSvc> m_trkAnaDefSvc;
141
143 std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec;
144};
145
146#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.
virtual StatusCode initialize()
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_triggerTrkParticleName
Trigger TrackParticleContainer's name.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoContainerName
EventInfo container name.
ToolHandle< IDTPM::TrackRoiSelectionTool > m_trackRoiSelectionTool
ToolHandle< IDTPM::VertexRoiSelectionTool > m_vertexRoiSelectionTool
StatusCode loadCollections(IDTPM::TrackAnalysisCollections &trkAnaColls)
retrieve all collections and load them into trkAnaCollections object
SG::WriteHandleKey< xAOD::BaseContainer > m_trkAnaInfoKey
WriteHandle for trkAnaInfo for reprocessing.
InDetTrackPerfMonTool()
prevent default construction
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventName
TruthEvent container's name.
InDetTrackPerfMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters.
SmartIF< ITrackAnalysisDefinitionSvc > m_trkAnaDefSvc
TrackAnalysisDefinitionSvc.
SG::ReadHandleKey< xAOD::TruthPileupEventContainer > m_truthPileUpEventName
TruthPileupEvent container's name.
SG::ReadHandleKey< xAOD::VertexContainer > m_offlineVertexContainerName
Offline Primary vertex container's name.
SG::ReadHandleKey< xAOD::VertexContainer > m_triggerVertexContainerName
Trigger Primary vertex container's name.
ToolHandle< IDTPM::IVertexSelectionTool > m_vertexQualitySelectionTool
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleName
TruthParticle container's name.
ToolHandle< IDTPM::RoiSelectionTool > m_roiSelectionTool
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_offlineTrkParticleName
Offline TrackParticleContainer's name.
virtual StatusCode bookHistograms()
std::vector< std::unique_ptr< IDTPM::TrackAnalysisPlotsMgr > > m_trkAnaPlotsMgrVec
plots
virtual ~InDetTrackPerfMonTool()
Destructor.
ToolHandle< IDTPM::ITrackMatchingTool > m_trackMatchingTool
SG::ReadHandleKey< xAOD::TruthVertexContainer > m_truthVertexContainerName
Truth vertex container's name.
ToolHandle< IDTPM::TrackAnalysisInfoWriteTool > m_trkAnaInfoWriteTool
ToolHandle< IDTPM::ITrackSelectionTool > m_trackQualitySelectionTool
virtual StatusCode procHistograms()
virtual StatusCode fillHistograms()
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.
#define private