56 v.assign(
a,
a + (
size_t)(size + 1));
68 const auto size = axis->
GetNbins() + 1;
80TH1DModel::TH1DModel(const ::TH1D &
h) : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX())
84TH1DModel::TH1DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup)
85 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup)
88TH1DModel::TH1DModel(
const char *
name,
const char *title,
int nbinsx,
const float *xbins)
89 : fName(
name), fTitle(title), fNbinsX(nbinsx)
93TH1DModel::TH1DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins)
94 : fName(
name), fTitle(title), fNbinsX(nbinsx)
98std::shared_ptr<::TH1D> TH1DModel::GetHistogram()
const
100 std::shared_ptr<::TH1D>
h;
106 h->SetDirectory(
nullptr);
109TH1DModel::~TH1DModel()
113TH2DModel::TH2DModel(const ::TH2D &
h)
114 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY())
119TH2DModel::TH2DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
double ylow,
121 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
124TH2DModel::TH2DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
int nbinsy,
double ylow,
126 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup)
130TH2DModel::TH2DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
132 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy)
136TH2DModel::TH2DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
int nbinsy,
138 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
143TH2DModel::TH2DModel(
const char *
name,
const char *title,
int nbinsx,
const float *xbins,
int nbinsy,
145 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy)
150std::shared_ptr<::TH2D> TH2DModel::GetHistogram()
const
154 std::shared_ptr<::TH2D>
h;
155 if (xEdgesEmpty && yEdgesEmpty)
157 else if (!xEdgesEmpty && yEdgesEmpty)
159 else if (xEdgesEmpty && !yEdgesEmpty)
164 h->SetDirectory(
nullptr);
167TH2DModel::~TH2DModel()
171TH3DModel::TH3DModel(const ::TH3D &
h)
172 : fName(
h.GetName()), fTitle(
h.GetTitle()), fNbinsX(
h.GetNbinsX()), fNbinsY(
h.GetNbinsY()), fNbinsZ(
h.GetNbinsZ())
178TH3DModel::TH3DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
double ylow,
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)
184TH3DModel::TH3DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
int nbinsy,
185 const double *ybins,
int nbinsz,
const double *zbins)
186 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
192TH3DModel::TH3DModel(
const char *
name,
const char *title,
int nbinsx,
const float *xbins,
int nbinsy,
193 const float *ybins,
int nbinsz,
const float *zbins)
194 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fNbinsZ(nbinsz)
200std::shared_ptr<::TH3D> TH3DModel::GetHistogram()
const
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);
212TH3DModel::~TH3DModel()
218TProfile1DModel::TProfile1DModel(const ::TProfile &
h)
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())
224TProfile1DModel::TProfile1DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
226 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fOption(option)
230TProfile1DModel::TProfile1DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
double ylow,
231 double yup,
const char *option)
232 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fYLow(ylow), fYUp(yup), fOption(option)
236TProfile1DModel::TProfile1DModel(
const char *
name,
const char *title,
int nbinsx,
const float *xbins,
238 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
242TProfile1DModel::TProfile1DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
244 : fName(
name), fTitle(title), fNbinsX(nbinsx), fOption(option)
248TProfile1DModel::TProfile1DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
double ylow,
249 double yup,
const char *option)
250 : fName(
name), fTitle(title), fNbinsX(nbinsx), fYLow(ylow), fYUp(yup), fOption(option)
254std::shared_ptr<::TProfile> TProfile1DModel::GetProfile()
const
256 std::shared_ptr<::TProfile> prof;
263 prof->SetDirectory(
nullptr);
266TProfile1DModel::~TProfile1DModel()
270TProfile2DModel::TProfile2DModel(const ::TProfile2D &
h)
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())
278TProfile2DModel::TProfile2DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
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),
285TProfile2DModel::TProfile2DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
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)
292TProfile2DModel::TProfile2DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
int nbinsy,
293 double ylow,
double yup,
const char *option)
294 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fYLow(ylow), fYUp(yup), fOption(option)
299TProfile2DModel::TProfile2DModel(
const char *
name,
const char *title,
int nbinsx,
double xlow,
double xup,
int nbinsy,
300 const double *ybins,
const char *option)
301 : fName(
name), fTitle(title), fNbinsX(nbinsx), fXLow(xlow), fXUp(xup), fNbinsY(nbinsy), fOption(option)
306TProfile2DModel::TProfile2DModel(
const char *
name,
const char *title,
int nbinsx,
const double *xbins,
int nbinsy,
307 const double *ybins,
const char *option)
308 : fName(
name), fTitle(title), fNbinsX(nbinsx), fNbinsY(nbinsy), fOption(option)
314std::shared_ptr<::TProfile2D> TProfile2DModel::GetProfile()
const
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) {
341TProfile2DModel::~TProfile2DModel()
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
std::vector< double > fBinXEdges
std::vector< double > fBinYEdges
std::vector< double > fBinXEdges
std::vector< double > fBinZEdges
std::vector< double > fBinYEdges
std::vector< double > fBinXEdges
std::vector< double > fBinXEdges
std::vector< double > fBinXEdges
std::vector< double > fBinYEdges