26 const static std::vector<ELmvmSrc>
fSrcs;
28 const static std::vector<std::string>
fSrcLatex;
32 const static std::vector<ELmvmAnaStep>
fAnaSteps;
39 const static std::vector<ELmvmSignal>
fSignals;
51 const static std::vector<std::string>
fCandLatex;
54 std::vector<std::string>
CombineNames(
const std::string& name,
const std::vector<std::string>& subNames);
56 std::vector<std::string>
CombineNames(
const std::string& name,
const std::vector<std::string>& subNames1,
57 const std::vector<std::string>& subNames2);
60 void CreateH1(
const std::string& name,
const std::string& axisX,
const std::string& axisY,
double nBins,
double min,
63 void CreateH2(
const std::string& name,
const std::string& axisX,
const std::string& axisY,
const std::string& axisZ,
64 double nBinsX,
double minX,
double maxX,
double nBinsY,
double minY,
double maxY);
66 void CreateH1(
const std::string& name,
const std::vector<std::string>& subNames,
const std::string& axisX,
67 const std::string& axisY,
double nBins,
double min,
double max);
69 void CreateH2(
const std::string& name,
const std::vector<std::string>& subNames,
const std::string& axisX,
70 const std::string& axisY,
const std::string& axisZ,
double nBinsX,
double minX,
double maxX,
71 double nBinsY,
double minY,
double maxY);
73 void CreateH1(
const std::string& name,
const std::vector<std::string>& subNames1,
74 const std::vector<std::string>& subNames2,
const std::string& axisX,
const std::string& axisY,
75 double nBins,
double min,
double max);
77 void CreateH2(
const std::string& name,
const std::vector<std::string>& subNames1,
78 const std::vector<std::string>& subNames2,
const std::string& axisX,
const std::string& axisY,
79 const std::string& axisZ,
double nBinsX,
double minX,
double maxX,
double nBinsY,
double minY,
87 hNew->SetNameTitle(newName.c_str(), newName.c_str());
98 void FillH1(
const std::string& name,
double x,
double w = 1.);
99 void FillH2(
const std::string& name,
double x,
double y,
double w = 1.);
109 TH1D*
H1(
const std::string& name) {
return static_cast<TH1D*
>(
fHM.
H1(name)); }
110 TH2D*
H2(
const std::string& name) {
return static_cast<TH2D*
>(
fHM.
H2(name)); }
118 TH1D*
H1Clone(
const std::string& name) {
return static_cast<TH1D*
>(
H1(name)->Clone()); }
119 TH2D*
H2Clone(
const std::string& name) {
return static_cast<TH2D*
>(
H2(name)->Clone()); }
122 TH1D*
H1Clone(
const std::string& name,
ELmvmSrc src) {
return static_cast<TH1D*
>(
H1(name, src)->Clone()); }
123 TH2D*
H2Clone(
const std::string& name,
ELmvmSrc src) {
return static_cast<TH2D*
>(
H2(name, src)->Clone()); }
126 return static_cast<TH1D*
>(
H1(name, src, step)->Clone());
130 return static_cast<TH2D*
>(
H2(name, src, step)->Clone());
137 void SetOptH1(TH1D* hist, TString xAxisTitle, TString yAxisTitle, Int_t Ndevision, Int_t style, Float_t
size,
138 Int_t color, std::string opt =
"");
140 void SetLegend(std::vector<LmvmLegend>,
double textsize,
double x1,
double y1,
double x2,
double y2);
142 void Rebin(
const std::string& name,
int nGroup);
143 void Rebin(
const std::string& name,
const std::vector<std::string>& subNames,
int nGroup);
144 void Rebin(
const std::string& name,
const std::vector<std::string>& subNames1,
145 const std::vector<std::string>& subNames2,
int nGroup);
147 TH1D*
CreateSignificanceH1(TH1D* s, TH1D* bg,
const std::string& name,
const std::string& option);
148 TH2D*
CreateSignificanceH2(TH2D* signal, TH2D* bg,
const std::string& name,
const std::string& title);
150 void DrawAll(
int dim,
const std::string& hFullname,
const std::string& padText, std::vector<std::string> xLabel,
151 std::vector<std::string> yLabel,
double min,
double max);
152 void DrawAllGTracks(
int dim,
const std::string& cName,
const std::string& hName, std::vector<std::string> xLabel,
153 std::vector<std::string> yLabel,
double min,
double max);
154 void DrawAllCands(
int dim,
const std::string& cName,
const std::string& hName, std::vector<std::string> xLabel,
155 std::vector<std::string> yLabel,
double min,
double max);
157 std::vector<std::string> xLabel, std::vector<std::string> yLabel,
double min,
double max);
static constexpr size_t size()
TH2 * H2(const std::string &name) const
Return pointer to TH2 histogram.
TNamed * GetObject(const std::string &name) const
void Add(const std::string &name, TNamed *object)
Add new named object to manager.
TH1 * H1(const std::string &name) const
Return pointer to TH1 histogram.
void FillH1(const std::string &name, ELmvmAnaStep step, double x, double w=1.)
void CreateH1(const std::string &name, const std::string &axisX, const std::string &axisY, double nBins, double min, double max)
static const std::vector< int > fAnaStepColors
static const std::vector< ELmvmSrc > fSrcs
static const std::vector< std::string > fCandNames
static const std::vector< std::string > fAnaStepLatex
std::vector< std::string > CombineNames(const std::string &name, const std::vector< std::string > &subNames1, const std::vector< std::string > &subNames2)
TH2D * H2Clone(const std::string &name, ELmvmSrc src, ELmvmAnaStep step)
void DrawEfficiency(TH1 *h1, TH1 *h2, double xPos, double yPos)
TH1D * CreateSignificanceH1(TH1D *s, TH1D *bg, const std::string &name, const std::string &option)
void FillH1(const std::string &name, double x, double w=1.)
void DrawAllGTracks(int dim, const std::string &cName, const std::string &hName, std::vector< std::string > xLabel, std::vector< std::string > yLabel, double min, double max)
void FillH2(const std::string &name, ELmvmSrc src, double x, double y, double wSignal)
void DrawAllCands(int dim, const std::string &cName, const std::string &hName, std::vector< std::string > xLabel, std::vector< std::string > yLabel, double min, double max)
TH2D * H2Clone(const std::string &name)
TH2D * H2(const std::string &name)
TH2D * H2(const std::string &name, ELmvmSrc src, ELmvmAnaStep step)
void SetOptH1(TH1D *hist, TString xAxisTitle, TString yAxisTitle, Int_t Ndevision, Int_t style, Float_t size, Int_t color, std::string opt="")
void DrawAll(int dim, const std::string &hFullname, const std::string &padText, std::vector< std::string > xLabel, std::vector< std::string > yLabel, double min, double max)
static const int fNofSignals
TH2D * H2Clone(const std::string &name, ELmvmSrc src)
static const std::vector< int > fSrcColors
static const int fNofGTrackNames
void CreateH2(const std::string &name, const std::vector< std::string > &subNames1, const std::vector< std::string > &subNames2, const std::string &axisX, const std::string &axisY, const std::string &axisZ, double nBinsX, double minX, double maxX, double nBinsY, double minY, double maxY)
static const std::vector< std::string > fBgPairSrcNames
static const std::vector< ELmvmSignal > fSignals
TH1D * H1Clone(const std::string &name, ELmvmSrc src)
std::vector< std::string > CombineNames(const std::string &name, const std::vector< std::string > &subNames)
void DrawAllCandsAndSteps(int dim, const std::string &cName, const std::string &hName, std::vector< std::string > xLabel, std::vector< std::string > yLabel, double min, double max)
void SetOptCanvas(TCanvas *canvas)
void CreateH2(const std::string &name, const std::string &axisX, const std::string &axisY, const std::string &axisZ, double nBinsX, double minX, double maxX, double nBinsY, double minY, double maxY)
static const int fNofBgPairSrc
void FillH2(const std::string &name, ELmvmAnaStep step, double x, double y, double w=1.)
static const std::vector< std::string > fSrcNames
static const std::vector< std::string > fCandLatex
TH2D * H2Clone(const std::string &name, ELmvmAnaStep step)
TH1D * H1(const std::string &name, ELmvmAnaStep step)
std::string GetName(const std::string &name, ELmvmAnaStep step)
void FillH1(const std::string &name, ELmvmSrc src, ELmvmAnaStep step, double x, double wSignal)
void FillH2(const std::string &name, double x, double y, double w=1.)
TH1D * H1(const std::string &name, ELmvmSrc src)
TH2D * H2(const std::string &name, ELmvmAnaStep step)
TH1D * H1Clone(const std::string &name, ELmvmAnaStep step)
static const std::vector< std::string > fGTrackNames
TH1D * H1(const std::string &name, ELmvmSrc src, ELmvmAnaStep step)
static const std::vector< std::string > fSrcLatex
void Rebin(const std::string &name, const std::vector< std::string > &subNames1, const std::vector< std::string > &subNames2, int nGroup)
void Rebin(const std::string &name, int nGroup)
TH2D * CreateSignificanceH2(TH2D *signal, TH2D *bg, const std::string &name, const std::string &title)
static const std::vector< std::string > fGTrackLatex
static const std::vector< ELmvmAnaStep > fAnaSteps
static const int fNofCandNames
void FillH1(const std::string &name, ELmvmSrc src, double x, double wSignal)
std::string GetName(const std::string &name, ELmvmSrc src)
TH2D * H2(const std::string &name, ELmvmSrc src)
static const std::vector< std::string > fSignalNames
void CreateH1(const std::string &name, const std::vector< std::string > &subNames, const std::string &axisX, const std::string &axisY, double nBins, double min, double max)
void Rebin(const std::string &name, const std::vector< std::string > &subNames, int nGroup)
static const int fNofAnaSteps
T * CreateHByClone(const std::string &name, const std::string &newName)
TH1D * H1Clone(const std::string &name)
TNamed * GetObject(const std::string &name)
TH1D * H1(const std::string &name)
std::string GetName(const std::string &name, ELmvmSrc src, ELmvmAnaStep step)
void CreateH1(const std::string &name, const std::vector< std::string > &subNames1, const std::vector< std::string > &subNames2, const std::string &axisX, const std::string &axisY, double nBins, double min, double max)
static const std::vector< std::string > fBgPairSrcLatex
T * CreateHByClone(const std::string &name, const std::string &newName, ELmvmAnaStep step)
static const std::vector< std::string > fAnaStepNames
void SetLegend(std::vector< LmvmLegend >, double textsize, double x1, double y1, double x2, double y2)
void FillH2(const std::string &name, ELmvmSrc src, ELmvmAnaStep step, double x, double y, double wSignal)
void CreateH2(const std::string &name, const std::vector< std::string > &subNames, const std::string &axisX, const std::string &axisY, const std::string &axisZ, double nBinsX, double minX, double maxX, double nBinsY, double minY, double maxY)
static void DrawAnaStepOnPad(ELmvmAnaStep step)
TH1D * H1Clone(const std::string &name, ELmvmSrc src, ELmvmAnaStep step)