Binomial errors problem in efficiency plot


I am trying to create an efficiency plot using ROOT 5.14 on an i686 linux box (FC7). I obtain errors greater than 1, which is conceptually wrong.

I have two histograms:

TH1F h_jetCPFnum = new TH1F("jetCPFnum","Title",nBins,MinBin,jMaxBin); TH1F h_jetCPFden = new TH1F("jetCPFden","Title",nBins,MinBin,jMaxBin);
which are then filled using

h_jetCPFden->Fill(jetEt); if (cut) h_jetCPFnum->Fill(jetEt);
I then call Sumw2() on both, and divide

h_jetCPFnum->Sumw2(); h_jetCPFden->Sumw2(); TH1F *eff = new TH1F(title,"title",nBins,MinBin,jMaxBin); eff->Divide(h_jetCPFnum,h_jetCPFden,1.,1.,"B");
and I obtain errors that exceed 1, though the bin-contents themselves do not.

How can I fix this?


see: … ayesDivide


Hi Rene,

Thanks for your quick answer. The errors improve, but are still greater than 1 (see the attached plot).

In that plot I am doing

TGraphAsymmErrors *eff[5]; TMultiGraph *mg = new TMultiGraph(); h_jetCPFden->Sumw2(); h_jetCPFnum[iEffPlot]->Sumw2(); eff[iEffPlot] = new TGraphAsymmErrors(0); eff[iEffPlot]->BayesDivide(h_jetCPFnum[iEffPlot],h_jetCPFden); mg->Add(eff[iEffPlot],"p"); mg->Draw("a");

Move to a more recent version, eg 5.17/06


Alright…I’ll post a follow-up when I do that.

thanks again!