Re: [ROOT] THStack at variable binning

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jul 29 2003 - 21:42:15 MEST


Andy,

THStach::GetHistogram returns a pointer to an intermediate fixed bin
size histogram used to set the range and for picking.
You cannot use this histogram to return the bin information.
You must get a pointer to one of the histograms in the stack,
the first one, for example.

Rene Brun


On 
Mon, 28 Jul 2003, Andy Hocker wrote:

> 
> Hi,
> 
> When I use THStack with histograms with variable bin sizes,
> I've noticed that the bin edges get messed up somehow.  The
> problem can bre reproduced with the folliwng script:
> 
> {
> gROOT->Reset();
> 
> Int_t nbins = 4;
> Float_t lowEdge[5] = {0,1,2,2.5,3};
> 
> TH1F *h1 = new TH1F("nh1","blah",nbins,lowEdge);
> 
> THStack *hs = new THStack("nhs","stack");
> hs->Add(h1);
> hs->Draw();
> 
> for (Int_t i = 1; i <= nbins; i++) {
>   cout << "Bin " << i 
>        << ": Original histogram's low edge = "
>        << h1->GetBinLowEdge(i) 
>        << "\t Stacked histo's low edge = "
>        << hs->GetHistogram()->GetBinLowEdge(i)
>        << endl; 
> }
> }
> 
> This produces the output:
> 
> Bin 1: Original histogram's low edge = 0	 Stacked histo's low edge = 0
> Bin 2: Original histogram's low edge = 1	 Stacked histo's low edge = 0.75
> Bin 3: Original histogram's low edge = 2	 Stacked histo's low edge = 1.5
> Bin 4: Original histogram's low edge = 2.5	 Stacked histo's low edge = 2.25
> 
> One can see the disagreement.  Is this a bug or am I just missing
> something subtle?
> 
> This is with ROOT version 3.05/04 on Red Hat 7.3.1.  I realize
> 3.05/04 is not the current pro release --- I had a look at the
> new release notes and didn't see any recent attempts to address
> this problem.
> 
> Thanks a lot,
> Andy
> 
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET