next up previous contents
Next: Fit starting values Up: Functionality Previous: Calculation of Likelihood   Contents

Fitting/Execution

The maximum likelihood technique loops through all available points in parameter space (the parameters being the number of events of each distribution type) and calculates a likelihood value, in mxf_likelihood_func.for, for each particular set of parameters. The most likely set of parameters will have the largest likelihood value. However, most fitting algorithms search for minima not maxima so the minimum negative log likelihood is fitted for. The MXF code contains a number of different fitters taken from numerical recipes. The available fitters are:
Simulated Annealing
This fitting technique is more resilient to falling into local minima than other fitters and can be used initially. However, an additional fitter is then needed to home in on the exact location of the minima. Simulated annealing is not used to determine errors or correlations either. To carry out simulated annealing a simplex must first be generated. The settings for the simulated annealing are stored in the titles bank MXFF. A number of attempts can be made. To use simulated annealing use the command:
$mxf_sim_anneal  $on

Powell
This fitter can be used either in conjunction with simulated annealing or independently. To use this fitter the fitter flag is set to 1 in the titles bank MXFC or with the symbolic command:
$mxf_fit_type $powell
DFPMIN
This is another numerical recipes fitter that can be used either in conjunction with simulated annealing or independently. It requires the gradient of the function to be minimised, which is calculated in the function, mxf_likelihood_func_grad.for. This function does not seem to work so well when some values are constrained within a given region of parameter space. To use this fitter the fitter flag is set to 2 in the titles bank MXFC or with the symbolic command:
$mxf_fit_type $dfpmin
The fitters are called through the routine mxf_fitting.for. To add another fitter to the code it is necessary to assign it a value of the fitter flag and to adapt this routine accordingly.

Subsections
next up previous contents
Next: Fit starting values Up: Functionality Previous: Calculation of Likelihood   Contents
sno Guest Acct 2009-09-09