9#ifndef HALHISTOGRAMMANAGER_H_
10#define HALHISTOGRAMMANAGER_H_
26 void SetConf(Int_t bins, Double_t min, Double_t max) {
48 HistogramAxisConf(TString title, Int_t bins = 100, Double_t min = 0, Double_t max = 100);
58 Double_t
GetMin()
const {
return fMin; };
63 Double_t
GetMax()
const {
return fMax; };
65 ClassDef(HistogramAxisConf, 1)
67 virtual
void Print(Option_t* option = "") const;
107 void Init(Int_t size,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
116 void Init(Int_t size, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
122 void OverwriteAt(T* t, Int_t pos);
128 inline T*
At(Int_t i)
const {
return fArray[i]; };
139 inline void Fill(Int_t i, Double_t val) { fArray[i]->Fill(val); };
146 inline void Fill(Int_t i, Double_t val, Double_t weight) { fArray[i]->Fill(val, weight); };
163 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
168 TList* GetFlatList()
const;
176 for (
int i = 0; i < fSize; i++)
180 ClassDef(HistogramManager_1_1D, 1)
215 void Init(Int_t size,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
228 Init(Int_t sizeX, Int_t binsX, Double_t minX, Double_t maxX, Int_t binsY, Double_t minY, Double_t maxY, Bool_t sumw = kFALSE);
234 inline T*
At(Int_t i)
const {
return fArray[i]; };
246 inline void Fill(Int_t i, Double_t X, Double_t Y) { fArray[i]->Fill(X, Y); };
254 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t weight) { fArray[i]->Fill(X, Y, weight); };
271 void OverwriteAt(T* t, Int_t pos);
277 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
282 TList* GetFlatList()
const;
289 for (
int i = 0; i < fSize; i++) {
295 ClassDef(HistogramManager_1_2D, 1)
331 void Init(Int_t size,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
346 void Init(Int_t sizeX,
356 Bool_t sumw = kFALSE);
373 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
378 TList* GetFlatList()
const;
389 inline T*
At(
const Int_t i)
const {
return fArray[i]; };
400 void OverwriteAt(T* t, Int_t pos);
408 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z) { fArray[i]->Fill(X, Y, Z); };
417 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z, Double_t weight) { fArray[i]->Fill(X, Y, Z, weight); };
419 for (
int i = 0; i < fSize; i++)
424 ClassDef(HistogramManager_1_3D, 1)
459 void Init(Int_t sizeX, Int_t sizeY,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
469 void Init(Int_t sizeX, Int_t sizeY, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
479 TList* GetFlatList()
const;
497 inline T*
At(Int_t i, Int_t j)
const {
return fArray[i].
fArray[j]; };
505 inline void Fill(Int_t i, Int_t j, Double_t X) { fArray[i].
fArray[j]->Fill(X); };
513 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t weight) { fArray[i].
fArray[j]->Fill(X, weight); };
515 ClassDef(HistogramManager_2_1D, 1)
542 void Init(Int_t sizeX, Int_t sizeY,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
555 void Init(Int_t sizeX,
563 Bool_t sumw = kFALSE);
573 TList* GetFlatList()
const;
591 inline T*
At(Int_t i, Int_t j)
const {
return fArray[i].
fArray[j]; };
599 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y) { fArray[i].
fArray[j]->Fill(X, Y); };
608 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t weight) { fArray[i].
fArray[j]->Fill(X, Y, weight); };
610 ClassDef(HistogramManager_2_2D, 1)
636 void Init(Int_t sizeX, Int_t sizeY,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
652 void Init(Int_t sizeX,
663 Bool_t sumw = kFALSE);
673 TList* GetFlatList()
const;
691 inline T*
At(
const Int_t i, Int_t j)
const {
return fArray[i].
fArray[j]; };
700 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z) { fArray[i].
fArray[j]->Fill(X, Y, Z); };
710 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
711 fArray[i].
fArray[j]->Fill(X, Y, Z, weight);
714 ClassDef(HistogramManager_2_3D, 1)
744 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
755 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
765 TList* GetFlatList()
const;
784 inline T*
At(Int_t i, Int_t j, Int_t k)
const {
return fArray[i].
fArray[j].fArray[k]; };
792 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X) { fArray[i].
fArray[j].fArray[k]->Fill(X); };
801 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t weight) { fArray[i].
fArray[j].fArray[k]->Fill(X, weight); };
803 ClassDef(HistogramManager_3_1D, 1)
830 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
844 void Init(Int_t sizeX,
853 Bool_t sumw = kFALSE);
863 TList* GetFlatList()
const;
882 inline T*
At(Int_t i, Int_t j, Int_t k)
const {
return fArray[i].
fArray[j].fArray[k]; };
891 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y) { fArray[i].
fArray[j].fArray[k]->Fill(X, Y); };
901 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t weight) {
902 fArray[i].
fArray[j].fArray[k]->Fill(X, Y, weight);
905 ClassDef(HistogramManager_3_2D, 1)
932 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
949 void Init(Int_t sizeX,
961 Bool_t sumw = kFALSE);
971 TList* GetFlatList()
const;
990 inline T*
At(Int_t i, Int_t j, Int_t k)
const {
return fArray[i].
fArray[j].fArray[k]; };
1000 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z) {
1001 fArray[i].
fArray[j].fArray[k]->Fill(X, Y, Z);
1013 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
1014 fArray[i].
fArray[j].fArray[k]->Fill(X, Y, Z, weight);
1017 ClassDef(HistogramManager_3_3D, 1)
1048 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1061 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeT, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
1071 TList* GetFlatList()
const;
1091 inline T*
At(Int_t i, Int_t j, Int_t k, Int_t l)
const {
return fArray[i].
fArray[j].fArray[k].fArray[l]; };
1100 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X) { fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X); };
1110 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t weight) {
1111 fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X, weight);
1114 ClassDef(HistogramManager_4_1D, 1)
1143 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1158 void Init(Int_t sizeX,
1168 Bool_t sumw = kFALSE);
1178 TList* GetFlatList()
const;
1198 inline T*
At(Int_t i, Int_t j, Int_t k, Int_t l)
const {
return fArray[i].
fArray[j].fArray[k].fArray[l]; };
1208 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y) {
1209 fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X, Y);
1222 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t weight) {
1223 fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X, Y, weight);
1226 ClassDef(HistogramManager_4_2D, 1)
1255 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD,
HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1273 void Init(Int_t sizeX,
1286 Bool_t sumw = kFALSE);
1296 TList* GetFlatList()
const;
1316 inline T*
At(Int_t i, Int_t j, Int_t k, Int_t l)
const {
return fArray[i].
fArray[j].fArray[k].fArray[l]; };
1328 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z) {
1329 fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X, Y, Z);
1342 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
1343 fArray[i].
fArray[j].fArray[k].fArray[l]->Fill(X, Y, Z, weight);
1346 ClassDef(HistogramManager_4_3D, 1)
void Fill(Int_t i, Double_t val)
void SetComment(TString comment, Int_t i)
void Fill(Int_t i, Double_t val, Double_t weight)
TString GetComment(Int_t i)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t weight)
TString GetComment(Int_t i)
void Fill(Int_t i, Double_t X, Double_t Y)
void SetComment(TString comment, Int_t i)
TString GetComment(Int_t i)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z, Double_t weight)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z)
T * At(const Int_t i) const
void SetComment(TString comment, Int_t i)
void Fill(Int_t i, Int_t j, Double_t X)
void Fill(Int_t i, Int_t j, Double_t X, Double_t weight)
T * At(Int_t i, Int_t j) const
HistogramManager_1_1D< T > * fArray
HistogramManager_1_1D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t weight)
HistogramManager_1_2D< T > * fArray
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y)
T * At(Int_t i, Int_t j) const
HistogramManager_1_2D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z)
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z, Double_t weight)
T * At(const Int_t i, Int_t j) const
HistogramManager_1_3D< T > * Get(Int_t i) const
HistogramManager_1_3D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Double_t X)
HistogramManager_2_1D< T > * Get(Int_t i) const
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t weight)
HistogramManager_2_1D< T > * fArray
HistogramManager_2_2D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y)
HistogramManager_2_2D< T > * Get(Int_t i) const
HistogramManager_2_3D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z)
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z, Double_t weight)
HistogramManager_2_3D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X)
HistogramManager_3_1D< T > * fArray
HistogramManager_3_1D< T > * Get(const Int_t i) const
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
HistogramManager_3_2D< T > * fArray
HistogramManager_3_2D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t weight)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
HistogramManager_3_3D< T > * fArray
HistogramManager_3_3D< T > * Get(Int_t i) const