Likelihood Minimization

Dear ROOT experts,

I’m trying to minimize the following -log-likelihood function where i have 6 parameters and 7 equations(N is the nbr of events), but the fit did not converge (it went to the same minimum every time). Here is the code that i’m using:

TMinuit.cc (21.4 KB)

Here is the data
https://cernbox.cern.ch/s/5TUeyDZSuWnPPmA

This looks fishy to me:

      if (likelihood_event > 0) {
         // Accumulate the NLL
         nll += -std::log(likelihood_event);
      }

Indeed, you have cases where the likelihood_event is negative. How can this happen? Are there maybe even discrete jumps in your cross-section functions? Do you understand these functions well? It’s surprising that the likelihood can be negative, so maybe there is an implementation error?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.