[2403] | 1 | *
|
---|
| 2 | * $Id: mnhelp.F,v 1.1.1.1 2003-06-11 14:18:27 cmv Exp $
|
---|
| 3 | *
|
---|
| 4 | * $Log: not supported by cvs2svn $
|
---|
| 5 | * Revision 1.2 1999/09/03 09:17:47 couet
|
---|
| 6 | * - \Cind{} removed in the help of minuit. This was a Tex directive which very
|
---|
| 7 | * likely has been forgotten during a Tex to f77 translation. This didn't
|
---|
| 8 | * compile on RH6.
|
---|
| 9 | *
|
---|
| 10 | * Revision 1.1.1.1 1996/03/07 14:31:30 mclareni
|
---|
| 11 | * Minuit
|
---|
| 12 | *
|
---|
| 13 | *
|
---|
| 14 | #include "minuit/pilot.h"
|
---|
| 15 | SUBROUTINE MNHELP(COMD,LOUT)
|
---|
| 16 | *.
|
---|
| 17 | *. HELP routine for MINUIT interactive commands.
|
---|
| 18 | *.
|
---|
| 19 | *. COMD ='* ' prints a global help for all commands
|
---|
| 20 | *. COMD =Command_name: print detailed help for one command.
|
---|
| 21 | *. Note that at least 3 characters must be given for the command name.
|
---|
| 22 | *.
|
---|
| 23 | *. Author: Rene Brun
|
---|
| 24 | * comments extracted from the MINUIT documentation file.
|
---|
| 25 | *.
|
---|
| 26 | CHARACTER*(*) COMD
|
---|
| 27 | CHARACTER*3 CMD3
|
---|
| 28 | *.
|
---|
| 29 | *-- command name ASSUMED to be in upper case
|
---|
| 30 | *__________________________________________________________________
|
---|
| 31 | *--
|
---|
| 32 | *-- Global HELP: Summary of all commands
|
---|
| 33 | *-- ====================================
|
---|
| 34 | *--
|
---|
| 35 | IF(COMD(1:1) .EQ. '*')THEN
|
---|
| 36 | WRITE(LOUT,10000)
|
---|
| 37 | WRITE(LOUT,10001)
|
---|
| 38 | GO TO 99
|
---|
| 39 | ENDIF
|
---|
| 40 | 10000 FORMAT(' ==>List of MINUIT Interactive commands:',/,
|
---|
| 41 | +' CLEar Reset all parameter names and values undefined',/,
|
---|
| 42 | +' CONtour Make contour map of the user function',/,
|
---|
| 43 | +' EXIT Exit from Interactive Minuit',/,
|
---|
| 44 | +' FIX Cause parameter(s) to remain constant',/,
|
---|
| 45 | +' HESse Calculate the Hessian or error matrix.',/,
|
---|
| 46 | +' IMPROVE Search for a new minimum around current minimum',/,
|
---|
| 47 | +' MIGrad Minimize by the method of Migrad',/,
|
---|
| 48 | +' MINImize MIGRAD + SIMPLEX method if Migrad fails',/,
|
---|
| 49 | +' MINOs Exact (non-linear) parameter error analysis')
|
---|
| 50 | 10001 FORMAT(' MNContour Calculate one MINOS function contour',/,
|
---|
| 51 | +' PARameter Define or redefine new parameters and values',/,
|
---|
| 52 | +' RELease Make previously FIXed parameters variable again',/,
|
---|
| 53 | +' REStore Release last parameter fixed',/,
|
---|
| 54 | +' SAVe Save current parameter values on a file',/,
|
---|
| 55 | +' SCAn Scan the user function by varying parameters',/,
|
---|
| 56 | +' SEEk Minimize by the method of Monte Carlo',/,
|
---|
| 57 | +' SET Set various MINUIT constants or conditions',/,
|
---|
| 58 | +' SHOw Show values of current constants or conditions',/,
|
---|
| 59 | +' SIMplex Minimize by the method of Simplex')
|
---|
| 60 | *
|
---|
| 61 | CMD3=COMD(1:3)
|
---|
| 62 | *__________________________________________________________________
|
---|
| 63 | *--
|
---|
| 64 | *-- Command CLEAR
|
---|
| 65 | *-- =============
|
---|
| 66 | *.
|
---|
| 67 | IF(CMD3.EQ.'CLE')THEN
|
---|
| 68 | WRITE(LOUT,10100)
|
---|
| 69 | GO TO 99
|
---|
| 70 | ENDIF
|
---|
| 71 | 10100 FORMAT(' ***>CLEAR',/,
|
---|
| 72 | +' Resets all parameter names and values to undefined.',/,
|
---|
| 73 | +' Must normally be followed by a PARameters command or ',/,
|
---|
| 74 | +' equivalent, in order to define parameter values.')
|
---|
| 75 | *__________________________________________________________________
|
---|
| 76 | *--
|
---|
| 77 | *-- Command CONTOUR
|
---|
| 78 | *-- ===============
|
---|
| 79 | *.
|
---|
| 80 | IF(CMD3.EQ.'CON')THEN
|
---|
| 81 | WRITE(LOUT,10200)
|
---|
| 82 | GO TO 99
|
---|
| 83 | ENDIF
|
---|
| 84 | 10200 FORMAT(' ***>CONTOUR <par1> <par2> [devs] [ngrid]',/,
|
---|
| 85 | +' Instructs Minuit to trace contour lines of the user function',/,
|
---|
| 86 | +' with respect to the two parameters whose external numbers',/,
|
---|
| 87 | +' are <par1> and <par2>.',/,
|
---|
| 88 | +' Other variable parameters of the function, if any, will have',/,
|
---|
| 89 | +' their values fixed at the current values during the contour',/,
|
---|
| 90 | +' tracing. The optional parameter [devs] (default value 2.)',/,
|
---|
| 91 | +' gives the number of standard deviations in each parameter',/,
|
---|
| 92 | +' which should lie entirely within the plotting area.',/,
|
---|
| 93 | +' Optional parameter [ngrid] (default value 25 unless page',/,
|
---|
| 94 | +' size is too small) determines the resolution of the plot,',/,
|
---|
| 95 | +' i.e. the number of rows and columns of the grid at which the',/,
|
---|
| 96 | +' function will be evaluated. [See also MNContour.]')
|
---|
| 97 | *__________________________________________________________________
|
---|
| 98 | *--
|
---|
| 99 | *-- Command END
|
---|
| 100 | *-- ===========
|
---|
| 101 | *.
|
---|
| 102 | IF(CMD3.EQ.'END')THEN
|
---|
| 103 | WRITE(LOUT,10300)
|
---|
| 104 | GO TO 99
|
---|
| 105 | ENDIF
|
---|
| 106 | 10300 FORMAT(' ***>END',/,
|
---|
| 107 | +' Signals the end of a data block (i.e., the end of a fit),',/,
|
---|
| 108 | +' and implies that execution should continue, because another',/,
|
---|
| 109 | +' Data Block follows. A Data Block is a set of Minuit data',/,
|
---|
| 110 | +' consisting of',/,
|
---|
| 111 | +' (1) A Title,',/,
|
---|
| 112 | +' (2) One or more Parameter Definitions,',/,
|
---|
| 113 | +' (3) A blank line, and',/,
|
---|
| 114 | +' (4) A set of Minuit Commands.',/,
|
---|
| 115 | +' The END command is used when more than one Data Block is to',/,
|
---|
| 116 | +' be used with the same FCN function. It first causes Minuit',/,
|
---|
| 117 | +' to issue a CALL FCN with IFLAG=3, in order to allow FCN to',/,
|
---|
| 118 | +' perform any calculations associated with the final fitted',/,
|
---|
| 119 | +' parameter values, unless a CALL FCN 3 command has already',/,
|
---|
| 120 | +' been executed at the current FCN value.')
|
---|
| 121 | *__________________________________________________________________
|
---|
| 122 | *.
|
---|
| 123 | *--
|
---|
| 124 | *-- Command EXIT
|
---|
| 125 | *-- ============
|
---|
| 126 | IF(CMD3 .EQ.'EXI')THEN
|
---|
| 127 | WRITE(LOUT,10400)
|
---|
| 128 | GO TO 99
|
---|
| 129 | ENDIF
|
---|
| 130 | 10400 FORMAT(' ***>EXIT',/,
|
---|
| 131 | +' Signals the end of execution.',/,
|
---|
| 132 | +' The EXIT command first causes Minuit to issue a CALL FCN',/,
|
---|
| 133 | +' with IFLAG=3, to allow FCN to perform any calculations',/,
|
---|
| 134 | +' associated with the final fitted parameter values, unless a',/,
|
---|
| 135 | +' CALL FCN 3 command has already been executed.')
|
---|
| 136 | *__________________________________________________________________
|
---|
| 137 | *--
|
---|
| 138 | *-- Command FIX
|
---|
| 139 | *-- ===========
|
---|
| 140 | *.
|
---|
| 141 | IF(CMD3.EQ.'FIX')THEN
|
---|
| 142 | WRITE(LOUT,10500)
|
---|
| 143 | GO TO 99
|
---|
| 144 | ENDIF
|
---|
| 145 | 10500 FORMAT(' ***>FIX} <parno> [parno] ... [parno]',/,
|
---|
| 146 | +' Causes parameter(s) <parno> to be removed from the list of',/,
|
---|
| 147 | +' variable parameters, and their value(s) will remain constant',/,
|
---|
| 148 | +' during subsequent minimizations, etc., until another command',/,
|
---|
| 149 | +' changes their value(s) or status.')
|
---|
| 150 | *__________________________________________________________________
|
---|
| 151 | *--
|
---|
| 152 | *-- Command HESSE
|
---|
| 153 | *-- =============
|
---|
| 154 | *.
|
---|
| 155 | IF(CMD3.EQ.'HES')THEN
|
---|
| 156 | WRITE(LOUT,10600)
|
---|
| 157 | GO TO 99
|
---|
| 158 | ENDIF
|
---|
| 159 | 10600 FORMAT(' ***>HESse [maxcalls]',/,
|
---|
| 160 | +' Calculate, by finite differences, the Hessian or error matrix.',
|
---|
| 161 | +/,' That is, it calculates the full matrix of second derivatives'
|
---|
| 162 | +,/,' of the function with respect to the currently variable',/,
|
---|
| 163 | +' parameters, and inverts it, printing out the resulting error',/,
|
---|
| 164 | +' matrix. The optional argument [maxcalls] specifies the',/,
|
---|
| 165 | +' (approximate) maximum number of function calls after which',/,
|
---|
| 166 | +' the calculation will be stopped.')
|
---|
| 167 | *__________________________________________________________________
|
---|
| 168 | *--
|
---|
| 169 | *-- Command IMPROVE
|
---|
| 170 | *-- ===============
|
---|
| 171 | *.
|
---|
| 172 | IF(CMD3.EQ.'IMP')THEN
|
---|
| 173 | WRITE(LOUT,10700)
|
---|
| 174 | GO TO 99
|
---|
| 175 | ENDIF
|
---|
| 176 | 10700 FORMAT(' ***>IMPROVE [maxcalls]',/,
|
---|
| 177 | +' If a previous minimization has converged, and the current',/,
|
---|
| 178 | +' values of the parameters therefore correspond to a local',/,
|
---|
| 179 | +' minimum of the function, this command requests a search for',/,
|
---|
| 180 | +' additional distinct local minima.',/,
|
---|
| 181 | +' The optional argument [maxcalls] specifies the (approximate)',/,
|
---|
| 182 | +' maximum number of function calls after which the calculation',/,
|
---|
| 183 | +' will be stopped.')
|
---|
| 184 | *__________________________________________________________________
|
---|
| 185 | *--
|
---|
| 186 | *-- Command MIGRAD
|
---|
| 187 | *-- ==============
|
---|
| 188 | *.
|
---|
| 189 | IF(CMD3.EQ.'MIG')THEN
|
---|
| 190 | WRITE(LOUT,10800)
|
---|
| 191 | GO TO 99
|
---|
| 192 | ENDIF
|
---|
| 193 | 10800 FORMAT(' ***>MIGrad [maxcalls] [tolerance]',/,
|
---|
| 194 | +' Causes minimization of the function by the method of Migrad,',/,
|
---|
| 195 | +' the most efficient and complete single method, recommended',/,
|
---|
| 196 | +' for general functions (see also MINImize).',/,
|
---|
| 197 | +' The minimization produces as a by-product the error matrix',/,
|
---|
| 198 | +' of the parameters, which is usually reliable unless warning',/,
|
---|
| 199 | +' messages are produced.',/,
|
---|
| 200 | +' The optional argument [maxcalls] specifies the (approximate)',/,
|
---|
| 201 | +' maximum number of function calls after which the calculation',/,
|
---|
| 202 | +' will be stopped even if it has not yet converged.',/,
|
---|
| 203 | +' The optional argument [tolerance] specifies required tolerance',
|
---|
| 204 | +/,' on the function value at the minimum.',/,
|
---|
| 205 | +' The default tolerance is 0.1, and the minimization will stop',/,
|
---|
| 206 | +' when the estimated vertical distance to the minimum (EDM) is',/,
|
---|
| 207 | +' less than 0.001*[tolerance]*UP (see [SET ERRordef]).')
|
---|
| 208 | *__________________________________________________________________
|
---|
| 209 | *--
|
---|
| 210 | *-- Command MINIMIZE
|
---|
| 211 | *-- ================
|
---|
| 212 | *.
|
---|
| 213 | IF(COMD(1:4).EQ.'MINI')THEN
|
---|
| 214 | WRITE(LOUT,10900)
|
---|
| 215 | GO TO 99
|
---|
| 216 | ENDIF
|
---|
| 217 | 10900 FORMAT(' ***>MINImize [maxcalls] [tolerance]',/,
|
---|
| 218 | +' Causes minimization of the function by the method of Migrad,',/,
|
---|
| 219 | +' as does the MIGrad command, but switches to the SIMplex method',
|
---|
| 220 | +/,' if Migrad fails to converge. Arguments are as for MIGrad.',/,
|
---|
| 221 | +' Note that command requires four characters to be unambiguous.')
|
---|
| 222 | *__________________________________________________________________
|
---|
| 223 | *--
|
---|
| 224 | *-- Command MINOS
|
---|
| 225 | *-- =============
|
---|
| 226 | *.
|
---|
| 227 | IF(COMD(1:4).EQ.'MINO')THEN
|
---|
| 228 | WRITE(LOUT,11000)
|
---|
| 229 | GO TO 99
|
---|
| 230 | ENDIF
|
---|
| 231 | 11000 FORMAT(' ***>MINOs [maxcalls] [parno] [parno] ...',/,
|
---|
| 232 | +' Causes a Minos error analysis to be performed on the parameters'
|
---|
| 233 | +,/,' whose numbers [parno] are specified. If none are specified,',
|
---|
| 234 | +/,' Minos errors are calculated for all variable parameters.',/,
|
---|
| 235 | +' Minos errors may be expensive to calculate, but are very',/,
|
---|
| 236 | +' reliable since they take account of non-linearities in the',/,
|
---|
| 237 | +' problem as well as parameter correlations, and are in general',/
|
---|
| 238 | +' asymmetric.',/,
|
---|
| 239 | +' The optional argument [maxcalls] specifies the (approximate)',/,
|
---|
| 240 | +' maximum number of function calls per parameter requested,',/,
|
---|
| 241 | +' after which the calculation will stop for that parameter.')
|
---|
| 242 | *__________________________________________________________________
|
---|
| 243 | *--
|
---|
| 244 | *-- Command MNCONTOUR
|
---|
| 245 | *-- =================
|
---|
| 246 | *.
|
---|
| 247 | IF(CMD3.EQ.'MNC')THEN
|
---|
| 248 | WRITE(LOUT,11100)
|
---|
| 249 | GO TO 99
|
---|
| 250 | ENDIF
|
---|
| 251 | 11100 FORMAT(' ***>MNContour <par1> <par2> [npts]',/,
|
---|
| 252 | +' Calculates one function contour of FCN with respect to',/,
|
---|
| 253 | +' parameters par1 and par2, with FCN minimized always with',/,
|
---|
| 254 | +' respect to all other NPAR-2 variable parameters (if any).',/,
|
---|
| 255 | +' Minuit will try to find npts points on the contour (default 20)'
|
---|
| 256 | +,/,' If only two parameters are variable at the time, it is not',
|
---|
| 257 | +/,' necessary to specify their numbers. To calculate more than',/,
|
---|
| 258 | +' one contour, it is necessary to SET ERRordef to the appropriate'
|
---|
| 259 | +,/,' value and issue the MNContour command for each contour.')
|
---|
| 260 | *__________________________________________________________________
|
---|
| 261 | *--
|
---|
| 262 | *-- Command PARAMETER
|
---|
| 263 | *-- =================
|
---|
| 264 | *.
|
---|
| 265 | IF(CMD3.EQ.'PAR')THEN
|
---|
| 266 | WRITE(LOUT,11150)
|
---|
| 267 | GO TO 99
|
---|
| 268 | ENDIF
|
---|
| 269 | 11150 FORMAT(' ***>PARameters',/,
|
---|
| 270 | +' followed by one or more parameter definitions.',/,
|
---|
| 271 | +' Parameter definitions are of the form:',/,
|
---|
| 272 | +' <number> ''name'' <value> <step> [lolim] [uplim] ',/,
|
---|
| 273 | +' for example:',/,
|
---|
| 274 | +' 3 ''K width'' 1.2 0.1' ,/,
|
---|
| 275 | +' the last definition is followed by a blank line or a zero.')
|
---|
| 276 | *__________________________________________________________________
|
---|
| 277 | *--
|
---|
| 278 | *-- Command RELEASE
|
---|
| 279 | *-- ===============
|
---|
| 280 | *.
|
---|
| 281 | IF(CMD3.EQ.'REL')THEN
|
---|
| 282 | WRITE(LOUT,11200)
|
---|
| 283 | GO TO 99
|
---|
| 284 | ENDIF
|
---|
| 285 | 11200 FORMAT(' ***>RELease <parno> [parno] ... [parno]',/,
|
---|
| 286 | +' If <parno> is the number of a previously variable parameter',/,
|
---|
| 287 | +' which has been fixed by a command: FIX <parno>, then that',/,
|
---|
| 288 | +' parameter will return to variable status. Otherwise a warning'
|
---|
| 289 | +,/,' message is printed and the command is ignored.',/,
|
---|
| 290 | +' Note that this command operates only on parameters which were',/
|
---|
| 291 | +' at one time variable and have been FIXed. It cannot make',/,
|
---|
| 292 | +' constant parameters variable; that must be done by redefining',/
|
---|
| 293 | +' the parameter with a PARameters command.')
|
---|
| 294 | *__________________________________________________________________
|
---|
| 295 | *--
|
---|
| 296 | *-- Command RESTORE
|
---|
| 297 | *-- ===============
|
---|
| 298 | *.
|
---|
| 299 | IF(CMD3.EQ.'RES')THEN
|
---|
| 300 | WRITE(LOUT,11300)
|
---|
| 301 | GO TO 99
|
---|
| 302 | ENDIF
|
---|
| 303 | 11300 FORMAT(' ***>REStore [code]',/,
|
---|
| 304 | +' If no [code] is specified, this command restores all previously'
|
---|
| 305 | +,/,' FIXed parameters to variable status. If [code]=1, then only',
|
---|
| 306 | +/,' the last parameter FIXed is restored to variable status.',/,
|
---|
| 307 | +' If code is neither zero nor one, the command is ignored.')
|
---|
| 308 | *__________________________________________________________________
|
---|
| 309 | *--
|
---|
| 310 | *-- Command RETURN
|
---|
| 311 | *-- ==============
|
---|
| 312 | *.
|
---|
| 313 | IF(CMD3.EQ.'RET')THEN
|
---|
| 314 | WRITE(LOUT,11400)
|
---|
| 315 | GO TO 99
|
---|
| 316 | ENDIF
|
---|
| 317 | 11400 FORMAT(' ***>RETURN',/,
|
---|
| 318 | +' Signals the end of a data block, and instructs Minuit to return'
|
---|
| 319 | +,/,' to the program which called it. The RETurn command first',/,
|
---|
| 320 | +' causes Minuit to CALL FCN with IFLAG=3, in order to allow FCN',/
|
---|
| 321 | +,' to perform any calculations associated with the final fitted',/
|
---|
| 322 | +,' parameter values, unless a CALL FCN 3 command has already been'
|
---|
| 323 | +,/,' executed at the current FCN value.')
|
---|
| 324 | *__________________________________________________________________
|
---|
| 325 | *--
|
---|
| 326 | *-- Command SAVE
|
---|
| 327 | *-- ============
|
---|
| 328 | *.
|
---|
| 329 | IF(CMD3.EQ.'SAV')THEN
|
---|
| 330 | WRITE(LOUT,11500)
|
---|
| 331 | GO TO 99
|
---|
| 332 | ENDIF
|
---|
| 333 | 11500 FORMAT(' ***>SAVe',/,
|
---|
| 334 | +' Causes the current parameter values to be saved on a file in',/,
|
---|
| 335 | +' such a format that they can be read in again as Minuit',/,
|
---|
| 336 | +' parameter definitions. If the covariance matrix exists, it is',/
|
---|
| 337 | +,' also output in such a format. The unit number is by default 7,'
|
---|
| 338 | +,/,' or that specified by the user in his call to MINTIO or',/,
|
---|
| 339 | +' MNINIT. The user is responsible for opening the file previous'
|
---|
| 340 | +,/,' to issuing the [SAVe] command (except where this can be done'
|
---|
| 341 | +,/,' interactively).')
|
---|
| 342 | *__________________________________________________________________
|
---|
| 343 | *--
|
---|
| 344 | *-- Command SCAN
|
---|
| 345 | *-- ============
|
---|
| 346 | *.
|
---|
| 347 | IF(CMD3.EQ.'SCA')THEN
|
---|
| 348 | WRITE(LOUT,11600)
|
---|
| 349 | GO TO 99
|
---|
| 350 | ENDIF
|
---|
| 351 | 11600 FORMAT(' ***>SCAn [parno] [numpts] [from] [to]',/,
|
---|
| 352 | +' Scans the value of the user function by varying parameter',/,
|
---|
| 353 | +' number [parno], leaving all other parameters fixed at the',/,
|
---|
| 354 | +' current value. If [parno] is not specified, all variable',/,
|
---|
| 355 | +' parameters are scanned in sequence.',/,
|
---|
| 356 | +' The number of points [numpts] in the scan is 40 by default,',/,
|
---|
| 357 | +' and cannot exceed 100. The range of the scan is by default',/,
|
---|
| 358 | +' 2 standard deviations on each side of the current best value,',
|
---|
| 359 | +/,' but can be specified as from [from] to [to].',/,
|
---|
| 360 | +' After each scan, if a new minimum is found, the best parameter'
|
---|
| 361 | +,/,' values are retained as start values for future scans or',/,
|
---|
| 362 | +' minimizations. The curve resulting from each scan is plotted',/
|
---|
| 363 | +,' on the output unit in order to show the approximate behaviour'
|
---|
| 364 | +,/,' of the function.',/,
|
---|
| 365 | +' This command is not intended for minimization, but is sometimes'
|
---|
| 366 | +,/,' useful for debugging the user function or finding a',/,
|
---|
| 367 | +' reasonable starting point.')
|
---|
| 368 | *__________________________________________________________________
|
---|
| 369 | *--
|
---|
| 370 | *-- Command SEEK
|
---|
| 371 | *-- ============
|
---|
| 372 | *.
|
---|
| 373 | IF(CMD3.EQ.'SEE')THEN
|
---|
| 374 | WRITE(LOUT,11700)
|
---|
| 375 | GO TO 99
|
---|
| 376 | ENDIF
|
---|
| 377 | 11700 FORMAT(' ***>SEEk [maxcalls] [devs]',/,
|
---|
| 378 | +' Causes a Monte Carlo minimization of the function, by choosing',
|
---|
| 379 | +/,' random values of the variable parameters, chosen uniformly',/,
|
---|
| 380 | +' over a hypercube centered at the current best value.',/,
|
---|
| 381 | +' The region size is by default 3 standard deviations on each',/,
|
---|
| 382 | +' side, but can be changed by specifying the value of [devs].')
|
---|
| 383 | *__________________________________________________________________
|
---|
| 384 | *--
|
---|
| 385 | *-- Command SET
|
---|
| 386 | *-- ===========
|
---|
| 387 | *.
|
---|
| 388 | IF(CMD3.EQ.'SET')THEN
|
---|
| 389 | WRITE(LOUT,11800)
|
---|
| 390 | WRITE(LOUT,11801)
|
---|
| 391 | WRITE(LOUT,11802)
|
---|
| 392 | WRITE(LOUT,11803)
|
---|
| 393 | WRITE(LOUT,11804)
|
---|
| 394 | WRITE(LOUT,11805)
|
---|
| 395 | WRITE(LOUT,11806)
|
---|
| 396 | WRITE(LOUT,11807)
|
---|
| 397 | WRITE(LOUT,11808)
|
---|
| 398 | WRITE(LOUT,11809)
|
---|
| 399 | WRITE(LOUT,11810)
|
---|
| 400 | WRITE(LOUT,11811)
|
---|
| 401 | WRITE(LOUT,11812)
|
---|
| 402 | WRITE(LOUT,11813)
|
---|
| 403 | WRITE(LOUT,11814)
|
---|
| 404 | WRITE(LOUT,11815)
|
---|
| 405 | WRITE(LOUT,11816)
|
---|
| 406 | WRITE(LOUT,11817)
|
---|
| 407 | GO TO 99
|
---|
| 408 | ENDIF
|
---|
| 409 | 11800 FORMAT(' ***>SET <option_name>',/,/,
|
---|
| 410 | +' SET BATch',/,
|
---|
| 411 | +' Informs Minuit that it is running in batch mode.',//,
|
---|
| 412 |
|
---|
| 413 | +' SET EPSmachine <accuracy>',/,
|
---|
| 414 | +' Informs Minuit that the relative floating point arithmetic',/
|
---|
| 415 | +' precision is <accuracy>. Minuit determines the nominal',/,
|
---|
| 416 | +' precision itself, but the SET EPSmachine command can be',/,
|
---|
| 417 | +' used to override Minuit own determination, when the user',/,
|
---|
| 418 | +' knows that the FCN function value is not calculated to',/,
|
---|
| 419 | +' the nominal machine accuracy. Typical values of <accuracy>',/
|
---|
| 420 | +' are between 10**-5 and 10**-14.')
|
---|
| 421 |
|
---|
| 422 | 11801 FORMAT(/,' SET ERRordef <up>',/,
|
---|
| 423 | +' Sets the value of UP (default value= 1.), defining parameter'
|
---|
| 424 | +,/,' errors. Minuit defines parameter errors as the change',/,
|
---|
| 425 | +' in parameter value required to change the function value',/,
|
---|
| 426 | +' by UP. Normally, for chisquared fits UP=1, and for negative'
|
---|
| 427 | +,/,' log likelihood, UP=0.5.')
|
---|
| 428 |
|
---|
| 429 | 11802 FORMAT(/,' SET GRAdient [force]',/,
|
---|
| 430 | +' Informs Minuit that the user function is prepared to',/,
|
---|
| 431 | +' calculate its own first derivatives and return their values'
|
---|
| 432 | +,/,' in the array GRAD when IFLAG=2 (see specs of FCN).',/,
|
---|
| 433 | +' If [force] is not specified, Minuit will calculate',/,
|
---|
| 434 | +' the FCN derivatives by finite differences at the current',/,
|
---|
| 435 | +' point and compare with the user calculation at that point,'
|
---|
| 436 | +,/,' accepting the user values only if they agree.',/,
|
---|
| 437 | +' If [force]=1, Minuit does not do its own derivative',/,
|
---|
| 438 | +' calculation, and uses the derivatives calculated in FCN.')
|
---|
| 439 |
|
---|
| 440 | 11803 FORMAT(/,' SET INPut [unitno] [filename]',/,
|
---|
| 441 | +' Causes Minuit, in data-driven mode only, to read subsequent',
|
---|
| 442 | +/,' commands (or parameter definitions) from a different input'
|
---|
| 443 | +,/,' file. If no [unitno] is specified, reading reverts to the'
|
---|
| 444 | +,/,' previous input file, assuming that there was one.',/,
|
---|
| 445 | +' If [unitno] is specified, and that unit has not been opened,'
|
---|
| 446 | +,/,' then Minuit attempts to open the file [filename]} if a',/,
|
---|
| 447 | +' name is specified. If running in interactive mode and',/,
|
---|
| 448 | +' [filename] is not specified and [unitno] is not opened,',/,
|
---|
| 449 | +' Minuit prompts the user to enter a file name.',/,
|
---|
| 450 | +' If the word REWIND is added to the command (note:no blanks',/
|
---|
| 451 | +' between INPUT and REWIND), the file is rewound before',/,
|
---|
| 452 | +' reading. Note that this command is implemented in standard',/
|
---|
| 453 | +' Fortran 77 and the results may depend on the system;',/,
|
---|
| 454 | +' for example, if a filename is given under VM/CMS, it must',/,
|
---|
| 455 | +' be preceeded by a slash.')
|
---|
| 456 |
|
---|
| 457 | 11804 FORMAT(/,' SET INTeractive',/,
|
---|
| 458 | +' Informs Minuit that it is running interactively.')
|
---|
| 459 |
|
---|
| 460 | 11805 FORMAT(/,' SET LIMits [parno] [lolim] [uplim]',/,
|
---|
| 461 | +' Allows the user to change the limits on one or all',/,
|
---|
| 462 | +' parameters. If no arguments are specified, all limits are',/,
|
---|
| 463 | +' removed from all parameters. If [parno] alone is specified,',
|
---|
| 464 | +/,' limits are removed from parameter [parno].',/,
|
---|
| 465 | +' If all arguments are specified, then parameter [parno] will',
|
---|
| 466 | +/,' be bounded between [lolim] and [uplim].',/,
|
---|
| 467 | +' Limits can be specified in either order, Minuit will take',/,
|
---|
| 468 | +' the smaller as [lolim] and the larger as [uplim].',/,
|
---|
| 469 | +' However, if [lolim] is equal to [uplim], an error condition',
|
---|
| 470 | +/,' results.')
|
---|
| 471 |
|
---|
| 472 | 11806 FORMAT(/,' SET LINesperpage',/,
|
---|
| 473 | +' Sets the number of lines for one page of output.',/,
|
---|
| 474 | +' Default value is 24 for interactive mode')
|
---|
| 475 |
|
---|
| 476 | 11807 FORMAT(/,' SET NOGradient',/,
|
---|
| 477 | +' The inverse of SET GRAdient, instructs Minuit not to',
|
---|
| 478 | +/,' use the first derivatives calculated by the user in FCN.')
|
---|
| 479 |
|
---|
| 480 | 11808 FORMAT(/,' SET NOWarnings',/,
|
---|
| 481 | +' Supresses Minuit warning messages.')
|
---|
| 482 |
|
---|
| 483 | 11809 FORMAT(/,' SET OUTputfile <unitno>',/,
|
---|
| 484 | +' Instructs Minuit to write further output to unit <unitno>.')
|
---|
| 485 |
|
---|
| 486 | 11810 FORMAT(/,' SET PAGethrow <integer>',/,
|
---|
| 487 | +' Sets the carriage control character for ``new page'' to',/,
|
---|
| 488 | +' <integer>. Thus the value 1 produces a new page, and 0',/,
|
---|
| 489 | +' produces a blank line, on some devices (see TOPofpage)')
|
---|
| 490 |
|
---|
| 491 |
|
---|
| 492 | 11811 FORMAT(/,' SET PARameter <parno> <value>',/,
|
---|
| 493 | +' Sets the value of parameter <parno> to <value>.',/,
|
---|
| 494 | +' The parameter in question may be variable, fixed, or',/,
|
---|
| 495 | +' constant, but must be defined.')
|
---|
| 496 |
|
---|
| 497 | 11812 FORMAT(/,' SET PRIntout <level>',/,
|
---|
| 498 | +' Sets the print level, determining how much output will be',/,
|
---|
| 499 | +' produced. Allowed values and their meanings are displayed',/,
|
---|
| 500 | +' after a SHOw PRInt command, and are currently <level>=:',/,
|
---|
| 501 | +' [-1] no output except from SHOW commands',/,
|
---|
| 502 | +' [0] minimum output',/,
|
---|
| 503 | +' [1] default value, normal output',/,
|
---|
| 504 | +' [2] additional output giving intermediate results.',/,
|
---|
| 505 | +' [3] maximum output, showing progress of minimizations.',/
|
---|
| 506 | +' Note: See also the SET WARnings command.')
|
---|
| 507 |
|
---|
| 508 | 11813 FORMAT(/,' SET RANdomgenerator <seed>',/,
|
---|
| 509 | +' Sets the seed of the random number generator used in SEEk.',/
|
---|
| 510 | +' This can be any integer between 10000 and 900000000, for',/,
|
---|
| 511 | +' example one which was output from a SHOw RANdom command of',/
|
---|
| 512 | +' a previous run.')
|
---|
| 513 |
|
---|
| 514 | 11814 FORMAT(/,' SET STRategy <level>',/,
|
---|
| 515 | +' Sets the strategy to be used in calculating first and second'
|
---|
| 516 | +,/,' derivatives and in certain minimization methods.',/,
|
---|
| 517 | +' In general, low values of <level> mean fewer function calls',
|
---|
| 518 | +/,' and high values mean more reliable minimization.',/,
|
---|
| 519 | +' Currently allowed values are 0, 1 (default), and 2.')
|
---|
| 520 |
|
---|
| 521 | 11815 FORMAT(/,' SET TITle',/,
|
---|
| 522 | +' Informs Minuit that the next input line is to be considered',
|
---|
| 523 | +/,' the (new) title for this task or sub-task. This is for',/,
|
---|
| 524 | +' the convenience of the user in reading his output.')
|
---|
| 525 |
|
---|
| 526 | 11816 FORMAT(/,' SET WARnings',/,
|
---|
| 527 | +' Instructs Minuit to output warning messages when suspicious',
|
---|
| 528 | +/,' conditions arise which may indicate unreliable results.',/
|
---|
| 529 | +' This is the default.')
|
---|
| 530 |
|
---|
| 531 | 11817 FORMAT(/,' SET WIDthpage',/,
|
---|
| 532 | +' Informs Minuit of the output page width.',/,
|
---|
| 533 | +' Default values are 80 for interactive jobs')
|
---|
| 534 | *__________________________________________________________________
|
---|
| 535 | *--
|
---|
| 536 | *-- Command SHOW
|
---|
| 537 | *-- ============
|
---|
| 538 | *.
|
---|
| 539 | IF(CMD3.EQ.'SHO')THEN
|
---|
| 540 | WRITE(LOUT,11900)
|
---|
| 541 | WRITE(LOUT,11901)
|
---|
| 542 | WRITE(LOUT,11902)
|
---|
| 543 | WRITE(LOUT,11903)
|
---|
| 544 | WRITE(LOUT,11904)
|
---|
| 545 | GO TO 99
|
---|
| 546 | ENDIF
|
---|
| 547 | 11900 FORMAT(' ***>SHOw <option_name>',/,
|
---|
| 548 | +' All SET XXXX commands have a corresponding SHOw XXXX command.',
|
---|
| 549 | +/,' In addition, the SHOw commands listed starting here have no',
|
---|
| 550 | +/,' corresponding SET command for obvious reasons.')
|
---|
| 551 |
|
---|
| 552 | 11901 FORMAT(/,' SHOw CORrelations',/,
|
---|
| 553 | +' Calculates and prints the parameter correlations from the',/,
|
---|
| 554 | +' error matrix.')
|
---|
| 555 |
|
---|
| 556 | 11902 FORMAT(/,' SHOw COVariance',/,
|
---|
| 557 | +' Prints the (external) covariance (error) matrix.')
|
---|
| 558 |
|
---|
| 559 | 11903 FORMAT(/,' SHOw EIGenvalues',/,
|
---|
| 560 | +' Calculates and prints the eigenvalues of the covariance',/,
|
---|
| 561 | +' matrix.')
|
---|
| 562 |
|
---|
| 563 | 11904 FORMAT(/,' SHOw FCNvalue',/,
|
---|
| 564 | +' Prints the current value of FCN.')
|
---|
| 565 | *__________________________________________________________________
|
---|
| 566 | *--
|
---|
| 567 | *-- Command SIMPLEX
|
---|
| 568 | *-- ===============
|
---|
| 569 | *.
|
---|
| 570 | IF(CMD3.EQ.'SIM')THEN
|
---|
| 571 | WRITE(LOUT,12000)
|
---|
| 572 | GO TO 99
|
---|
| 573 | ENDIF
|
---|
| 574 | 12000 FORMAT(' ***>SIMplex [maxcalls] [tolerance]',/,
|
---|
| 575 | +' Performs a function minimization using the simplex method of',/
|
---|
| 576 | +' Nelder and Mead. Minimization terminates either when the',/,
|
---|
| 577 | +' function has been called (approximately) [maxcalls] times,',/,
|
---|
| 578 | +' or when the estimated vertical distance to minimum (EDM) is',/,
|
---|
| 579 | +' less than [tolerance].',/,
|
---|
| 580 | +' The default value of [tolerance] is 0.1*UP(see SET ERRordef).')
|
---|
| 581 | *__________________________________________________________________
|
---|
| 582 | *--
|
---|
| 583 | *-- Command STANDARD
|
---|
| 584 | *-- ================
|
---|
| 585 | *.
|
---|
| 586 | IF(CMD3.EQ.'STA')THEN
|
---|
| 587 | WRITE(LOUT,12100)
|
---|
| 588 | GO TO 99
|
---|
| 589 | ENDIF
|
---|
| 590 | 12100 FORMAT(' ***>STAndard',/,
|
---|
| 591 | +' Causes Minuit to execute the Fortran instruction CALL STAND',/,
|
---|
| 592 | +' where STAND is a subroutine supplied by the user.')
|
---|
| 593 | *__________________________________________________________________
|
---|
| 594 | *--
|
---|
| 595 | *-- Command STOP
|
---|
| 596 | *-- ============
|
---|
| 597 | *.
|
---|
| 598 | IF(CMD3.EQ.'STO')THEN
|
---|
| 599 | WRITE(LOUT,12200)
|
---|
| 600 | GO TO 99
|
---|
| 601 | ENDIF
|
---|
| 602 | 12200 FORMAT(' ***>STOP',/,
|
---|
| 603 | +' Same as EXIT.')
|
---|
| 604 | *__________________________________________________________________
|
---|
| 605 | *--
|
---|
| 606 | *-- Command TOPOFPAGE
|
---|
| 607 | *-- =================
|
---|
| 608 | *.
|
---|
| 609 | IF(CMD3.EQ.'TOP')THEN
|
---|
| 610 | WRITE(LOUT,12300)
|
---|
| 611 | GO TO 99
|
---|
| 612 | ENDIF
|
---|
| 613 | 12300 FORMAT(' ***>TOPofpage',/,
|
---|
| 614 | +' Causes Minuit to write the character specified in a',/,
|
---|
| 615 | +' SET PAGethrow command (default = 1) to column 1 of the output'
|
---|
| 616 | +,/,' file, which may or may not position your output medium to',
|
---|
| 617 | +/,' the top of a page depending on the device and system.')
|
---|
| 618 | *__________________________________________________________________
|
---|
| 619 | *
|
---|
| 620 | WRITE(LOUT,13000)
|
---|
| 621 | 13000 FORMAT(' Unknown MINUIT command. Type HELP for list of commands.')
|
---|
| 622 | *
|
---|
| 623 | 99 RETURN
|
---|
| 624 | END
|
---|