public class MnStrategyextends ObjectAPI class for defining three levels of strategies: low (0), medium (1), high (>=2).
At many places in the analysis of the FCN (the user provided function), MINUIT must decide whether to be safe and waste a few function calls in order to know where it is, or to be fast and attempt to get the requested results with the fewest possible calls at a certain risk of not obtaining the precision desired by the user. In order to allow the user to infuence these decisions, the MnStrategy class allows the user to control different settings. MnStrategy can be instantiated with three different minimization quality levels for low (0), medium (1) and high (2) quality. Default settings for iteration cycles and tolerances are initialized then.
The default setting is set for medium quality. Value 0 (low) indicates to MINUIT that it should economize function calls; it is intended for cases where there are many variable parameters and/or the function takes a long time to calculate and/or the user is not interested in very precise values for parameter errors. On the other hand, value 2 (high) indicates that MINUIT is allowed to waste function calls in order to be sure that all values are precise; it is it is intended for cases where the function is evaluated in a relatively short time and/or where the parameter errors must be calculated reliably.
In addition all constants set in MnStrategy can be changed individually by the user, e.g. the number of iteration cycles in the numerical gradient.
Acts on: Migrad (behavioural), Minos (lowers strategy by 1 for Minos-own minimization), Hesse (iterations), Numerical2PDerivative (iterations)