ROOT  6.06/09
Reference Guide
TMinuit.h
Go to the documentation of this file.
1 // @(#)root/minuit:$Id$
2 // Author: Rene Brun, Frederick James 12/08/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 // ---------------------------------- minuit.h
12 
13 
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TMinuit //
18 // //
19 // The MINUIT minimisation package (base class) //
20 // //
21 //////////////////////////////////////////////////////////////////////////
22 
23 #ifndef ROOT_TMinuit
24 #define ROOT_TMinuit
25 
26 #ifndef ROOT_TNamed
27 #include "TNamed.h"
28 #endif
29 
30 #ifndef ROOT_TMethodCall
31 #include "TMethodCall.h"
32 #endif
33 
34 class TMinuit : public TNamed {
35 
36 private:
37  TMinuit(const TMinuit &m);
38  TMinuit& operator=(const TMinuit &m); // Not implemented
39 
40 // should become private....
41 public:
42  enum{kMAXWARN=100};
43 
44  Int_t fNpfix; //Number of fixed parameters
45  Int_t fEmpty; //Initialization flag (1 = Minuit initialized)
46  Int_t fMaxpar; //Maximum number of parameters
47  Int_t fMaxint; //Maximum number of internal parameters
48  Int_t fNpar; //Number of free parameters (total number of pars = fNpar + fNfix)
49  Int_t fMaxext; //Maximum number of external parameters
50  Int_t fMaxIterations; //Maximum number of iterations
51  Int_t fMaxpar5; // fMaxpar*(fMaxpar+1)/2
53  Int_t fMaxpar2; // fMaxpar*fMaxpar
54  Int_t fMaxpar1; // fMaxpar*(fMaxpar+1)
55 
56  Double_t fAmin; //Minimum value found for FCN
57  Double_t fUp; //FCN+-UP defines errors (for chisquare fits UP=1)
58  Double_t fEDM; //Estimated vertical distance to the minimum
62  Double_t fDcovar; //Relative change in covariance matrix
63  Double_t fEpsmac; //machine precision for floating points:
64  Double_t fEpsma2; //sqrt(fEpsmac)
67  Double_t fUndefi; //Undefined number = -54321
68  Double_t fBigedm; //Big EDM = 123456
74 
75  Double_t *fU; //[fMaxpar2] External (visible to user in FCN) value of parameters
76  Double_t *fAlim; //[fMaxpar2] Lower limits for parameters. If zero no limits
77  Double_t *fBlim; //[fMaxpar2] Upper limits for parameters
78  Double_t *fErp; //[fMaxpar] Positive Minos errors if calculated
79  Double_t *fErn; //[fMaxpar] Negative Minos errors if calculated
80  Double_t *fWerr; //[fMaxpar] External parameters error (standard deviation, defined by UP)
81  Double_t *fGlobcc; //[fMaxpar] Global Correlation Coefficients
82  Double_t *fX; //[fMaxpar] Internal parameters values
83  Double_t *fXt; //[fMaxpar] Internal parameters values X saved as Xt
84  Double_t *fDirin; //[fMaxpar] (Internal) step sizes for current step
85  Double_t *fXs; //[fMaxpar] Internal parameters values saved for fixed params
86  Double_t *fXts; //[fMaxpar] Internal parameters values X saved as Xt for fixed params
87  Double_t *fDirins; //[fMaxpar] (Internal) step sizes for current step for fixed params
88  Double_t *fGrd; //[fMaxpar] First derivatives
89  Double_t *fG2; //[fMaxpar]
90  Double_t *fGstep; //[fMaxpar] Step sizes
91  Double_t *fGin; //[fMaxpar2]
92  Double_t *fDgrd; //[fMaxpar] Uncertainties
93  Double_t *fGrds; //[fMaxpar]
94  Double_t *fG2s; //[fMaxpar]
95  Double_t *fGsteps; //[fMaxpar]
96  Double_t *fVhmat; //[fMaxpar5] (Internal) error matrix stored as Half MATrix, since it is symmetric
97  Double_t *fVthmat; //[fMaxpar5] VHMAT is sometimes saved in VTHMAT, especially in MNMNOT
98  Double_t *fP; //[fMaxpar1]
99  Double_t *fPstar; //[fMaxpar2]
100  Double_t *fPstst; //[fMaxpar]
101  Double_t *fPbar; //[fMaxpar]
102  Double_t *fPrho; //[fMaxpar] Minimum point of parabola
103  Double_t *fWord7; //[fMaxpar]
104  Double_t *fXpt; //[fMaxcpt] X array of points for contours
105  Double_t *fYpt; //[fMaxcpt] Y array of points for contours
106 
107  Double_t *fCONTgcc; //[fMaxpar] array used in mncont
108  Double_t *fCONTw; //[fMaxpar] array used in mncont
109  Double_t *fFIXPyy; //[fMaxpar] array used in mnfixp
110  Double_t *fGRADgf; //[fMaxpar] array used in mngrad
111  Double_t *fHESSyy; //[fMaxpar] array used in mnhess
112  Double_t *fIMPRdsav; //[fMaxpar] array used in mnimpr
113  Double_t *fIMPRy; //[fMaxpar] array used in mnimpr
114  Double_t *fMATUvline; //[fMaxpar] array used in mnmatu
115  Double_t *fMIGRflnu; //[fMaxpar] array used in mnmigr
116  Double_t *fMIGRstep; //[fMaxpar] array used in mnmigr
117  Double_t *fMIGRgs; //[fMaxpar] array used in mnmigr
118  Double_t *fMIGRvg; //[fMaxpar] array used in mnmigr
119  Double_t *fMIGRxxs; //[fMaxpar] array used in mnmigr
120  Double_t *fMNOTxdev; //[fMaxpar] array used in mnmnot
121  Double_t *fMNOTw; //[fMaxpar] array used in mnmnot
122  Double_t *fMNOTgcc; //[fMaxpar] array used in mnmnot
123  Double_t *fPSDFs; //[fMaxpar] array used in mnpsdf
124  Double_t *fSEEKxmid; //[fMaxpar] array used in mnseek
125  Double_t *fSEEKxbest; //[fMaxpar] array used in mnseek
126  Double_t *fSIMPy; //[fMaxpar] array used in mnsimp
127  Double_t *fVERTq; //[fMaxpar] array used in mnvert
128  Double_t *fVERTs; //[fMaxpar] array used in mnvert
129  Double_t *fVERTpp; //[fMaxpar] array used in mnvert
130  Double_t *fCOMDplist; //[fMaxpar] array used in mncomd
131  Double_t *fPARSplist; //[fMaxpar] array used in mnpars
132 
133  Int_t *fNvarl; //[fMaxpar2] parameters flag (-1=undefined, 0=constant..)
134  Int_t *fNiofex; //[fMaxpar2] Internal parameters number, or zero if not currently variable
135  Int_t *fNexofi; //[fMaxpar] External parameters number for currently variable parameters
136  Int_t *fIpfix; //[fMaxpar] List of fixed parameters
137  Int_t fNu; //
138  Int_t fIsysrd; //standardInput unit
139  Int_t fIsyswr; //standard output unit
141  Int_t fNpagwd; //Page width
142  Int_t fNpagln; //Number of lines per page
144  Int_t fIstkrd[10]; //
146  Int_t fIstkwr[10]; //
148  Int_t fISW[7]; //Array of switches
149  Int_t fIdbg[11]; //Array of internal debug switches
150  Int_t fNblock; //Number of Minuit data blocks
151  Int_t fIcomnd; //Number of commands
152  Int_t fNfcn; //Number of calls to FCN
153  Int_t fNfcnmx; //Maximum number of calls to FCN
158  Int_t fNwrmes[2]; //
159  Int_t fNfcwar[20]; //
160  Int_t fIcirc[2]; //
161  Int_t fStatus; //Status flag for the last called Minuit function
164  Bool_t fLwarn; //true if warning messges are to be put out (default=true)
165  Bool_t fLrepor; //true if exceptional conditions are put out (default=false)
166  Bool_t fLimset; //true if a parameter is up against limits (for MINOS)
167  Bool_t fLnolim; //true if there are no limits on any parameters (not yet used)
168  Bool_t fLnewmn; //true if the previous process has unexpectedly improved FCN
169  Bool_t fLphead; //true if a heading should be put out for the next parameter definition
170  Bool_t fGraphicsMode; //true if graphics mode on (default)
171  char *fChpt; //!Character to be plotted at the X,Y contour positions
172  TString *fCpnam; //[fMaxpar2] Array of parameters names
179  TString fCovmes[4]; //
180  TString fOrigin[kMAXWARN]; //
181  TString fWarmes[kMAXWARN]; //
182  TObject *fObjectFit; //Pointer to object being fitted
183  TObject *fPlot; //Pointer to TGraph object created by mncont
184  TMethodCall *fMethodCall; //Pointer to MethodCall in case of interpreted function
185  void (*fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag); //!
186 
187 // methods performed on TMinuit class
188 public:
189  TMinuit();
190  TMinuit(Int_t maxpar);
191  virtual ~TMinuit();
192  virtual void BuildArrays(Int_t maxpar=15);
193  virtual TObject *Clone(const char *newname="") const; //Clone-Method to copy the function-pointer fFCN
194  virtual Int_t Command(const char *command);
195  virtual TObject *Contour(Int_t npoints=10, Int_t pa1=0, Int_t pa2=1);
196  virtual Int_t DefineParameter( Int_t parNo, const char *name, Double_t initVal, Double_t initErr, Double_t lowerLimit, Double_t upperLimit );
197  virtual void DeleteArrays();
198  virtual Int_t Eval(Int_t npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag);
199  virtual Int_t FixParameter( Int_t parNo );
201  TObject *GetObjectFit() const {return fObjectFit;}
203  virtual Int_t GetNumFixedPars() const;
204  virtual Int_t GetNumFreePars() const;
205  virtual Int_t GetNumPars() const;
206  virtual Int_t GetParameter( Int_t parNo, Double_t &currentValue, Double_t &currentError ) const;
207  virtual TObject *GetPlot() const {return fPlot;}
208  Int_t GetStatus() const {return fStatus;}
209  virtual Int_t Migrad();
210  virtual void mnamin();
211  virtual void mnbins(Double_t a1, Double_t a2, Int_t naa, Double_t &bl, Double_t &bh, Int_t &nb, Double_t &bwid);
212  virtual void mncalf(Double_t *pvec, Double_t &ycalf);
213  virtual void mncler();
214  virtual void mncntr(Int_t ke1, Int_t ke2, Int_t &ierrf);
215  virtual void mncomd(const char *crdbin, Int_t &icondn);
216  virtual void mncont(Int_t ke1, Int_t ke2, Int_t nptu, Double_t *xptu, Double_t *yptu, Int_t &ierrf);
217  virtual void mncrck(TString crdbuf, Int_t maxcwd, TString &comand, Int_t &lnc
218  , Int_t mxp, Double_t *plist, Int_t &llist, Int_t &ierr, Int_t isyswr);
219  virtual void mncros(Double_t &aopt, Int_t &iercr);
220  virtual void mncuve();
221  virtual void mnderi();
222  virtual void mndxdi(Double_t pint, Int_t ipar, Double_t &dxdi);
223  virtual void mneig(Double_t *a, Int_t ndima, Int_t n, Int_t mits, Double_t *work, Double_t precis, Int_t &ifault);
224  virtual void mnemat(Double_t *emat, Int_t ndim);
225  virtual void mnerrs(Int_t number, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &gcc);
226  virtual void mneval(Double_t anext, Double_t &fnext, Int_t &ierev);
227  virtual void mnexcm(const char *comand, Double_t *plist, Int_t llist, Int_t &ierflg) ;
228  virtual void mnexin(Double_t *pint);
229  virtual void mnfixp(Int_t iint, Int_t &ierr);
230  virtual void mnfree(Int_t k);
231  virtual void mngrad();
232  virtual void mnhelp(TString comd);
233  virtual void mnhelp(const char *command="");
234  virtual void mnhess();
235  virtual void mnhes1();
236  virtual void mnimpr();
237  virtual void mninex(Double_t *pint);
238  virtual void mninit(Int_t i1, Int_t i2, Int_t i3);
239  virtual void mnlims();
240  virtual void mnline(Double_t *start, Double_t fstart, Double_t *step, Double_t slope, Double_t toler);
241  virtual void mnmatu(Int_t kode);
242  virtual void mnmigr();
243  virtual void mnmnos();
244  virtual void mnmnot(Int_t ilax, Int_t ilax2, Double_t &val2pl, Double_t &val2mi);
245  virtual void mnparm(Int_t k, TString cnamj, Double_t uk, Double_t wk, Double_t a, Double_t b, Int_t &ierflg);
246  virtual void mnpars(TString &crdbuf, Int_t &icondn);
247  virtual void mnpfit(Double_t *parx2p, Double_t *pary2p, Int_t npar2p, Double_t *coef2p, Double_t &sdev2p);
248  virtual void mnpint(Double_t &pexti, Int_t i, Double_t &pinti);
249  virtual void mnplot(Double_t *xpt, Double_t *ypt, char *chpt, Int_t nxypt, Int_t npagwd, Int_t npagln);
250  virtual void mnpout(Int_t iuext, TString &chnam, Double_t &val, Double_t &err, Double_t &xlolim, Double_t &xuplim, Int_t &iuint) const;
251  virtual void mnprin(Int_t inkode, Double_t fval);
252  virtual void mnpsdf();
253  virtual void mnrazz(Double_t ynew, Double_t *pnew, Double_t *y, Int_t &jh, Int_t &jl);
254  virtual void mnrn15(Double_t &val, Int_t &inseed);
255  virtual void mnrset(Int_t iopt);
256  virtual void mnsave();
257  virtual void mnscan();
258  virtual void mnseek();
259  virtual void mnset();
260  virtual void mnsimp();
261  virtual void mnstat(Double_t &fmin, Double_t &fedm, Double_t &errdef, Int_t &npari, Int_t &nparx, Int_t &istat);
262  virtual void mntiny(volatile Double_t epsp1, Double_t &epsbak);
263  Bool_t mnunpt(TString &cfname);
264  virtual void mnvert(Double_t *a, Int_t l, Int_t m, Int_t n, Int_t &ifail);
265  virtual void mnwarn(const char *copt, const char *corg, const char *cmes);
266  virtual void mnwerr();
267  virtual Int_t Release( Int_t parNo );
268  virtual Int_t SetErrorDef( Double_t up );
269  virtual void SetFCN(void *fcn);
270  virtual void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
271  virtual void SetGraphicsMode(Bool_t mode=kTRUE) {fGraphicsMode = mode;}
272  virtual void SetMaxIterations(Int_t maxiter=500) {fMaxIterations = maxiter;}
273  virtual void SetObjectFit(TObject *obj) {fObjectFit=obj;}
274  virtual Int_t SetPrintLevel( Int_t printLevel=0 );
275 
276  ClassDef(TMinuit,1) //The MINUIT minimisation package
277 };
278 
280 
281 #endif
282 
Double_t * fMNOTw
Definition: TMinuit.h:121
virtual void mnsimp()
*-*-*-*-*Minimization using the simplex method of Nelder and Mead*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:7500
virtual void mnmnos()
*-*-*-*-*-*-*-*-*-*-*Performs a MINOS error analysis*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:5460
Double_t * fBlim
Definition: TMinuit.h:77
virtual TObject * GetPlot() const
Definition: TMinuit.h:207
Double_t * fXpt
Definition: TMinuit.h:104
TString fCword
Definition: TMinuit.h:176
virtual Int_t GetNumFreePars() const
returns the number of currently free parameters
Definition: TMinuit.cxx:865
double par[1]
Definition: unuranDistr.cxx:38
Int_t fMaxext
Definition: TMinuit.h:49
Int_t GetStatus() const
Definition: TMinuit.h:208
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*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:7707
Double_t fDcovar
Definition: TMinuit.h:62
virtual void mneval(Double_t anext, Double_t &fnext, Int_t &ierev)
*-*-*-*-*-*-*Evaluates the function being analyzed by MNCROS*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:2650
Int_t fIstrat
Definition: TMinuit.h:157
Int_t * fIpfix
Definition: TMinuit.h:136
virtual void mnprin(Int_t inkode, Double_t fval)
*-*-*-*Prints the values of the parameters at the time of the call*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:6381
Double_t * fGlobcc
Definition: TMinuit.h:81
virtual Int_t SetPrintLevel(Int_t printLevel=0)
set Minuit print level printlevel = -1 quiet (also suppresse all warnings) = 0 normal = 1 verbose ...
Definition: TMinuit.cxx:974
Double_t * fP
Definition: TMinuit.h:98
virtual void mnexin(Double_t *pint)
*-*-*-*-*Transforms the external parameter values U to internal values*-*-* *-* =====================...
Definition: TMinuit.cxx:3184
Double_t * fPrho
Definition: TMinuit.h:102
TMinuit & operator=(const TMinuit &m)
TString fCstatu
Definition: TMinuit.h:174
virtual void mnhes1()
*-*-*-*Calculate first derivatives (GRD) and uncertainties (DGRD)*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:4282
virtual void mnvert(Double_t *a, Int_t l, Int_t m, Int_t n, Int_t &ifail)
*-*-*-*-*-*-*-*-*-*-*-*Inverts a symmetric matrix*-*-*-*-*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:7768
Int_t fMaxIterations
Definition: TMinuit.h:50
Implementation in C++ of the Minuit package written by F.
Definition: TMinuit.h:34
Double_t * fCOMDplist
Definition: TMinuit.h:130
Int_t fKe2cr
Definition: TMinuit.h:163
Double_t * fWord7
Definition: TMinuit.h:103
virtual void mnemat(Double_t *emat, Int_t ndim)
Calculates the external error matrix from the internal matrix.
Definition: TMinuit.cxx:2531
Double_t * fXs
Definition: TMinuit.h:85
void(* fFCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
Definition: TMinuit.h:185
Double_t * fGrds
Definition: TMinuit.h:93
Bool_t fLnewmn
Definition: TMinuit.h:168
virtual void mnwarn(const char *copt, const char *corg, const char *cmes)
*-*-*-*-*-*-*-*-*-*-*-*Prints Warning messages*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =======================...
Definition: TMinuit.cxx:7857
virtual void SetObjectFit(TObject *obj)
Definition: TMinuit.h:273
Int_t fIsyswr
Definition: TMinuit.h:139
Int_t fItaur
Definition: TMinuit.h:156
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*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:4804
Double_t * fVhmat
Definition: TMinuit.h:96
virtual void mnseek()
*-*-*-*Performs a rough (but global) minimization by monte carlo search*-* *-* ======================...
Definition: TMinuit.cxx:6885
Int_t fNpagwd
Definition: TMinuit.h:141
Basic string class.
Definition: TString.h:137
Double_t * fMATUvline
Definition: TMinuit.h:114
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TArc * a
Definition: textangle.C:12
Double_t * fGRADgf
Definition: TMinuit.h:110
virtual void mnderi()
*-*-*-*-*-*-*-*Calculates the first derivatives of FCN (GRD)*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:2207
virtual void mncros(Double_t &aopt, Int_t &iercr)
*-*-*-*-*-*-*-*-*-*-*Find point where MNEVAL=AMIN+UP*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:1825
virtual void mngrad()
*-*-*-*-*-*-*-*-*-*Interprets the SET GRAD command*-*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:3398
Double_t * fMNOTxdev
Definition: TMinuit.h:120
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*-*-*-*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:1021
Double_t * fX
Definition: TMinuit.h:82
virtual void mnrset(Int_t iopt)
*-*-*-*-*-*-*-*Resets function value and errors to UNDEFINED*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:6725
TObject * fPlot
Definition: TMinuit.h:183
virtual void mntiny(volatile Double_t epsp1, Double_t &epsbak)
*-*-*-*-*-*-*-*To find the machine precision*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =======================...
Definition: TMinuit.cxx:7731
Int_t fNfcnlc
Definition: TMinuit.h:154
Int_t fNblock
Definition: TMinuit.h:150
TString fCtitl
Definition: TMinuit.h:175
Int_t fNstkwr
Definition: TMinuit.h:147
Double_t * fXts
Definition: TMinuit.h:86
Double_t * fDirin
Definition: TMinuit.h:84
virtual Int_t GetNumPars() const
returns the total number of parameters that have been defined as fixed or free.
Definition: TMinuit.cxx:874
virtual Int_t FixParameter(Int_t parNo)
fix a parameter
Definition: TMinuit.cxx:829
Double_t * fErn
Definition: TMinuit.h:79
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 pa...
Definition: TMinuit.cxx:802
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*-*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:2336
virtual void mnmigr()
*-*-*-*-*-*-*-*-*Performs a local function minimization*-*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:5119
virtual void SetFCN(void *fcn)
*-*-*-*-*-*-*To set the address of the minimization function*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:955
virtual void mnfree(Int_t k)
*-*-*-*Restores one or more fixed parameter(s) to variable status*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:3291
Double_t * fYpt
Definition: TMinuit.h:105
R__EXTERN TMinuit * gMinuit
Definition: TMinuit.h:279
Double_t fEpsmac
Definition: TMinuit.h:63
#define ClassDef(name, id)
Definition: Rtypes.h:254
Int_t * fNexofi
Definition: TMinuit.h:135
Int_t fMaxint
Definition: TMinuit.h:47
Int_t fNpar
Definition: TMinuit.h:48
Double_t * fPstar
Definition: TMinuit.h:99
Int_t fKe1cr
Definition: TMinuit.h:162
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
Double_t * fVERTq
Definition: TMinuit.h:127
Double_t fUndefi
Definition: TMinuit.h:67
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*-*-*-*-*-*-*-*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:1703
Double_t fBigedm
Definition: TMinuit.h:68
virtual void mnrn15(Double_t &val, Int_t &inseed)
*-*-*-*-*-*-*This is a super-portable random number generator*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:6696
Double_t * fSIMPy
Definition: TMinuit.h:126
virtual TObject * Contour(Int_t npoints=10, Int_t pa1=0, Int_t pa2=1)
Creates a TGraph object describing the n-sigma contour of a TMinuit fit.
Definition: TMinuit.cxx:654
virtual ~TMinuit()
*-*-*-*-*-*-*-*-*-*-*Minuit default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:493
Int_t fMaxpar5
Definition: TMinuit.h:51
virtual void DeleteArrays()
*-*-*-*-*-*-*-*-*-*-*-*Delete internal Minuit arrays*-*-*-*-*-*-*-*-* *-* ===========================...
Definition: TMinuit.cxx:710
virtual void mncuve()
*-*-*-*-*-*-*-*Makes sure that the current point is a local minimum*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:2158
Double_t fAmin
Definition: TMinuit.h:56
Double_t * fGrd
Definition: TMinuit.h:88
Int_t fNfcnfr
Definition: TMinuit.h:155
Double_t * fAlim
Definition: TMinuit.h:76
virtual void BuildArrays(Int_t maxpar=15)
*-*-*-*-*-*-*Create internal Minuit arrays for the maxpar parameters*-*-*-* *-* =====================...
Definition: TMinuit.cxx:509
Method or function calling interface.
Definition: TMethodCall.h:41
Double_t * fPARSplist
Definition: TMinuit.h:131
Double_t fYdircr
Definition: TMinuit.h:73
TObject * fObjectFit
Definition: TMinuit.h:182
Double_t * fGsteps
Definition: TMinuit.h:95
Int_t * fNvarl
Definition: TMinuit.h:133
virtual void mnmnot(Int_t ilax, Int_t ilax2, Double_t &val2pl, Double_t &val2mi)
*-*-*-*-*-*Performs a MINOS error analysis on one parameter*-*-*-*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:5536
Int_t fNstkrd
Definition: TMinuit.h:145
Int_t fMaxpar1
Definition: TMinuit.h:54
Double_t * fPbar
Definition: TMinuit.h:101
Double_t fYmidcr
Definition: TMinuit.h:71
Double_t * fSEEKxmid
Definition: TMinuit.h:124
TString fCfrom
Definition: TMinuit.h:173
Int_t fNewpag
Definition: TMinuit.h:143
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.
Definition: TMinuit.cxx:696
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*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:1421
Int_t fNfcnmx
Definition: TMinuit.h:153
Double_t * fVERTpp
Definition: TMinuit.h:129
TString fCundef
Definition: TMinuit.h:177
Int_t fNpfix
Definition: TMinuit.h:44
TString * fCpnam
Character to be plotted at the X,Y contour positions.
Definition: TMinuit.h:172
Double_t * fG2
Definition: TMinuit.h:89
Double_t fEpsi
Definition: TMinuit.h:60
Double_t * fSEEKxbest
Definition: TMinuit.h:125
Int_t fMaxpar2
Definition: TMinuit.h:53
virtual void mncler()
*-*-*-*-*-*-*-*-*-*-*Resets the parameter list to UNDEFINED*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:1129
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*-*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:5736
virtual Int_t GetParameter(Int_t parNo, Double_t &currentValue, Double_t &currentError) const
return parameter value and error
Definition: TMinuit.cxx:843
virtual void mnfixp(Int_t iint, Int_t &ierr)
*-*-*-*-*-*-*Removes parameter IINT from the internal parameter list*-*-* *-* =======================...
Definition: TMinuit.cxx:3203
Double_t fXmidcr
Definition: TMinuit.h:70
Int_t fStatus
Definition: TMinuit.h:161
virtual void mncalf(Double_t *pvec, Double_t &ycalf)
*-*-*-*-*-*-*-*-*-*Transform FCN to find further minima*-*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:1095
Double_t * fWerr
Definition: TMinuit.h:80
Double_t * fMIGRgs
Definition: TMinuit.h:117
char * fChpt
Definition: TMinuit.h:171
Bool_t fLnolim
Definition: TMinuit.h:167
Double_t * fDirins
Definition: TMinuit.h:87
Double_t * fIMPRdsav
Definition: TMinuit.h:112
Double_t * fPstst
Definition: TMinuit.h:100
virtual Int_t SetErrorDef(Double_t up)
To get the n-sigma contour the error def parameter "up" has to set to n^2.
Definition: TMinuit.cxx:910
Bool_t fLrepor
Definition: TMinuit.h:165
Double_t * fIMPRy
Definition: TMinuit.h:113
Double_t fApsi
Definition: TMinuit.h:61
TLine * l
Definition: textangle.C:4
Double_t * fXt
Definition: TMinuit.h:83
TMethodCall * GetMethodCall() const
Definition: TMinuit.h:200
TMethodCall * fMethodCall
Definition: TMinuit.h:184
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
Definition: TMinuit.cxx:594
Double_t fUpdflt
Definition: TMinuit.h:69
Double_t * fVERTs
Definition: TMinuit.h:128
virtual void mnerrs(Int_t number, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &gcc)
*-*-*-*-*-*-*-*-*-*Utility routine to get MINOS errors*-*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:2607
virtual void mnhess()
*-*-*-*-*-*Calculates the full second-derivative matrix of FCN*-*-*-*-*-*-*-* *-* ===================...
Definition: TMinuit.cxx:4056
Double_t fFval3
Definition: TMinuit.h:59
Double_t * fGstep
Definition: TMinuit.h:90
Int_t fIsyssa
Definition: TMinuit.h:140
Double_t * fMIGRflnu
Definition: TMinuit.h:115
Bool_t fGraphicsMode
Definition: TMinuit.h:170
Bool_t fLwarn
Definition: TMinuit.h:164
Double_t * fErp
Definition: TMinuit.h:78
Int_t * fNiofex
Definition: TMinuit.h:134
virtual Int_t GetNumFixedPars() const
returns the number of currently fixed parameters
Definition: TMinuit.cxx:857
virtual void mnpsdf()
*-*-*-*-*-*Calculates the eigenvalues of v to see if positive-def*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:6572
virtual void SetGraphicsMode(Bool_t mode=kTRUE)
Definition: TMinuit.h:271
virtual void mndxdi(Double_t pint, Int_t ipar, Double_t &dxdi)
*-*-*-*Calculates the transformation factor between ext/internal values*-* *-* ======================...
Definition: TMinuit.cxx:2323
Int_t fNpagln
Definition: TMinuit.h:142
Double_t * fMIGRxxs
Definition: TMinuit.h:119
Double_t fEDM
Definition: TMinuit.h:58
Double_t * fCONTgcc
Definition: TMinuit.h:107
Double_t * fFIXPyy
Definition: TMinuit.h:109
virtual void mnamin()
*-*-*-*-*-*-*-*-*-*-*-*-*Initialize AMIN*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-* =============== *-*C Ca...
Definition: TMinuit.cxx:995
Int_t fNfcn
Definition: TMinuit.h:152
double f(double x)
Double_t * fMNOTgcc
Definition: TMinuit.h:122
Double_t * fCONTw
Definition: TMinuit.h:108
virtual void mnscan()
*-*-*-*-*Scans the values of FCN as a function of one parameter*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:6774
double Double_t
Definition: RtypesCore.h:55
virtual void mnhelp(TString comd)
*-*-*-*-*-*-*-*HELP routine for MINUIT interactive commands*-*-*-*-*-*-*-*-* *-* ====================...
Definition: TMinuit.cxx:3476
virtual Int_t Release(Int_t parNo)
release a parameter
Definition: TMinuit.cxx:896
Double_t * fG2s
Definition: TMinuit.h:94
Double_t y[n]
Definition: legend1.C:17
Bool_t fLimset
Definition: TMinuit.h:166
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*-*-*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:6029
Double_t * fU
Definition: TMinuit.h:75
virtual void mnlims()
*-*-*-*Interprets the SET LIM command, to reset the parameter limits*-*-*-* *-* =====================...
Definition: TMinuit.cxx:4683
virtual void mnexcm(const char *comand, Double_t *plist, Int_t llist, Int_t &ierflg)
*-*-*-*-*-*Interprets a command and takes appropriate action*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:2696
virtual void mncntr(Int_t ke1, Int_t ke2, Int_t &ierrf)
*-*-*-*-*Print function contours in two variables, on line printer*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:1160
Int_t fMaxcpt
Definition: TMinuit.h:52
virtual void SetMaxIterations(Int_t maxiter=500)
Definition: TMinuit.h:272
virtual void mncomd(const char *crdbin, Int_t &icondn)
*-*-*-*-*-*-*-*-*-*-*Reads a command string and executes*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:1338
#define name(a, b)
Definition: linkTestLib0.cpp:5
Double_t * fGin
Definition: TMinuit.h:91
virtual Int_t Command(const char *command)
execute a Minuit command Equivalent to MNEXCM except that the command is given as a character string...
Definition: TMinuit.cxx:627
virtual void mninit(Int_t i1, Int_t i2, Int_t i3)
*-*-*-*-*-*Main initialization member function for MINUIT*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:4592
Mother of all ROOT objects.
Definition: TObject.h:58
Double_t * fMIGRstep
Definition: TMinuit.h:116
virtual Int_t Migrad()
invokes the MIGRAD minimizer
Definition: TMinuit.cxx:882
Int_t fIcomnd
Definition: TMinuit.h:151
virtual void mnpars(TString &crdbuf, Int_t &icondn)
*-*-*-*-*-*-*-*Implements one parameter definition*-*-*-*-*-*-*-*-*-*-*-*-* *-* =========== =========...
Definition: TMinuit.cxx:5939
Double_t * fVthmat
Definition: TMinuit.h:97
#define R__EXTERN
Definition: DllImport.h:27
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*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:6143
typedef void((*Func_t)())
virtual void mnpint(Double_t &pexti, Int_t i, Double_t &pinti)
*-*-*-*-*-*-*Calculates the internal parameter value PINTI*-*-*-*-*-*-*-* *-* =======================...
Definition: TMinuit.cxx:6091
virtual void mnsave()
*-*-*-*Writes current parameter values and step sizes onto file ISYSSA*-*-* *-* =====================...
Definition: TMinuit.cxx:6760
virtual void mninex(Double_t *pint)
*-*-*-*-*Transforms from internal coordinates (PINT) to external (U)*-*-*-* *-* =====================...
Definition: TMinuit.cxx:4571
Double_t * fPSDFs
Definition: TMinuit.h:123
Double_t * fMIGRvg
Definition: TMinuit.h:118
Int_t GetMaxIterations() const
Definition: TMinuit.h:202
Double_t fVlimlo
Definition: TMinuit.h:65
Double_t fEpsma2
Definition: TMinuit.h:64
virtual void mnmatu(Int_t kode)
*-*-*-*-*-*-*-*Prints the covariance matrix v when KODE=1*-*-*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:5039
virtual void mnset()
*-*-*-*-*Interprets the commands that start with SET and SHOW*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:6981
Double_t fUp
Definition: TMinuit.h:57
Int_t fEmpty
Definition: TMinuit.h:45
Double_t fXdircr
Definition: TMinuit.h:72
Bool_t mnunpt(TString &cfname)
*-*-*-*-*-*Returns .TRUE.
Definition: TMinuit.cxx:7741
Int_t fMaxpar
Definition: TMinuit.h:46
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*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:6647
TObject * GetObjectFit() const
Definition: TMinuit.h:201
const Bool_t kTRUE
Definition: Rtypes.h:91
Double_t * fDgrd
Definition: TMinuit.h:92
TObject * obj
Bool_t fLphead
Definition: TMinuit.h:169
TString fCvrsn
Definition: TMinuit.h:178
Int_t fIsysrd
Definition: TMinuit.h:138
Int_t fNu
Definition: TMinuit.h:137
Double_t * fHESSyy
Definition: TMinuit.h:111
const Int_t n
Definition: legend1.C:16
Double_t fVlimhi
Definition: TMinuit.h:66
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*-*-* *-* ====================...
Definition: TMinuit.cxx:6325
virtual void mnimpr()
*-*-*-*-*-*-*Attempts to improve on a good local minimum*-*-*-*-*-*-*-*-*-* *-* =====================...
Definition: TMinuit.cxx:4359
virtual void mnwerr()
*-*-*-*-*-*-*-*Calculates the WERR, external parameter errors*-*-*-*-*-*-* *-* ======================...
Definition: TMinuit.cxx:7935