Irreproducible fit failure with fitStatus=3

Hi,

I’m fitting a gaussian in a rather large framework. It’s a pretty simple fit: we don’t provide the initial-parameter values letting ROOT to set them automatically for this predefined gaus function, and we don’t even provide the min/max values along the X that would limit the fitting range. The problem is that sometimes the fit fails with fitStatus=3. That is, the fitStatus defined as

const int fitStatus = h->Fit(...);

equals 3. While working on an MWE, I fail to reproduce the fit failure, it always succeeds. I’m using almost the same code as in the large framework, the same input h histogram, the same fit options, and the same ROOT version. My question: what does fitStatus=3 mean? I know it may depend on the minimizer: since I’m using ROOT 6.32.08, I believe my minimizer is Minuit2.

Thanks!


ROOT Version: 6.32.08
Platform: lxplus9
Compiler: Not Provided


Might be: Edm is above max

The best would be to re-run it in your original framework, but with the verbosity option turned on (“V”) or with “Q” removed, then you would get more informative error messages.

Hello,

if somebody lands here via the search, the fit status is explained in the documentation of TH1::Fit.

Curiously, status 3 is not explained there, therefore @ferhue suggestion of rerunning with higher verbosity is probably the best course of action.