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
112
115public:
116 InDetRttPlots(InDetPlotBase* pParent, const std::string& dirName, const InDetRttPlotConfig & config);
117
119 void fill(const xAOD::TrackParticle& particle, const xAOD::TruthParticle& truthParticle, bool truthIsFromB=false, float mu = 0.0, float weight=1.0);
120
122 void fill(const xAOD::TrackParticle& particle, float weight=1.0);
123 void fill(const xAOD::TrackParticle& particle, const float mu, const unsigned int nVtx, float weight=1.0); //mu dependent plots
124 void fill(const unsigned int ntracksFull, const unsigned int ntracksCentral,
125 const unsigned int ntracksPt1GeV, const unsigned int truthMu,
126 const float actualMu, const unsigned int nvertices, const float weight=1.0);
127
129 void fill(const xAOD::TruthParticle& particle, float weight);
130
132 void fillEfficiency(const xAOD::TruthParticle& truth, const xAOD::TrackParticle* track, const bool isGood, const unsigned int truthMu, const float actualMu, float weight);
133 void fillTechnicalEfficiency(const xAOD::TruthParticle& truth, const bool isGood, const unsigned int truthMu, const float actualMu, float weight);
134
136 void fillDuplicate(const xAOD::TruthParticle& truth,
137 const std::vector<const xAOD::TrackParticle*>& tracks,
138 float weight);
139
141 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);
143 void fill(const xAOD::VertexContainer& vertexContainer, const unsigned int truthMu, const float actualMu, const float weight=1.0);
144
145 void fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, bool isBjet=false, bool isFake=false, bool truthIsFromB=false, const float weight=1.0);
146 void fillEfficiency(const xAOD::TruthParticle& truth, const xAOD::Jet& jet, const bool isGood, bool isBjet=false, bool truthIsFromB=false, float weight=1.0);
147 void fillFakeRate(const xAOD::TrackParticle& track, const xAOD::Jet& jet, const bool isFake, bool isBjet=false, bool truthIsFromB=false, float weight=1.0);
148
150 void fillCounter(const unsigned int freq, const InDetPerfPlot_nTracks::CounterCategory counter, float weight);
152 void fillFakeRate(const xAOD::TrackParticle& particle, const bool isFake, const float mu, float weight);
153
154 // fill IDPVM Ntuple
155 void fillNtuple(const xAOD::TrackParticle& track, const xAOD::Vertex* vtx);
156 void fillNtuple(const xAOD::TruthParticle& truth);
157 void fillNtuple(const xAOD::TrackParticle& track, const xAOD::TruthParticle& truth, const xAOD::Vertex* vtx, const int truthMatchRanking);
158
159 virtual ~InDetRttPlots() {
160 };
161
162private:
163
166
170 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trackParameters;
171 std::unique_ptr<InDetPerfPlot_Resolution> m_unmatchedBiasPlots;
172 std::unique_ptr<InDetPerfPlot_nTracks> m_nTracks;
173 std::unique_ptr<InDetPerfPlot_HitResidual> m_hitResidualPlot;
174 std::unique_ptr<InDetPerfPlot_HitEfficiency> m_hitEffPlot;
175 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakePlots;
176 std::unique_ptr<InDetPerfPlot_FakeRate> m_missingTruthFakePlots;
177 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotPrim;
178 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotPrim_truthFromB;
179 std::unique_ptr<InDetPerfPlot_Hits> m_hitsRecoTracksPlots;
180 std::unique_ptr<InDetPerfPlot_Efficiency> m_effPlots;
181 std::unique_ptr<InDetPerfPlot_Duplicate> m_duplicatePlots;
182 std::unique_ptr<InDetPerfPlot_VerticesVsMu> m_verticesVsMuPlots;
183 std::unique_ptr<InDetPerfPlot_Vertex> m_vertexPlots;
184 std::unique_ptr<InDetPerfPlot_Vertex> m_hardScatterVertexPlots;
185 std::unique_ptr<InDetPerfPlot_VertexTruthMatching> m_hardScatterVertexTruthMatchingPlots;
186 std::unique_ptr<InDetPerfPlot_TRTExtension> m_trtExtensionPlots;
187 std::unique_ptr<InDetPerfNtuple_TruthToReco> m_ntupleTruthToReco;
188 std::unique_ptr<InDetPerfPlot_Resolution> m_resolutionPlotSecd;
189 std::unique_ptr<InDetPerfPlot_Hits> m_hitsMatchedTracksPlots;
190 std::unique_ptr<InDetPerfPlot_Hits> m_hitsFakeTracksPlots;
191 std::unique_ptr<InDetPerfPlot_VertexTruthMatching> m_vertexTruthMatchingPlots;
192 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots;
193 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_bjets;
194 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_matched;
195 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_matched_bjets;
196 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_fake;
197 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_fake_bjets;
198
199 std::unique_ptr<InDetPerfPlot_TrkInJet> m_trkInJetPlots_truthFromB;
200
201 std::unique_ptr<InDetPerfPlot_Efficiency> m_effSiSPSeededFinderPlots;
202 std::unique_ptr<InDetPerfPlot_Efficiency> m_effInDetExtensionProcessorPlots;
203 std::unique_ptr<InDetPerfPlot_Efficiency> m_effTRTSeededTrackFinderPlots;
204 std::unique_ptr<InDetPerfPlot_Efficiency> m_effTRTStandalonePlots;
205 std::unique_ptr<InDetPerfPlot_Efficiency> m_effSiSpacePointsSeedMaker_LargeD0Plots;
206
207 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeSiSPSeededFinderPlots;
208 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeInDetExtensionProcessorPlots;
209 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeTRTSeededTrackFinderPlots;
210 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeTRTStandalonePlots;
211 std::unique_ptr<InDetPerfPlot_FakeRate> m_fakeSiSpacePointsSeedMaker_LargeD0Plots;
212
213 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaSiSPSeededFinderPlots;
214 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaInDetExtensionProcessorPlots;
215 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaTRTSeededTrackFinderPlots;
216 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaTRTStandalonePlots;
217 std::unique_ptr<InDetPerfPlot_TrackParameters> m_trkParaSiSpacePointsSeedMaker_LargeD0Plots;
218
219 std::unique_ptr<InDetPerfPlot_Resolution> m_resSiSPSeededFinderPlots;
220 std::unique_ptr<InDetPerfPlot_Resolution> m_resInDetExtensionProcessorPlots;
221 std::unique_ptr<InDetPerfPlot_Resolution> m_resTRTSeededTrackFinderPlots;
222 std::unique_ptr<InDetPerfPlot_Resolution> m_resTRTStandalonePlots;
223 std::unique_ptr<InDetPerfPlot_Resolution> m_resSiSpacePointsSeedMaker_LargeD0Plots;
224
225 std::unique_ptr<InDetPerfPlot_Hits> m_hitsSiSPSeededFinderPlots;
226 std::unique_ptr<InDetPerfPlot_Hits> m_hitsInDetExtensionProcessorPlots;
227 std::unique_ptr<InDetPerfPlot_Hits> m_hitsTRTSeededTrackFinderPlots;
228 std::unique_ptr<InDetPerfPlot_Hits> m_hitsTRTStandalonePlots;
229 std::unique_ptr<InDetPerfPlot_Hits> m_hitsSiSpacePointsSeedMaker_LargeD0Plots;
230};
231
232
233
234
235#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