61 v.assign(
a,
a + (
size_t)(
size + 1));
90 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup)
94 : fName(
name), fTitle(title), fNbinsX(nbinsx)
99 : fName(
name), fTitle(title), fNbinsX(nbinsx)
105 std::shared_ptr<::TH1D>
h;
111 h->SetDirectory(
nullptr);
119 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY())
126 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
131 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
137 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy)
143 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
150 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
159 std::shared_ptr<::TH2D>
h;
160 if (xEdgesEmpty && yEdgesEmpty)
162 else if (!xEdgesEmpty && yEdgesEmpty)
164 else if (xEdgesEmpty && !yEdgesEmpty)
169 h->SetDirectory(
nullptr);
177 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY()), fNbinsZ(
h.GetNbinsZ())
184 double yup,
int nbinsz,
double zlow,
double zup)
185 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
186 fNbinsZ(nbinsz), fZLow(zlow), fZUp(zup)
190 const double *ybins,
int nbinsz,
const double *zbins)
191 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
198 const float *ybins,
int nbinsz,
const float *zbins)
199 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
207 std::shared_ptr<::TH3D>
h;
209 h = std::make_shared<::TH3D>(
fName,
fTitle,
fNbinsX,
fXLow,
fXUp,
fNbinsY,
fYLow,
fYUp,
fNbinsZ,
fZLow,
fZUp);
214 h->SetDirectory(
nullptr);
222 : fName(
h.GetName()), fTitle(
h.GetTitle()), fDim(
h.GetNdimensions()), fNbins(fDim), fXmin(fDim), fXmax(fDim),
225 for (
int idim = 0; idim <
fDim; ++idim) {
226 fNbins[idim] =
h.GetAxis(idim)->GetNbins();
233 : fName(
name), fTitle(title), fDim(dim), fBinEdges(dim)
238 for (
int idim = 0; idim <
fDim; ++idim) {
239 fNbins.push_back(nbins[idim]);
246 const std::vector<double> &
xmin,
const std::vector<double> &
xmax)
247 : fName(
name), fTitle(title), fDim(dim), fNbins(nbins), fXmin(
xmin), fXmax(
xmax), fBinEdges(dim)
252 const std::vector<std::vector<double>> &xbins)
253 : fName(
name), fTitle(title), fDim(dim), fXmin(dim, 0.), fXmax(dim, 64.), fBinEdges(xbins)
256 for (
int idim = 0; idim <
fDim; ++idim) {
257 fNbins.push_back(nbins[idim]);
262 const std::vector<std::vector<double>> &xbins)
263 : fName(
name), fTitle(title), fDim(dim), fNbins(nbins), fXmin(dim, 0.), fXmax(dim, 64.), fBinEdges(xbins)
269 bool varbinning =
false;
276 std::shared_ptr<::THnD>
h;
289 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fXLow(
h.GetXaxis()->GetXmin()),
290 fXUp(
h.GetXaxis()->GetXmax()), fYLow(
h.GetYmin()), fYUp(
h.GetYmax()), fOption(
h.GetErrorOption())
296 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fOption(option)
301 double yup,
const char *option)
302 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fYLow(ylow), fYUp(yup), fOption(option)
308 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
314 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
319 double yup,
const char *option)
320 : fName(
name), fTitle(title), fNbinsX(nbinsx), fYLow(ylow), fYUp(yup), fOption(option)
326 std::shared_ptr<::TProfile> prof;
333 prof->SetDirectory(
nullptr);
341 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fXLow(
h.GetXaxis()->GetXmin()),
342 fXUp(
h.GetXaxis()->GetXmax()), fNbinsY(
h.GetNbinsY()), fYLow(
h.GetYaxis()->GetXmin()),
343 fYUp(
h.GetYaxis()->GetXmax()), fZLow(
h.GetZmin()), fZUp(
h.GetZmax()), fOption(
h.GetErrorOption())
349 double ylow,
double yup,
const char *option)
350 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
356 double ylow,
double yup,
double zlow,
double zup,
const char *option)
357 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup),
358 fZLow(zlow), fZUp(zup), fOption(option)
363 double ylow,
double yup,
const char *option)
364 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup), fOption(option)
370 const double *ybins,
const char *option)
371 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fOption(option)
377 const double *ybins,
const char *option)
378 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fOption(option)
393 std::shared_ptr<::TProfile2D> prof;
394 if (xEdgesEmpty && yEdgesEmpty) {
395 prof = std::make_shared<::TProfile2D>(
fName,
fTitle,
fNbinsX,
fXLow,
fXUp,
fNbinsY,
fYLow,
fYUp,
fZLow,
fZUp,
397 }
else if (!xEdgesEmpty && yEdgesEmpty) {
399 }
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)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
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::vector< double > fXmax
std::vector< std::vector< double > > fBinEdges
std::shared_ptr<::THnD > GetHistogram() const
std::vector< double > fXmin
std::vector< int > fNbins
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