Well, minimizers in ROOT return a “local minimum”. There is no guarantee that a “global minimum” will be found if the function has many “local minima”.
It is crucial then that the initial values of all fitted parameters are as close as possible to the desired minimum.
Note that “M12
” depends only on “k1*k2
” (whose initial value is around 18000
). You got k1=254
and k2=15
so “k1*k2=
3810” and this corresponds to my first test case, which found the same “k1*k2
” value (my second test case returned a significantly different “k1*k2=12800
”, which is much closer to the initial value, but “mtoph
” depends on “k1+k2
” only, which should then be used for comparisons).