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:
- How to fit using the FitPanel
- How to Fit Histograms or Data Points
- How to Find Peaks in Histograms
- Another very good way of learning how to fit is through the fitting tutorials
- For complex fitting and data modelling look at RooFit
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.