Error on a integral

Dear all,
I am calculating the integral and the error associated of my histograms, by using this method

Double_t A = Impact_mu_A->IntegralAndError(0,100,error_A, "");
 std::cout << "Int_A = " << A<< " +- " <<error_A << std::endl;

It works well but I got such a big error, for instance this is what I print like:
Int_A = 2867.37 ± 1439.48
Could anyone tell me if this is nornal to have such a huge error please ?
I also attached the root file where you can find Impact_mu_Ahistos.root (14.6 KB)

1 Like

Well, you will need to check how you fill your histogram as Impact_mu_A->Print("all"); shows big bin errors:

TH1.Print Name  = Impact_mu_A, Entries= 4, Total sum= 2867.37
 fSumw[0]=0, x=-0.5, error=0 # the underflow bin
 fSumw[1]=645.963, x=0.5, error=645.963
 fSumw[2]=2221.41, x=1.5, error=1286.41
 fSumw[3]=0, x=2.5, error=0
 fSumw[100]=0, x=99.5, error=0
 fSumw[101]=0, x=100.5, error=0 # the overflow bin

BTW. You probably want (excluding underflow and overflow bins):

Double_t error_A;
Double_t A = Impact_mu_A->IntegralAndError(1, Impact_mu_A->GetNbinsX(), error_A, ""); // "" or "width"

or (including underflow and overflow bins):

Double_t error_A;
Double_t A = Impact_mu_A->IntegralAndError(0, (Impact_mu_A->GetNbinsX() + 1), error_A, ""); // "" or "width"

Thanks for replying!! actually I was filling my histograms with a weight (since it’s a MC bkg samples), but if I removed the weight and put 1 for instance I got something more reasonable like this for instance:

Int_A = 4 +- 2

for the integral of Impact_mu_A histogram, but it’s still a huge error I guess. It doesn’t change the result if I include or not underflow and overflow bins. I attached the root file again.
Diallohistos.root (12.3 KB)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.