Definition at line 17 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. More... | |
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. More... | |
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. More... | |
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. More... | |
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) More... | |
Bool_t | DifferentAxesMerge () |
Merged histogram when axis can be different. More... | |
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: More... | |
Bool_t | LabelMerge () |
Merge histograms with labels. More... | |
Bool_t | SameAxesMerge () |
Private Attributes | |
TH1 * | fH0 |
TH1 * | fHClone |
histogram on which the list is merged More... | |
TList | fInputList |
copy of fH0 - managed by this class More... | |
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 20 of file TH1Merger.h.
|
inline |
Definition at line 56 of file TH1Merger.h.
|
inline |
Definition at line 72 of file TH1Merger.h.
|
private |
Definition at line 577 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 620 of file TH1Merger.cxx.
Definition at line 19 of file TH1Merger.cxx.
|
private |
Definition at line 718 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 914 of file TH1Merger.cxx.
Definition at line 544 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 478 of file TH1Merger.cxx.
|
private |
Merged histogram when axis can be different.
Histograms are merged looking at bin center positions
Definition at line 797 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 41 of file TH1Merger.h.
|
inlinestatic |
Definition at line 32 of file TH1Merger.h.
Find a duplicate labels in an axis label list.
Definition at line 887 of file TH1Merger.cxx.
|
private |
Merge histograms with labels.
Definition at line 944 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 744 of file TH1Merger.cxx.
|
private |
Definition at line 107 of file TH1Merger.h.
|
private |
histogram on which the list is merged
Definition at line 108 of file TH1Merger.h.
|
private |
copy of fH0 - managed by this class
Definition at line 109 of file TH1Merger.h.
|
private |
Definition at line 113 of file TH1Merger.h.
|
private |
Definition at line 110 of file TH1Merger.h.
|
private |
Definition at line 111 of file TH1Merger.h.
|
private |
Definition at line 112 of file TH1Merger.h.
Definition at line 106 of file TH1Merger.h.
Definition at line 105 of file TH1Merger.h.