ATLAS Offline Software
Loading...
Searching...
No Matches
egammaMonitoring::WidthPlot Class Reference

#include <WidthPlot.h>

Collaboration diagram for egammaMonitoring::WidthPlot:

Public Member Functions

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

Private Attributes

std::string m_name
std::string m_folder
SmartIF< ITHistSvc > m_rootHistSvc

Detailed Description

Definition at line 15 of file WidthPlot.h.

Constructor & Destructor Documentation

◆ WidthPlot()

egammaMonitoring::WidthPlot::WidthPlot ( std::string name,
std::string folder,
SmartIF< 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(std::move(rootHistSvc)) { }
SmartIF< ITHistSvc > m_rootHistSvc
Definition WidthPlot.h:25

◆ ~WidthPlot()

egammaMonitoring::WidthPlot::~WidthPlot ( )
inline

Definition at line 19 of file WidthPlot.h.

19{ };

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 } //
#define ATH_CHECK
Evaluate an expression and check for errors.
double s68(const T &histo)

Member Data Documentation

◆ m_folder

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

Definition at line 24 of file WidthPlot.h.

◆ m_name

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

Definition at line 23 of file WidthPlot.h.

◆ m_rootHistSvc

SmartIF<ITHistSvc> egammaMonitoring::WidthPlot::m_rootHistSvc
private

Definition at line 25 of file WidthPlot.h.


The documentation for this class was generated from the following files: