You are here

Fitting

Fitting is the proccess of finding a curve that has the best fit to a set of given data points. ROOT provides several ways of doing curve fitting to different objects:

List of Minimization Algorithms

The following is the list of avaiable libraries and algorithms for minimization. These algorithms can be selected through the static method in ROOT::Math::MinimizerOptions::SetDefaultMinimizer(), that receives two strings with the name of the library and the specific algorithm to be used in the next fitting. The strings needed to select a particular algorithm are specified after each name.

  • Minuit Library:
    • Migrad Algorithm ("Minuit", "Migrad"),
    • Simplex Algorithm ("Minuit", "Simplex")
    • Minimize Algorithm ("Minuit", "Minimize")
    • Scan Algorithm ("Minuit", "Scan")
    • Seek Algorithm ("Minuit", "Seek")
  • Fumili Library:
    • Fumili Algorithm
  • Minuit2 Library:
    • Migrad Algorithm ("Minuit2", "Migrad")
    • Simplex Algorithm ("Minuit2", "Simplex")
    • Minimize Algorithm ("Minuit2", "Minimize")
    • Scan Algorithm ("Minuit2", "Scan")
    • Fumili2 Algorithm ("Minuit2", "Fumili2")
  • GSL Library: (Only available if GSL and MathMore are avaiable too)
    • Fletcher-Reeves Conjugate Gradient Algorithm ("GSLMultiMin", "conjugatefr")
    • Polak-Ribiere Conjugate Gradient Algorithm ("GSLMultiMin", "conjugatepr")
    • BFGS Conjugate Gradient Algorithm ("GSLMultiMin", "bfgs2")
    • Levenberg-Marquardt Algorithm ("GSLMultiFit", "")
    • Simulated Annealing Algorithm ("GSLSimAn", "")

For a particular example of use with the plug-in manager, see Creating a Minimizer via the Plug-In Manager.