ATLAS Offline Software
Loading...
Searching...
No Matches
IHistograms.h
Go to the documentation of this file.
1/*
2Copyright (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
16class StatusCode;
17class TH1D;
18
19namespace egammaMonitoring {
20
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
SmartIF< ITHistSvc > m_rootHistSvc
Definition IHistograms.h:48
IHistograms(std::string name, std::string title, std::string folder, SmartIF< ITHistSvc > rootHistSvc)
Definition IHistograms.h:26
virtual StatusCode initializePlots()=0
virtual void fill(const xAOD::IParticle &, float mu)=0
std::map< std::string, TH1D * > histoMap
Definition IHistograms.h:42
virtual void fill(const xAOD::IParticle &)=0
Class providing the definition of the 4-vector interface.
STL namespace.