RooChi2Var for errors calculation


I have a RooDataHist object which is fitted with my PDF function. I am satisfied with the fit values, but I know that the errors are wrong. To calculate them “right” I want to use RooChi2Var object, but only for the errors calculation, not for a new fit. But unfortunately the RooChi2Var starts a new fit, which I don’t want (because chi2-fit does not converge in my case).

Any ideas how to do that?

Thanks in advance,

RooDataHist &data=....; RooAbsPdf &pdf=....; // the pdf after fit, values are good, errors are bad RooChi2Var chi2("chi2","chi2",pdf,data,DataError(RooAbsData::SumW2)); RooMinuit m(chi2); m.hesse(); // NEW FIT! I DON'T WANT IT! RooFitResult *res = m.minos(); // NEW FIT! I DON'T WANT IT! [/code]

Hi Alexander,

As far as I know you cannot run MINOS (or HESSE) in Minuit without a prior minimization. This seems to be hard-wired, and I don’t know how to work around that in RooFit.

On the broader topic of wrong errors. If this happens because you have weighted events, we have a procedure for likelihood fits now that make a corrected error calculation for weighted events similar to the ‘sum-of-weights’ approach in chi^2 fits. To use it you should add SumW2Error(kTRUE) to you fitTo() call. You’ll need ROOT 5.24 or higher for this.