ATLAS Offline Software
TrackAnalysisPlotsMgr.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_TRACKANALYSISPLOTSMGR_H
6 #define INDETTRACKPERFMON_TRACKANALYSISPLOTSMGR_H
7 
19 
22 #include "PlotMgr.h"
24 #include "plots/EfficiencyPlots.h"
26 #include "plots/ResolutionPlots.h"
27 
29 #include <string>
30 #include <memory>
31 #include <vector>
32 
33 
34 namespace IDTPM {
35 
37  class TrackAnalysisCollections;
38  class ITrackMatchingLookup;
39 
40  class TrackAnalysisPlotsMgr : public PlotMgr {
41 
42  public :
43 
45  TrackAnalysisPlotsMgr( const std::string& dirName,
46  const std::string& anaTag,
47  const std::string& chain,
48  PlotMgr* pParent = nullptr );
49 
51  virtual ~TrackAnalysisPlotsMgr() = default;
52 
55 
57  const std::string& anaTag() const { return m_anaTag; }
58  const std::string& chain() const { return m_chain; }
59  const std::string& directory() const { return m_directory; }
60 
62  StatusCode fill( TrackAnalysisCollections& trkAnaColls, float weight=1.0 );
63 
66  template< typename PARTICLE >
68  const std::vector< const PARTICLE* >& particles,
69  const ITrackMatchingLookup& matches, float weight=1.0 );
70 
73  template< typename PARTICLE >
75  const std::vector< const PARTICLE* >& particles,
76  const ITrackMatchingLookup& matches, float weight=1.0 );
77 
78  private :
79 
80  std::string m_anaTag;
81  std::string m_chain;
82  std::string m_directory;
83 
86 
89  std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsTest;
90  std::unique_ptr< EfficiencyPlots > m_plots_eff_vsTest;
92  std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsRef;
93  std::unique_ptr< EfficiencyPlots > m_plots_eff_vsRef;
95  std::unique_ptr< ResolutionPlots > m_plots_resolution;
97  std::unique_ptr< OfflineElectronPlots > m_plots_offEle;
98  std::unique_ptr< OfflineElectronPlots > m_plots_eff_vsOffEle;
99 
100  }; // class TrackAnalysisPlotsMgr
101 
102 } // namespace IDTPM
103 
104 #endif // > !INDETTRACKPERFMON_TRACKANALYSISPLOTSMGR_H
IDTPM::TrackAnalysisPlotsMgr::fillPlotsReference
StatusCode fillPlotsReference(const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, float weight=1.0)
Fill all plots w.r.t.
Definition: TrackAnalysisPlotsMgr.cxx:169
IDTPM::TrackAnalysisPlotsMgr::chain
const std::string & chain() const
Definition: TrackAnalysisPlotsMgr.h:58
ITrackAnalysisDefinitionSvc.h
IDTPM::TrackAnalysisPlotsMgr::m_plots_trkParam_vsTest
std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsTest
Plot categories plots w.r.t.
Definition: TrackAnalysisPlotsMgr.h:89
IDTPM::TrackAnalysisCollections
Definition: TrackAnalysisCollections.h:41
ITrackAnalysisDefinitionSvc
Athena include(s).
Definition: ITrackAnalysisDefinitionSvc.h:26
ResolutionPlots.h
IDTPM::TrackAnalysisPlotsMgr::fillPlotsTest
StatusCode fillPlotsTest(const std::vector< const PARTICLE * > &particles, const ITrackMatchingLookup &matches, float weight=1.0)
Fill all plots w.r.t.
Definition: TrackAnalysisPlotsMgr.cxx:122
IDTPM::TrackAnalysisPlotsMgr::m_chain
std::string m_chain
Definition: TrackAnalysisPlotsMgr.h:81
IDTPM::TrackAnalysisPlotsMgr::m_plots_resolution
std::unique_ptr< ResolutionPlots > m_plots_resolution
resolution plots
Definition: TrackAnalysisPlotsMgr.h:95
IDTPM::TrackAnalysisPlotsMgr::m_anaTag
std::string m_anaTag
Definition: TrackAnalysisPlotsMgr.h:80
TrackParametersPlots.h
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
IDTPM::TrackAnalysisPlotsMgr::~TrackAnalysisPlotsMgr
virtual ~TrackAnalysisPlotsMgr()=default
Destructor.
IDTPM::PlotMgr
Definition: PlotMgr.h:32
IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsRef
std::unique_ptr< EfficiencyPlots > m_plots_eff_vsRef
Definition: TrackAnalysisPlotsMgr.h:93
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotMgr.h
Derived class to give extra capabilities to TrkValHistUtils/PlotBase.h such as ATH_MSG and an easier ...
EfficiencyPlots.h
IDTPM::TrackAnalysisPlotsMgr::m_trkAnaDefSvc
ITrackAnalysisDefinitionSvc * m_trkAnaDefSvc
TrackAnalysis definition service to "hold" the histograms configurations/flags.
Definition: TrackAnalysisPlotsMgr.h:85
IDTPM::TrackAnalysisPlotsMgr::m_plots_trkParam_vsRef
std::unique_ptr< TrackParametersPlots > m_plots_trkParam_vsRef
plots w.r.t. reference tracks parameters
Definition: TrackAnalysisPlotsMgr.h:92
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsOffEle
std::unique_ptr< OfflineElectronPlots > m_plots_eff_vsOffEle
Definition: TrackAnalysisPlotsMgr.h:98
IDTPM::TrackAnalysisPlotsMgr::m_directory
std::string m_directory
Definition: TrackAnalysisPlotsMgr.h:82
OfflineElectronPlots.h
TrackParticle.h
IDTPM::TrackAnalysisPlotsMgr
Definition: TrackAnalysisPlotsMgr.h:40
IDTPM::TrackAnalysisPlotsMgr::TrackAnalysisPlotsMgr
TrackAnalysisPlotsMgr(const std::string &dirName, const std::string &anaTag, const std::string &chain, PlotMgr *pParent=nullptr)
Constructor.
Definition: TrackAnalysisPlotsMgr.cxx:24
IDTPM::TrackAnalysisPlotsMgr::fill
StatusCode fill(TrackAnalysisCollections &trkAnaColls, float weight=1.0)
General fill method.
Definition: TrackAnalysisPlotsMgr.cxx:89
LArG4FSStartPointFilter.particles
list particles
Definition: LArG4FSStartPointFilter.py:84
IDTPM::TrackAnalysisPlotsMgr::initialize
StatusCode initialize()
initialize
Definition: TrackAnalysisPlotsMgr.cxx:37
IDTPM::ITrackMatchingLookup
Definition: ITrackMatchingLookup.h:30
IDTPM::TrackAnalysisPlotsMgr::directory
const std::string & directory() const
Definition: TrackAnalysisPlotsMgr.h:59
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
TruthParticle.h
IDTPM::TrackAnalysisPlotsMgr::m_plots_offEle
std::unique_ptr< OfflineElectronPlots > m_plots_offEle
plots w.r.t. reference offline electron
Definition: TrackAnalysisPlotsMgr.h:97
IDTPM::TrackAnalysisPlotsMgr::anaTag
const std::string & anaTag() const
return members
Definition: TrackAnalysisPlotsMgr.h:57
IDTPM::TrackAnalysisPlotsMgr::m_plots_eff_vsTest
std::unique_ptr< EfficiencyPlots > m_plots_eff_vsTest
Definition: TrackAnalysisPlotsMgr.h:90