Re: mnscan() in Minuit

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Jun 04 1999 - 10:08:15 MEST


Scott Sampson wrote:
> 
> The documentation for TMinuit::mnscan() says
> 
> //*-*-*-*-*Scans the values of FCN as a function of one parameter*-*-*
> //*-*      ======================================================
> //*-*        and plots the resulting values as a curve using MNPLOT.
> //*-*        It may be called to scan one parameter or all parameters.
> //*-*        retains the best function and parameter values found.
> //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
> 
> when I run mnscan() it only scans the first parameter. How can I make it
> scan the second as well? (I'm doing a 2-parameter fit)
> 

Hi Scott,
The documentation is OK, but this is an internal routine (should be
protected).
If you type
   gMinuit->Help();
you will get the list of all possible Minuit commmands to be executed
via TMinuit::mncomd.
For example gMinuit->Help("scan"); produces the following help:
 ***>SCAn  [parno]  [numpts] [from]  [to]
 Scans the value of the user function by varying parameter
 number [parno], leaving all other parameters fixed at the
 current value. If [parno] is not specified, all variable
 parameters are scanned in sequence.
 The number of points [numpts] in the scan is 40 by default,
 and cannot exceed 100. The range of the scan is by default
 2 standard deviations on each side of the current best value,
 but can be specified as from [from] to [to].
 After each scan, if a new minimum is found, the best parameter
 values are retained as start values for future scans or
 minimizations. The curve resulting from each scan is plotted
 on the output unit in order to show the approximate behaviour
 of the function.
 This command is not intended for minimization, but is sometimes
 useful for debugging the user function or finding a
 reasonable starting point.

Example of use
==============
Root > hpx->Fit("gaus");
Root > int istat;
Root > gMinuit->mncomd("scan 2",istat);

When I converted the Fortran version of Minuit to C++, I kept the
original Fortran calls. This interface should be revisited. In
particular
the return parameter (istat above) is not very convenient interactively.
This should be changed to a return value from the function instead.

Rene Brun



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:34 MET