|
[Rivet] CMS analysis of dijet ratios at large rapditiesHendrik Hoeth Hendrik.Hoeth at cern.chFri Oct 5 19:53:45 BST 2012
Dear Vadim, thanks a lot for your prompt reply. May I ask you for some more clarification on a few details, please? Thus spake Vadim Oreshkin (Vadim.Oreshkin at cern.ch): >> - In the main error formula "sqrt( ((1.-2.*w)*e1*e1 + w*w*e2*e2 )/(b2*b2))" >> the errors appear in fourth power, while in the ROOT version they >> don't. > > [...] For the current version of ROOT it should be > http://root.cern.ch/root/html/src/TH1.cxx.html#2746. > > [... motivation for your error handling, never questioned that ...] > > For weighted versions of histograms we use a more complicated formula, > which we borrowed from ROOT: > http://root.cern.ch/phpBB3/viewtopic.php?f=3&t=3753 > > fSumw2.fArray[bin] = TMath::Abs( ( (1-2*w)*e1*e1 + w*w*e2*e2 )/(b2*b2) ); I think I need to clarify my question. In the ROOT implementation e1 and e2 are the errors on the bin content: Double_t e1 = h1->GetBinError(bin); Double_t e2 = h2->GetBinError(bin); In your implementation, e1 and e2 are the *squared* errors: double e1 = pow(h2.binError(i),2); double e2 = pow(h1.binError(i),2); I was wondering what the reasion for this additional square was. > - At the end you divide the error by a factor of 2. > > We divide by 2, because ROOT and Rivet use different conventions for > storing errors. Rivet setErrorPlus,setErrorMinus store the value > given by the argument as a pair assymmetric errors, while in ROOT we > store single value of an error. Nevertheless, the ROOT errors are plus/minus errors, too. In fact, GetBinErrorLow and GetBinErrorUp will return GetBinError for the kNormal and sumw2 cases. Your factor of 1/2 is not needed. Cheers, Hendrik -- If your dreams don't scare you, then you are not dreaming big enough.
More information about the Rivet mailing list |