Minos returns zero for all asymmetric parameter errors except the first parameter. This is while status is “SUCCESSFUL”. The weird thing is that if I switch any parameter with par0, I will get nonzero asymmetric errors for the new parameter 0, and zero for all other parameters including the one that before switching was par0 and had nonzero error. I am using
MNERRS (NUM, EPLUS*, EMINUS*, EPARAB, GLOBCC)
to access the errors. I was wondering why is that so and how I can get nonzero asymmetric error for all of the parameters. Any help is appreciated.
Mojtaba.
_ROOT Version: 6.18/04
_Platform: macOS Catalina 10.15.4 Compiler: Not Provided
Hi,
This is strange. Can you post the full Minos log file obtained in verbose mode, so I can understand…
In case it is still unclear I would need your program reproducing this
The problem gets solved when I use minuit->Command() instead of minuit->mnexcm() to call MINOS. The outputs for minuit->mnexcm() shows that only first parameter’s asymmetric error is calculated. It is while when I call minuit->Command(), Minos calculates all of the parameters’ asymmetric errors. Please find attached the outputs of both minuit->mnexcm() and Command->mnexcm().
Hi,
Note that mnexcm computes the Minos errors for only one parameter (the parameter number starts from 1 in the old Minuit), so depending what you pass in the command, what you have is expected.
Note also that there is a C++ interface for Minuit (both old Minuit, TMinuit, and the new implementation, Minuit2), which computes also the Minos errors. See the class ROOT::Math::Minimizer, https://root.cern.ch/doc/master/classROOT_1_1Math_1_1Minimizer.html