8#include "TDirectoryFile.h"
15using json = nlohmann::json;
81 TH1F*
plot1D(
const std::string& name,
const std::string& xtitle,
82 int nbinsX,
float xmin,
float xmax);
93 TH1F*
plot1D(
const std::string& name,
const std::string& xtitle,
94 int nbinsX,
double* axisX);
110 TH2F*
plot2D(std::string name,
111 std::string xtitle,
int nbinsX,
float xmin,
float xmax,
112 std::string ytitle,
int nbinsY,
float ymin,
float ymax);
126 TH2F*
plot2D(std::string name,
127 std::string xtitle,
int nbinsX,
double* axisX,
128 std::string ytitle,
int nbinsY,
double* axisY);
142 TH2F*
plot2D(std::string name,
143 std::string xtitle,
int nbinsX,
const double* axisX,
144 std::string ytitle,
int nbinsY,
const double* axisY);
159 TH2F*
plot2D(std::string name,
160 std::string xtitle,
int nbinsX,
double* axisX,
161 std::string ytitle,
int nbinsY,
float ymin,
float ymax);
181 TH3F*
plot3D(std::string name,
182 std::string xtitle,
int nbinsX,
float xmin,
float xmax,
183 std::string ytitle,
int nbinsY,
float ymin,
float ymax,
184 std::string ztitle,
int nbinsZ,
float zmin,
float zmax);
201 TH3F*
plot3D(std::string name,
202 std::string xtitle,
int nbinsX,
double* axisX,
203 std::string ytitle,
int nbinsY,
double* axisY,
204 std::string ztitle,
int nbinsZ,
double* axisZ);
238 virtual void DefineHistos(std::vector<std::string> histoCopyNames,
239 std::string makeCopyJsonTag =
"default=single_copy");
248 void Fill1DHisto(
const std::string& histoName,
float value,
float weight=1.);
258 void Fill2DHisto(
const std::string& histoName,
float valuex,
float valuey,
float weight=1.);
270 void Fill3DHisto(
const std::string& histoName,
float valuex,
float valuey,
float valuez,
float weight=1.);
282 const std::string& folder =
"");
290 virtual void saveHistos(TFile* outF =
nullptr, std::string folder =
"");
303 virtual void sumw2();
309 virtual void Clear();
332 std::map<std::string, std::vector<double>>
Axes;
334 typedef std::map<std::string, TH1F*>::iterator
it1d;
336 typedef std::map<std::string, TH2F*>::iterator
it2d;
338 typedef std::map<std::string, TH3F*>::iterator
it3d;
void Fill2DHisto(const std::string &histoName, float valuex, float valuey, float weight=1.)
description
std::map< std::string, TH2F * > histos2d
description
virtual void DefineHistos()
Definition of histograms from json config.
virtual void Define3DHistos()
define additional 3D histo by hand
TH1F * get1dHisto(const std::string &str)
description
bool doPrintWarnings_
description
virtual void GetHistosFromFile(TFile *inFile, const std::string &name, const std::string &folder="")
Get histograms from input file.
std::map< std::string, std::vector< double > > Axes
description
TH2F * plot2D(std::string name, std::string xtitle, int nbinsX, float xmin, float xmax, std::string ytitle, int nbinsY, float ymin, float ymax)
description
std::map< std::string, TH3F * >::iterator it3d
description
TH2F * get2dHisto(const std::string &str)
description
virtual void Define2DHistos()
define additional 2D histo by hand
HistoManager()
default constructor
std::map< std::string, TH1F * >::iterator it1d
description
void Fill3DHisto(const std::string &histoName, float valuex, float valuey, float valuez, float weight=1.)
description
void debugMode(bool debug)
set debug
int maxWarnings_
description
std::map< std::string, TH3F * > histos3d
description
virtual void Define1DHistos()
define additional 1D histo by hand
std::map< std::string, TH1F * > histos1d
description
virtual std::string getName()
get name
std::map< std::string, TH2F * >::iterator it2d
description
TH3F * plot3D(std::string name, std::string xtitle, int nbinsX, float xmin, float xmax, std::string ytitle, int nbinsY, float ymin, float ymax, std::string ztitle, int nbinsZ, float zmin, float zmax)
description
std::vector< std::string > histos2dNamesfromTFile
description
virtual void Clear()
description
void Fill1DHisto(const std::string &histoName, float value, float weight=1.)
description
virtual void sumw2()
description
TH1F * plot1D(const std::string &name, const std::string &xtitle, int nbinsX, float xmin, float xmax)
description
json _h_configs
description
TH3F * get3dHisto(const std::string &str)
description
virtual void loadHistoConfig(const std::string histoConfigFile)
load histogram config
std::vector< std::string > histos1dNamesfromTFile
description
std::string m_name
description
int printWarnings_
description
virtual void saveHistos(TFile *outF=nullptr, std::string folder="")
save histograms
std::vector< std::string > histos1dNamesfromJson
description