13 #ifndef ROOT_TMinuitMinimizer 14 #define ROOT_TMinuitMinimizer 91 virtual bool SetVariable(
unsigned int ivar,
const std::string & name,
double val,
double step);
94 virtual bool SetLimitedVariable(
unsigned int ivar ,
const std::string & name ,
double val ,
double step ,
double ,
double );
97 virtual bool SetLowerLimitedVariable(
unsigned int ivar ,
const std::string & name ,
double val ,
double step ,
double lower );
100 virtual bool SetUpperLimitedVariable(
unsigned int ivar ,
const std::string & name ,
double val ,
double step ,
double upper );
103 virtual bool SetFixedVariable(
unsigned int ,
const std::string & ,
double );
106 virtual bool SetVariableValue(
unsigned int ,
double );
109 virtual bool SetVariableStepSize(
unsigned int ,
double );
111 virtual bool SetVariableLowerLimit(
unsigned int ,
double );
113 virtual bool SetVariableUpperLimit(
unsigned int ,
double );
115 virtual bool SetVariableLimits(
unsigned int ivar,
double lower,
double upper);
117 virtual bool FixVariable(
unsigned int);
119 virtual bool ReleaseVariable(
unsigned int);
122 virtual bool IsFixedVariable(
unsigned int)
const;
128 virtual bool Minimize();
131 virtual double MinValue()
const;
134 virtual double Edm()
const;
137 virtual const double *
X()
const {
return &fParams.front(); }
143 virtual unsigned int NCalls()
const;
147 virtual unsigned int NDim()
const {
return fDim; }
151 virtual unsigned int NFree()
const;
157 virtual const double *
Errors()
const {
return &fErrors.front(); }
163 virtual double CovMatrix(
unsigned int i,
unsigned int j)
const {
164 return ( fCovar.size() > (i + fDim* j) ) ? fCovar[i + fDim* j] : 0;
175 virtual bool GetCovMatrix(
double * cov)
const;
184 virtual bool GetHessianMatrix(
double * h)
const;
187 virtual int CovMatrixStatus()
const;
190 virtual double GlobalCC(
unsigned int )
const;
193 virtual bool GetMinosError(
unsigned int i,
double & errLow,
double & errUp,
int = 0);
198 virtual bool Hesse();
204 virtual bool Scan(
unsigned int i,
unsigned int &nstep,
double *
x,
double *
y,
double xmin = 0,
double xmax = 0);
210 virtual bool Contour(
unsigned int i,
unsigned int j,
unsigned int & npoints,
double *xi,
double *xj);
213 virtual void PrintResults();
219 virtual std::string VariableName(
unsigned int ivar)
const;
223 virtual int VariableIndex(
const std::string & name)
const;
227 bool static UseStaticMinuit(
bool on =
true);
231 void SuppressMinuitWarnings(
bool nowarn=
true);
236 static void Fcn(
int &,
double * ,
double & f,
double * ,
int);
238 static void FcnGrad(
int &,
double * g,
double & f,
double * ,
int);
241 void InitTMinuit(
int ndim);
247 void DoReleaseFixParameter(
int ivar);
250 void RetrieveParams();
253 void RetrieveErrorMatrix();
256 bool CheckMinuitInstance()
const;
259 bool CheckVarIndex(
unsigned int ivar)
const;
Interface (abstract class) for multi-dimensional functions providing a gradient calculation.
virtual const double * Errors() const
return errors at the minimum
static TMinuit * fgMinuit
Implementation in C++ of the Minuit package written by Fred James.
Namespace for new ROOT classes and functions.
std::vector< double > fParams
Class, describing value, limits and step size of the parameters Provides functionality also to set/re...
virtual double CovMatrix(unsigned int i, unsigned int j) const
return covariance matrices elements if the variable is fixed the matrix is zero The ordering of the v...
you should not use this method at all Int_t y
Abstract Minimizer class, defining the interface for the various minimizer (like Minuit2, Minuit, GSL, etc..) Plug-in's exist in ROOT to be able to instantiate the derived classes like ROOT::Math::GSLMinimizer or ROOT::Math::Minuit2Minimizer via the plug-in manager.
virtual const double * X() const
return pointer to X values at the minimum
Documentation for the abstract class IBaseFunctionMultiDim.
static bool fgUseStaticMinuit
* x
Deprecated and error prone model selection interface.
ROOT::Minuit::EMinimizerType fType
virtual unsigned int NDim() const
this is <= Function().NDim() which is the total number of variables (free+ constrained ones) ...
TMinuitMinimizer class: ROOT::Math::Minimizer implementation based on TMinuit.
std::vector< double > fCovar
virtual const double * MinGradient() const
return pointer to gradient values at the minimum
virtual bool ProvidesError() const
minimizer provides error and error matrix
std::vector< double > fErrors