ATLAS Offline Software
DuplicateRatePlots.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_PLOTS_DUPLICATERATEPLOTS_H
6 #define INDETTRACKPERFMON_PLOTS_DUPLICATERATEPLOTS_H
7 
13 #include "../PlotMgr.h"
15 
16 
17 namespace IDTPM {
18 
19  class DuplicateRatePlots : public PlotMgr {
20 
21  public:
22 
25  PlotMgr* pParent,
26  const std::string& dirName,
27  const std::string& anaTag,
28  const std::string& trackType,
29  bool doGlobalPlots = false,
30  bool doTruthMuPlots = false );
31 
33  virtual ~DuplicateRatePlots() = default;
34 
36  template< typename PARTICLE >
38  const PARTICLE& particle,
39  unsigned int nMatched,
40  float truthMu,
41  float actualMu,
42  float weight );
43 
45  void initializePlots(); // needed to override PlotBase
47 
49  void finalizePlots();
50 
51  private:
52 
53  std::string m_trackType;
56 
57  TEfficiency* m_duplrate_vs_pt{};
58  TEfficiency* m_duplrate_vs_eta{};
59  TEfficiency* m_duplrate_vs_phi{};
60  TEfficiency* m_duplrate_vs_d0{};
61  TEfficiency* m_duplrate_vs_z0{};
62  TEfficiency* m_duplrate_vs_truthMu{};
63  TEfficiency* m_duplrate_vs_actualMu{};
64 
72 
80 
81  }; // class DuplicateRatePlots
82 
83 } // namespace IDTPM
84 
85 #endif // > ! INDETTRACKPERFMON_PLOTS_DUPLICATERATEPLOTS_H
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
IDTPM::DuplicateRatePlots::fillPlots
StatusCode fillPlots(const PARTICLE &particle, unsigned int nMatched, float truthMu, float actualMu, float weight)
Dedicated fill method (for tracks and/or truth particles)
Definition: DuplicateRatePlots.cxx:82
IDTPM::DuplicateRatePlots::m_doTruthMuPlots
bool m_doTruthMuPlots
Definition: DuplicateRatePlots.h:55
IDTPM::DuplicateRatePlots::DuplicateRatePlots
DuplicateRatePlots(PlotMgr *pParent, const std::string &dirName, const std::string &anaTag, const std::string &trackType, bool doGlobalPlots=false, bool doTruthMuPlots=false)
Constructor.
Definition: DuplicateRatePlots.cxx:18
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_truthMu
TProfile * m_duplnum_nonzero_vs_truthMu
Definition: DuplicateRatePlots.h:78
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_z0
TProfile * m_duplnum_nonzero_vs_z0
Definition: DuplicateRatePlots.h:77
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_phi
TProfile * m_duplnum_nonzero_vs_phi
Definition: DuplicateRatePlots.h:75
IDTPM::DuplicateRatePlots::m_duplnum_vs_d0
TProfile * m_duplnum_vs_d0
Definition: DuplicateRatePlots.h:68
IDTPM::DuplicateRatePlots::m_duplrate_vs_z0
TEfficiency * m_duplrate_vs_z0
Definition: DuplicateRatePlots.h:61
IDTPM::DuplicateRatePlots::m_duplrate_vs_eta
TEfficiency * m_duplrate_vs_eta
Definition: DuplicateRatePlots.h:58
IDTPM::DuplicateRatePlots::finalizePlots
void finalizePlots()
Print out final stats on histograms.
Definition: DuplicateRatePlots.cxx:142
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_actualMu
TProfile * m_duplnum_nonzero_vs_actualMu
Definition: DuplicateRatePlots.h:79
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_d0
TProfile * m_duplnum_nonzero_vs_d0
Definition: DuplicateRatePlots.h:76
IDTPM::DuplicateRatePlots::m_duplrate_vs_phi
TEfficiency * m_duplrate_vs_phi
Definition: DuplicateRatePlots.h:59
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_eta
TProfile * m_duplnum_nonzero_vs_eta
Definition: DuplicateRatePlots.h:74
IDTPM::PlotMgr
Definition: PlotMgr.h:33
IDTPM::DuplicateRatePlots::m_duplrate_vs_actualMu
TEfficiency * m_duplrate_vs_actualMu
Definition: DuplicateRatePlots.h:63
IDTPM::DuplicateRatePlots::~DuplicateRatePlots
virtual ~DuplicateRatePlots()=default
Destructor.
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IDTPM::DuplicateRatePlots::m_doGlobalPlots
bool m_doGlobalPlots
Definition: DuplicateRatePlots.h:54
IDTPM::DuplicateRatePlots::bookPlots
StatusCode bookPlots()
Definition: DuplicateRatePlots.cxx:40
IDTPM::DuplicateRatePlots::m_duplnum_vs_eta
TProfile * m_duplnum_vs_eta
Definition: DuplicateRatePlots.h:66
IDTPM::DuplicateRatePlots::m_duplnum_vs_phi
TProfile * m_duplnum_vs_phi
Definition: DuplicateRatePlots.h:67
IDTPM::DuplicateRatePlots::m_duplrate_vs_truthMu
TEfficiency * m_duplrate_vs_truthMu
Definition: DuplicateRatePlots.h:62
IDTPM::DuplicateRatePlots
Definition: DuplicateRatePlots.h:19
IDTPM::DuplicateRatePlots::m_trackType
std::string m_trackType
Definition: DuplicateRatePlots.h:53
IDTPM::DuplicateRatePlots::initializePlots
void initializePlots()
Book the histograms.
Definition: DuplicateRatePlots.cxx:31
IDTPM::DuplicateRatePlots::m_duplnum_vs_z0
TProfile * m_duplnum_vs_z0
Definition: DuplicateRatePlots.h:69
IDTPM::DuplicateRatePlots::m_duplrate_vs_d0
TEfficiency * m_duplrate_vs_d0
Definition: DuplicateRatePlots.h:60
IDTPM::DuplicateRatePlots::m_duplrate_vs_pt
TEfficiency * m_duplrate_vs_pt
Definition: DuplicateRatePlots.h:57
IDTPM::DuplicateRatePlots::m_duplnum_nonzero_vs_pt
TProfile * m_duplnum_nonzero_vs_pt
Definition: DuplicateRatePlots.h:73
IDTPM::DuplicateRatePlots::m_duplnum_vs_pt
TProfile * m_duplnum_vs_pt
Definition: DuplicateRatePlots.h:65
IDTPM::DuplicateRatePlots::m_duplnum_vs_actualMu
TProfile * m_duplnum_vs_actualMu
Definition: DuplicateRatePlots.h:71
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
IDTPM::DuplicateRatePlots::m_duplnum_vs_truthMu
TProfile * m_duplnum_vs_truthMu
Definition: DuplicateRatePlots.h:70