ATLAS Offline Software
IHistograms.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 EGAMMAVALIDATION_BASICHISTOGRAMS_H
6 #define EGAMMAVALIDATION_BASICHISTOGRAMS_H
7 
8 #include "GaudiKernel/ITHistSvc.h"
9 #include "GaudiKernel/SmartIF.h"
10 
11 #include "xAODBase/IParticle.h"
12 
13 #include <map>
14 #include <string>
15 
16 class StatusCode;
17 class TH1D;
18 
19 namespace egammaMonitoring {
20 
21  class IHistograms {
22 
23  public:
24 
26  IHistograms(std::string name,
27  std::string title,
28  std::string folder,
29  SmartIF<ITHistSvc> rootHistSvc
30  ) :
31  m_name(std::move(std::move(name))),
32  m_title(std::move(std::move(title))),
33  m_folder(std::move(std::move(folder))),
34  m_rootHistSvc(std::move(rootHistSvc)) {}
35 
36  virtual StatusCode initializePlots() = 0;
37 
38  virtual void fill(const xAOD::IParticle&) = 0;
39  virtual void fill(const xAOD::IParticle&, float mu) = 0;
40  virtual ~IHistograms(){};
41 
42  std::map<std::string, TH1D*> histoMap;
43 
44  protected:
45  std::string m_name;
46  std::string m_title;
47  std::string m_folder;
48  SmartIF<ITHistSvc> m_rootHistSvc;
49 
50  };
51 
52 }
53 
54 
55 #endif //EGAMMAVALIDATION_BASICHISTOGRAM_H
egammaMonitoring::IHistograms
Definition: IHistograms.h:21
egammaMonitoring::IHistograms::fill
virtual void fill(const xAOD::IParticle &, float mu)=0
IParticle.h
egammaMonitoring::IHistograms::initializePlots
virtual StatusCode initializePlots()=0
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
egammaMonitoring::IHistograms::IHistograms
IHistograms(std::string name, std::string title, std::string folder, SmartIF< ITHistSvc > rootHistSvc)
Definition: IHistograms.h:26
egammaMonitoring::IHistograms::m_folder
std::string m_folder
Definition: IHistograms.h:47
egammaMonitoring::IHistograms::m_rootHistSvc
SmartIF< ITHistSvc > m_rootHistSvc
Definition: IHistograms.h:48
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
covarianceTool.title
title
Definition: covarianceTool.py:542
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
egammaMonitoring
Definition: ClusterHistograms.h:19
egammaMonitoring::IHistograms::IHistograms
IHistograms()
egammaMonitoring::IHistograms::~IHistograms
virtual ~IHistograms()
Definition: IHistograms.h:40
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
egammaMonitoring::IHistograms::m_title
std::string m_title
Definition: IHistograms.h:46
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
egammaMonitoring::IHistograms::fill
virtual void fill(const xAOD::IParticle &)=0
egammaMonitoring::IHistograms::m_name
std::string m_name
Definition: IHistograms.h:45
egammaMonitoring::IHistograms::histoMap
std::map< std::string, TH1D * > histoMap
Definition: IHistograms.h:40