Re: [ROOT] subtacting histograms, errrors

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Jul 26 2002 - 23:22:16 MEST


Hi Dmitri,

See documentation of TH1::Add. It says:
//   if errors are defined (see TH1::Sumw2), errors are also recalculated
//   Note that if h1 or h2 have Sumw2 set, Sumw2 is automatically called
for this
//   if not already set.
//
// IMPORTANT NOTE: If you intend to use the errors of this histogram later
// you should call Sumw2 before making this operation.
// This is particularly important if you fit the histogram after TH1::Add

Rene Brun

On Thu, 25 Jul 2002, Dmitri Litvintsev wrote:

> 
> 
> Hi ROOTers,
> 
> I have attached GIF file of that depicts two histograms.
> 
> Top histogram is obtained by subtracting using TH1::Add():
> 
> 	h1->Add(h2,h3,1,-1);
> 
> A glance at error bars of this histogram tells that errors weren't
> calculated correctly. The closer the value to zero the smaller is the
> error bar (it looks like that error=sqrt(abs(value))...)
> 
> Bottom histogram contains right subtraction, done by handwritten
> function:
> 
> void subtract(TH1* h1, TH1*h2, TH1* h3, double a=1, double b=1) {
> 	for (int i=0;i<h1->GetNbinsX(); i++) {
> 		double value = a*h1->GetBinContent(i)+b*h2->GetBinContent(i);
> 		double error = sqrt((a*a*h1->GetBinError(i)*h1->GetBinError(i))+(b*b*h2->GetBinError(i)*h2->GetBinError(i)));
> 		h3->SetBinContent(i,value);
> 		h3->SetBinError(i,error);
> 	}
> }
> 
> Errors look right on the bottom one.
> 
> Q: Is this a known feature and I just overlooked the documentation and
>     there is a switch to calculate the errors right?
> 
> If it is a bug, then I am amazed that:
> 
> 	- it is overlooked
> 	- the same thing has been in early versions of PAW,
> 	  is it a legacy thing...
> 
> 
> thanks,
> Dmitri Litvintsev
> 
> /----------------------------------------------------------\
> | Tel:       (630) 840 5005                                |
> | FAX:       (630) 840 2968                                |
> | office:    149-L CDF Trailers                            |
> | E-mail:    litvinse@fnal.gov                             |
> \----------------------------------------------------------/
> 
> 
> 
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:01 MET