Definition at line 20 of file TH1Merger.h.
Public Types | |
enum | EMergerType { kNotCompatible = -1 , kAllSameAxes = 0 , kAllNoLimits = 1 , kHasNewLimits = 2 , kAllLabel = 3 , kAutoP2HaveLimits = 4 , kAutoP2NeedLimits = 5 } |
Public Member Functions | |
TH1Merger (TH1 &h, TCollection &l, Option_t *opt="") | |
~TH1Merger () | |
Bool_t | operator() () |
Function performing the actual merge. | |
Static Public Member Functions | |
static Bool_t | AxesHaveLimits (const TH1 *h) |
static Int_t | CheckForDuplicateLabels (const TH1 *hist) |
Check if histogram has duplicate labels Return an integer with bit set correponding on the axis that has duplicate labels e.g. | |
static Int_t | FindBinNumber (Int_t ibin, const TAxis &inAxis, TAxis &outAxis) |
static Int_t | FindFixBinNumber (Int_t ibin, const TAxis &inAxis, const TAxis &outAxis) |
static Bool_t | HasDuplicateLabels (const THashList *labels) |
Find a duplicate labels in an axis label list. | |
static Bool_t | IsBinEmpty (const TH1 *hist, Int_t bin) |
helper function for merging | |
Private Member Functions | |
Bool_t | AutoP2BufferMerge () |
Bool_t | AutoP2BuildAxes (TH1 *) |
Determine final boundaries and number of bins for histograms created in power-of-2 autobin mode. | |
Bool_t | AutoP2Merge () |
Bool_t | BufferMerge () |
void | CopyBuffer (TH1 *hsrc, TH1 *hdes) |
void | DefineNewAxes () |
Function to define new histogram axis when merging It is call only in case of merging with different axis or with the buffer (kHasNewLimits) | |
Bool_t | DifferentAxesMerge () |
Merged histogram when axis can be different. | |
EMergerType | ExamineHistograms () |
Examine the list of histograms to find out which type of Merge we need to do Pass the input list containing the histogram to merge and h0 which is the initial histogram on which all the histogram of the list will be merged This are the possible cases: | |
Bool_t | LabelMerge () |
Merge histograms with labels. | |
void | MergeBin (const TH1 *hist, Int_t inbin, Int_t outbin) |
void | MergeBin (const TProfile *hist, Int_t inbin, Int_t outbin) |
void | MergeBin (const TProfile2D *hist, Int_t inbin, Int_t outbin) |
void | MergeBin (const TProfile3D *hist, Int_t inbin, Int_t outbin) |
template<class TProfileType > | |
void | MergeProfileBin (const TProfileType *p, Int_t ibin, Int_t outbin) |
Bool_t | SameAxesMerge () |
Private Attributes | |
TH1 * | fH0 |
TH1 * | fHClone |
histogram on which the list is merged | |
TList | fInputList |
copy of fH0 - managed by this class | |
Bool_t | fIsProfile1D = kFALSE |
Bool_t | fIsProfile2D = kFALSE |
Bool_t | fIsProfile3D = kFALSE |
Bool_t | fIsProfileMerge = kFALSE |
UInt_t | fNewAxisFlag |
TAxis | fNewXAxis |
TAxis | fNewYAxis |
TAxis | fNewZAxis |
Bool_t | fNoCheck = kFALSE |
Bool_t | fNoLabelMerge = kFALSE |
Enumerator | |
---|---|
kNotCompatible | |
kAllSameAxes | |
kAllNoLimits | |
kHasNewLimits | |
kAllLabel | |
kAutoP2HaveLimits | |
kAutoP2NeedLimits |
Definition at line 23 of file TH1Merger.h.
|
inline |
Definition at line 63 of file TH1Merger.h.
|
inline |
Definition at line 90 of file TH1Merger.h.
|
private |
Definition at line 619 of file TH1Merger.cxx.
Determine final boundaries and number of bins for histograms created in power-of-2 autobin mode.
Return kTRUE if compatible, updating fNewXaxis accordingly; return kFALSE if something wrong.
The histograms are not merge-compatible if
1. have different variable-size bins 2. larger bin size is not an integer multiple of the smaller one 3. the final estimated range is smalle then the bin size
Definition at line 77 of file TH1Merger.cxx.
|
private |
Definition at line 662 of file TH1Merger.cxx.
Definition at line 19 of file TH1Merger.cxx.
|
private |
Definition at line 760 of file TH1Merger.cxx.
Check if histogram has duplicate labels Return an integer with bit set correponding on the axis that has duplicate labels e.g.
duplicate labels on x axis : return 1 duplicate labels on x and z axis : return 5
Definition at line 945 of file TH1Merger.cxx.
Definition at line 586 of file TH1Merger.cxx.
|
private |
Function to define new histogram axis when merging It is call only in case of merging with different axis or with the buffer (kHasNewLimits)
Definition at line 520 of file TH1Merger.cxx.
|
private |
Merged histogram when axis can be different.
Histograms are merged looking at bin center positions
Definition at line 832 of file TH1Merger.cxx.
|
private |
Examine the list of histograms to find out which type of Merge we need to do Pass the input list containing the histogram to merge and h0 which is the initial histogram on which all the histogram of the list will be merged This are the possible cases:
Definition at line 216 of file TH1Merger.cxx.
|
inlinestatic |
Definition at line 44 of file TH1Merger.h.
|
inlinestatic |
Definition at line 35 of file TH1Merger.h.
Find a duplicate labels in an axis label list.
Definition at line 918 of file TH1Merger.cxx.
helper function for merging
Definition at line 1128 of file TH1Merger.cxx.
|
private |
Merge histograms with labels.
Definition at line 975 of file TH1Merger.cxx.
Definition at line 1135 of file TH1Merger.cxx.
Definition at line 128 of file TH1Merger.h.
|
inlineprivate |
Definition at line 129 of file TH1Merger.h.
|
inlineprivate |
Definition at line 130 of file TH1Merger.h.
|
private |
Definition at line 1157 of file TH1Merger.cxx.
Bool_t TH1Merger::operator() | ( | ) |
Function performing the actual merge.
Definition at line 27 of file TH1Merger.cxx.
|
private |
Definition at line 786 of file TH1Merger.cxx.
|
private |
Definition at line 138 of file TH1Merger.h.
|
private |
histogram on which the list is merged
Definition at line 139 of file TH1Merger.h.
|
private |
copy of fH0 - managed by this class
Definition at line 140 of file TH1Merger.h.
Definition at line 135 of file TH1Merger.h.
Definition at line 136 of file TH1Merger.h.
Definition at line 137 of file TH1Merger.h.
Definition at line 134 of file TH1Merger.h.
|
private |
Definition at line 144 of file TH1Merger.h.
|
private |
Definition at line 141 of file TH1Merger.h.
|
private |
Definition at line 142 of file TH1Merger.h.
|
private |
Definition at line 143 of file TH1Merger.h.
Definition at line 133 of file TH1Merger.h.
Definition at line 132 of file TH1Merger.h.