getAsymErrorLo() or Hi() returns zero (sometimes)

Hello,

I have implemented a NLL function in my code that works as expected (I have done some validation and compared it to previous techniques and they match…mostly). If I take 10,000 data sets and form a NLL function for each, minimizing them, extracting the minimum and asymmetric errors in the process, about ~100-200 of the datasets return asymmetric errors that are equal to zero, for no good reason that I can tell. For example, if you turn your attention to the attached plot, you will see that the minimum is found at approximately -3.4 ms and the errors would be located at l(t_0) + 1 which are both defined and real as seen in the plot. However, as you can see from the output, there is the following error:

                         POSITIVE MINOS ERROR NOT CALCULATED FOR PARAMETER 1
 MINUIT WARNING IN MNCROS
 ============== Cannot find slope of the right sign
                         NEGATIVE MINOS ERROR NOT CALCULATED FOR PARAMETER 1
 FCN=-49470.5 FROM MINOS     STATUS=FAILURE        26 CALLS         109 TOTAL
                     EDM=2.22509e-07    STRATEGY= 1  ERROR MATRIX UNCERTAINTY 100.0 per cent
  EXT PARAMETER                  PARABOLIC         MINOS ERRORS
  NO.   NAME      VALUE            ERROR      NEGATIVE      POSITIVE
   1  t0          -3.41464e-03   7.20349e-06

I am having a difficult time understanding why this occurs a couple percent of the time. All the ‘failed’ examples I have looked at are very much defined at the points where the errors are located, but minos tells me they are zero. In the code I make sure to setAsymErrors to true before hand and run minos, but to no avail.

I have attached the three files that this code uses if that helps narrow down the issue at all. It is worth noting that to run this would require two input files that are fairly large, so if you do need them to help me debug this then I can try to reduce their size before I upload them.

Any help would be greatly appreciated.

Cheers,

Remington

RooSNLikelihood.hh (2.5 KB)
RooSNLikelihood.cc (8.5 KB)
playground.cc (4.5 KB)

Hi @RemiHill,

sorry for the late reply! It would we very helpful to have a smaller input file to reproduce the error, otherwise it’s not possible for me to debug this.

If the input file is too large for the forum or one needs the large file to encounter the errors, feel free to share it with me by other means (for example cernbox or afs if you have a CERN account). We could arrange the details by private message in the forum.

Cheers,
Jonas

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