gminuit is a graphical interface to the MINUIT minimization engine and an arbitrary script (shell, tcl, perl, etc.). gminuit makes it easy to manually search the parameter space for values "close enough" so MINUIT can be expected to converge. It also makes it easy to fix a subset of the parameters and fit the rest, varying subsets in order to find values "close enough" so MINUIT can be expected to converge for the full parameter set. gminuit is optimized for scripts that take a few seconds to run; for longer scripts see the batch-mode tune program.

gminuit works with two types of scripts:
The script writes a plotfile, and Gminuit computes the ChiSquared between the datafile and the plotfile; Fitting will attempt to minimize the ChiSquared. The datafile and plotfile are displayed using gnuplot.

The script writes a single floating-point value to stdout, and Gminuit attempts to minimize this value. Neither the datafile nor the plotfile are used for this type of script.

This distribution includes the complete source (including MINUIT and c-minuit). It can be built easily on most modern Linux systems.

The MINUIT manual is included in the tarball as MinuitManual_94.1.pdf. It is slightly older than the version of MINUIT used.

Download and Installation

It is not feasible to compile a Tck/Tk program that will run on any Linux system, so you need to build it on the system you intend to use it. There is a version in the tarball compiled on Fedora Core 4, which may or may not be useful. On my laptop the entire build takes a mere 10 seconds.

gminuit requires the gnuplot program, the Tcl/Tk development environment, and the C and f77 development environments. On RedHat-based systems these are RPMs: gnuplot, tcl, tcl-devel, tk, tk-devel, compat-gcc-32-g77 (the FORTRAN 77 compiler), plus gcc and libc and their friends.

Download the tarball gminuit-1.1.tgz(external link) and un-tar it in a suitable place:
	tar -xzf gminuit-1.1.tgz
It unpacks into a directory named gminuit-1.1. On Linux it is then built in the usual way:
	cd gminuit-1.1
	# optionally copy gminuit into /usr/local/bin:
	sudo make install
	# run gminuit without arguments to see the help text:
	# run the two test scripts:
	gminuit test1
	gminuit test2
On other systems, follow the directions in INSTALL (which is from c-minuit) to compile c-minuit. The Makefiles have been modified to compile gminuit as well as the c-minuit test program "m-test".

Run the program without arguments for a description of how to use gminuit, and what the input file format is.

Example screenshot

This is the test2 example. The top three regions define the datafile to be fit, the plotfile written by the script, and the script to be executed to generate the plotfile. Gminuit computes the ChiSquared between the plotfile and datafile. The gray region in the middle give you complete control over the parameters, and the bottom (red) region provides buttons to execute the script, plot, and fit the data. Below the Gminuit window is the gnuplot window displaying the result of the fit.