56 v.assign(
a,
a + (
size_t)(size + 1));
68 const auto size = axis->
GetNbins() + 1;
85 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup)
89 : fName(
name), fTitle(title), fNbinsX(nbinsx)
94 : fName(
name), fTitle(title), fNbinsX(nbinsx)
100 std::shared_ptr<::TH1D>
h;
106 h->SetDirectory(
nullptr);
114 : fName(
h.
GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY())
121 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
126 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
132 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy)
138 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
145 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
154 std::shared_ptr<::TH2D>
h;
155 if (xEdgesEmpty && yEdgesEmpty)
157 else if (!xEdgesEmpty && yEdgesEmpty)
159 else if (xEdgesEmpty && !yEdgesEmpty)
164 h->SetDirectory(
nullptr);
172 : fName(
h.
GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY()), fNbinsZ(
h.GetNbinsZ())
179 double yup,
int nbinsz,
double zlow,
double zup)
180 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
181 fNbinsZ(nbinsz), fZLow(zlow), fZUp(zup)
185 const double *ybins,
int nbinsz,
const double *zbins)
186 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
193 const float *ybins,
int nbinsz,
const float *zbins)
194 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
202 std::shared_ptr<::TH3D>
h;
204 h = std::make_shared<::TH3D>(
fName,
fTitle,
fNbinsX,
fXLow,
fXUp,
fNbinsY,
fYLow,
fYUp,
fNbinsZ,
fZLow,
fZUp);
209 h->SetDirectory(
nullptr);
219 : fName(
h.
GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fXLow(
h.GetXaxis()->GetXmin()),
220 fXUp(
h.GetXaxis()->GetXmax()), fYLow(
h.GetYmin()), fYUp(
h.GetYmax()), fOption(
h.GetErrorOption())
226 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fOption(option)
231 double yup,
const char *option)
232 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fYLow(ylow), fYUp(yup), fOption(option)
238 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
244 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
249 double yup,
const char *option)
250 : fName(
name), fTitle(title), fNbinsX(nbinsx), fYLow(ylow), fYUp(yup), fOption(option)
256 std::shared_ptr<::TProfile> prof;
263 prof->SetDirectory(
nullptr);
271 : fName(
h.
GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fXLow(
h.GetXaxis()->GetXmin()),
272 fXUp(
h.GetXaxis()->GetXmax()), fNbinsY(
h.GetNbinsY()), fYLow(
h.GetYaxis()->GetXmin()),
273 fYUp(
h.GetYaxis()->GetXmax()), fZLow(
h.GetZmin()), fZUp(
h.GetZmax()), fOption(
h.GetErrorOption())
279 double ylow,
double yup,
const char *option)
280 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
286 double ylow,
double yup,
double zlow,
double zup,
const char *option)
287 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
288 fZLow(zlow), fZUp(zup), fOption(option)
293 double ylow,
double yup,
const char *option)
294 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup), fOption(option)
300 const double *ybins,
const char *option)
301 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fOption(option)
307 const double *ybins,
const char *option)
308 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fOption(option)
323 std::shared_ptr<::TProfile2D> prof;
324 if (xEdgesEmpty && yEdgesEmpty) {
325 prof = std::make_shared<::TProfile2D>(
fName,
fTitle,
fNbinsX,
fXLow,
fXUp,
fNbinsY,
fYLow,
fYUp,
fZLow,
fZUp,
327 }
else if (!xEdgesEmpty && yEdgesEmpty) {
329 }
else if (xEdgesEmpty && !yEdgesEmpty) {
void FillVector< double >(std::vector< double > &v, int size, double *a)
void FillVector(std::vector< double > &v, int size, T *a)
void SetAxisProperties(const TAxis *axis, double &low, double &up, std::vector< double > &edges)
A pseudo container class which is a generator of indices.
Class to manage histogram axis.
const TArrayD * GetXbins() const
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
std::string GetName(const std::string &scope_name)
std::shared_ptr<::TH1D > GetHistogram() const
std::vector< double > fBinXEdges
std::vector< double > fBinYEdges
std::vector< double > fBinXEdges
std::shared_ptr<::TH2D > GetHistogram() const
std::vector< double > fBinZEdges
std::vector< double > fBinYEdges
std::vector< double > fBinXEdges
std::shared_ptr<::TH3D > GetHistogram() const
std::shared_ptr<::TProfile > GetProfile() const
TProfile1DModel()=default
std::vector< double > fBinXEdges
std::vector< double > fBinXEdges
TProfile2DModel()=default
std::shared_ptr<::TProfile2D > GetProfile() const
std::vector< double > fBinYEdges