26 kAutoP2HaveLimits = 4,
30 static Bool_t AxesHaveLimits(
const TH1 * h);
32 static Int_t FindFixBinNumber(Int_t ibin,
const TAxis & inAxis,
const TAxis & outAxis) {
35 if (ibin == 0 )
return 0;
36 if (ibin == inAxis.GetNbins()+1 )
return outAxis.GetNbins()+1;
37 return outAxis.FindFixBin(inAxis.GetBinCenter(ibin));
41 static Int_t FindBinNumber(Int_t ibin,
const TAxis & inAxis, TAxis & outAxis) {
44 if (ibin == 0 )
return 0;
45 if (ibin == inAxis.GetNbins()+1 )
return outAxis.GetNbins()+1;
46 return outAxis.FindBin(inAxis.GetBinCenter(ibin));
50 static Bool_t HasDuplicateLabels(
const THashList * labels);
53 static Int_t CheckForDuplicateLabels(
const TH1 * hist);
56 TH1Merger(TH1 & h, TCollection & l, Option_t * opt =
"") :
61 fInputList.AddAll(&l);
63 if (!option.IsNull() ) {
65 if (option.Contains(
"NOL") )
67 if (option.Contains(
"NOCHECK") )
77 if (fHClone)
delete fHClone;
84 Bool_t AutoP2BuildAxes(TH1 *);
86 EMergerType ExamineHistograms();
90 void CopyBuffer(TH1 *hsrc, TH1 *hdes);
94 Bool_t AutoP2BufferMerge();
98 Bool_t SameAxesMerge();
100 Bool_t DifferentAxesMerge();
105 Bool_t fNoLabelMerge = kFALSE;
106 Bool_t fNoCheck = kFALSE;