Minuit can be run in two different modes: Data-driven mode means that the user drives Minuit with data, either typed interactively from a terminal or from a data file in batch; and Fortran-callable mode means that Minuit is driven directly from Fortran subroutine calls, without data. To some extent, the two modes may also be mixed. This section describes the first mode, and is valid for both interactive and batch running. The differences between interactive and batch are described in a separate subsection below.
In data-driven mode, the user must supply, in addition to the subroutine FCN, a main program which includes the following statements (the statements in upper case are required, those given in lower case are optional):
Example of main program when using Minuit in data driven mode
The name of FCN may be chosen freely, and is communicated
to Minuit as its first argument.
FUTIL is the generic name of a function or subroutine which the
user may optionally call from FCN, and if he does call such
a routine, he must declare it external and communicate its
name to Minuit as well. If FUTIL is not used, then the second
argument may be put equal to 0
,
and need not be declared EXTERNAL
; if FUTIL is
declared EXTERNAL
, it must be supplied in the loading process.
CALL MINTIO (IREAD,IWRITE,ISAVE)
Action: The purpose of MINTIO is to communicate to Minuit the I/O units.
If the default values are acceptable, then it is not necessary to call MINTIO. It is the user's responsibility that the I/O units are properly opened for the appropriate operations.