ATLAS Offline Software
Loading...
Searching...
No Matches
InDetRttPlots.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETPHYSVALMONITORING_INDETRTTPLOTS
6#define INDETPHYSVALMONITORING_INDETRTTPLOTS
12
13
14// std includes
15#include <string>
16#include <memory>
17
18// local includes
19#include "InDetPlotBase.h"
20#include "InDetBasicPlot.h"
21
31#include "InDetPerfPlot_Hits.h"
38
40#include "xAODTracking/Vertex.h"
43
46
48
49
111
114public:
115 InDetRttPlots(InDetPlotBase* pParent, const std::string& dirName, const InDetRttPlotConfig & config);
116
118 void fill(const xAOD::TrackParticle& particle, const xAOD::TruthParticle& truthParticle, bool truthIsFromB=false, float mu = 0.0, float weight=1.0);
119
121 void fill(const xAOD::TrackParticle& particle, float weight=1.0);
122 void fill(const xAOD::TrackParticle& particle, const float mu, const unsigned int nVtx, float weight=1.0); //mu dependent plots
123 void fill(const unsigned int ntracksFull, const unsigned int ntracksCentral,
124 const unsigned int ntracksPt1GeV, const unsigned int truthMu,
125 const float actualMu, const unsigned int nvertices, const float weight=1.0);
126
128 void fill(const xAOD::TruthParticle& particle, float weight);
129
131 void fillEfficiency(const xAOD::TruthParticle& truth, const xAOD::TrackParticle* track, const bool isGood, const unsigned int truthMu, const float actualMu, float weight);
132 void fillTechnicalEfficiency(const xAOD::TruthParticle& truth, const bool isGood, const unsigned int truthMu, const float actualMu, float weight);
133
135 void fillDuplicate(const xAOD::TruthParticle& truth,
136 const std::vector<const xAOD::TrackParticle*>& tracks,
137 float weight);
138
140 void fill(const xAOD::VertexContainer& vertexContainer, const xAOD::Vertex* recoHardScatter, const std::vector<const xAOD::TruthVertex*>& truthHSVertices, const std::vector<const xAOD::TruthVertex*>& truthPUVertices, const float actualMu, float weight=1.0);
142 void fill(const xAOD::VertexContainer& vertexContainer, const unsigned int truthMu, const float actualMu, const float weight=1.0);
143
144 void fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, bool isBjet=false, bool isFake=false, bool truthIsFromB=false, const float weight=1.0);
145 void fillEfficiency(const xAOD::TruthParticle& truth, const xAOD::Jet& jet, const bool isGood, bool isBjet=false, bool truthIsFromB=false, float weight=1.0);
146 void fillFakeRate(const xAOD::TrackParticle& track, const xAOD::Jet& jet, const bool isFake, bool isBjet=false, bool truthIsFromB=false, float weight=1.0);
147
149 void fillCounter(const unsigned int freq, const InDetPerfPlot_nTracks::CounterCategory counter, float weight);
151 void fillFakeRate(const xAOD::TrackParticle& particle, const bool isFake, const float mu, float weight);
152
153 // fill IDPVM Ntuple
154 void fillNtuple(const xAOD::TrackParticle& track, const xAOD::Vertex* vtx);
155 void fillNtuple(const xAOD::TruthParticle& truth);
156 void fillNtuple(const xAOD::TrackParticle& track, const xAOD::TruthParticle& truth, const xAOD::Vertex* vtx, const int truthMatchRanking);
157
158 virtual ~InDetRttPlots() {
159 };
160
161private:
162
165
169 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trackParameters;
170 std::unique_ptr<InDetPerfPlot_Resolution> m_unmatchedBiasPlots;
171 std::unique_ptr<InDetPerfPlot_nTracks> m_nTracks;
172 std::unique_ptr<InDetPerfPlot_HitResidual> m_hitResidualPlot;
173 std::unique_ptr<InDetPerfPlot_HitEfficiency> m_hitEffPlot;
174 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakePlots;
175 std::unique_ptr<InDetPerfPlot_FakeRate> m_missingTruthFakePlots;
176 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotPrim;
177 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotPrim_truthFromB;
178 std::unique_ptr<InDetPerfPlot_Hits> m_hitsRecoTracksPlots;
179 std::unique_ptr<InDetPerfPlot_Efficiency> m_effPlots;
180 std::unique_ptr<InDetPerfPlot_Duplicate> m_duplicatePlots;
181 std::unique_ptr<InDetPerfPlot_VerticesVsMu> m_verticesVsMuPlots;
182 std::unique_ptr<InDetPerfPlot_Vertex> m_vertexPlots;
183 std::unique_ptr<InDetPerfPlot_Vertex> m_hardScatterVertexPlots;
184 std::unique_ptr<InDetPerfPlot_VertexTruthMatching> m_hardScatterVertexTruthMatchingPlots;
185 std::unique_ptr<InDetPerfPlot_TRTExtension> m_trtExtensionPlots;
186 std::unique_ptr<InDetPerfNtuple_TruthToReco> m_ntupleTruthToReco;
187 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotSecd;
188 std::unique_ptr<InDetPerfPlot_Hits> m_hitsMatchedTracksPlots;
189 std::unique_ptr<InDetPerfPlot_Hits> m_hitsFakeTracksPlots;
190 std::unique_ptr<InDetPerfPlot_VertexTruthMatching> m_vertexTruthMatchingPlots;
191 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots;
192 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_bjets;
193 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_matched;
194 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_matched_bjets;
195 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_fake;
196 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_fake_bjets;
197
198 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_truthFromB;
199
200 std::unique_ptr<InDetPerfPlot_Efficiency> m_effSiSPSeededFinderPlots;
201 std::unique_ptr<InDetPerfPlot_Efficiency> m_effInDetExtensionProcessorPlots;
202 std::unique_ptr<InDetPerfPlot_Efficiency> m_effTRTSeededTrackFinderPlots;
203 std::unique_ptr<InDetPerfPlot_Efficiency> m_effTRTStandalonePlots;
204 std::unique_ptr<InDetPerfPlot_Efficiency> m_effSiSpacePointsSeedMaker_LargeD0Plots;
205
206 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeSiSPSeededFinderPlots;
207 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeInDetExtensionProcessorPlots;
208 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeTRTSeededTrackFinderPlots;
209 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeTRTStandalonePlots;
210 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeSiSpacePointsSeedMaker_LargeD0Plots;
211
212 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaSiSPSeededFinderPlots;
213 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaInDetExtensionProcessorPlots;
214 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaTRTSeededTrackFinderPlots;
215 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaTRTStandalonePlots;
216 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaSiSpacePointsSeedMaker_LargeD0Plots;
217
218 std::unique_ptr<InDetPerfPlot_Resolution> m_resSiSPSeededFinderPlots;
219 std::unique_ptr<InDetPerfPlot_Resolution> m_resInDetExtensionProcessorPlots;
220 std::unique_ptr<InDetPerfPlot_Resolution> m_resTRTSeededTrackFinderPlots;
221 std::unique_ptr<InDetPerfPlot_Resolution> m_resTRTStandalonePlots;
222 std::unique_ptr<InDetPerfPlot_Resolution> m_resSiSpacePointsSeedMaker_LargeD0Plots;
223
224 std::unique_ptr<InDetPerfPlot_Hits> m_hitsSiSPSeededFinderPlots;
225 std::unique_ptr<InDetPerfPlot_Hits> m_hitsInDetExtensionProcessorPlots;
226 std::unique_ptr<InDetPerfPlot_Hits> m_hitsTRTSeededTrackFinderPlots;
227 std::unique_ptr<InDetPerfPlot_Hits> m_hitsTRTStandalonePlots;
228 std::unique_ptr<InDetPerfPlot_Hits> m_hitsSiSpacePointsSeedMaker_LargeD0Plots;
229};
230
231
232
233
234#endif
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
virtual ~InDetRttPlots()
std::unique_ptr< InDetPerfPlot_Hits > m_hitsFakeTracksPlots
InDetRttPlots(InDetPlotBase *pParent, const std::string &dirName, const InDetRttPlotConfig &config)
std::unique_ptr< InDetPerfPlot_FakeRate > m_missingTruthFakePlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_matched_bjets
std::unique_ptr< InDetPerfPlot_Efficiency > m_effTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trackParameters
plot members.
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotSecd
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotPrim_truthFromB
std::unique_ptr< InDetPerfPlot_Resolution > m_resTRTSeededTrackFinderPlots
void fillEfficiency(const xAOD::TruthParticle &truth, const xAOD::TrackParticle *track, const bool isGood, const unsigned int truthMu, const float actualMu, float weight)
Fill for efficiency plots.
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeTRTSeededTrackFinderPlots
void fillDuplicate(const xAOD::TruthParticle &truth, const std::vector< const xAOD::TrackParticle * > &tracks, float weight)
fill for duplicate plots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_fake
std::unique_ptr< InDetPerfPlot_Efficiency > m_effInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Resolution > m_resolutionPlotPrim
void fillNtuple(const xAOD::TrackParticle &track, const xAOD::Vertex *vtx)
std::unique_ptr< InDetPerfPlot_Efficiency > m_effPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsRecoTracksPlots
std::unique_ptr< InDetPerfPlot_nTracks > m_nTracks
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots
std::unique_ptr< InDetPerfPlot_Resolution > m_resInDetExtensionProcessorPlots
void fill(const xAOD::TrackParticle &particle, const xAOD::TruthParticle &truthParticle, bool truthIsFromB=false, float mu=0.0, float weight=1.0)
fill for things needing truth and track only
std::unique_ptr< InDetPerfPlot_Resolution > m_unmatchedBiasPlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Resolution > m_resTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_VerticesVsMu > m_verticesVsMuPlots
std::unique_ptr< InDetPerfPlot_VertexTruthMatching > m_hardScatterVertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsMatchedTracksPlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_Resolution > m_resSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Efficiency > m_effSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaSiSPSeededFinderPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsTRTSeededTrackFinderPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_bjets
std::unique_ptr< InDetPerfPlot_VertexTruthMatching > m_vertexTruthMatchingPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_fake_bjets
std::unique_ptr< InDetPerfPlot_Duplicate > m_duplicatePlots
void fillCounter(const unsigned int freq, const InDetPerfPlot_nTracks::CounterCategory counter, float weight)
fill for Counters
std::unique_ptr< InDetPerfPlot_TRTExtension > m_trtExtensionPlots
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaTRTStandalonePlots
std::unique_ptr< InDetPerfPlot_FakeRate > m_fakeTRTStandalonePlots
void fillFakeRate(const xAOD::TrackParticle &track, const xAOD::Jet &jet, const bool isFake, bool isBjet=false, bool truthIsFromB=false, float weight=1.0)
void fillTechnicalEfficiency(const xAOD::TruthParticle &truth, const bool isGood, const unsigned int truthMu, const float actualMu, float weight)
std::unique_ptr< InDetPerfPlot_Hits > m_hitsInDetExtensionProcessorPlots
std::unique_ptr< InDetPerfPlot_Hits > m_hitsSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_Vertex > m_hardScatterVertexPlots
std::unique_ptr< InDetPerfNtuple_TruthToReco > m_ntupleTruthToReco
std::unique_ptr< InDetPerfPlot_HitEfficiency > m_hitEffPlot
std::unique_ptr< InDetPerfPlot_Vertex > m_vertexPlots
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_matched
InDetRttPlotConfig m_config
configuration object
std::unique_ptr< InDetPerfPlot_TrkInJet > m_trkInJetPlots_truthFromB
std::unique_ptr< InDetPerfPlot_Resolution > m_resSiSpacePointsSeedMaker_LargeD0Plots
std::unique_ptr< InDetPerfPlot_HitResidual > m_hitResidualPlot
std::unique_ptr< InDetPerfPlot_TrackParameters > m_trkParaInDetExtensionProcessorPlots
Jet_v1 Jet
Definition of the current "jet version".
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TruthParticle_v1 TruthParticle
Typedef to implementation.
helper struct - steer the configuration from the parent tool's side
bool doTrkInJetPlots_matched_bjets
int detailLevel
detail level (kept for compatibility)
bool doNtupleTruthToReco
Ntuple functionality.
bool doEfficienciesPerAuthor
per author plots
bool doHitsRecoTracksPlotsPerAuthor
bool doEffPlots
Efficiency and duplicate plots - require truth, optionally matching reco.
bool doFakePlots
Fake plots.
bool doResolutionPlotPrim
Resolution and "matched track" plots - filled if both reco and truth exist.
bool doVertexTruthMatchingPlots
Vertexing plots - truth requirement.
bool doVertexPlots
Vertexing plots - no truth requirement.
bool doHardScatterVertexTruthMatchingPlots
bool doTrackParameters
Plots for (selected) tracks, not necessarily truth matched.
bool doTrkInJetPlots
Plots for tracks in jets.
bool doResolutionPlotPrim_truthFromB