Parent Directory
|
Revision Log
import changes from math development branches for subdirectory math. List of changes in detail:
mathcore:
---------
MinimizerOptions:
new class for storing Minimizer option, with static default values that can be
changed by the user
FitConfig:
- use default values from MinimizerOption class
- rename method to create parameter settings from a function
FitUtil.cxx:
improve the derivative calculations used in the effective chi2 and in Fumili and
fix a bug for evaluation of likelihood or chi2 terms.
In EvaluatePdf() work and return the log of the pdf.
FitResult:
- improve the class by adding extra information like, num. of free parameters,
minimizer status, global correlation coefficients, information about fixed
and bound parameters.
- add method for getting fit confidence intervals
- improve print method
DataRange:
add method SetRange to distinguish from AddRange. SetRange deletes the existing
ranges.
ParamsSettings: make few methods const
FCN functions (Chi2FCN, LogLikelihoodFCN, etc..)
move some common methods and data members in base class (FitMethodFunction)
RootFinder: add template Solve() for any callable function.
mathmore:
--------
minimizer classes: fill status information
GSLNLSMinimizer: return error and covariance matrix
minuit2:
-------
Minuit2Minimizer: fill status information
DavidonErrorUpdator: check that delgam or gvg are not zero ( can happen when dg = 0)
FumiliFCNAdapter: work on the log of pdf
minuit:
-------
TLinearMinimizer: add support for robust fitting
TMinuitMinimizer: fill status information and fix a bug in filling the correlation matrix.
fumili:
------
add TFumiliMinimizer:
wrapper class for TFumili using Minimizer interface
// @(#)root/mathcore:$Id$
// Author: L. Moneta Mon Oct 23 15:26:20 2006
/**********************************************************************
* *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* *
* *
**********************************************************************/
// Header file for class MinimizerControlParams
#ifndef ROOT_Fit_MinimizerControlParams
#define ROOT_Fit_MinimizerControlParams
namespace ROOT {
namespace Fit {
/**
class holding the Minimizer Control Parameters
@ingroup FitMain
*/
class MinimizerControlParams {
public:
/**
Default constructor setting the default values
*/
MinimizerControlParams () :
fDebug(0),
fMaxCalls(0), // 0 means leave to the minimizer to decide
fMaxIter(0),
fTol(0.001),
fErrorDef(1.),
fStrategy(1)
{}
/**
Destructor (no operations)
*/
~MinimizerControlParams () {}
/** minimizer configuration parameters **/
/// set print level
int PrintLevel() const { return fDebug; }
/// max number of function calls
unsigned int MaxFunctionCalls() { return fMaxCalls; }
/// max iterations
unsigned int MaxIterations() { return fMaxIter; }
/// absolute tolerance
double Tolerance() const { return fTol; }
/// error definition
double ErrorDef() const { return fErrorDef; }
/// strategy
int Strategy() const { return fStrategy; }
/// set print level
void SetPrintLevel(int level) { fDebug = level; }
///set maximum of function calls
void SetMaxFunctionCalls(unsigned int maxfcn) { fMaxCalls = maxfcn; }
/// set maximum iterations (one iteration can have many function calls)
void SetMaxIterations(unsigned int maxiter) { fMaxIter = maxiter; }
/// set the tolerance
void SetTolerance(double tol) { fTol = tol; }
/// set the strategy
void SetStrategy(int stra) { fStrategy = stra; }
/// set error def
void SetErrorDef(double err) { fErrorDef = err; }
private:
int fDebug;
unsigned int fMaxCalls;
unsigned int fMaxIter;
double fTol;
double fErrorDef;
int fStrategy;
};
} // end namespace Fit
} // end namespace ROOT
#endif /* ROOT_Fit_MinimizerControlParams */
| Subversion Admin | ViewVC Help |
| Powered by ViewVC 1.0.9 |