ATLAS Offline Software
Loading...
Searching...
No Matches
InDetPerfPlot_VertexTruthMatching.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETPHYSVALMONITORING_INDETPERFPLOT_VERTEXTRUTHMATCHING
6#define INDETPHYSVALMONITORING_INDETPERFPLOT_VERTEXTRUTHMATCHING
11
12// local includes
13#include "InDetPlotBase.h"
15
16// Tracking includes:
20
21// xAOD truth object includes:
25
26// Vertex validation:
29
30// std includes
31#include <string>
32
33// root includes
34class TH1;
35class TH2;
36class TProfile;
37class TEfficiency;
38
39
42public:
43 InDetPerfPlot_VertexTruthMatching(InDetPlotBase* pParent, const std::string& dirName, const int detailLevel = 10, bool isITk = false);
44 void fill(const xAOD::Vertex& vertex, const xAOD::TruthVertex * tvrt =0, float weight=1.0);
45 void fill(const xAOD::Vertex* recoHardScatter, const xAOD::VertexContainer& vertexContainer, const std::vector<const xAOD::TruthVertex*>& truthHSVertices, const std::vector<const xAOD::TruthVertex*>& truthPUVertices, float actualMu, float weight=1.0);
46private:
47 bool m_isITk{false};
54
58
73 // HS vertex reconstruction efficiency vs PU
74 TEfficiency* m_vx_hs_reco_eff;
75 // HS vertex selection efficiency vs PU
76 TEfficiency* m_vx_hs_sel_eff;
77 // HS vertex selection efficiency vs nReco vertices
79 // HS vertex reconstruction and selection efficiency vs PU
81 // HS vertex selection efficiency vs PU (distance based)
83 // HS vertex selection efficiency vs PU (actualInteractionsPerCrossing)
84 TEfficiency* m_vx_hs_sel_eff_mu;
85 // HS vertex selection efficiency vs nReco vertices (distance based)
87 // HS vertex reconstruction efficiency vs n truth vertices
89 // HS vertex selection efficiency vs n truth vertices
91 // HS vertex reconstruction and selection efficiency vs n truth vertices
93 // For reco (covariance) resolutions:
96 // For reco-truth resolutions:
103
104
111
118
125
132
139
146 // New Histograms for Expert Plots for observables for different vertex classifications
162
175
182
189
196
209
210 // ALL Vertices
214
227
231
238
251
252 // delta z plot
255
259
261private:
262 // plot base has no default implementation of this; we use it to book the histos
263 void initializePlots();
264 static const xAOD::Vertex* getHSRecoVertexSumPt2(const xAOD::VertexContainer& recoVertices) ;
265 template<typename U, typename V>
266 float getRadialDiff2(const U* vtx1, const V* vtx2) const;
267 float getLocalPUDensity(const xAOD::TruthVertex* vtxOfInterest, const std::vector<const xAOD::TruthVertex*>& truthHSVertices, const std::vector<const xAOD::TruthVertex*>& truthPUVertices, const float radialWindow = 2.0) const;
268 static float getRecoLongitudinalReso(const xAOD::Vertex* recoVtx) ;
269 static float getRecoTransverseReso(const xAOD::Vertex* recoVtx) ;
270 const xAOD::TruthVertex* getTruthVertex(const xAOD::Vertex* recoVtx) const;
271 static void fillResoHist(TH1* resoHist, const TH2* resoHist2D);
272 void finalizePlots();
273};
274
275#endif
static const xAOD::Vertex * getHSRecoVertexSumPt2(const xAOD::VertexContainer &recoVertices)
void fill(const xAOD::Vertex &vertex, const xAOD::TruthVertex *tvrt=0, float weight=1.0)
TH1 * m_vx_hs_classification
hardscatter classification
static float getRecoLongitudinalReso(const xAOD::Vertex *recoVtx)
float getLocalPUDensity(const xAOD::TruthVertex *vtxOfInterest, const std::vector< const xAOD::TruthVertex * > &truthHSVertices, const std::vector< const xAOD::TruthVertex * > &truthPUVertices, const float radialWindow=2.0) const
TProfile * m_vx_nReco_vs_nTruth_inclusive
vertex reco efficiency
static float getRecoTransverseReso(const xAOD::Vertex *recoVtx)
static void fillResoHist(TH1 *resoHist, const TH2 *resoHist2D)
float getRadialDiff2(const U *vtx1, const V *vtx2) const
const xAOD::TruthVertex * getTruthVertex(const xAOD::Vertex *recoVtx) const
InDetPerfPlot_VertexTruthMatching(InDetPlotBase *pParent, const std::string &dirName, const int detailLevel=10, bool isITk=false)
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition TruthVertex.h:15
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.