Hi Mikhail, Add the statement h1f->Sumw2() after the creation of the histogram. See the code below Rene Brun On Thu, 19 Oct 2000, Mikhail Jabitski (Zhabitsky) wrote: > > Hello ROOTers! > > I have a histogram which is the ratio of two correlated histograms. > I used TH1F::Divide(TH1 *h1, TH1 *h2, Double_t c1, Double_t c2, Option_t > *option); with option="B" to get the resulting distribution with binomial > errors. But it seems that calculated errors are not binomial. > Example below illustrates this problem. > Am I doing something wrong? > > Mikhail > > PS > I use > * Version 2.25/03 15 September 2000 * > CINT/ROOT C/C++ Interpreter version 5.14.50, Sep 2 2000 > > > { > gROOT->Reset(); > c1 = new TCanvas("c1","The FillRandom example",200,10,700,900); > > gaus1 = new TFormula("gaus1","gaus"); > gaus1->SetParameters(1000,10,1); > > h1f = new TH1F("h1f","Test random numbers",200,0,20); h1f->Sumw2(); //<============================ > h1f->FillRandom("gaus1",10000); > > TH1F *bindistr = new TH1F("binomial","Test binomial",200,0,20); > bindistr->Divide(h1f,h1f,1.0,2.0,"B"); > > /* > Int_t nbinsx = h1f->GetNbinsX(); > Double_t w, n2; > for (Int_t binx=0; binx<=nbinsx+1; binx++) > { > w = bindistr->GetBinContent(binx); > n2 = h1f->GetBinContent(binx); > if (n2) > bindistr->SetBinError(binx,sqrt(w*(1-w)/n2)); > else > bindistr ->SetBinError(binx,0.0); > }; > */ > > bindistr->Draw("E"); > c1->Update(); > } > >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET