Why is initial parameter value not considered by Minuit?

Dear all,

I am performing a Minuit2 fit with a 8 parameter function by using ROOT::Math::Minimizer.

I have used “SetLimitedVariable” to set name, initial value, step and range of each parameter.

However, if I set PrintLevel to the maximum value, I can see that, at the first iteration, all parameters have the initial value that I specified except one/two, which is/are always very near (but below) the upper range value that I specified.

In which cases this behavior can happen?

Thank you!

_ROOT Version: 6.26/10
_Platform: gcc 10.2.1-6
_Compiler: Debian GNU/Linux 11 (bullseye)

Are you sure your “initial values” are inside your “range limits” (if not, ROOT will “correct” the values)?

Thank you for the answer. Yes, I checked several times and with different values and they are in bounds.