ATLAS Offline Software
Loading...
Searching...
No Matches
InDetPerfPlot_Efficiency.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETPHYSVALMONITORING_INDETPERFPLOT_EFFICIENCY
6#define INDETPHYSVALMONITORING_INDETPERFPLOT_EFFICIENCY
16
17
18
19// local includes
20#include "InDetPlotBase.h"
22// std includes
23#include <string>
24class TEfficiency;
25
28public:
29 InDetPerfPlot_Efficiency(InDetPlotBase* pParent, const std::string& dirName, bool doTechEff=false, bool isITk=false);
30
31 void fill(const xAOD::TruthParticle& truth, const bool isGood, unsigned int truthMu, float actualMu, float weight);
32
33 void fillTechnicalEfficiency(const xAOD::TruthParticle& truth, const bool isGood, unsigned int truthMu, float actualMu, float weight);
34
35private:
36 TEfficiency* m_efficiency_vs_pteta{};
39
42 std::vector<TEfficiency*> m_efficiency_vs_truthMu_eta_bin;
43 std::vector<TEfficiency*> m_efficiency_vs_actualMu_eta_bin;
44 std::vector<float> m_eta_bins = {
45 0., 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0
46 };
47
48
49 TEfficiency* m_efficiency_vs_eta{};
50 TEfficiency* m_efficiency_vs_pt{};
51 TEfficiency* m_efficiency_vs_pt_low{};
53 TEfficiency* m_efficiency_vs_pt_log{};
54 TEfficiency* m_efficiency_vs_lowpt{};
55 TEfficiency* m_efficiency_vs_phi{};
56 TEfficiency* m_efficiency_vs_d0{};
57 TEfficiency* m_efficiency_vs_d0_abs{};
58 TEfficiency* m_efficiency_vs_z0{};
59 TEfficiency* m_efficiency_vs_z0_abs{};
60 TEfficiency* m_efficiency_vs_R{};
61 TEfficiency* m_efficiency_vs_Z{};
64
76
81 TEfficiency* m_efficiency_vs_prodR{};
83 TEfficiency* m_efficiency_vs_prodZ{};
85
86 TEfficiency* m_TrkRec_eta{};
87 TEfficiency* m_TrkRec_d0{};
88 TEfficiency* m_TrkRec_prodR{};
89 TEfficiency* m_TrkRec_pT{};
90 TEfficiency* m_TrkRec_truthMu{};
91 TEfficiency* m_TrkRec_actualMu{};
92 TEfficiency* m_TrkRec_eta_d0{};
93 TEfficiency* m_TrkRec_eta_prodR{};
94 TEfficiency* m_TrkRec_eta_pT{};
95
96 bool m_doTechEff{false};
97 bool m_isITk{false};
98
99 // plot base has nop default implementation of this; we use it to book the histos
100 void initializePlots();
101 void finalizePlots();
102};
103
104#endif
InDetPerfPlot_Efficiency(InDetPlotBase *pParent, const std::string &dirName, bool doTechEff=false, bool isITk=false)
void fill(const xAOD::TruthParticle &truth, const bool isGood, unsigned int truthMu, float actualMu, float weight)
void fillTechnicalEfficiency(const xAOD::TruthParticle &truth, const bool isGood, unsigned int truthMu, float actualMu, float weight)
std::vector< TEfficiency * > m_efficiency_vs_truthMu_eta_bin
TEfficiency * m_technical_efficiency_vs_prodR_extended
std::vector< TEfficiency * > m_efficiency_vs_actualMu_eta_bin
InDetPlotBase(InDetPlotBase *pParent, const std::string &dirName)
Constructor taking parent node and directory name for plots.
TruthParticle_v1 TruthParticle
Typedef to implementation.