Migrad error statuses

Hello,

I’ve been using an nll in a pyroot script to fit to some data. I’m just using the standard:
minimizer = ROOT.RooMinimizer(nll)
status = minimizer.migrad()
fit_result = minimizer.save()

When doing so, sometimes, the status returns as -1, which I can’t find any documentation on at all. In general, I’m curious what the possible statuses could be from migrad and what they each mean, but I’m mostly interested in an explanation of what the -1 status means exactly.

Thanks!

Hello @abrac,
unfortunately, as you said, the meaning of status and its possible range of values is undocumented. I’m no expert in RooMinimizer but I can tell you at least that -1 represents an error in the minimization process (see [1] and [2]) . This error may have various causes, so you can interpret it as a “generic error”; if you’re lucky, it should be accompanied by an error message.
Perhaps @jonas can give you more details on this.

Hi! The value -1 is not part of the possible Minuit2Minimizer::Minimize() return values. It means that something else went wrong in RooFit, making it think that the fit is invalid. Maybe you can copy-paste the terminal output that you got? Then we can understand what the problem is, hopefully.