ROOT logo


Minuit2 Package

Minuit2 is a new object-oriented implementation, written in C++, of the popular MINUIT minimization package.

These new version provides basically all the functionality present in the old Fortran version, with almost equivalent numerical accuracy and computational performances. Furthermore, it contains new functionality, like the possibility to set single side parameter limits or the FUMILI algorithm, which is an optimized method for least square and log likelihood minimizations. The package has been originally developed by M. Winkler and F. James. More information on the new C++ version can be found on the MINUIT Web Site and in particular the online doc can be found here here.

Minuit2, originally developed in the SEAL project, is now distributed within ROOT. The API has been then changed in this new version to follow the ROOT coding convention (function names starting with capital letters) and the classes have been moved inside the namespace ROOT::Minuit2. In addition, the ROOT distribution contains classes like TFitterMinuit and TFitterFumili needed to integrate Minuit2 in the ROOT framework.

In the latest version (from 5.17.08) a new class has been introduced, ROOT::Minuit2::Minuit2Minimizer, which implements the interface ROOT::Math::Minimizer from MathCore. . It can be instantiates also using the ROOT plug-in manager. It is a convenient entry point for using Minuit2.


  1. F. James, Fortran MINUIT Reference Manual (html);
  2. F. James and M. Winkler, C++ MINUIT User's Guide (pdf);
  3. F. James, Minuit Tutorial on Function Minimization (pdf);
  4. F. James, The Interpretation of Errors in Minuit (pdf);

See also:

Further Reading


List of Classes

Class Index

Jump to

R ROOT::Minuit2::F ROOT::Minuit2::G ROOT::Minuit2::M ROOT::Minuit2::MnM ROOT::Minuit2::MnP ROOT::Minuit2::MnU ROOT::Minuit2::S T