25 #include "TMethodCall.h" 178 void (*
fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
186 virtual TObject *
Clone(
const char *newname=
"")
const;
187 virtual Int_t
Command(
const char *command);
188 virtual TObject *
Contour(Int_t npoints=10, Int_t pa1=0, Int_t pa2=1);
189 virtual Int_t
DefineParameter( Int_t parNo,
const char *name, Double_t initVal, Double_t initErr, Double_t lowerLimit, Double_t upperLimit );
191 virtual Int_t
Eval(Int_t npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag);
199 virtual Int_t
GetParameter( Int_t parNo, Double_t ¤tValue, Double_t ¤tError )
const;
204 virtual void mnbins(Double_t a1, Double_t a2, Int_t naa, Double_t &bl, Double_t &bh, Int_t &nb, Double_t &bwid);
205 virtual void mncalf(Double_t *pvec, Double_t &ycalf);
207 virtual void mncntr(Int_t ke1, Int_t ke2, Int_t &ierrf);
208 virtual void mncomd(
const char *crdbin, Int_t &icondn);
209 virtual void mncont(Int_t ke1, Int_t ke2, Int_t nptu, Double_t *xptu, Double_t *yptu, Int_t &ierrf);
210 virtual void mncrck(TString crdbuf, Int_t maxcwd, TString &comand, Int_t &lnc
211 , Int_t mxp, Double_t *plist, Int_t &llist, Int_t &ierr, Int_t isyswr);
212 virtual void mncros(Double_t &aopt, Int_t &iercr);
215 virtual void mndxdi(Double_t pint, Int_t ipar, Double_t &dxdi);
216 virtual void mneig(Double_t *a, Int_t ndima, Int_t n, Int_t mits, Double_t *work, Double_t precis, Int_t &ifault);
217 virtual void mnemat(Double_t *emat, Int_t ndim);
218 virtual void mnerrs(Int_t number, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &gcc);
219 virtual void mneval(Double_t anext, Double_t &fnext, Int_t &ierev);
220 virtual void mnexcm(
const char *comand, Double_t *plist, Int_t llist, Int_t &ierflg) ;
221 virtual void mnexin(Double_t *pint);
222 virtual void mnfixp(Int_t iint, Int_t &ierr);
223 virtual void mnfree(Int_t k);
225 virtual void mnhelp(TString comd);
226 virtual void mnhelp(
const char *command=
"");
230 virtual void mninex(Double_t *pint);
231 virtual void mninit(Int_t i1, Int_t i2, Int_t i3);
233 virtual void mnline(Double_t *start, Double_t fstart, Double_t *step, Double_t slope, Double_t toler);
234 virtual void mnmatu(Int_t kode);
237 virtual void mnmnot(Int_t ilax, Int_t ilax2, Double_t &val2pl, Double_t &val2mi);
238 virtual void mnparm(Int_t k, TString cnamj, Double_t uk, Double_t wk, Double_t a, Double_t
b, Int_t &ierflg);
239 virtual void mnpars(TString &crdbuf, Int_t &icondn);
240 virtual void mnpfit(Double_t *parx2p, Double_t *pary2p, Int_t npar2p, Double_t *coef2p, Double_t &sdev2p);
241 virtual void mnpint(Double_t &pexti, Int_t i, Double_t &pinti);
242 virtual void mnplot(Double_t *xpt, Double_t *ypt,
char *chpt, Int_t nxypt, Int_t npagwd, Int_t npagln);
243 virtual void mnpout(Int_t iuext, TString &chnam, Double_t &val, Double_t &err, Double_t &xlolim, Double_t &xuplim, Int_t &iuint)
const;
244 virtual void mnprin(Int_t inkode, Double_t fval);
246 virtual void mnrazz(Double_t ynew, Double_t *pnew, Double_t *
y, Int_t &jh, Int_t &jl);
247 virtual void mnrn15(Double_t &val, Int_t &inseed);
248 virtual void mnrset(Int_t iopt);
252 virtual void mnset();
254 virtual void mnstat(Double_t &fmin, Double_t &fedm, Double_t &errdef, Int_t &npari, Int_t &nparx, Int_t &istat);
255 virtual void mntiny(
volatile Double_t epsp1, Double_t &epsbak);
256 Bool_t
mnunpt(TString &cfname);
257 virtual void mnvert(Double_t *a, Int_t l, Int_t m, Int_t n, Int_t &ifail);
258 virtual void mnwarn(
const char *copt,
const char *corg,
const char *cmes);
260 virtual Int_t
Release( Int_t parNo );
262 virtual void SetFCN(
void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
virtual void mnsimp()
Minimization using the simplex method of Nelder and Mead.
virtual void mnmnos()
Performs a MINOS error analysis.
TMinuit()
Minuit normal constructor.
virtual void mnstat(Double_t &fmin, Double_t &fedm, Double_t &errdef, Int_t &npari, Int_t &nparx, Int_t &istat)
Returns concerning the current status of the minimization.
virtual void mneval(Double_t anext, Double_t &fnext, Int_t &ierev)
Evaluates the function being analysed by MNCROS.
virtual void mnprin(Int_t inkode, Double_t fval)
Prints the values of the parameters at the time of the call.
virtual Int_t GetNumFixedPars() const
returns the number of currently fixed parameters
virtual Int_t SetPrintLevel(Int_t printLevel=0)
set Minuit print level.
virtual void mnexin(Double_t *pint)
Transforms the external parameter values U to internal values.
TMinuit & operator=(const TMinuit &m)
virtual void mnhes1()
Calculate first derivatives (GRD) and uncertainties (DGRD)
virtual void mnvert(Double_t *a, Int_t l, Int_t m, Int_t n, Int_t &ifail)
Inverts a symmetric matrix.
Implementation in C++ of the Minuit package written by Fred James.
virtual void mnemat(Double_t *emat, Int_t ndim)
Calculates the external error matrix from the internal matrix.
void(* fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
virtual void mnwarn(const char *copt, const char *corg, const char *cmes)
Prints Warning messages.
virtual void SetObjectFit(TObject *obj)
virtual void mnline(Double_t *start, Double_t fstart, Double_t *step, Double_t slope, Double_t toler)
Perform a line search from position START.
TObject * GetObjectFit() const
virtual void mnseek()
Performs a rough (but global) minimization by monte carlo search.
Int_t GetMaxIterations() const
virtual void mnderi()
Calculates the first derivatives of FCN (GRD)
virtual void mncros(Double_t &aopt, Int_t &iercr)
Find point where MNEVAL=AMIN+UP.
virtual void mngrad()
Interprets the SET GRAD command.
virtual void mnbins(Double_t a1, Double_t a2, Int_t naa, Double_t &bl, Double_t &bh, Int_t &nb, Double_t &bwid)
Compute reasonable histogram intervals.
virtual void mnrset(Int_t iopt)
Resets function value and errors to UNDEFINED.
virtual void mntiny(volatile Double_t epsp1, Double_t &epsbak)
To find the machine precision.
you should not use this method at all Int_t y
virtual Int_t GetParameter(Int_t parNo, Double_t ¤tValue, Double_t ¤tError) const
return parameter value and error
TString fOrigin[kMAXWARN]
virtual Int_t FixParameter(Int_t parNo)
fix a parameter
virtual Int_t Eval(Int_t npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag)
Evaluate the minimisation function Input parameters:
virtual void mneig(Double_t *a, Int_t ndima, Int_t n, Int_t mits, Double_t *work, Double_t precis, Int_t &ifault)
Compute matrix eigen values.
virtual void mnmigr()
Performs a local function minimization.
virtual void mnfree(Int_t k)
Restores one or more fixed parameter(s) to variable status.
R__EXTERN TMinuit * gMinuit
virtual void mncrck(TString crdbuf, Int_t maxcwd, TString &comand, Int_t &lnc, Int_t mxp, Double_t *plist, Int_t &llist, Int_t &ierr, Int_t isyswr)
Cracks the free-format input.
virtual void mnrn15(Double_t &val, Int_t &inseed)
This is a super-portable random number generator.
virtual TObject * Contour(Int_t npoints=10, Int_t pa1=0, Int_t pa2=1)
Creates a TGraph object describing the n-sigma contour of a TMinuit fit.
virtual Int_t GetNumFreePars() const
returns the number of currently free parameters
virtual ~TMinuit()
Minuit default destructor.
virtual void DeleteArrays()
Delete internal Minuit arrays.
virtual void mncuve()
Makes sure that the current point is a local minimum.
virtual void BuildArrays(Int_t maxpar=15)
Create internal Minuit arrays for the maxpar parameters.
virtual void mnmnot(Int_t ilax, Int_t ilax2, Double_t &val2pl, Double_t &val2mi)
Performs a MINOS error analysis on one parameter.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t Int_t m
virtual void mnpout(Int_t iuext, TString &chnam, Double_t &val, Double_t &err, Double_t &xlolim, Double_t &xuplim, Int_t &iuint) const
Provides the user with information concerning the current status.
virtual Int_t DefineParameter(Int_t parNo, const char *name, Double_t initVal, Double_t initErr, Double_t lowerLimit, Double_t upperLimit)
Define a parameter.
virtual void mncont(Int_t ke1, Int_t ke2, Int_t nptu, Double_t *xptu, Double_t *yptu, Int_t &ierrf)
Find points along a contour where FCN is minimum.
TString * fCpnam
Character to be plotted at the X,Y contour positions.
virtual void mncler()
Resets the parameter list to UNDEFINED.
virtual void mnparm(Int_t k, TString cnamj, Double_t uk, Double_t wk, Double_t a, Double_t b, Int_t &ierflg)
Implements one parameter definition.
virtual void mnfixp(Int_t iint, Int_t &ierr)
Removes parameter IINT from the internal parameter list.
virtual void mncalf(Double_t *pvec, Double_t &ycalf)
Transform FCN to find further minima.
virtual Int_t SetErrorDef(Double_t up)
To get the n-sigma contour the error def parameter "up" has to set to n^2.
TMethodCall * fMethodCall
virtual void mnerrs(Int_t number, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &gcc)
Utility routine to get MINOS errors.
virtual void mnhess()
Calculates the full second-derivative matrix of FCN.
virtual void mnpsdf()
Calculates the eigenvalues of v to see if positive-def.
virtual void SetGraphicsMode(Bool_t mode=kTRUE)
virtual void mndxdi(Double_t pint, Int_t ipar, Double_t &dxdi)
Calculates the transformation factor between ext/internal values.
virtual void mnamin()
Initialize AMIN.
virtual void mnscan()
Scans the values of FCN as a function of one parameter.
TString fWarmes[kMAXWARN]
virtual void mnhelp(TString comd)
HELP routine for MINUIT interactive commands.
virtual Int_t Release(Int_t parNo)
release a parameter
TMethodCall * GetMethodCall() const
virtual void mnpfit(Double_t *parx2p, Double_t *pary2p, Int_t npar2p, Double_t *coef2p, Double_t &sdev2p)
To fit a parabola to npar2p points.
virtual void mnlims()
Interprets the SET LIM command, to reset the parameter limits.
virtual void mnexcm(const char *comand, Double_t *plist, Int_t llist, Int_t &ierflg)
Interprets a command and takes appropriate action.
virtual void mncntr(Int_t ke1, Int_t ke2, Int_t &ierrf)
Print function contours in two variables, on line printer.
virtual void SetMaxIterations(Int_t maxiter=500)
virtual void mncomd(const char *crdbin, Int_t &icondn)
Reads a command string and executes.
virtual Int_t Command(const char *command)
Execute a Minuit command.
virtual void mninit(Int_t i1, Int_t i2, Int_t i3)
Main initialization member function for MINUIT.
virtual Int_t Migrad()
invokes the MIGRAD minimizer
virtual void mnpars(TString &crdbuf, Int_t &icondn)
Implements one parameter definition.
virtual void mnplot(Double_t *xpt, Double_t *ypt, char *chpt, Int_t nxypt, Int_t npagwd, Int_t npagln)
Plots points in array xypt onto one page with labelled axes.
virtual void mnpint(Double_t &pexti, Int_t i, Double_t &pinti)
Calculates the internal parameter value PINTI.
virtual void mnsave()
Writes current parameter values and step sizes onto file ISYSSA.
virtual void mninex(Double_t *pint)
Transforms from internal coordinates (PINT) to external (U)
virtual TObject * GetPlot() const
virtual void mnmatu(Int_t kode)
Prints the covariance matrix v when KODE=1.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
virtual void mnset()
Interprets the commands that start with SET and SHOW.
Bool_t mnunpt(TString &cfname)
Returns .TRUE.
virtual void mnrazz(Double_t ynew, Double_t *pnew, Double_t *y, Int_t &jh, Int_t &jl)
Called only by MNSIMP (and MNIMPR) to add a new point.
virtual void SetFCN(void(*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
To set the address of the minimization function.
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
virtual Int_t GetNumPars() const
returns the total number of parameters that have been defined as fixed or free.
virtual void mnimpr()
Attempts to improve on a good local minimum.
virtual void mnwerr()
Calculates the WERR, external parameter errors.