Minuit errors too large

Hi rooters,

I am performing a chi2 fit of a function to a graph using Minuit and I have two questions:

The first issue is that Minuit is giving very large errors for the fitted parameters (of the order of the actual value of the parameter), which seems to happen even though the fit is very good and even when I reduce the noise. In order to fix this I have normalised the errors according to the function Fit::FitResult::NormalizeErrors() which “normalize(s) errors using chi2/ndf for chi2 fits” and this seems to solve the issue with having large errors.

So my first question is could someone please tell me what the errors are that minuit is printing and whether it is correct to normalize them with NormalizeErrors()?

My second question is much simpler I would like to obtaining confidence intervals (CI) on the parameters fitted, is there a user defined function to obtain CI on a parameter? It seems GetConfidenceInterval() is not what I am looking for…




If you don’t have a reliable estimate of the errors of each points you are fitting in the TGraph, then it is better to normalize the errors in order you get a chi2 value around one. However this assumes that your points fluctuations are the same and they are normal.
Using the option “E” in fitting you can compute a better estimate the errors when fitting. However, these errors will be un-normalized.


Thanks Lorenzo,

Could you tell me what exactly minuit does to calculate the errors? I have had a look at various sources but have failed to find any clear explanation.



See this document from the author of Minuit, F. James,

seal.web.cern.ch/seal/documents/ … nerror.pdf


Hi Lorenzo

thanks again,
If I understand correctly the errors returned by minuit will simply be (once I have normalised) the value of 1 standard deviation for a given parameter. Is there a way to return the errors for any standard deviation?