AmpTools
URMinuit.h
Go to the documentation of this file.
1 // @(#)root/minuit:$Name: $:$Id: URMinuit.h,v 1.2 2009/05/15 23:58:05 hrayr Exp $
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 
16 // //
17 // URMinuit //
18 // //
19 // The MINUIT minimisation package (base class) //
20 // //
22 
23 #ifndef UPROOT_URMinuit
24 #define UPROOT_URMinuit
25 
26 #include <string.h>
27 #include <vector>
28 #include <ostream>
29 #include <algorithm>
30 
31 #include "UpRootMinuit/URtypes.h"
32 #include "UpRootMinuit/URFcn.h"
33 
34 class URMinuit {
35 
36 private:
37  URMinuit(const URMinuit &m); // prevent default
38 
39 // should become private....
40 public:
41  enum{kMAXWARN=100};
42 
43  Int_urt fNpfix; //Number of fixed parameters
44  Int_urt fEmpty; //Initialization flag (1 = Minuit initialized)
45  Int_urt fMaxpar; //Maximum number of parameters
46  Int_urt fMaxint; //Maximum number of internal parameters
47  Int_urt fNpar; //Number of free parameters (total number of pars = fNpar + fNfix)
48  Int_urt fMaxext; //Maximum number of external parameters
49  Int_urt fMaxIterations; //Maximum number of iterations
50  Int_urt fMaxpar5; // fMaxpar*(fMaxpar+1)/2
52  Int_urt fMaxpar2; // fMaxpar*fMaxpar
53  Int_urt fMaxpar1; // fMaxpar*(fMaxpar+1)
54 
55  Double_urt fAmin; //Minimum value found for FCN
56  Double_urt fUp; //FCN+-UP defines errors (for chisquare fits UP=1)
57  Double_urt fEDM; //Estimated vertical distance to the minimum
61  Double_urt fDcovar; //Relative change in covariance matrix
62  Double_urt fEpsmac; //machine precision for floating points:
63  Double_urt fEpsma2; //sqrt(fEpsmac)
66  Double_urt fUndefi; //Undefined number = -54321
67  Double_urt fBigedm; //Big EDM = 123456
73 
74 // Double_urt *fU; //[fMaxpar2] External (visible to user in FCN) value of parameters
75  Double_urt *fAlim; //[fMaxpar2] Lower limits for parameters. If zero no limits
76  Double_urt *fBlim; //[fMaxpar2] Upper limits for parameters
77  Double_urt *fErp; //[fMaxpar] Positive Minos errors if calculated
78  Double_urt *fErn; //[fMaxpar] Negative Minos errors if calculated
79  Double_urt *fWerr; //[fMaxpar] External parameters error (standard deviation, defined by UP)
80  Double_urt *fGlobcc; //[fMaxpar] Global Correlation Coefficients
81  Double_urt *fX; //[fMaxpar] Internal parameters values
82  Double_urt *fXt; //[fMaxpar] Internal parameters values X saved as Xt
83  Double_urt *fDirin; //[fMaxpar] (Internal) step sizes for current step
84  Double_urt *fXs; //[fMaxpar] Internal parameters values saved for fixed params
85  Double_urt *fXts; //[fMaxpar] Internal parameters values X saved as Xt for fixed params
86  Double_urt *fDirins; //[fMaxpar] (Internal) step sizes for current step for fixed params
87  Double_urt *fGrd; //[fMaxpar] First derivatives
88  Double_urt *fG2; //[fMaxpar]
89  Double_urt *fGstep; //[fMaxpar] Step sizes
90  Double_urt *fGin; //[fMaxpar2]
91  Double_urt *fDgrd; //[fMaxpar] Uncertainties
92  Double_urt *fGrds; //[fMaxpar]
93  Double_urt *fG2s; //[fMaxpar]
94  Double_urt *fGsteps; //[fMaxpar]
95  Double_urt *fVhmat; //[fMaxpar5] (Internal) error matrix stored as Half MATrix, since it is symmetric
96  Double_urt *fSecDer; //[fMaxpar5] matrix of second derivatives filled in HESSE
97  Double_urt *fVthmat; //[fMaxpar5] VHMAT is sometimes saved in VTHMAT, especially in MNMNOT
98  Double_urt *fP; //[fMaxpar1]
99  Double_urt *fPstar; //[fMaxpar2]
100  Double_urt *fPstst; //[fMaxpar]
101  Double_urt *fPbar; //[fMaxpar]
102  Double_urt *fPrho; //[fMaxpar] Minimum point of parabola
103  Double_urt *fWord7; //[fMaxpar]
104  Double_urt *fXpt; //[fMaxcpt] X array of points for contours
105  Double_urt *fYpt; //[fMaxcpt] Y array of points for contours
106 
107  Double_urt *fCONTgcc; //[fMaxpar] array used in mncont
108  Double_urt *fCONTw; //[fMaxpar] array used in mncont
109  Double_urt *fFIXPyy; //[fMaxpar] array used in mnfixp
110  Double_urt *fGRADgf; //[fMaxpar] array used in mngrad
111  Double_urt *fHESSyy; //[fMaxpar] array used in mnhess
112  Double_urt *fIMPRdsav; //[fMaxpar] array used in mnimpr
113  Double_urt *fIMPRy; //[fMaxpar] array used in mnimpr
114  Double_urt *fMATUvline; //[fMaxpar] array used in mnmatu
115  Double_urt *fMIGRflnu; //[fMaxpar] array used in mnmigr
116  Double_urt *fMIGRstep; //[fMaxpar] array used in mnmigr
117  Double_urt *fMIGRgs; //[fMaxpar] array used in mnmigr
118  Double_urt *fMIGRvg; //[fMaxpar] array used in mnmigr
119  Double_urt *fMIGRxxs; //[fMaxpar] array used in mnmigr
120  Double_urt *fMNOTxdev; //[fMaxpar] array used in mnmnot
121  Double_urt *fMNOTw; //[fMaxpar] array used in mnmnot
122  Double_urt *fMNOTgcc; //[fMaxpar] array used in mnmnot
123  Double_urt *fPSDFs; //[fMaxpar] array used in mnpsdf
124  Double_urt *fSEEKxmid; //[fMaxpar] array used in mnseek
125  Double_urt *fSEEKxbest; //[fMaxpar] array used in mnseek
126  Double_urt *fSIMPy; //[fMaxpar] array used in mnsimp
127  Double_urt *fVERTq; //[fMaxpar] array used in mnvert
128  Double_urt *fVERTs; //[fMaxpar] array used in mnvert
129  Double_urt *fVERTpp; //[fMaxpar] array used in mnvert
130  Double_urt *fCOMDplist; //[fMaxpar] array used in mncomd
131  Double_urt *fPARSplist; //[fMaxpar] array used in mnpars
132 
133 // Int_urt *fNvarl; //[fMaxpar2] parameters flag (-1=undefined, 0=constant..)
134 // Int_urt *fNiofex; //[fMaxpar2] Internal parameters number, or zero if not currently variable
135  Int_urt *fNexofi; //[fMaxpar] External parameters number for currently variable parameters
136  Int_urt *fIpfix; //[fMaxpar] List of fixed parameters
138  Int_urt fIsysrd; //standardInput unit
139  Int_urt fIsyswr; //standard output unit
141  Int_urt fNpagwd; //Page width
142  Int_urt fNpagln; //Number of lines per page
144  Int_urt fIstkrd[10]; //
146  Int_urt fIstkwr[10]; //
148  Int_urt fISW[7]; //Array of switches
149  Int_urt fIdbg[11]; //Array of internal debug switches
150  Int_urt fNblock; //Number of Minuit data blocks
151  Int_urt fIcomnd; //Number of commands
152  Int_urt fNfcn; //Number of calls to FCN
153  Int_urt fNfcnmx; //Maximum number of calls to FCN
159  Int_urt fNfcwar[20]; //
161  Int_urt fStatus; //Status flag for the last called Minuit function
164  Bool_urt fLwarn; //true if warning messges are to be put out (default=true)
165  Bool_urt fLrepor; //true if exceptional conditions are put out (default=false)
166  Bool_urt fLimset; //true if a parameter is up against limits (for MINOS)
167  Bool_urt fLnolim; //true if there are no limits on any parameters (not yet used)
168  Bool_urt fLnewmn; //true if the previous process has unexpectedly improved FCN
169  Bool_urt fLphead; //true if a heading should be put out for the next parameter definition
170  char *fChpt;
171 // std::string *fCpnam; //[fMaxpar2] Array of parameters names
172  std::string fCfrom; //
173  std::string fCstatu; //
174  std::string fCtitl; //
175  std::string fCword; //
176  std::string fCundef; //
177  std::string fCvrsn; //
178  std::string fCovmes[4]; //
179  std::string fOrigin[kMAXWARN]; //
180  std::string fWarmes[kMAXWARN]; //
181  URFcn* fFCN; // function to be minimized
182  // (*fFCN)(Int_urt &npar, Double_urt *gin, Double_urt &f, Double_urt *u, Int_urt flag); //!
183 
184 // methods performed on URMinuit class
185 public:
186  URMinuit();
187  URMinuit(Int_urt maxpar);
188  virtual ~URMinuit();
189  virtual void BuildArrays(Int_urt maxpar=15);
190  virtual void zeroPointers();
191  virtual Int_urt Command(const char *command);
192  virtual Int_urt DefineParameter( Int_urt parNo,
193  const std::string& name,
194  Double_urt initVal,
195  Double_urt initErr,
196  Double_urt lowerLimit,
197  Double_urt upperLimit );
198  virtual void DeleteArrays();
199  virtual Int_urt Eval(Int_urt npar, Double_urt *grad, Double_urt &fval, const std::vector<Double_urt>& par, Int_urt flag);
200  virtual Int_urt FixParameter( Int_urt parNo );
201  bool parameterFixed( Int_urt parameterNumber );
203  virtual Int_urt GetNumFixedPars() const;
204  virtual Int_urt GetNumFreePars() const;
205  virtual Int_urt GetNumPars() const;
206  virtual Int_urt GetParameter( Int_urt parNo, Double_urt &currentValue, Double_urt &currentError ) const;
207  Int_urt GetStatus() const {return fStatus;}
208  const std::vector<Double_urt>& GetParameterList() const {return m_userParameterValue;}
209  virtual Int_urt Migrad();
210  virtual Int_urt Minos();
211  virtual Int_urt Hesse();
212  void SetLogStream( std::ostream& aStream ) { m_logStream = &aStream; }
213  virtual void mnamin();
214  virtual void mnbins(Double_urt a1, Double_urt a2, Int_urt naa, Double_urt &bl, Double_urt &bh, Int_urt &nb, Double_urt &bwid);
215  virtual void mncalf(Double_urt *pvec, Double_urt &ycalf);
216  virtual void mncler();
217  virtual void mncntr(Int_urt ke1, Int_urt ke2, Int_urt &ierrf);
218  virtual void mncomd(const std::string& crdbin, Int_urt &icondn);
219  virtual void mncont(Int_urt ke1, Int_urt ke2, Int_urt nptu, Double_urt *xptu, Double_urt *yptu, Int_urt &ierrf);
220 // virtual void mncrck(const std::string& crdbuf, Int_urt maxcwd, const std::string &comand, Int_urt &lnc
221 // header change (mrs43):
222 // seems as if the point of this is to modify comand - should not be a const reference
223 // cardbuf also appears to be an input only -- pass by value instead of const reference
224  virtual void mncrck(std::string crdbuf, Int_urt maxcwd, std::string &comand, Int_urt &lnc,
225  Int_urt mxp, Double_urt *plist, Int_urt &llist, Int_urt &ierr, Int_urt isyswr);
226  virtual void mncros(Double_urt &aopt, Int_urt &iercr);
227  virtual void mncuve();
228  virtual void mnderi();
229  virtual void mndxdi(Double_urt pint, Int_urt ipar, Double_urt &dxdi);
230  virtual void mneig(Double_urt *a, Int_urt ndima, Int_urt n, Int_urt mits, Double_urt *work, Double_urt precis, Int_urt &ifault);
231  virtual void mnemat(Double_urt *emat, Int_urt ndim);
232  virtual void mnerrs(Int_urt number, Double_urt &eplus, Double_urt &eminus, Double_urt &eparab, Double_urt &gcc);
233  virtual void mneval(Double_urt anext, Double_urt &fnext, Int_urt &ierev);
234  virtual void mnexcm(const std::string& command, Double_urt *plist, Int_urt llist, Int_urt &ierflg) ;
235  virtual void mnexin(Double_urt *pint);
236  virtual void mnfixp(Int_urt iint, Int_urt &ierr);
237  virtual void mnfree(Int_urt k);
238  virtual void mngrad();
239  virtual void mnhelp(const std::string& comd);
240  virtual void mnhelp();
241  virtual void mnhess();
242  virtual void mnhes1();
243  virtual void mnimpr();
244  virtual void mninex(Double_urt *pint);
245  virtual void mninit(Int_urt i1, Int_urt i2, Int_urt i3);
246  virtual void mnlims();
247  virtual void mnline(Double_urt *start, Double_urt fstart, Double_urt *step, Double_urt slope, Double_urt toler);
248  virtual void mnmatu(Int_urt kode);
249  virtual void mnmigr();
250  virtual void mnmnos();
251  virtual void mnmnot(Int_urt ilax, Int_urt ilax2, Double_urt &val2pl, Double_urt &val2mi);
252  virtual void mnparm(Int_urt k, const std::string& cnamj, Double_urt uk, Double_urt wk, Double_urt a, Double_urt b, Int_urt &ierflg);
253  virtual void mnpars(const std::string& crdbuf, Int_urt &icondn);
254  virtual void mnpfit(Double_urt *parx2p, Double_urt *pary2p, Int_urt npar2p, Double_urt *coef2p, Double_urt &sdev2p);
255  virtual void mnpint(Double_urt &pexti, Int_urt i, Double_urt &pinti);
256  virtual void mnplot(Double_urt *xpt, Double_urt *ypt, char *chpt, Int_urt nxypt, Int_urt npagwd, Int_urt npagln);
257  virtual void mnpout(Int_urt iuext, std::string& chnam, Double_urt &val, Double_urt &err, Double_urt &xlolim, Double_urt &xuplim, Int_urt &iuint) const;
258  virtual void mnprin(Int_urt inkode, Double_urt fval);
259  virtual void mnpsdf();
260  virtual void mnrazz(Double_urt ynew, Double_urt *pnew, Double_urt *y, Int_urt &jh, Int_urt &jl);
261  virtual void mnrn15(Double_urt &val, Int_urt &inseed);
262  virtual void mnrset(Int_urt iopt);
263  virtual void mnsave();
264  virtual void mnscan();
265  virtual void mnseek();
266  virtual void mnset();
267  virtual void mnsimp();
268  virtual void mnstat(Double_urt &fmin, Double_urt &fedm, Double_urt &errdef, Int_urt &npari, Int_urt &nparx, Int_urt &istat);
269  virtual void mntiny(Double_urt epsp1, Double_urt &epsbak);
270  Bool_urt mnunpt(const std::string& cfname);
271  virtual void mnvert(Double_urt *a, Int_urt l, Int_urt m, Int_urt n, Int_urt &ifail);
272  void mnwarn( const char* copt1, const char* corg1, const char* cmes1);
273  virtual void mnwerr();
274  virtual Int_urt Release( Int_urt parNo );
275  virtual Int_urt SetErrorDef( Double_urt up );
276 // virtual void SetFCN(void (*fcn)(Int_urt &, Double_urt *, Double_urt &f, Double_urt *, Int_urt));
277  virtual void SetFCN(URFcn* fcn);
278  virtual void SetMaxIterations(Int_urt maxiter=5000) {fMaxIterations = maxiter;}
279  virtual Int_urt SetPrintLevel( Int_urt printLevel=0 );
280 
281  private:
282 
283  // External (user) parameter information
284  std::vector<Int_urt> m_userParameterIdToInternalId; //Internal parameters number, or zero if not currently variable (was fNiofex)
285  std::vector<Double_urt> m_userParameterValue; // External (visible to user in FCN) value of parameters (was fU)
286  std::vector<std::string> m_userParameterName; // parameters names (was fCpnam)
287  std::vector<Int_urt> m_userParameterFlag; // parameter flags (-1=undefined, 0=constant..) (was fNvarl)
288  std::ostream* m_logStream;
289 };
290 
291 #endif
292 
Double_urt fUp
Definition: URMinuit.h:56
virtual void mnset()
Definition: URMinuit.cc:6919
Int_urt fMaxpar
Definition: URMinuit.h:45
Int_urt fIsyssa
Definition: URMinuit.h:140
Double_urt * fWerr
Definition: URMinuit.h:79
Int_urt fNstkwr
Definition: URMinuit.h:147
Double_urt fYdircr
Definition: URMinuit.h:72
virtual void mncuve()
Definition: URMinuit.cc:1846
virtual void mnwerr()
Definition: URMinuit.cc:7887
virtual Int_urt FixParameter(Int_urt parNo)
Definition: URMinuit.cc:433
Double_urt * fErp
Definition: URMinuit.h:77
virtual void mnpars(const std::string &crdbuf, Int_urt &icondn)
Definition: URMinuit.cc:5780
Double_urt * fYpt
Definition: URMinuit.h:105
void mnwarn(const char *copt1, const char *corg1, const char *cmes1)
Definition: URMinuit.cc:7803
Int_urt fStatus
Definition: URMinuit.h:161
Double_urt fUndefi
Definition: URMinuit.h:66
virtual void mnlims()
Definition: URMinuit.cc:4452
Int_urt fNfcwar[20]
Definition: URMinuit.h:159
Double_urt * fG2
Definition: URMinuit.h:88
virtual void mnmnos()
Definition: URMinuit.cc:5247
Double_urt fEpsi
Definition: URMinuit.h:59
Int_urt fNpfix
Definition: URMinuit.h:43
Double_urt * fMNOTxdev
Definition: URMinuit.h:120
virtual void mnhess()
Definition: URMinuit.cc:3796
virtual void mnemat(Double_urt *emat, Int_urt ndim)
Definition: URMinuit.cc:2232
Double_urt * fDirins
Definition: URMinuit.h:86
std::string fCtitl
Definition: URMinuit.h:174
Double_urt * fGRADgf
Definition: URMinuit.h:110
Double_urt * fCONTgcc
Definition: URMinuit.h:107
Double_urt fBigedm
Definition: URMinuit.h:67
std::string fCundef
Definition: URMinuit.h:176
Double_urt * fMNOTw
Definition: URMinuit.h:121
Double_urt fXdircr
Definition: URMinuit.h:71
virtual void mnpout(Int_urt iuext, std::string &chnam, Double_urt &val, Double_urt &err, Double_urt &xlolim, Double_urt &xuplim, Int_urt &iuint) const
Definition: URMinuit.cc:6151
Bool_urt fLrepor
Definition: URMinuit.h:165
Definition: URFcn.h:21
int Int_urt
Definition: URtypes.h:37
Double_urt * fGlobcc
Definition: URMinuit.h:80
virtual Int_urt GetParameter(Int_urt parNo, Double_urt &currentValue, Double_urt &currentError) const
Definition: URMinuit.cc:448
Double_urt * fX
Definition: URMinuit.h:81
virtual Int_urt GetNumFreePars() const
Definition: URMinuit.cc:469
virtual void mntiny(Double_urt epsp1, Double_urt &epsbak)
Definition: URMinuit.cc:7682
Double_urt * fDirin
Definition: URMinuit.h:83
Double_urt fXmidcr
Definition: URMinuit.h:69
virtual void mnimpr()
Definition: URMinuit.cc:4120
Double_urt fVlimhi
Definition: URMinuit.h:65
Int_urt fMaxIterations
Definition: URMinuit.h:49
virtual void mnexcm(const std::string &command, Double_urt *plist, Int_urt llist, Int_urt &ierflg)
Definition: URMinuit.cc:2393
virtual void BuildArrays(Int_urt maxpar=15)
Definition: URMinuit.cc:164
Double_urt * fXs
Definition: URMinuit.h:84
virtual void mnseek()
Definition: URMinuit.cc:6821
virtual Int_urt DefineParameter(Int_urt parNo, const std::string &name, Double_urt initVal, Double_urt initErr, Double_urt lowerLimit, Double_urt upperLimit)
Definition: URMinuit.cc:288
Double_urt * fPSDFs
Definition: URMinuit.h:123
Double_urt * fVERTq
Definition: URMinuit.h:127
Int_urt fMaxpar2
Definition: URMinuit.h:52
Bool_urt mnunpt(const std::string &cfname)
Definition: URMinuit.cc:7695
Int_urt fNblock
Definition: URMinuit.h:150
virtual void mnexin(Double_urt *pint)
Definition: URMinuit.cc:2909
virtual Int_urt Migrad()
Definition: URMinuit.cc:486
void SetLogStream(std::ostream &aStream)
Definition: URMinuit.h:212
Double_urt * fVthmat
Definition: URMinuit.h:97
virtual void mnfixp(Int_urt iint, Int_urt &ierr)
Definition: URMinuit.cc:2930
virtual Int_urt SetPrintLevel(Int_urt printLevel=0)
Definition: URMinuit.cc:564
Int_urt * fNexofi
Definition: URMinuit.h:135
char * fChpt
Definition: URMinuit.h:170
Double_urt * fMNOTgcc
Definition: URMinuit.h:122
Int_urt fISW[7]
Definition: URMinuit.h:148
Int_urt fNfcnlc
Definition: URMinuit.h:154
Double_urt * fPARSplist
Definition: URMinuit.h:131
Double_urt fFval3
Definition: URMinuit.h:58
Int_urt GetStatus() const
Definition: URMinuit.h:207
virtual void mnvert(Double_urt *a, Int_urt l, Int_urt m, Int_urt n, Int_urt &ifail)
Definition: URMinuit.cc:7719
virtual void mnrn15(Double_urt &val, Int_urt &inseed)
Definition: URMinuit.cc:6626
URFcn * fFCN
Definition: URMinuit.h:181
Double_urt * fVhmat
Definition: URMinuit.h:95
Double_urt * fMIGRvg
Definition: URMinuit.h:118
Double_urt * fHESSyy
Definition: URMinuit.h:111
Double_urt * fSecDer
Definition: URMinuit.h:96
virtual Int_urt GetNumFixedPars() const
Definition: URMinuit.cc:461
Int_urt fMaxpar5
Definition: URMinuit.h:50
Double_urt * fFIXPyy
Definition: URMinuit.h:109
Double_urt * fGrd
Definition: URMinuit.h:87
Double_urt * fMATUvline
Definition: URMinuit.h:114
virtual void mnpint(Double_urt &pexti, Int_urt i, Double_urt &pinti)
Definition: URMinuit.cc:5940
Double_urt fYmidcr
Definition: URMinuit.h:70
Int_urt fIstkwr[10]
Definition: URMinuit.h:146
Int_urt fMaxcpt
Definition: URMinuit.h:51
Double_urt * fMIGRgs
Definition: URMinuit.h:117
Double_urt * fSEEKxbest
Definition: URMinuit.h:125
virtual void mnrset(Int_urt iopt)
Definition: URMinuit.cc:6655
virtual void mnsimp()
Definition: URMinuit.cc:7445
Double_urt * fGsteps
Definition: URMinuit.h:94
Double_urt * fAlim
Definition: URMinuit.h:75
Double_urt fUpdflt
Definition: URMinuit.h:68
virtual void mndxdi(Double_urt pint, Int_urt ipar, Double_urt &dxdi)
Definition: URMinuit.cc:2023
virtual Int_urt Release(Int_urt parNo)
Definition: URMinuit.cc:531
Bool_urt fLphead
Definition: URMinuit.h:169
std::string fCword
Definition: URMinuit.h:175
Double_urt * fPstst
Definition: URMinuit.h:100
Double_urt * fGin
Definition: URMinuit.h:90
Double_urt * fP
Definition: URMinuit.h:98
virtual void mnderi()
Definition: URMinuit.cc:1896
virtual void mnsave()
Definition: URMinuit.cc:6693
virtual void mngrad()
Definition: URMinuit.cc:3133
Double_urt * fIMPRy
Definition: URMinuit.h:113
Int_urt GetMaxIterations() const
Definition: URMinuit.h:202
virtual void mnrazz(Double_urt ynew, Double_urt *pnew, Double_urt *y, Int_urt &jh, Int_urt &jl)
Definition: URMinuit.cc:6579
Double_urt * fGstep
Definition: URMinuit.h:89
virtual void mneig(Double_urt *a, Int_urt ndima, Int_urt n, Int_urt mits, Double_urt *work, Double_urt precis, Int_urt &ifault)
Definition: URMinuit.cc:2041
virtual void mnhes1()
Definition: URMinuit.cc:4042
Int_urt fIstkrd[10]
Definition: URMinuit.h:144
Int_urt fIstrat
Definition: URMinuit.h:157
Double_urt * fXpt
Definition: URMinuit.h:104
virtual void mnparm(Int_urt k, const std::string &cnamj, Double_urt uk, Double_urt wk, Double_urt a, Double_urt b, Int_urt &ierflg)
Definition: URMinuit.cc:5543
Int_urt * fIpfix
Definition: URMinuit.h:136
Double_urt * fDgrd
Definition: URMinuit.h:91
virtual void mnhelp()
Definition: URMinuit.cc:3202
Bool_urt fLnolim
Definition: URMinuit.h:167
virtual void mncont(Int_urt ke1, Int_urt ke2, Int_urt nptu, Double_urt *xptu, Double_urt *yptu, Int_urt &ierrf)
Definition: URMinuit.cc:1045
Double_urt fDcovar
Definition: URMinuit.h:61
Int_urt fEmpty
Definition: URMinuit.h:44
virtual void mnfree(Int_urt k)
Definition: URMinuit.cc:3013
Double_urt * fPrho
Definition: URMinuit.h:102
Double_urt * fMIGRflnu
Definition: URMinuit.h:115
Double_urt * fMIGRstep
Definition: URMinuit.h:116
virtual void mnline(Double_urt *start, Double_urt fstart, Double_urt *step, Double_urt slope, Double_urt toler)
Definition: URMinuit.cc:4573
virtual Int_urt Minos()
Definition: URMinuit.cc:516
Double_urt fEDM
Definition: URMinuit.h:57
Double_urt * fG2s
Definition: URMinuit.h:93
Int_urt fItaur
Definition: URMinuit.h:156
Bool_urt fLimset
Definition: URMinuit.h:166
virtual void mnpsdf()
Definition: URMinuit.cc:6501
std::string fWarmes[kMAXWARN]
Definition: URMinuit.h:180
Double_urt * fCONTw
Definition: URMinuit.h:108
Double_urt * fCOMDplist
Definition: URMinuit.h:130
Double_urt * fXts
Definition: URMinuit.h:85
Int_urt fNfcnmx
Definition: URMinuit.h:153
Double_urt fVlimlo
Definition: URMinuit.h:64
Bool_urt fLnewmn
Definition: URMinuit.h:168
virtual void mnerrs(Int_urt number, Double_urt &eplus, Double_urt &eminus, Double_urt &eparab, Double_urt &gcc)
Definition: URMinuit.cc:2309
virtual void mncler()
Definition: URMinuit.cc:713
virtual void mninit(Int_urt i1, Int_urt i2, Int_urt i3)
Definition: URMinuit.cc:4360
Double_urt * fVERTs
Definition: URMinuit.h:128
std::string fCvrsn
Definition: URMinuit.h:177
virtual Int_urt Command(const char *command)
Definition: URMinuit.cc:257
Int_urt fNfcn
Definition: URMinuit.h:152
Int_urt fMaxint
Definition: URMinuit.h:46
Int_urt fMaxext
Definition: URMinuit.h:48
virtual void mncros(Double_urt &aopt, Int_urt &iercr)
Definition: URMinuit.cc:1504
Int_urt fKe2cr
Definition: URMinuit.h:163
Int_urt fIsyswr
Definition: URMinuit.h:139
Double_urt fAmin
Definition: URMinuit.h:55
Double_urt * fSEEKxmid
Definition: URMinuit.h:124
std::string fOrigin[kMAXWARN]
Definition: URMinuit.h:179
Double_urt fEpsma2
Definition: URMinuit.h:63
Int_urt fNu
Definition: URMinuit.h:137
std::string fCstatu
Definition: URMinuit.h:173
Double_urt * fPstar
Definition: URMinuit.h:99
Int_urt fIdbg[11]
Definition: URMinuit.h:149
double Double_urt
Definition: URtypes.h:50
virtual void mninex(Double_urt *pint)
Definition: URMinuit.cc:4336
Double_urt * fBlim
Definition: URMinuit.h:76
virtual Int_urt GetNumPars() const
Definition: URMinuit.cc:477
Double_urt * fGrds
Definition: URMinuit.h:92
virtual void mncntr(Int_urt ke1, Int_urt ke2, Int_urt &ierrf)
Definition: URMinuit.cc:747
virtual void mnmatu(Int_urt kode)
Definition: URMinuit.cc:4817
virtual void DeleteArrays()
Definition: URMinuit.cc:301
virtual Int_urt Hesse()
Definition: URMinuit.cc:501
Double_urt * fIMPRdsav
Definition: URMinuit.h:112
Int_urt fNpagwd
Definition: URMinuit.h:141
Int_urt fNewpag
Definition: URMinuit.h:143
virtual void mnstat(Double_urt &fmin, Double_urt &fedm, Double_urt &errdef, Int_urt &npari, Int_urt &nparx, Int_urt &istat)
Definition: URMinuit.cc:7648
Int_urt fNpar
Definition: URMinuit.h:47
bool parameterFixed(Int_urt parameterNumber)
Definition: URMinuit.cc:419
virtual void mnscan()
Definition: URMinuit.cc:6706
virtual void mncrck(std::string crdbuf, Int_urt maxcwd, std::string &comand, Int_urt &lnc, Int_urt mxp, Double_urt *plist, Int_urt &llist, Int_urt &ierr, Int_urt isyswr)
Definition: URMinuit.cc:1376
std::string fCfrom
Character to be plotted at the X,Y contour positions.
Definition: URMinuit.h:172
Bool_urt fLwarn
Definition: URMinuit.h:164
bool Bool_urt
Definition: URtypes.h:52
virtual void mnpfit(Double_urt *parx2p, Double_urt *pary2p, Int_urt npar2p, Double_urt *coef2p, Double_urt &sdev2p)
Definition: URMinuit.cc:5871
Int_urt fNfcnfr
Definition: URMinuit.h:155
Int_urt fKe1cr
Definition: URMinuit.h:162
std::string fCovmes[4]
Definition: URMinuit.h:178
virtual void mnprin(Int_urt inkode, Double_urt fval)
Definition: URMinuit.cc:6215
Double_urt * fWord7
Definition: URMinuit.h:103
virtual Int_urt SetErrorDef(Double_urt up)
Definition: URMinuit.cc:545
Double_urt * fSIMPy
Definition: URMinuit.h:126
virtual void mnmnot(Int_urt ilax, Int_urt ilax2, Double_urt &val2pl, Double_urt &val2mi)
Definition: URMinuit.cc:5326
virtual void mnmigr()
Definition: URMinuit.cc:4904
Int_urt fIcirc[2]
Definition: URMinuit.h:160
Int_urt fNwrmes[2]
Definition: URMinuit.h:158
virtual void SetMaxIterations(Int_urt maxiter=5000)
Definition: URMinuit.h:278
virtual ~URMinuit()
Definition: URMinuit.cc:84
Int_urt fNpagln
Definition: URMinuit.h:142
virtual void mnamin()
Definition: URMinuit.cc:575
virtual Int_urt Eval(Int_urt npar, Double_urt *grad, Double_urt &fval, const std::vector< Double_urt > &par, Int_urt flag)
Definition: URMinuit.cc:374
Double_urt * fMIGRxxs
Definition: URMinuit.h:119
virtual void mnbins(Double_urt a1, Double_urt a2, Int_urt naa, Double_urt &bl, Double_urt &bh, Int_urt &nb, Double_urt &bwid)
Definition: URMinuit.cc:600
Int_urt fNstkrd
Definition: URMinuit.h:145
Double_urt * fXt
Definition: URMinuit.h:82
Double_urt * fPbar
Definition: URMinuit.h:101
Double_urt fEpsmac
Definition: URMinuit.h:62
virtual void mncalf(Double_urt *pvec, Double_urt &ycalf)
Definition: URMinuit.cc:676
virtual void mneval(Double_urt anext, Double_urt &fnext, Int_urt &ierev)
Definition: URMinuit.cc:2357
virtual void mncomd(const std::string &crdbin, Int_urt &icondn)
Definition: URMinuit.cc:952
Int_urt fMaxpar1
Definition: URMinuit.h:53
Double_urt * fErn
Definition: URMinuit.h:78
Double_urt * fVERTpp
Definition: URMinuit.h:129
Double_urt fApsi
Definition: URMinuit.h:60
virtual void SetFCN(URFcn *fcn)
Definition: URMinuit.cc:555
Int_urt fIsysrd
Definition: URMinuit.h:138
virtual void mnplot(Double_urt *xpt, Double_urt *ypt, char *chpt, Int_urt nxypt, Int_urt npagwd, Int_urt npagln)
Definition: URMinuit.cc:5985
virtual void zeroPointers()
Definition: URMinuit.cc:94
const std::vector< Double_urt > & GetParameterList() const
Definition: URMinuit.h:208
URMinuit()
Definition: URMinuit.cc:41
Int_urt fIcomnd
Definition: URMinuit.h:151