ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
egammaMonitoring::WidthPlot Class Reference

#include <WidthPlot.h>

Collaboration diagram for egammaMonitoring::WidthPlot:

Public Member Functions

 WidthPlot (std::string name, std::string folder, ITHistSvc *&rootHistSvc)
 
 ~WidthPlot ()
 
StatusCode fill (IHistograms *input)
 

Private Attributes

std::string m_name
 
std::string m_folder
 
ITHistSvc * m_rootHistSvc = nullptr
 

Detailed Description

Definition at line 14 of file WidthPlot.h.

Constructor & Destructor Documentation

◆ WidthPlot()

egammaMonitoring::WidthPlot::WidthPlot ( std::string  name,
std::string  folder,
ITHistSvc *&  rootHistSvc 
)

Definition at line 19 of file WidthPlot.cxx.

19  :
20  m_name(std::move(name)),
21  m_folder(std::move(folder)),
22  m_rootHistSvc(rootHistSvc) { }

◆ ~WidthPlot()

egammaMonitoring::WidthPlot::~WidthPlot ( )
inline

Definition at line 18 of file WidthPlot.h.

18 { };

Member Function Documentation

◆ fill()

StatusCode egammaMonitoring::WidthPlot::fill ( IHistograms input)

Definition at line 24 of file WidthPlot.cxx.

24  {
25 
26  TruthPhotonHistograms *histograms = dynamic_cast<TruthPhotonHistograms*>(input);
27 
28  for ( const auto &p : histograms->histo2DMap ) {
29  TH1D* hist68 =
30  new TH1D(Form("%s_%s", m_name.c_str(), p.first.c_str()),
31  Form("; %s ; resolution", p.second->GetXaxis()->GetTitle()),
32  p.second->GetXaxis()->GetNbins(),
33  p.second->GetXaxis()->GetXmin(),
34  p.second->GetXaxis()->GetXmax());
35  hist68->SetStats(0);
36 
37  for (int bin = 1; bin <= p.second->GetXaxis()->GetNbins(); bin++) {
38  TH1D *proj = p.second->ProjectionY(Form("%s_%d_projection", p.first.c_str(), bin), bin, bin+1);
39 
40  double s68 = binned::s68(proj);
41  hist68->SetBinContent(bin, s68);
42 
43  }
44 
45  ATH_CHECK(m_rootHistSvc->regHist(Form("%sWidth_%s", m_folder.c_str(), p.first.c_str()), hist68));
46 
47  }
48 
49  return StatusCode::SUCCESS;
50 
51  } //

Member Data Documentation

◆ m_folder

std::string egammaMonitoring::WidthPlot::m_folder
private

Definition at line 23 of file WidthPlot.h.

◆ m_name

std::string egammaMonitoring::WidthPlot::m_name
private

Definition at line 22 of file WidthPlot.h.

◆ m_rootHistSvc

ITHistSvc* egammaMonitoring::WidthPlot::m_rootHistSvc = nullptr
private

Definition at line 24 of file WidthPlot.h.


The documentation for this class was generated from the following files:
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
covarianceTool.histograms
dictionary histograms
Definition: covarianceTool.py:53
bin
Definition: BinsDiffFromStripMedian.h:43
egammaMonitoring::WidthPlot::m_name
std::string m_name
Definition: WidthPlot.h:22
widthestimators::binned::s68
double s68(const T &histo)
Definition: widthestimators.h:98
egammaMonitoring::WidthPlot::m_folder
std::string m_folder
Definition: WidthPlot.h:23
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
make_coralServer_rep.proj
proj
Definition: make_coralServer_rep.py:48
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
egammaMonitoring::WidthPlot::m_rootHistSvc
ITHistSvc * m_rootHistSvc
Definition: WidthPlot.h:24
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56