ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
TMinuit Class Reference

Implementation in C++ of the Minuit package written by F.

James. Thjis is a straightforward conversion of the original Fortran version. The main changes are:

Basic concepts of MINUIT

The MINUIT package acts on a multiparameter Fortran function to which one must give the generic name FCN. In the ROOT implementation, the function FCN is defined via the MINUIT SetFCN member function when an Histogram.Fit command is invoked. The value of FCN will in general depend on one or more variable parameters.

To take a simple example, in case of ROOT histograms (classes TH1C,TH1S,TH1F,TH1D) the Fit function defines the Minuit fitting function as being H1FitChisquare or H1FitLikelihood depending on the options selected. H1FitChisquare calculates the chisquare between the user fitting function (gaussian, polynomial, user defined,etc) and the data for given values of the parameters. It is the task of MINUIT to find those values of the parameters which give the lowest value of chisquare.

Basic concepts - The transformation for parameters with limits.

For variable parameters with limits, MINUIT uses the following transformation:

  P   = arcsin(2((P   -a)/(b- a))-1)                P    = a+((b- a)/(2))(sinP    +1)
   int             ext                               ext                      int

so that the internal value P can take on any value, while the external int value P can take on values only between the lower limit a and the ext upper limit b. Since the transformation is necessarily non-linear, it would transform a nice linear problem into a nasty non-linear one, which is the reason why limits should be avoided if not necessary. In addition, the transformation does require some computer time, so it slows down the computation a little bit, and more importantly, it introduces additional numerical inaccuracy into the problem in addition to what is introduced in the numerical calculation of the FCN value. The effects of non-linearity and numerical roundoff both become more important as the external value gets closer to one of the limits (expressed as the distance to nearest limit divided by distance between limits). The user must therefore be aware of the fact that, for example, if they put limits of (0,10^10 ) on a parameter, then the values 0.0 and 1. 0 will be indistinguishable to the accuracy of most machines.

The transformation also affects the parameter error matrix, of course, so MINUIT does a transformation of the error matrix (and the ``parabolic'' parameter errors) when there are parameter limits. Users should however realize that the transformation is only a linear approximation, and that it cannot give a meaningful result if one or more parameters is very close to a limit, where partial Pext /partial Pint #0. Therefore, it is recommended that:

  1. Limits on variable parameters should be used only when needed in order to prevent the parameter from taking on unphysical values.
  2. When a satisfactory minimum has been found using limits, the limits should then be removed if possible, in order to perform or re-perform the error analysis without limits.

How to get the right answer from MINUIT.

MINUIT offers the user a choice of several minimization algorithms. The MIGRAD algorithm is in general the best minimizer for nearly all functions. It is a variable-metric method with inexact line search, a stable metric updating scheme, and checks for positive-definiteness. Its main weakness is that it depends heavily on knowledge of the first derivatives, and fails miserably if they are very inaccurate.

If parameter limits are needed, in spite of the side effects, then the user should be aware of the following techniques to alleviate problems caused by limits:

Getting the right minimum with limits.

If MIGRAD converges normally to a point where no parameter is near one of its limits, then the existence of limits has probably not prevented MINUIT from finding the right minimum. On the other hand, if one or more parameters is near its limit at the minimum, this may be because the true minimum is indeed at a limit, or it may be because the minimizer has become ``blocked'' at a limit. This may normally happen only if the parameter is so close to a limit (internal value at an odd multiple of #((pi)/(2)) that MINUIT prints a warning to this effect when it prints the parameter values.

The minimizer can become blocked at a limit, because at a limit the derivative seen by the minimizer partial F/partial Pint is zero no matter what the real derivative partial F/partial Pext is.

((partial F)/(partial P   ))= ((partial F)/(partial P   ))((partial P    )/(partial P   )) =((partial F)/(partial P    ))= 0
                       int                           ext             ext             int                           ext

Getting the right parameter errors with limits.

In the best case, where the minimum is far from any limits, MINUIT will correctly transform the error matrix, and the parameter errors it reports should be accurate and very close to those you would have got without limits. In other cases (which should be more common, since otherwise you wouldn't need limits), the very meaning of parameter errors becomes problematic. Mathematically, since the limit is an absolute constraint on the parameter, a parameter at its limit has no error, at least in one direction. The error matrix, which can assign only symmetric errors, then becomes essentially meaningless.

Interpretation of Parameter Errors:

There are two kinds of problems that can arise: the reliability of MINUIT's error estimates, and their statistical interpretation, assuming they are accurate.

Statistical interpretation:

For discussuion of basic concepts, such as the meaning of the elements of the error matrix, or setting of exact confidence levels see:

  1. F.James. Determining the statistical Significance of experimental Results. Technical Report DD/81/02 and CERN Report 81-03, CERN, 1981.

  2. W.T.Eadie, D.Drijard, F.James, M.Roos, and B.Sadoulet. Statistical Methods in Experimental Physics. North-Holland, 1971.

Reliability of MINUIT error estimates.

MINUIT always carries around its own current estimates of the parameter errors, which it will print out on request, no matter how accurate they are at any given point in the execution. For example, at initialization, these estimates are just the starting step sizes as specified by the user. After a HESSE step, the errors are usually quite accurate, unless there has been a problem. MINUIT, when it prints out error values, also gives some indication of how reliable it thinks they are. For example, those marked CURRENT GUESS ERROR are only working values not to be believed, and APPROXIMATE ERROR means that they have been calculated but there is reason to believe that they may not be accurate.

If no mitigating adjective is given, then at least MINUIT believes the errors are accurate, although there is always a small chance that MINUIT has been fooled. Some visible signs that MINUIT may have been fooled are:

  1. Warning messages produced during the minimization or error analysis.
  2. Failure to find new minimum.
  3. Value of EDM too big (estimated Distance to Minimum).
  4. Correlation coefficients exactly equal to zero, unless some parameters are known to be uncorrelated with the others.
  5. Correlation coefficients very close to one (greater than 0.99). This indicates both an exceptionally difficult problem, and one which has been badly parameterized so that individual errors are not very meaningful because they are so highly correlated.
  6. Parameter at limit. This condition, signalled by a MINUIT warning message, may make both the function minimum and parameter errors unreliable. See the discussion above ``Getting the right parameter errors with limits''.

The best way to be absolutely sure of the errors, is to use ``independent'' calculations and compare them, or compare the calculated errors with a picture of the function. Theoretically, the covariance matrix for a ``physical'' function must be positive-definite at the minimum, although it may not be so for all points far away from the minimum, even for a well-determined physical problem. Therefore, if MIGRAD reports that it has found a non-positive-definite covariance matrix, this may be a sign of one or more of the following:

A non-physical region:

On its way to the minimum, MIGRAD may have traversed a region which has unphysical behaviour, which is of course not a serious problem as long as it recovers and leaves such a region.

An underdetermined problem:

If the matrix is not positive-definite even at the minimum, this may mean that the solution is not well-defined, for example that there are more unknowns than there are data points, or that the parameterization of the fit contains a linear dependence. If this is the case, then MINUIT (or any other program) cannot solve your problem uniquely, and the error matrix will necessarily be largely meaningless, so the user must remove the underdeterminedness by reformulating the parameterization. MINUIT cannot do this itself.

Numerical inaccuracies:

It is possible that the apparent lack of positive-definiteness is in fact only due to excessive roundoff errors in numerical calculations in the user function or not enough precision. This is unlikely in general, but becomes more likely if the number of free parameters is very large, or if

the parameters are badly scaled (not all of the same order of magnitude), and correlations are also large. In any case, whether the non-positive-definiteness is real or only numerical is largely irrelevant, since in both cases the error matrix will be unreliable and the minimum suspicious.

An ill-posed problem:

For questions of parameter dependence, see the discussion above on positive-definiteness.

Possible other mathematical problems are the following:

Excessive numerical roundoff:

Be especially careful of exponential and factorial functions which get big very quickly and lose accuracy.

Starting too far from the solution:

The function may have unphysical local minima, especially at infinity in some variables.

Minuit parameter errors in the presence of limits

This concerns the way Minuit reports the symmetric (or parabolic) errors on parameters. It does not apply to the errors reported from Minos, which are in general asymmetric.

The symmetric errors reported by Minuit are always calculated from the covariance matrix, assuming that this matrix has been calculated, usually as the result of a Migrad minimization or a direct calculation by Hesse which inverts the second derivative matrix.

When there are no limits on the parameter in question, the error reported by Minuit should therefore be exactly equal to the square root of the corresponding diagonal element of the error matrix reported by Minuit.

However, when there are limits on the parameter, there is a transformation between the internal parameter values seen by Minuit (which are unbounded) and the external parameter values seen by the user in FCN (which remain inside the desired limits). Therefore the internal error matrix kept by Minuit must be transformed to an external error matrix for the user. This is done by multiplying the (I,J)th element by DEXDIN(I)*DEXDIN(J), where DEXDIN is the derivative of the external value with respect to the internal value at the minimum. This is a linearization of the transformation, and is the only way to produce an error matrix in external coordinates meaningful to the user. But when reporting the individual parabolic errors for limited parameters, Minuit can do a little better, so it does. In this case, Minuit actually transforms the ends of the internal "error bar" to external coordinates and reports the length of this transformed interval. Strictly speaking, it is now asymmetric, but since the origin of the asymmetry is only an artificial transformation it does not make much sense, so the transformed errors are symmetrized.

The result of all the above is that for parameters with limits, the error reported by Minuit is not exactly equal to the square root of the diagonal element of the error matrix. The difference is a measure of how much the limits deform the problem. If possible, it is suggested not to use limits on parameters, and the problem goes away. If for some reason limits are necessary, and you are sensitive to the difference between the two ways of calculating the errors, it is suggested to use Minos errors which take into account the non-linearities much more precisely.

Definition at line 34 of file TMinuit.h.

Public Types

enum  { kMAXWARN =100 }
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TMinuit ()
 
 TMinuit (Int_t maxpar)
 *-*-*-*-*-*-*-*-*-*-*Minuit normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ======================== More...
 
virtual ~TMinuit ()
 *-*-*-*-*-*-*-*-*-*-*Minuit default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ========================= More...
 
virtual void BuildArrays (Int_t maxpar=15)
 *-*-*-*-*-*-*Create internal Minuit arrays for the maxpar parameters*-*-*-* *-* ======================================================= More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Command (const char *command)
 execute a Minuit command Equivalent to MNEXCM except that the command is given as a character string. More...
 
virtual TObjectContour (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. More...
 
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. More...
 
virtual void DeleteArrays ()
 *-*-*-*-*-*-*-*-*-*-*-*Delete internal Minuit arrays*-*-*-*-*-*-*-*-* *-* ============================= More...
 
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: npar: number of currently variable parameters par: array of (constant and variable) parameters flag: Indicates what is to be calculated (see example below) grad: array of gradients Output parameters: fval: The calculated function value. More...
 
virtual Int_t FixParameter (Int_t parNo)
 fix a parameter More...
 
TMethodCallGetMethodCall () const
 
TObjectGetObjectFit () const
 
Int_t GetMaxIterations () const
 
virtual Int_t GetNumFixedPars () const
 returns the number of currently fixed parameters More...
 
virtual Int_t GetNumFreePars () const
 returns the number of currently free parameters More...
 
virtual Int_t GetNumPars () const
 returns the total number of parameters that have been defined as fixed or free. More...
 
virtual Int_t GetParameter (Int_t parNo, Double_t &currentValue, Double_t &currentError) const
 return parameter value and error More...
 
virtual TObjectGetPlot () const
 
Int_t GetStatus () const
 
virtual Int_t Migrad ()
 invokes the MIGRAD minimizer More...
 
virtual void mnamin ()
 *-*-*-*-*-*-*-*-*-*-*-*-*Initialize AMIN*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =============== *-*C Called from many places. More...
 
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*-*-*-*-*-*-*-*-* *-* ====================================== *-* Function TO DETERMINE REASONABLE HISTOGRAM INTERVALS *-* GIVEN ABSOLUTE UPPER AND LOWER BOUNDS A1 AND A2 *-* AND DESIRED MAXIMUM NUMBER OF BINS NAA *-* PROGRAM MAKES REASONABLE BINNING FROM BL TO BH OF WIDTH BWID *-* F. More...
 
virtual void mncalf (Double_t *pvec, Double_t &ycalf)
 *-*-*-*-*-*-*-*-*-*Transform FCN to find further minima*-*-*-*-*-*-*-*-*-* *-* ==================================== *-* Called only from MNIMPR. More...
 
virtual void mncler ()
 *-*-*-*-*-*-*-*-*-*-*Resets the parameter list to UNDEFINED*-*-*-*-*-*-*-* *-* ====================================== *-* Called from MINUIT and by option from MNEXCM *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mncntr (Int_t ke1, Int_t ke2, Int_t &ierrf)
 *-*-*-*-*Print function contours in two variables, on line printer*-*-*-*-* *-* ========================================================= *-* *-* input arguments: parx, pary, devs, ngrid *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mncomd (const char *crdbin, Int_t &icondn)
 *-*-*-*-*-*-*-*-*-*-*Reads a command string and executes*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called by user. More...
 
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*-*-*-*-*-*-* *-* ================================================ *-* Find NPTU points along a contour where the function *-* FMIN (X(KE1),X(KE2)) = AMIN+UP *-* where FMIN is the minimum of FCN with respect to all *-* the other NPAR-2 variable parameters (if any). More...
 
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*-*-*-*-*-*-*-*-*-*-*-*-* *-* ============================ *-* Cracks the free-format input, expecting zero or more *-* alphanumeric fields (which it joins into COMAND(1:LNC)) *-* followed by one or more numeric fields separated by *-* blanks and/or one comma. More...
 
virtual void mncros (Double_t &aopt, Int_t &iercr)
 *-*-*-*-*-*-*-*-*-*-*Find point where MNEVAL=AMIN+UP*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Find point where MNEVAL=AMIN+UP, along the line through *-* XMIDCR,YMIDCR with direction XDIRCR,YDIRCR, where X and Y *-* are parameters KE1CR and KE2CR. More...
 
virtual void mncuve ()
 *-*-*-*-*-*-*-*Makes sure that the current point is a local minimum*-*-*-*-* *-* ==================================================== *-* Makes sure that the current point is a local *-* minimum and that the error matrix exists, *-* or at least something good enough for MINOS and MNCONT *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnderi ()
 *-*-*-*-*-*-*-*Calculates the first derivatives of FCN (GRD)*-*-*-*-*-*-*-* *-* ============================================= *-* Calculates the first derivatives of FCN (GRD), *-* either by finite differences or by transforming the user- *-* supplied derivatives to internal coordinates, *-* according to whether fISW[2] is zero or one. More...
 
virtual void mndxdi (Double_t pint, Int_t ipar, Double_t &dxdi)
 *-*-*-*Calculates the transformation factor between ext/internal values*-* *-* ===================================================================== *-* calculates the transformation factor between external and *-* internal parameter values. More...
 
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*-*-*-*-*-*-*-*-*-*-*-*-* *-* =========================== More...
 
virtual void mnemat (Double_t *emat, Int_t ndim)
 Calculates the external error matrix from the internal matrix. More...
 
virtual void mnerrs (Int_t number, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &gcc)
 *-*-*-*-*-*-*-*-*-*Utility routine to get MINOS errors*-*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called by user. More...
 
virtual void mneval (Double_t anext, Double_t &fnext, Int_t &ierev)
 *-*-*-*-*-*-*Evaluates the function being analyzed by MNCROS*-*-*-*-*-*-*-* *-* =============================================== *-* Evaluates the function being analyzed by MNCROS, which is *-* generally the minimum of FCN with respect to all remaining *-* variable parameters. More...
 
virtual void mnexcm (const char *comand, Double_t *plist, Int_t llist, Int_t &ierflg)
 *-*-*-*-*-*Interprets a command and takes appropriate action*-*-*-*-*-*-*-* *-* ================================================= *-* either directly by skipping to the corresponding code in *-* MNEXCM, or by setting up a call to a function *-* *-* recognized MINUIT commands: *-* obsolete commands: *-* IERFLG is now (94.5) defined the same as ICONDN in MNCOMD *-* = 0: command executed normally *-* 1: command is blank, ignored *-* 2: command line unreadable, ignored *-* 3: unknown command, ignored *-* 4: abnormal termination (e.g., MIGRAD not converged) *-* 9: reserved *-* 10: END command *-* 11: EXIT or STOP command *-* 12: RETURN command *-* *-* see also http://wwwasdoc.web.cern.ch/wwwasdoc/minuit/node18.html for the possible list *-* of all Minuit commands *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnexin (Double_t *pint)
 *-*-*-*-*Transforms the external parameter values U to internal values*-*-* *-* ============================================================= *-* Transforms the external parameter values U to internal *-* values in the dense array PINT. More...
 
virtual void mnfixp (Int_t iint, Int_t &ierr)
 *-*-*-*-*-*-*Removes parameter IINT from the internal parameter list*-*-* *-* ======================================================= *-* and arranges the rest of the list to fill the hole. More...
 
virtual void mnfree (Int_t k)
 *-*-*-*Restores one or more fixed parameter(s) to variable status*-*-*-*-*-* *-* ========================================================== *-* Restores one or more fixed parameter(s) to variable status *-* by inserting it into the internal parameter list at the *-* appropriate place. More...
 
virtual void mngrad ()
 *-*-*-*-*-*-*-*-*-*Interprets the SET GRAD command*-*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Called from MNSET *-* Interprets the SET GRAD command, which informs MINUIT whether *-* the first derivatives of FCN will be calculated by the user *-* inside FCN. More...
 
virtual void mnhelp (TString comd)
 *-*-*-*-*-*-*-*HELP routine for MINUIT interactive commands*-*-*-*-*-*-*-*-* *-* ============================================ *-* *-* COMD ='*' or "" prints a global help for all commands *-* COMD =Command_name: print detailed help for one command. More...
 
virtual void mnhelp (const char *command="")
 interface to Minuit help More...
 
virtual void mnhess ()
 *-*-*-*-*-*Calculates the full second-derivative matrix of FCN*-*-*-*-*-*-*-* *-* =================================================== *-* by taking finite differences. More...
 
virtual void mnhes1 ()
 *-*-*-*Calculate first derivatives (GRD) and uncertainties (DGRD)*-*-*-*-*-* *-* ========================================================== *-* and appropriate step sizes GSTEP *-* Called from MNHESS and MNGRAD *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnimpr ()
 *-*-*-*-*-*-*Attempts to improve on a good local minimum*-*-*-*-*-*-*-*-*-* *-* =========================================== *-* Attempts to improve on a good local minimum by finding a *-* better one. More...
 
virtual void mninex (Double_t *pint)
 *-*-*-*-*Transforms from internal coordinates (PINT) to external (U)*-*-*-* *-* =========================================================== *-* The minimizing routines which work in *-* internal coordinates call this routine before calling FCN. More...
 
virtual void mninit (Int_t i1, Int_t i2, Int_t i3)
 *-*-*-*-*-*Main initialization member function for MINUIT*-*-*-*-*-*-*-*-* *-* ============================================== *-* It initializes some constants *-* (including the logical I/O unit nos.), *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnlims ()
 *-*-*-*Interprets the SET LIM command, to reset the parameter limits*-*-*-* *-* ============================================================= *-* Called from MNSET *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
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*-*-*-*-*-*-*-* *-* ========================================= *-* along direction STEP, where the length of vector STEP *-* gives the expected position of minimum. More...
 
virtual void mnmatu (Int_t kode)
 *-*-*-*-*-*-*-*Prints the covariance matrix v when KODE=1*-*-*-*-*-*-*-*-* *-* ========================================== *-* always prints the global correlations, and *-* calculates and prints the individual correlation coefficients *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnmigr ()
 *-*-*-*-*-*-*-*-*Performs a local function minimization*-*-*-*-*-*-*-*-*-* *-* ====================================== *-* Performs a local function minimization using basically the *-* method of Davidon-Fletcher-Powell as modified by Fletcher *-* ref. More...
 
virtual void mnmnos ()
 *-*-*-*-*-*-*-*-*-*-*Performs a MINOS error analysis*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Performs a MINOS error analysis on those parameters for *-* which it is requested on the MINOS command by calling *-* MNMNOT for each parameter requested. More...
 
virtual void mnmnot (Int_t ilax, Int_t ilax2, Double_t &val2pl, Double_t &val2mi)
 *-*-*-*-*-*Performs a MINOS error analysis on one parameter*-*-*-*-*-*-*-*-* *-* ================================================ *-* The parameter ILAX is varied, and the minimum of the *-* function with respect to the other parameters is followed *-* until it crosses the value FMIN+UP. More...
 
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*-*-*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called from MNPARS and user-callable *-* Implements one parameter definition, that is: *-* K (external) parameter number *-* CNAMK parameter name *-* UK starting value *-* WK starting step size or uncertainty *-* A, B lower and upper physical parameter limits *-* and sets up (updates) the parameter lists. More...
 
virtual void mnpars (TString &crdbuf, Int_t &icondn)
 *-*-*-*-*-*-*-*Implements one parameter definition*-*-*-*-*-*-*-*-*-*-*-*-* *-* =========== ======================= *-* Called from MNREAD and user-callable *-* Implements one parameter definition, that is: *-* parses the string CRDBUF and calls MNPARM *-* *-* output conditions: *-* ICONDN = 0 all OK *-* ICONDN = 1 error, attempt to define parameter is ignored *-* ICONDN = 2 end of parameter definitions *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
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*-*-*-*-*-*-*-*-*-*-* *-* ================================== *-* npar2p no. More...
 
virtual void mnpint (Double_t &pexti, Int_t i, Double_t &pinti)
 *-*-*-*-*-*-*Calculates the internal parameter value PINTI*-*-*-*-*-*-*-* *-* ============================================= *-* corresponding to the external value PEXTI for parameter I. More...
 
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*-*-*-*-* *-* =========================================================== *-* NXYPT is the number of points to be plotted *-* XPT(I) = x-coord. More...
 
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*-*-* *-* ================================================================ *-* of parameter number IUEXT. More...
 
virtual void mnprin (Int_t inkode, Double_t fval)
 *-*-*-*Prints the values of the parameters at the time of the call*-*-*-*-* *-* =========================================================== *-* also prints other relevant information such as function value, *-* estimated distance to minimum, parameter errors, step sizes. More...
 
virtual void mnpsdf ()
 *-*-*-*-*-*Calculates the eigenvalues of v to see if positive-def*-*-*-*-* *-* ====================================================== *-* if not, adds constant along diagonal to make positive. More...
 
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*-*-*-*-*-*-* *-* ===================================================== *-* and remove an old one from the current simplex, and get the *-* estimated distance to minimum. More...
 
virtual void mnrn15 (Double_t &val, Int_t &inseed)
 *-*-*-*-*-*-*This is a super-portable random number generator*-*-*-*-*-*-* *-* ================================================ *-* It should not overflow on any 32-bit machine. More...
 
virtual void mnrset (Int_t iopt)
 *-*-*-*-*-*-*-*Resets function value and errors to UNDEFINED*-*-*-*-*-*-*-* *-* ============================================= *-* If IOPT=1, *-* If IOPT=0, sets only MINOS errors to undefined *-* Called from MNCLER and whenever problem changes, for example *-* after SET LIMITS, SET PARAM, CALL FCN 6 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnsave ()
 *-*-*-*Writes current parameter values and step sizes onto file ISYSSA*-*-* *-* =============================================================== *-* in format which can be reread by Minuit for restarting. More...
 
virtual void mnscan ()
 *-*-*-*-*Scans the values of FCN as a function of one parameter*-*-*-*-*-* *-* ====================================================== *-* and plots the resulting values as a curve using MNPLOT. More...
 
virtual void mnseek ()
 *-*-*-*Performs a rough (but global) minimization by monte carlo search*-* *-* ================================================================ *-* Each time a new minimum is found, the search area is shifted *-* to be centered at the best value. More...
 
virtual void mnset ()
 *-*-*-*-*Interprets the commands that start with SET and SHOW*-*-*-*-*-*-* *-* ==================================================== *-* Called from MNEXCM *-* file characteristics for SET INPUT *-* 'SET ' or 'SHOW', 'ON ' or 'OFF', 'SUPPRESSED' or 'REPORTED ' *-* explanation of print level numbers -1:3 and strategies 0:2 *-* identification of debug options *-* things that can be set or shown *-* options not intended for normal users *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mnsimp ()
 *-*-*-*-*Minimization using the simplex method of Nelder and Mead*-*-*-*-* *-* ======================================================== *-* Performs a minimization using the simplex method of Nelder *-* and Mead (ref. More...
 
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*-*-*-*-* *-* ========================================================= *-* User-called *-* Namely, it returns: *-* FMIN: the best function value found so far *-* FEDM: the estimated vertical distance remaining to minimum *-* ERRDEF: the value of UP defining parameter uncertainties *-* NPARI: the number of currently variable parameters *-* NPARX: the highest (external) parameter number defined by user *-* ISTAT: a status integer indicating how good is the covariance *-* matrix: 0= not calculated at all *-* 1= approximation only, not accurate *-* 2= full matrix, but forced positive-definite *-* 3= full accurate covariance matrix *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void mntiny (volatile Double_t epsp1, Double_t &epsbak)
 *-*-*-*-*-*-*-*To find the machine precision*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ============================= *-* Compares its argument with the value 1.0, and returns *-* the value .TRUE. More...
 
Bool_t mnunpt (TString &cfname)
 *-*-*-*-*-*Returns .TRUE. More...
 
virtual void mnvert (Double_t *a, Int_t l, Int_t m, Int_t n, Int_t &ifail)
 *-*-*-*-*-*-*-*-*-*-*-*Inverts a symmetric matrix*-*-*-*-*-*-*-*-*-*-*-*-* *-* ========================== *-* inverts a symmetric matrix. More...
 
virtual void mnwarn (const char *copt, const char *corg, const char *cmes)
 *-*-*-*-*-*-*-*-*-*-*-*Prints Warning messages*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ======================= *-* If COPT='W', CMES is a WARning message from CORG. More...
 
virtual void mnwerr ()
 *-*-*-*-*-*-*-*Calculates the WERR, external parameter errors*-*-*-*-*-*-* *-* ============================================== *-* and the global correlation coefficients, to be called *-* whenever a new covariance matrix is available. More...
 
virtual Int_t Release (Int_t parNo)
 release a parameter More...
 
virtual Int_t SetErrorDef (Double_t up)
 To get the n-sigma contour the error def parameter "up" has to set to n^2. More...
 
virtual void SetFCN (void *fcn)
 *-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-* *-* =============================================== this function is called by CINT instead of the function above *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void SetFCN (void(*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
 *-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-* *-* =============================================== *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* More...
 
virtual void SetGraphicsMode (Bool_t mode=kTRUE)
 
virtual void SetMaxIterations (Int_t maxiter=500)
 
virtual void SetObjectFit (TObject *obj)
 
virtual Int_t SetPrintLevel (Int_t printLevel=0)
 set Minuit print level printlevel = -1 quiet (also suppresse all warnings) = 0 normal = 1 verbose More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Public Attributes

Int_t fNpfix
 
Int_t fEmpty
 
Int_t fMaxpar
 
Int_t fMaxint
 
Int_t fNpar
 
Int_t fMaxext
 
Int_t fMaxIterations
 
Int_t fMaxpar5
 
Int_t fMaxcpt
 
Int_t fMaxpar2
 
Int_t fMaxpar1
 
Double_t fAmin
 
Double_t fUp
 
Double_t fEDM
 
Double_t fFval3
 
Double_t fEpsi
 
Double_t fApsi
 
Double_t fDcovar
 
Double_t fEpsmac
 
Double_t fEpsma2
 
Double_t fVlimlo
 
Double_t fVlimhi
 
Double_t fUndefi
 
Double_t fBigedm
 
Double_t fUpdflt
 
Double_t fXmidcr
 
Double_t fYmidcr
 
Double_t fXdircr
 
Double_t fYdircr
 
Double_tfU
 
Double_tfAlim
 
Double_tfBlim
 
Double_tfErp
 
Double_tfErn
 
Double_tfWerr
 
Double_tfGlobcc
 
Double_tfX
 
Double_tfXt
 
Double_tfDirin
 
Double_tfXs
 
Double_tfXts
 
Double_tfDirins
 
Double_tfGrd
 
Double_tfG2
 
Double_tfGstep
 
Double_tfGin
 
Double_tfDgrd
 
Double_tfGrds
 
Double_tfG2s
 
Double_tfGsteps
 
Double_tfVhmat
 
Double_tfVthmat
 
Double_tfP
 
Double_tfPstar
 
Double_tfPstst
 
Double_tfPbar
 
Double_tfPrho
 
Double_tfWord7
 
Double_tfXpt
 
Double_tfYpt
 
Double_tfCONTgcc
 
Double_tfCONTw
 
Double_tfFIXPyy
 
Double_tfGRADgf
 
Double_tfHESSyy
 
Double_tfIMPRdsav
 
Double_tfIMPRy
 
Double_tfMATUvline
 
Double_tfMIGRflnu
 
Double_tfMIGRstep
 
Double_tfMIGRgs
 
Double_tfMIGRvg
 
Double_tfMIGRxxs
 
Double_tfMNOTxdev
 
Double_tfMNOTw
 
Double_tfMNOTgcc
 
Double_tfPSDFs
 
Double_tfSEEKxmid
 
Double_tfSEEKxbest
 
Double_tfSIMPy
 
Double_tfVERTq
 
Double_tfVERTs
 
Double_tfVERTpp
 
Double_tfCOMDplist
 
Double_tfPARSplist
 
Int_tfNvarl
 
Int_tfNiofex
 
Int_tfNexofi
 
Int_tfIpfix
 
Int_t fNu
 
Int_t fIsysrd
 
Int_t fIsyswr
 
Int_t fIsyssa
 
Int_t fNpagwd
 
Int_t fNpagln
 
Int_t fNewpag
 
Int_t fIstkrd [10]
 
Int_t fNstkrd
 
Int_t fIstkwr [10]
 
Int_t fNstkwr
 
Int_t fISW [7]
 
Int_t fIdbg [11]
 
Int_t fNblock
 
Int_t fIcomnd
 
Int_t fNfcn
 
Int_t fNfcnmx
 
Int_t fNfcnlc
 
Int_t fNfcnfr
 
Int_t fItaur
 
Int_t fIstrat
 
Int_t fNwrmes [2]
 
Int_t fNfcwar [20]
 
Int_t fIcirc [2]
 
Int_t fStatus
 
Int_t fKe1cr
 
Int_t fKe2cr
 
Bool_t fLwarn
 
Bool_t fLrepor
 
Bool_t fLimset
 
Bool_t fLnolim
 
Bool_t fLnewmn
 
Bool_t fLphead
 
Bool_t fGraphicsMode
 
char * fChpt
 
TStringfCpnam
 Character to be plotted at the X,Y contour positions. More...
 
TString fCfrom
 
TString fCstatu
 
TString fCtitl
 
TString fCword
 
TString fCundef
 
TString fCvrsn
 
TString fCovmes [4]
 
TString fOrigin [kMAXWARN]
 
TString fWarmes [kMAXWARN]
 
TObjectfObjectFit
 
TObjectfPlot
 
TMethodCallfMethodCall
 
void(* fFCN )(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
 

Private Member Functions

 TMinuit (const TMinuit &m)
 Private TMinuit copy ctor. TMinuit can not be copied. More...
 
TMinuitoperator= (const TMinuit &m)
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TMinuit.h>

Inheritance diagram for TMinuit:
[legend]

Member Enumeration Documentation

anonymous enum
Enumerator
kMAXWARN 

Definition at line 42 of file TMinuit.h.

Constructor & Destructor Documentation

TMinuit::TMinuit ( const TMinuit m)
private

Private TMinuit copy ctor. TMinuit can not be copied.

Definition at line 479 of file TMinuit.cxx.

TMinuit::TMinuit ( )
TMinuit::TMinuit ( Int_t  maxpar)

*-*-*-*-*-*-*-*-*-*-*Minuit normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ========================

maxpar is the maximum number of parameters used with this TMinuit object.

Definition at line 457 of file TMinuit.cxx.

TMinuit::~TMinuit ( )
virtual

*-*-*-*-*-*-*-*-*-*-*Minuit default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =========================

Definition at line 488 of file TMinuit.cxx.

Member Function Documentation

void TMinuit::BuildArrays ( Int_t  maxpar = 15)
virtual

*-*-*-*-*-*-*Create internal Minuit arrays for the maxpar parameters*-*-*-* *-* =======================================================

Definition at line 501 of file TMinuit.cxx.

Referenced by TMinuit().

TObject * TMinuit::Clone ( const char *  newname = "") const
virtual

Make a clone of an object using the Streamer facility.

Function pointer is copied to Clone

Reimplemented from TNamed.

Reimplemented in TMVA::MinuitWrapper.

Definition at line 586 of file TMinuit.cxx.

Int_t TMinuit::Command ( const char *  command)
virtual

execute a Minuit command Equivalent to MNEXCM except that the command is given as a character string.

See TMinuit::mnhelp for the full list of available commands See also http://wwwasdoc.web.cern.ch/wwwasdoc/minuit/node18.html for a complete documentation of all the available commands

Returns the status of the execution: = 0: command executed normally 1: command is blank, ignored 2: command line unreadable, ignored 3: unknown command, ignored 4: abnormal termination (e.g., MIGRAD not converged) 5: command is a request to read PARAMETER definitions 6: 'SET INPUT' command 7: 'SET TITLE' command 8: 'SET COVAR' command 9: reserved 10: END command 11: EXIT or STOP command 12: RETURN command

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 619 of file TMinuit.cxx.

TObject * TMinuit::Contour ( Int_t  npoints = 10,
Int_t  pa1 = 0,
Int_t  pa2 = 1 
)
virtual

Creates a TGraph object describing the n-sigma contour of a TMinuit fit.

The contour of the parameters pa1 and pa2 is calculated unsing npoints (>=4) points. The TMinuit status will be 0 on success and -1 if errors in the calling sequence (pa1, pa2 not variable) 1 if less than four points can be found 2 if npoints<4 n>3 if only n points can be found (n < npoints) The status can be obtained via TMinuit::GetStatus().

To get the n-sigma contour the ERRDEF parameter in Minuit has to set to n^2. The fcn function has to be set before the routine is called.

The TGraph object is created via the interpreter. The user must cast it to a TGraph*. Note that the TGraph is created with npoints+1 in order to close the contour (setting last point equal to first point).

You can find an example in $ROOTSYS/tutorials/fit/fitcont.C

Definition at line 646 of file TMinuit.cxx.

Referenced by RooMinuit::contour(), and fitcont().

Int_t TMinuit::DefineParameter ( Int_t  parNo,
const char *  name,
Double_t  initVal,
Double_t  initErr,
Double_t  lowerLimit,
Double_t  upperLimit 
)
virtual
void TMinuit::DeleteArrays ( )
virtual

*-*-*-*-*-*-*-*-*-*-*-*Delete internal Minuit arrays*-*-*-*-*-*-*-*-* *-* =============================

Definition at line 702 of file TMinuit.cxx.

Referenced by ~TMinuit().

Int_t TMinuit::Eval ( Int_t  npar,
Double_t grad,
Double_t fval,
Double_t par,
Int_t  flag 
)
virtual

Evaluate the minimisation function Input parameters: npar: number of currently variable parameters par: array of (constant and variable) parameters flag: Indicates what is to be calculated (see example below) grad: array of gradients Output parameters: fval: The calculated function value.

grad: The (optional) vector of first derivatives).

The meaning of the parameters par is of course defined by the user, who uses the values of those parameters to calculate their function value. The starting values must be specified by the user. Later values are determined by Minuit as it searches for the minimum or performs whatever analysis is requested by the user.

Note that this virtual function may be redefined in a class derived from TMinuit. The default function calls the function specified in SetFCN

Example of Minimisation function:

Reimplemented in TMVA::MinuitWrapper.

Definition at line 794 of file TMinuit.cxx.

Referenced by mnamin(), mncalf(), mncntr(), mnderi(), mneval(), mnexcm(), mngrad(), mnhes1(), mnhess(), mnimpr(), mnline(), mnmigr(), mnscan(), mnseek(), and mnsimp().

Int_t TMinuit::FixParameter ( Int_t  parNo)
virtual

fix a parameter

Definition at line 821 of file TMinuit.cxx.

Referenced by TFitter::FixParameter(), TMinuitMinimizer::FixVariable(), and TMinuitMinimizer::SetFixedVariable().

Int_t TMinuit::GetMaxIterations ( ) const
inline

Definition at line 202 of file TMinuit.h.

TMethodCall* TMinuit::GetMethodCall ( ) const
inline

Definition at line 200 of file TMinuit.h.

Referenced by InteractiveFCNm().

Int_t TMinuit::GetNumFixedPars ( ) const
virtual

returns the number of currently fixed parameters

Definition at line 849 of file TMinuit.cxx.

Referenced by TMinuitMinimizer::DoReleaseFixParameter().

Int_t TMinuit::GetNumFreePars ( ) const
virtual

returns the number of currently free parameters

Definition at line 857 of file TMinuit.cxx.

Int_t TMinuit::GetNumPars ( ) const
virtual

returns the total number of parameters that have been defined as fixed or free.

The constant parameters are not counted.

Definition at line 866 of file TMinuit.cxx.

Referenced by TMinuitMinimizer::DoReleaseFixParameter(), TFitter::GetCovarianceMatrix(), TFitter::GetCovarianceMatrixElement(), and TMinuitMinimizer::InitTMinuit().

TObject* TMinuit::GetObjectFit ( ) const
inline

Definition at line 201 of file TMinuit.h.

Int_t TMinuit::GetParameter ( Int_t  parNo,
Double_t currentValue,
Double_t currentError 
) const
virtual

return parameter value and error

Definition at line 835 of file TMinuit.cxx.

Referenced by TMinuitMinimizer::RetrieveParams().

virtual TObject* TMinuit::GetPlot ( ) const
inlinevirtual

Definition at line 207 of file TMinuit.h.

Referenced by TMinuitMinimizer::Scan().

Int_t TMinuit::GetStatus ( ) const
inline

Definition at line 208 of file TMinuit.h.

Int_t TMinuit::Migrad ( )
virtual

invokes the MIGRAD minimizer

Definition at line 874 of file TMinuit.cxx.

void TMinuit::mnamin ( )
virtual

*-*-*-*-*-*-*-*-*-*-*-*-*Initialize AMIN*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =============== *-*C Called from many places.

Initializes the value of AMIN by *-*C calling the user function. Prints out the function value and *-*C parameter values if Print Flag value is high enough. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 987 of file TMinuit.cxx.

Referenced by mncntr(), mnderi(), mnexcm(), mnhess(), mnimpr(), mnmigr(), mnscan(), mnseek(), mnset(), and mnsimp().

void TMinuit::mnbins ( Double_t  a1,
Double_t  a2,
Int_t  naa,
Double_t bl,
Double_t bh,
Int_t nb,
Double_t bwid 
)
virtual

*-*-*-*-*-*-*-*-*-*-*Compute reasonable histogram intervals*-*-*-*-*-*-*-*-* *-* ====================================== *-* Function TO DETERMINE REASONABLE HISTOGRAM INTERVALS *-* GIVEN ABSOLUTE UPPER AND LOWER BOUNDS A1 AND A2 *-* AND DESIRED MAXIMUM NUMBER OF BINS NAA *-* PROGRAM MAKES REASONABLE BINNING FROM BL TO BH OF WIDTH BWID *-* F.

JAMES, AUGUST, 1974 , stolen for Minuit, 1988 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1013 of file TMinuit.cxx.

Referenced by mnplot(), and mnscan().

void TMinuit::mncalf ( Double_t pvec,
Double_t ycalf 
)
virtual

*-*-*-*-*-*-*-*-*-*Transform FCN to find further minima*-*-*-*-*-*-*-*-*-* *-* ==================================== *-* Called only from MNIMPR.

Transforms the function FCN *-* by dividing out the quadratic part in order to find further *-* minima. Calculates ycalf = (f-fmin)/(x-xmin)*v*(x-xmin) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1087 of file TMinuit.cxx.

Referenced by mnimpr().

void TMinuit::mncler ( )
virtual

*-*-*-*-*-*-*-*-*-*-*Resets the parameter list to UNDEFINED*-*-*-*-*-*-*-* *-* ====================================== *-* Called from MINUIT and by option from MNEXCM *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1121 of file TMinuit.cxx.

Referenced by TFitter::Clear(), TMinuitMinimizer::DoClear(), mnexcm(), and mninit().

void TMinuit::mncntr ( Int_t  ke1,
Int_t  ke2,
Int_t ierrf 
)
virtual

*-*-*-*-*Print function contours in two variables, on line printer*-*-*-*-* *-* ========================================================= *-* *-* input arguments: parx, pary, devs, ngrid *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1152 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mncomd ( const char *  crdbin,
Int_t icondn 
)
virtual

*-*-*-*-*-*-*-*-*-*-*Reads a command string and executes*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called by user.

'Reads' a command string and executes. *-* Equivalent to MNEXCM except that the command is given as a *-* character string. *-* *-* ICONDN = 0: command executed normally *-* 1: command is blank, ignored *-* 2: command line unreadable, ignored *-* 3: unknown command, ignored *-* 4: abnormal termination (e.g., MIGRAD not converged) *-* 5: command is a request to read PARAMETER definitions *-* 6: 'SET INPUT' command *-* 7: 'SET TITLE' command *-* 8: 'SET COVAR' command *-* 9: reserved *-* 10: END command *-* 11: EXIT or STOP command *-* 12: RETURN command *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1330 of file TMinuit.cxx.

Referenced by Command().

void TMinuit::mncont ( Int_t  ike1,
Int_t  ike2,
Int_t  nptu,
Double_t xptu,
Double_t yptu,
Int_t ierrf 
)
virtual

*-*-*-*-*-*-*Find points along a contour where FCN is minimum*-*-*-*-*-*-* *-* ================================================ *-* Find NPTU points along a contour where the function *-* FMIN (X(KE1),X(KE2)) = AMIN+UP *-* where FMIN is the minimum of FCN with respect to all *-* the other NPAR-2 variable parameters (if any).

*-* IERRF on return will be equal to the number of points found: *-* NPTU if normal termination with NPTU points found *-* -1 if errors in the calling sequence (KE1, KE2 not variable) *-* 0 if less than four points can be found (using MNMNOT) *-* n>3 if only n points can be found (n < NPTU) *-* *-* input arguments: parx, pary, devs, ngrid *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1413 of file TMinuit.cxx.

Referenced by Contour(), TMinuitMinimizer::Contour(), and mnexcm().

void TMinuit::mncrck ( TString  cardbuf,
Int_t  maxcwd,
TString comand,
Int_t lnc,
Int_t  mxp,
Double_t plist,
Int_t llist,
Int_t ierr,
Int_t  isyswr 
)
virtual

*-*-*-*-*-*-*-*-*-*-*-*Cracks the free-format input*-*-*-*-*-*-*-*-*-*-*-*-* *-* ============================ *-* Cracks the free-format input, expecting zero or more *-* alphanumeric fields (which it joins into COMAND(1:LNC)) *-* followed by one or more numeric fields separated by *-* blanks and/or one comma.

The numeric fields are put into *-* the LLIST (but at most MXP) elements of PLIST. *-* IERR = 0 if no errors, *-* = 1 if error(s). *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1695 of file TMinuit.cxx.

Referenced by mncomd(), and mnpars().

void TMinuit::mncros ( Double_t aopt,
Int_t iercr 
)
virtual

*-*-*-*-*-*-*-*-*-*-*Find point where MNEVAL=AMIN+UP*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Find point where MNEVAL=AMIN+UP, along the line through *-* XMIDCR,YMIDCR with direction XDIRCR,YDIRCR, where X and Y *-* are parameters KE1CR and KE2CR.

If KE2CR=0 (from MINOS), *-* only KE1CR is varied. From MNCONT, both are varied. *-* Crossing point is at *-* (U(KE1),U(KE2)) = (XMID,YMID) + AOPT*(XDIR,YDIR) *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 1817 of file TMinuit.cxx.

Referenced by mncont(), and mnmnot().

void TMinuit::mncuve ( )
virtual

*-*-*-*-*-*-*-*Makes sure that the current point is a local minimum*-*-*-*-* *-* ==================================================== *-* Makes sure that the current point is a local *-* minimum and that the error matrix exists, *-* or at least something good enough for MINOS and MNCONT *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2150 of file TMinuit.cxx.

Referenced by mncont(), and mnexcm().

void TMinuit::mnderi ( )
virtual

*-*-*-*-*-*-*-*Calculates the first derivatives of FCN (GRD)*-*-*-*-*-*-*-* *-* ============================================= *-* Calculates the first derivatives of FCN (GRD), *-* either by finite differences or by transforming the user- *-* supplied derivatives to internal coordinates, *-* according to whether fISW[2] is zero or one.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2199 of file TMinuit.cxx.

Referenced by mngrad(), and mnmigr().

void TMinuit::mndxdi ( Double_t  pint,
Int_t  ipar,
Double_t dxdi 
)
virtual

*-*-*-*Calculates the transformation factor between ext/internal values*-* *-* ===================================================================== *-* calculates the transformation factor between external and *-* internal parameter values.

this factor is one for *-* parameters which are not limited. called from MNEMAT. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2315 of file TMinuit.cxx.

Referenced by mncuve(), mnemat(), mnerrs(), mnhess(), mnlims(), mnseek(), and mnsimp().

void TMinuit::mneig ( Double_t a,
Int_t  ndima,
Int_t  n,
Int_t  mits,
Double_t work,
Double_t  precis,
Int_t ifault 
)
virtual

*-*-*-*-*-*-*-*-*-*-*-*Compute matrix eigen values*-*-*-*-*-*-*-*-*-*-*-*-* *-* ===========================

Definition at line 2328 of file TMinuit.cxx.

Referenced by mnpsdf().

void TMinuit::mnemat ( Double_t emat,
Int_t  ndim 
)
virtual

Calculates the external error matrix from the internal matrix.

Note that if the matrix is declared like Double_t matrix[5][5] in the calling program, one has to call mnemat with, eg gMinuit->mnemat(&matrix[0][0],5);

Definition at line 2523 of file TMinuit.cxx.

Referenced by TFitter::GetCovarianceMatrix(), TMinuitMinimizer::GetHessianMatrix(), mnmatu(), and TMinuitMinimizer::RetrieveErrorMatrix().

void TMinuit::mnerrs ( Int_t  number,
Double_t eplus,
Double_t eminus,
Double_t eparab,
Double_t gcc 
)
virtual

*-*-*-*-*-*-*-*-*-*Utility routine to get MINOS errors*-*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called by user.

*-* NUMBER is the parameter number *-* values returned by MNERRS: *-* EPLUS, EMINUS are MINOS errors of parameter NUMBER, *-* EPARAB is 'parabolic' error (from error matrix). *-* (Errors not calculated are set = 0) *-* GCC is global correlation coefficient from error matrix *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2599 of file TMinuit.cxx.

Referenced by TFitter::GetErrors(), and TMinuitMinimizer::GetMinosError().

void TMinuit::mneval ( Double_t  anext,
Double_t fnext,
Int_t ierev 
)
virtual

*-*-*-*-*-*-*Evaluates the function being analyzed by MNCROS*-*-*-*-*-*-*-* *-* =============================================== *-* Evaluates the function being analyzed by MNCROS, which is *-* generally the minimum of FCN with respect to all remaining *-* variable parameters.

The class data members contains the *-* data necessary to know the values of U(KE1CR) and U(KE2CR) *-* to be used, namely U(KE1CR) = XMIDCR + ANEXT*XDIRCR *-* and (if KE2CR .NE. 0) U(KE2CR) = YMIDCR + ANEXT*YDIRCR *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2642 of file TMinuit.cxx.

Referenced by mncros().

void TMinuit::mnexcm ( const char *  comand,
Double_t plist,
Int_t  llist,
Int_t ierflg 
)
virtual

*-*-*-*-*-*Interprets a command and takes appropriate action*-*-*-*-*-*-*-* *-* ================================================= *-* either directly by skipping to the corresponding code in *-* MNEXCM, or by setting up a call to a function *-* *-* recognized MINUIT commands: *-* obsolete commands: *-* IERFLG is now (94.5) defined the same as ICONDN in MNCOMD *-* = 0: command executed normally *-* 1: command is blank, ignored *-* 2: command line unreadable, ignored *-* 3: unknown command, ignored *-* 4: abnormal termination (e.g., MIGRAD not converged) *-* 9: reserved *-* 10: END command *-* 11: EXIT or STOP command *-* 12: RETURN command *-* *-* see also http://wwwasdoc.web.cern.ch/wwwasdoc/minuit/node18.html for the possible list *-* of all Minuit commands *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 2688 of file TMinuit.cxx.

Referenced by TMinuitMinimizer::Contour(), TFitter::ExecuteCommand(), FixParameter(), TMinuitMinimizer::GetMinosError(), TMinuitMinimizer::Hesse(), Ifit(), TMinuitMinimizer::InitTMinuit(), Migrad(), TMinuitMinimizer::Minimize(), mncomd(), Release(), TMinuitMinimizer::Scan(), SetErrorDef(), TMinuitMinimizer::SetFunction(), SetPrintLevel(), TMinuitMinimizer::SetVariableValue(), and TMinuitMinimizer::SuppressMinuitWarnings().

void TMinuit::mnexin ( Double_t pint)
virtual

*-*-*-*-*Transforms the external parameter values U to internal values*-*-* *-* ============================================================= *-* Transforms the external parameter values U to internal *-* values in the dense array PINT.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 3176 of file TMinuit.cxx.

Referenced by mnamin(), mnfree(), mnlims(), mnmnot(), mnscan(), and mnset().

void TMinuit::mnfixp ( Int_t  iint1,
Int_t ierr 
)
virtual

*-*-*-*-*-*-*Removes parameter IINT from the internal parameter list*-*-* *-* ======================================================= *-* and arranges the rest of the list to fill the hole.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 3195 of file TMinuit.cxx.

Referenced by mncont(), mnexcm(), mnmnot(), and mnparm().

void TMinuit::mnfree ( Int_t  k)
virtual

*-*-*-*Restores one or more fixed parameter(s) to variable status*-*-*-*-*-* *-* ========================================================== *-* Restores one or more fixed parameter(s) to variable status *-* by inserting it into the internal parameter list at the *-* appropriate place.

*-* *-* K = 0 means restore all parameters *-* K = 1 means restore the last parameter fixed *-* K = -I means restore external parameter I (if possible) *-* IQ = fix-location where internal parameters were stored *-* IR = external number of parameter being restored *-* IS = internal number of parameter being restored *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 3283 of file TMinuit.cxx.

Referenced by mncont(), mnexcm(), mnmnot(), and mnparm().

void TMinuit::mngrad ( )
virtual

*-*-*-*-*-*-*-*-*-*Interprets the SET GRAD command*-*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Called from MNSET *-* Interprets the SET GRAD command, which informs MINUIT whether *-* the first derivatives of FCN will be calculated by the user *-* inside FCN.

It can check the user derivative calculation *-* by comparing it with a finite difference approximation. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 3390 of file TMinuit.cxx.

Referenced by mnset().

void TMinuit::mnhelp ( TString  comd)
virtual

*-*-*-*-*-*-*-*HELP routine for MINUIT interactive commands*-*-*-*-*-*-*-*-* *-* ============================================ *-* *-* COMD ='*' or "" prints a global help for all commands *-* COMD =Command_name: print detailed help for one command.

*-* Note that at least 3 characters must be given for the command *-* name. *-* *-* Author: Rene Brun *-* comments extracted from the MINUIT documentation file. *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 3468 of file TMinuit.cxx.

Referenced by mnexcm(), and mnhelp().

void TMinuit::mnhelp ( const char *  command = "")
virtual

interface to Minuit help

Definition at line 3448 of file TMinuit.cxx.

void TMinuit::mnhes1 ( )
virtual

*-*-*-*Calculate first derivatives (GRD) and uncertainties (DGRD)*-*-*-*-*-* *-* ========================================================== *-* and appropriate step sizes GSTEP *-* Called from MNHESS and MNGRAD *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4274 of file TMinuit.cxx.

Referenced by mngrad(), and mnhess().

void TMinuit::mnhess ( )
virtual

*-*-*-*-*-*Calculates the full second-derivative matrix of FCN*-*-*-*-*-*-*-* *-* =================================================== *-* by taking finite differences.

When calculating diagonal *-* elements, it may iterate so that step size is nearly that *-* which gives function change= UP/10. The first derivatives *-* of course come as a free side effect, but with a smaller *-* step size in order to obtain a known accuracy. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4048 of file TMinuit.cxx.

Referenced by mncntr(), mncuve(), mnexcm(), and mnmigr().

void TMinuit::mnimpr ( )
virtual

*-*-*-*-*-*-*Attempts to improve on a good local minimum*-*-*-*-*-*-*-*-*-* *-* =========================================== *-* Attempts to improve on a good local minimum by finding a *-* better one.

The quadratic part of FCN is removed by MNCALF *-* and this transformed function is minimized using the simplex *-* method from several random starting points. *-* ref. – Goldstein and Price, Math.Comp. 25, 569 (1971) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4351 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mninex ( Double_t pint)
virtual

*-*-*-*-*Transforms from internal coordinates (PINT) to external (U)*-*-*-* *-* =========================================================== *-* The minimizing routines which work in *-* internal coordinates call this routine before calling FCN.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4563 of file TMinuit.cxx.

Referenced by mncalf(), mncont(), mnderi(), mneval(), mnexcm(), mngrad(), mnhes1(), mnhess(), mnimpr(), mnline(), mnmigr(), mnmnot(), mnrazz(), mnseek(), and mnsimp().

void TMinuit::mninit ( Int_t  i1,
Int_t  i2,
Int_t  i3 
)
virtual

*-*-*-*-*-*Main initialization member function for MINUIT*-*-*-*-*-*-*-*-* *-* ============================================== *-* It initializes some constants *-* (including the logical I/O unit nos.), *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4584 of file TMinuit.cxx.

Referenced by TMinuit().

void TMinuit::mnlims ( )
virtual

*-*-*-*Interprets the SET LIM command, to reset the parameter limits*-*-*-* *-* ============================================================= *-* Called from MNSET *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4675 of file TMinuit.cxx.

Referenced by mnset().

void TMinuit::mnline ( Double_t start,
Double_t  fstart,
Double_t step,
Double_t  slope,
Double_t  toler 
)
virtual

*-*-*-*-*-*-*-*-*-*Perform a line search from position START*-*-*-*-*-*-*-* *-* ========================================= *-* along direction STEP, where the length of vector STEP *-* gives the expected position of minimum.

*-* FSTART is value of function at START *-* SLOPE (if non-zero) is df/dx along STEP at START *-* TOLER is initial tolerance of minimum in direction STEP *-* *-* SLAMBG and ALPHA control the maximum individual steps allowed. *-* The first step is always =1. The max length of second step is SLAMBG. *-* The max size of subsequent steps is the maximum previous successful *-* step multiplied by ALPHA + the size of most recent successful step, *-* but cannot be smaller than SLAMBG. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 4796 of file TMinuit.cxx.

Referenced by mnmigr().

void TMinuit::mnmatu ( Int_t  kode)
virtual

*-*-*-*-*-*-*-*Prints the covariance matrix v when KODE=1*-*-*-*-*-*-*-*-* *-* ========================================== *-* always prints the global correlations, and *-* calculates and prints the individual correlation coefficients *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5031 of file TMinuit.cxx.

Referenced by mnexcm(), mnmigr(), mnmnos(), and mnset().

void TMinuit::mnmigr ( )
virtual

*-*-*-*-*-*-*-*-*Performs a local function minimization*-*-*-*-*-*-*-*-*-* *-* ====================================== *-* Performs a local function minimization using basically the *-* method of Davidon-Fletcher-Powell as modified by Fletcher *-* ref.

– Fletcher, Comp.J. 13,317 (1970) "switching method" *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5111 of file TMinuit.cxx.

Referenced by mncuve(), mneval(), and mnexcm().

void TMinuit::mnmnos ( )
virtual

*-*-*-*-*-*-*-*-*-*-*Performs a MINOS error analysis*-*-*-*-*-*-*-*-*-*-*-* *-* =============================== *-* Performs a MINOS error analysis on those parameters for *-* which it is requested on the MINOS command by calling *-* MNMNOT for each parameter requested.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5452 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mnmnot ( Int_t  ilax,
Int_t  ilax2,
Double_t val2pl,
Double_t val2mi 
)
virtual

*-*-*-*-*-*Performs a MINOS error analysis on one parameter*-*-*-*-*-*-*-*-* *-* ================================================ *-* The parameter ILAX is varied, and the minimum of the *-* function with respect to the other parameters is followed *-* until it crosses the value FMIN+UP.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5528 of file TMinuit.cxx.

Referenced by mncont(), and mnmnos().

void TMinuit::mnparm ( Int_t  k1,
TString  cnamj,
Double_t  uk,
Double_t  wk,
Double_t  a,
Double_t  b,
Int_t ierflg 
)
virtual

*-*-*-*-*-*-*-*-*Implements one parameter definition*-*-*-*-*-*-*-*-*-*-*-* *-* =================================== *-* Called from MNPARS and user-callable *-* Implements one parameter definition, that is: *-* K (external) parameter number *-* CNAMK parameter name *-* UK starting value *-* WK starting step size or uncertainty *-* A, B lower and upper physical parameter limits *-* and sets up (updates) the parameter lists.

*-* Output: IERFLG=0 if no problems *-* >0 if MNPARM unable to implement definition *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5728 of file TMinuit.cxx.

Referenced by DefineParameter(), Ifit(), mnpars(), and TFitter::SetParameter().

void TMinuit::mnpars ( TString crdbuf,
Int_t icondn 
)
virtual

*-*-*-*-*-*-*-*Implements one parameter definition*-*-*-*-*-*-*-*-*-*-*-*-* *-* =========== ======================= *-* Called from MNREAD and user-callable *-* Implements one parameter definition, that is: *-* parses the string CRDBUF and calls MNPARM *-* *-* output conditions: *-* ICONDN = 0 all OK *-* ICONDN = 1 error, attempt to define parameter is ignored *-* ICONDN = 2 end of parameter definitions *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 5931 of file TMinuit.cxx.

void TMinuit::mnpfit ( Double_t parx2p,
Double_t pary2p,
Int_t  npar2p,
Double_t coef2p,
Double_t sdev2p 
)
virtual

*-*-*-*-*-*-*-*-*-*To fit a parabola to npar2p points*-*-*-*-*-*-*-*-*-*-* *-* ================================== *-* npar2p no.

of points *-* parx2p(i) x value of point i *-* pary2p(i) y value of point i *-* *-* coef2p(1...3) coefficients of the fitted parabola *-* y=coef2p(1) + coef2p(2)*x + coef2p(3)*x**2 *-* sdev2p= variance *-* method : chi**2 = min equation solved explicitly *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6021 of file TMinuit.cxx.

Referenced by mncros(), and mnline().

void TMinuit::mnpint ( Double_t pexti,
Int_t  i1,
Double_t pinti 
)
virtual

*-*-*-*-*-*-*Calculates the internal parameter value PINTI*-*-*-*-*-*-*-* *-* ============================================= *-* corresponding to the external value PEXTI for parameter I.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6083 of file TMinuit.cxx.

Referenced by mnexin(), and mnparm().

void TMinuit::mnplot ( Double_t xpt,
Double_t ypt,
char *  chpt,
Int_t  nxypt,
Int_t  npagwd,
Int_t  npagln 
)
virtual

*-*-*-*Plots points in array xypt onto one page with labelled axes*-*-*-*-* *-* =========================================================== *-* NXYPT is the number of points to be plotted *-* XPT(I) = x-coord.

of ith point *-* YPT(I) = y-coord. of ith point *-* CHPT(I) = character to be plotted at this position *-* the input point arrays XPT, YPT, CHPT are destroyed. *-* *-* *-* If fGraphicsmode is true (default), a TGraph object is produced *-* via the Plug-in handler. To get the plot, you can do: *-* TGraph gr = (TGraph)gMinuit->GetPlot(); *-* gr->Draw("al"); *-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6135 of file TMinuit.cxx.

Referenced by mncont(), mncros(), mnline(), and mnscan().

void TMinuit::mnpout ( Int_t  iuext1,
TString chnam,
Double_t val,
Double_t err,
Double_t xlolim,
Double_t xuplim,
Int_t iuint 
) const
virtual

*-*-*-*Provides the user with information concerning the current status*-*-* *-* ================================================================ *-* of parameter number IUEXT.

Namely, it returns: *-* CHNAM: the name of the parameter *-* VAL: the current (external) value of the parameter *-* ERR: the current estimate of the parameter uncertainty *-* XLOLIM: the lower bound (or zero if no limits) *-* XUPLIM: the upper bound (or zero if no limits) *-* IUINT: the internal parameter number (or zero if not variable, *-* or negative if undefined). *-* Note also: If IUEXT is negative, then it is -internal parameter *-* number, and IUINT is returned as the EXTERNAL number. *-* Except for IUINT, this is exactly the inverse of MNPARM *-* User-called *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6317 of file TMinuit.cxx.

Referenced by TFitter::GetParameter(), GetParameter(), TFitter::GetParError(), TMinuitMinimizer::GetVariableSettings(), TMinuitMinimizer::Scan(), TMinuitMinimizer::SetVariableLimits(), and TMinuitMinimizer::SetVariableStepSize().

void TMinuit::mnprin ( Int_t  inkode,
Double_t  fval 
)
virtual

*-*-*-*Prints the values of the parameters at the time of the call*-*-*-*-* *-* =========================================================== *-* also prints other relevant information such as function value, *-* estimated distance to minimum, parameter errors, step sizes.

*-* *-* According to the value of IKODE, the printout is:/ *-* IKODE=INKODE= 0 only info about function value *-* 1 parameter values, errors, limits *-* 2 values, errors, step sizes, internal values *-* 3 values, errors, step sizes, first derivs. *-* 4 values, parabolic errors, MINOS errors *-* when INKODE=5, MNPRIN chooses IKODE=1,2, or 3, according to fISW[1] *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6373 of file TMinuit.cxx.

Referenced by mnexcm(), mnimpr(), mnmigr(), mnmnos(), mnscan(), mnseek(), mnset(), mnsimp(), TFitter::PrintResults(), and TMinuitMinimizer::PrintResults().

void TMinuit::mnpsdf ( )
virtual

*-*-*-*-*-*Calculates the eigenvalues of v to see if positive-def*-*-*-*-* *-* ====================================================== *-* if not, adds constant along diagonal to make positive.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6564 of file TMinuit.cxx.

Referenced by mnhess(), mnmigr(), and mnset().

void TMinuit::mnrazz ( Double_t  ynew,
Double_t pnew,
Double_t y,
Int_t jh,
Int_t jl 
)
virtual

*-*-*-*-*Called only by MNSIMP (and MNIMPR) to add a new point*-*-*-*-*-*-* *-* ===================================================== *-* and remove an old one from the current simplex, and get the *-* estimated distance to minimum.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6639 of file TMinuit.cxx.

Referenced by mnimpr(), and mnsimp().

void TMinuit::mnrn15 ( Double_t val,
Int_t inseed 
)
virtual

*-*-*-*-*-*-*This is a super-portable random number generator*-*-*-*-*-*-* *-* ================================================ *-* It should not overflow on any 32-bit machine.

*-* The cycle is only ~10**9, so use with care! *-* Note especially that VAL must not be undefined on input. *-* Set Default Starting Seed *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6688 of file TMinuit.cxx.

Referenced by TFitter::Clear(), TMinuitMinimizer::DoClear(), mnexcm(), mnimpr(), mnseek(), and mnset().

void TMinuit::mnrset ( Int_t  iopt)
virtual

*-*-*-*-*-*-*-*Resets function value and errors to UNDEFINED*-*-*-*-*-*-*-* *-* ============================================= *-* If IOPT=1, *-* If IOPT=0, sets only MINOS errors to undefined *-* Called from MNCLER and whenever problem changes, for example *-* after SET LIMITS, SET PARAM, CALL FCN 6 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6717 of file TMinuit.cxx.

Referenced by mncler(), mnexcm(), mnimpr(), mnlims(), mnparm(), and mnset().

void TMinuit::mnsave ( )
virtual

*-*-*-*Writes current parameter values and step sizes onto file ISYSSA*-*-* *-* =============================================================== *-* in format which can be reread by Minuit for restarting.

*-* The covariance matrix is also output if it exists. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6752 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mnscan ( )
virtual

*-*-*-*-*Scans the values of FCN as a function of one parameter*-*-*-*-*-* *-* ====================================================== *-* and plots the resulting values as a curve using MNPLOT.

*-* It may be called to scan one parameter or all parameters. *-* retains the best function and parameter values found. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6766 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mnseek ( )
virtual

*-*-*-*Performs a rough (but global) minimization by monte carlo search*-* *-* ================================================================ *-* Each time a new minimum is found, the search area is shifted *-* to be centered at the best value.

Random points are chosen *-* uniformly over a hypercube determined by current step sizes. *-* The Metropolis algorithm accepts a worse point with probability *-* exp(-d/UP), where d is the degradation. Improved points *-* are of course always accepted. Actual steps are random *-* multiples of the nominal steps (DIRIN). *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6877 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mnset ( )
virtual

*-*-*-*-*Interprets the commands that start with SET and SHOW*-*-*-*-*-*-* *-* ==================================================== *-* Called from MNEXCM *-* file characteristics for SET INPUT *-* 'SET ' or 'SHOW', 'ON ' or 'OFF', 'SUPPRESSED' or 'REPORTED ' *-* explanation of print level numbers -1:3 and strategies 0:2 *-* identification of debug options *-* things that can be set or shown *-* options not intended for normal users *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 6973 of file TMinuit.cxx.

Referenced by mnexcm().

void TMinuit::mnsimp ( )
virtual

*-*-*-*-*Minimization using the simplex method of Nelder and Mead*-*-*-*-* *-* ======================================================== *-* Performs a minimization using the simplex method of Nelder *-* and Mead (ref.

– Comp. J. 7,308 (1965)). *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7492 of file TMinuit.cxx.

Referenced by mnexcm(), and mnimpr().

void TMinuit::mnstat ( Double_t fmin,
Double_t fedm,
Double_t errdef,
Int_t npari,
Int_t nparx,
Int_t istat 
)
virtual

*-*-*-*-*Returns concerning the current status of the minimization*-*-*-*-* *-* ========================================================= *-* User-called *-* Namely, it returns: *-* FMIN: the best function value found so far *-* FEDM: the estimated vertical distance remaining to minimum *-* ERRDEF: the value of UP defining parameter uncertainties *-* NPARI: the number of currently variable parameters *-* NPARX: the highest (external) parameter number defined by user *-* ISTAT: a status integer indicating how good is the covariance *-* matrix: 0= not calculated at all *-* 1= approximation only, not accurate *-* 2= full matrix, but forced positive-definite *-* 3= full accurate covariance matrix *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7699 of file TMinuit.cxx.

Referenced by TFitter::GetStats(), Ifit(), and RooFitResult::lastMinuitFit().

void TMinuit::mntiny ( volatile Double_t  epsp1,
Double_t epsbak 
)
virtual

*-*-*-*-*-*-*-*To find the machine precision*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ============================= *-* Compares its argument with the value 1.0, and returns *-* the value .TRUE.

if they are equal. To find EPSMAC *-* safely by foiling the Fortran optimizer *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7723 of file TMinuit.cxx.

Referenced by mninit().

Bool_t TMinuit::mnunpt ( TString cfname)

*-*-*-*-*-*Returns .TRUE.

if CFNAME contains unprintable characters*-*-*-* *-* ======================================================== *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7733 of file TMinuit.cxx.

void TMinuit::mnvert ( Double_t a,
Int_t  l,
Int_t  m,
Int_t  n,
Int_t ifail 
)
virtual

*-*-*-*-*-*-*-*-*-*-*-*Inverts a symmetric matrix*-*-*-*-*-*-*-*-*-*-*-*-* *-* ========================== *-* inverts a symmetric matrix.

matrix is first scaled to *-* have all ones on the diagonal (equivalent to change of units) *-* but no pivoting is done since matrix is positive-definite. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7760 of file TMinuit.cxx.

Referenced by mnhess(), mnimpr(), and mnwerr().

void TMinuit::mnwarn ( const char *  copt1,
const char *  corg1,
const char *  cmes1 
)
virtual

*-*-*-*-*-*-*-*-*-*-*-*Prints Warning messages*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* ======================= *-* If COPT='W', CMES is a WARning message from CORG.

*-* If COPT='D', CMES is a DEBug message from CORG. *-* If SET WARnings is in effect (the default), this routine *-* prints the warning message CMES coming from CORG. *-* If SET NOWarnings is in effect, the warning message is *-* stored in a circular buffer of length kMAXMES. *-* If called with CORG=CMES='SHO', it prints the messages in *-* the circular buffer, FIFO, and empties the buffer. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7849 of file TMinuit.cxx.

Referenced by mncont(), mncros(), mncuve(), mnderi(), mnhes1(), mnhess(), mnline(), mnmigr(), mnmnot(), mnparm(), mnpint(), mnpsdf(), and mnset().

void TMinuit::mnwerr ( )
virtual

*-*-*-*-*-*-*-*Calculates the WERR, external parameter errors*-*-*-*-*-*-* *-* ============================================== *-* and the global correlation coefficients, to be called *-* whenever a new covariance matrix is available.

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 7927 of file TMinuit.cxx.

Referenced by mncntr(), mncuve(), mnexcm(), mnmatu(), mnmigr(), and mnset().

TMinuit& TMinuit::operator= ( const TMinuit m)
private
Int_t TMinuit::Release ( Int_t  parNo)
virtual
Int_t TMinuit::SetErrorDef ( Double_t  up)
virtual

To get the n-sigma contour the error def parameter "up" has to set to n^2.

Definition at line 902 of file TMinuit.cxx.

Referenced by RooMinuit::contour(), and fitcont().

void TMinuit::SetFCN ( void fcn)
virtual

*-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-* *-* =============================================== this function is called by CINT instead of the function above *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 947 of file TMinuit.cxx.

Referenced by Ifit(), TFitter::SetFCN(), and TMinuitMinimizer::SetFunction().

void TMinuit::SetFCN ( void(*)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t fcn)
virtual

*-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-* *-* =============================================== *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Definition at line 916 of file TMinuit.cxx.

virtual void TMinuit::SetGraphicsMode ( Bool_t  mode = kTRUE)
inlinevirtual

Definition at line 271 of file TMinuit.h.

virtual void TMinuit::SetMaxIterations ( Int_t  maxiter = 500)
inlinevirtual

Definition at line 272 of file TMinuit.h.

Referenced by TMinuit().

virtual void TMinuit::SetObjectFit ( TObject obj)
inlinevirtual

Definition at line 273 of file TMinuit.h.

Int_t TMinuit::SetPrintLevel ( Int_t  printLevel = 0)
virtual

set Minuit print level printlevel = -1 quiet (also suppresse all warnings) = 0 normal = 1 verbose

Definition at line 966 of file TMinuit.cxx.

Member Data Documentation

Double_t* TMinuit::fAlim
Double_t TMinuit::fAmin
Double_t TMinuit::fApsi

Definition at line 61 of file TMinuit.h.

Referenced by mncalf(), mncont(), mncuve(), mnexcm(), mnimpr(), mnmigr(), and mnmnot().

Double_t TMinuit::fBigedm
Double_t* TMinuit::fBlim
TString TMinuit::fCfrom
char* TMinuit::fChpt

Definition at line 171 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncont(), mncros(), and mnscan().

Double_t* TMinuit::fCOMDplist

Definition at line 130 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mncomd().

Double_t* TMinuit::fCONTgcc

Definition at line 107 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mncont().

Double_t* TMinuit::fCONTw

Definition at line 108 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mncont().

TString TMinuit::fCovmes[4]

Definition at line 179 of file TMinuit.h.

Referenced by mninit(), mnmatu(), mnprin(), and mnset().

TString* TMinuit::fCpnam
TString TMinuit::fCstatu
TString TMinuit::fCtitl

Definition at line 175 of file TMinuit.h.

Referenced by mninit(), mnprin(), and mnset().

TString TMinuit::fCundef

Definition at line 177 of file TMinuit.h.

Referenced by mncler(), mninit(), and mnprin().

TString TMinuit::fCvrsn

Definition at line 178 of file TMinuit.h.

Referenced by mninit(), and mnset().

TString TMinuit::fCword

Definition at line 176 of file TMinuit.h.

Referenced by mnexcm(), and mnset().

Double_t TMinuit::fDcovar

Definition at line 62 of file TMinuit.h.

Referenced by mncalf(), mncont(), mncuve(), mnexcm(), mnfree(), mnhess(), mnimpr(), mnmigr(), mnmnot(), mnprin(), and mnrset().

Double_t* TMinuit::fDgrd

Definition at line 92 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mngrad(), and mnhes1().

Double_t* TMinuit::fDirin
Double_t* TMinuit::fDirins

Definition at line 87 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), and mnfree().

Double_t TMinuit::fEDM
Int_t TMinuit::fEmpty

Definition at line 45 of file TMinuit.h.

Referenced by DeleteArrays(), and TMinuit().

Double_t TMinuit::fEpsi

Definition at line 60 of file TMinuit.h.

Referenced by mncont(), mncuve(), mnexcm(), mnimpr(), mnmnot(), and mnsimp().

Double_t TMinuit::fEpsma2
Double_t TMinuit::fEpsmac

Definition at line 63 of file TMinuit.h.

Referenced by mnhes1(), mninit(), mnline(), mnmnot(), and mnset().

Double_t* TMinuit::fErn

Definition at line 79 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncont(), mnerrs(), mnmnos(), mnmnot(), mnprin(), mnrset(), and mnset().

Double_t* TMinuit::fErp

Definition at line 78 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncont(), mnerrs(), mnmnos(), mnmnot(), mnprin(), mnrset(), and mnset().

void(* TMinuit::fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)

Definition at line 185 of file TMinuit.h.

Referenced by Clone(), Eval(), SetFCN(), and TMinuit().

Double_t* TMinuit::fFIXPyy

Definition at line 109 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnfixp().

Double_t TMinuit::fFval3

Definition at line 59 of file TMinuit.h.

Referenced by mnexcm(), and mnrset().

Double_t* TMinuit::fG2

Definition at line 89 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncuve(), mnderi(), mnfixp(), mnfree(), mnhes1(), mnhess(), mnmigr(), and mnparm().

Double_t* TMinuit::fG2s

Definition at line 94 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), and mnfree().

Double_t* TMinuit::fGin
Double_t* TMinuit::fGlobcc
Double_t* TMinuit::fGRADgf

Definition at line 110 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mngrad().

Bool_t TMinuit::fGraphicsMode

Definition at line 170 of file TMinuit.h.

Referenced by mnplot(), SetGraphicsMode(), and TMinuit().

Double_t* TMinuit::fGrd
Double_t* TMinuit::fGrds

Definition at line 93 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), and mnfree().

Double_t* TMinuit::fGstep

Definition at line 90 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnderi(), mnfixp(), mnfree(), mnhes1(), mnhess(), mnlims(), mnmigr(), and mnparm().

Double_t* TMinuit::fGsteps

Definition at line 95 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), mnfree(), and mnlims().

Double_t* TMinuit::fHESSyy

Definition at line 111 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnhess().

Int_t TMinuit::fIcirc[2]

Definition at line 160 of file TMinuit.h.

Referenced by mnwarn().

Int_t TMinuit::fIcomnd

Definition at line 151 of file TMinuit.h.

Referenced by mnexcm(), and mninit().

Int_t TMinuit::fIdbg[11]

Definition at line 149 of file TMinuit.h.

Referenced by mncont(), mncros(), mnderi(), mnhes1(), mnhess(), mninit(), mnline(), mnmigr(), and mnset().

Double_t* TMinuit::fIMPRdsav

Definition at line 112 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnimpr().

Double_t* TMinuit::fIMPRy

Definition at line 113 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnimpr().

Int_t* TMinuit::fIpfix
Int_t TMinuit::fIstkrd[10]

Definition at line 144 of file TMinuit.h.

Int_t TMinuit::fIstkwr[10]

Definition at line 146 of file TMinuit.h.

Referenced by mninit(), and mnset().

Int_t TMinuit::fIstrat
Int_t TMinuit::fISW[7]
Int_t TMinuit::fIsysrd

Definition at line 138 of file TMinuit.h.

Referenced by mninit(), and mnset().

Int_t TMinuit::fIsyssa

Definition at line 140 of file TMinuit.h.

Referenced by mninit().

Int_t TMinuit::fIsyswr

Definition at line 139 of file TMinuit.h.

Referenced by mncomd(), mninit(), mnpars(), and mnset().

Int_t TMinuit::fItaur

Definition at line 156 of file TMinuit.h.

Referenced by mncont(), mneval(), mnfree(), mnhess(), mnimpr(), mninit(), mnmigr(), and mnmnot().

Int_t TMinuit::fKe1cr

Definition at line 162 of file TMinuit.h.

Referenced by mncont(), mncros(), mneval(), and mnmnot().

Int_t TMinuit::fKe2cr

Definition at line 163 of file TMinuit.h.

Referenced by mncont(), mncros(), mneval(), and mnmnot().

Bool_t TMinuit::fLimset

Definition at line 166 of file TMinuit.h.

Referenced by mncros(), mnexin(), mninit(), and mnpint().

Bool_t TMinuit::fLnewmn

Definition at line 168 of file TMinuit.h.

Referenced by mnexcm(), mnimpr(), mninit(), mnmnos(), and mnmnot().

Bool_t TMinuit::fLnolim

Definition at line 167 of file TMinuit.h.

Referenced by mncler(), mnparm(), and mnrset().

Bool_t TMinuit::fLphead

Definition at line 169 of file TMinuit.h.

Referenced by mncler(), mncomd(), mnexcm(), and mnparm().

Bool_t TMinuit::fLrepor

Definition at line 165 of file TMinuit.h.

Referenced by mninit(), mnset(), and mnwarn().

Bool_t TMinuit::fLwarn

Definition at line 164 of file TMinuit.h.

Referenced by mninit(), mnparm(), mnpsdf(), mnset(), and mnwarn().

Double_t* TMinuit::fMATUvline

Definition at line 114 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), RooFitResult::fillCorrMatrix(), and mnmatu().

Int_t TMinuit::fMaxcpt

Definition at line 52 of file TMinuit.h.

Referenced by BuildArrays().

Int_t TMinuit::fMaxext

Definition at line 49 of file TMinuit.h.

Referenced by mncler(), mninit(), mnlims(), and mnparm().

Int_t TMinuit::fMaxint

Definition at line 47 of file TMinuit.h.

Referenced by mnhess(), mnimpr(), mninit(), mnmatu(), mnparm(), mnpsdf(), mnvert(), and mnwerr().

Int_t TMinuit::fMaxIterations

Definition at line 50 of file TMinuit.h.

Referenced by GetMaxIterations(), and SetMaxIterations().

Int_t TMinuit::fMaxpar
Int_t TMinuit::fMaxpar1

Definition at line 54 of file TMinuit.h.

Referenced by BuildArrays().

Int_t TMinuit::fMaxpar2

Definition at line 53 of file TMinuit.h.

Referenced by BuildArrays().

Int_t TMinuit::fMaxpar5

Definition at line 51 of file TMinuit.h.

Referenced by BuildArrays().

TMethodCall* TMinuit::fMethodCall

Definition at line 184 of file TMinuit.h.

Referenced by GetMethodCall(), SetFCN(), TMinuit(), and ~TMinuit().

Double_t* TMinuit::fMIGRflnu

Definition at line 115 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmigr().

Double_t* TMinuit::fMIGRgs

Definition at line 117 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmigr().

Double_t* TMinuit::fMIGRstep

Definition at line 116 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmigr().

Double_t* TMinuit::fMIGRvg

Definition at line 118 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmigr().

Double_t* TMinuit::fMIGRxxs

Definition at line 119 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmigr().

Double_t* TMinuit::fMNOTgcc

Definition at line 122 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmnot().

Double_t* TMinuit::fMNOTw

Definition at line 121 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmnot().

Double_t* TMinuit::fMNOTxdev

Definition at line 120 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnmnot().

Int_t TMinuit::fNblock

Definition at line 150 of file TMinuit.h.

Referenced by mninit().

Int_t TMinuit::fNewpag

Definition at line 143 of file TMinuit.h.

Referenced by mninit(), mnscan(), and mnset().

Int_t* TMinuit::fNexofi
Int_t TMinuit::fNfcn
Int_t TMinuit::fNfcnfr

Definition at line 155 of file TMinuit.h.

Referenced by mncler(), mncont(), mnexcm(), mnhess(), mninit(), mnlims(), mnmigr(), mnmnos(), mnparm(), mnprin(), mnset(), and mnsimp().

Int_t TMinuit::fNfcnlc

Definition at line 154 of file TMinuit.h.

Referenced by mnexcm().

Int_t TMinuit::fNfcnmx

Definition at line 153 of file TMinuit.h.

Referenced by mncont(), mnexcm(), mnimpr(), mnmigr(), mnmnot(), and mnsimp().

Int_t TMinuit::fNfcwar[20]

Definition at line 159 of file TMinuit.h.

Referenced by mnwarn().

Int_t* TMinuit::fNiofex
Int_t TMinuit::fNpagln

Definition at line 142 of file TMinuit.h.

Referenced by mncntr(), mncont(), mncros(), mninit(), mnline(), mnscan(), and mnset().

Int_t TMinuit::fNpagwd

Definition at line 141 of file TMinuit.h.

Referenced by mncntr(), mncont(), mncros(), mnemat(), mninit(), mnline(), mnmatu(), mnscan(), and mnset().

Int_t TMinuit::fNpar
Int_t TMinuit::fNpfix
Int_t TMinuit::fNstkrd

Definition at line 145 of file TMinuit.h.

Referenced by mninit().

Int_t TMinuit::fNstkwr

Definition at line 147 of file TMinuit.h.

Referenced by mninit().

Int_t TMinuit::fNu
Int_t* TMinuit::fNvarl
Int_t TMinuit::fNwrmes[2]

Definition at line 158 of file TMinuit.h.

Referenced by mncler(), mnwarn(), and RooMinuit::synchronize().

TObject* TMinuit::fObjectFit

Definition at line 182 of file TMinuit.h.

Referenced by GetObjectFit(), SetObjectFit(), and TMinuit().

TString TMinuit::fOrigin[kMAXWARN]

Definition at line 180 of file TMinuit.h.

Referenced by mnwarn().

Double_t* TMinuit::fP

Definition at line 98 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnhess(), mnimpr(), mnmatu(), mnpsdf(), mnrazz(), mnsimp(), and mnwerr().

Double_t* TMinuit::fPARSplist

Definition at line 131 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnpars().

Double_t* TMinuit::fPbar

Definition at line 101 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnimpr(), and mnsimp().

TObject* TMinuit::fPlot

Definition at line 183 of file TMinuit.h.

Referenced by GetPlot(), mnplot(), TMinuit(), and ~TMinuit().

Double_t* TMinuit::fPrho

Definition at line 102 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnsimp().

Double_t* TMinuit::fPSDFs

Definition at line 123 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnpsdf().

Double_t* TMinuit::fPstar

Definition at line 99 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnimpr(), mnpsdf(), and mnsimp().

Double_t* TMinuit::fPstst

Definition at line 100 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnimpr(), and mnsimp().

Double_t* TMinuit::fSEEKxbest

Definition at line 125 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnseek().

Double_t* TMinuit::fSEEKxmid

Definition at line 124 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnseek().

Double_t* TMinuit::fSIMPy

Definition at line 126 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnsimp().

Int_t TMinuit::fStatus

Definition at line 161 of file TMinuit.h.

Referenced by Contour(), GetStatus(), RooFitResult::lastMinuitFit(), and TMinuit().

Double_t* TMinuit::fU
Double_t TMinuit::fUndefi
Double_t TMinuit::fUp
Double_t TMinuit::fUpdflt

Definition at line 69 of file TMinuit.h.

Referenced by mninit(), mnprin(), and mnset().

Double_t* TMinuit::fVERTpp

Definition at line 129 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnvert().

Double_t* TMinuit::fVERTq

Definition at line 127 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnvert().

Double_t* TMinuit::fVERTs

Definition at line 128 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), and mnvert().

Double_t* TMinuit::fVhmat
Double_t TMinuit::fVlimhi

Definition at line 66 of file TMinuit.h.

Referenced by mninit(), and mnpint().

Double_t TMinuit::fVlimlo

Definition at line 65 of file TMinuit.h.

Referenced by mninit(), and mnpint().

Double_t* TMinuit::fVthmat

Definition at line 97 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncalf(), mncont(), mnimpr(), and mnmnot().

TString TMinuit::fWarmes[kMAXWARN]

Definition at line 181 of file TMinuit.h.

Referenced by mnwarn().

Double_t* TMinuit::fWerr
Double_t* TMinuit::fWord7
Double_t* TMinuit::fX
Double_t TMinuit::fXdircr

Definition at line 72 of file TMinuit.h.

Referenced by mncont(), mncros(), mneval(), and mnmnot().

Double_t TMinuit::fXmidcr

Definition at line 70 of file TMinuit.h.

Referenced by mncont(), mncros(), mneval(), and mnmnot().

Double_t* TMinuit::fXpt

Definition at line 104 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncont(), mncros(), and mnscan().

Double_t* TMinuit::fXs

Definition at line 85 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), and mnfree().

Double_t* TMinuit::fXt

Definition at line 83 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncalf(), mncont(), mnfixp(), mnfree(), mnimpr(), mnmnot(), and mnparm().

Double_t* TMinuit::fXts

Definition at line 86 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mnfixp(), and mnfree().

Double_t TMinuit::fYdircr

Definition at line 73 of file TMinuit.h.

Referenced by mncont(), mncros(), and mneval().

Double_t TMinuit::fYmidcr

Definition at line 71 of file TMinuit.h.

Referenced by mncont(), mncros(), and mneval().

Double_t* TMinuit::fYpt

Definition at line 105 of file TMinuit.h.

Referenced by BuildArrays(), DeleteArrays(), mncont(), mncros(), and mnscan().

Collaboration diagram for TMinuit:
[legend]

The documentation for this class was generated from the following files: