Finding optimal parameter values – prof-tune¶prof-tune optimizes the goodness of fit (GoF) measure between the MC response function and the experimental reference data by varying the model parameters. The --datadir DATADIR and related options are used as normal to specify the reference data, MC runs, and interpolation objects: see the path options page. It is advised to specify a file with the observables that are included in the GoF function and their respective weights with --weights WEIGHTS. Also, the run combinations must be given with --runsfile RUNSFILE and the type of parameterisation with --ipol IPOLMETHOD. With --datadir DATADIR the location of the reference data and parameterization files must be specified. Each tune’s details are stored in a “pickle” file in OUTDIR/tunes, as well as the whole collection of tune results in OUTDIR/tunes/results.pkl. Each result contains the optimal parameter values and additionally the MC runs and observables used. Also, if the used minimizer supports it, the result object will contain the errors on the parameters and the parameter-parameter covariance matrix... but take these errors with a pinch of salt: eigentunes are a better way to obtain tune errors. In addition, the parameterization is evaluated at the optimal parameter values and the resulting histograms are saved in an AIDA file, histo-xxx.aida. These files are created in OUTDIR/tunes/ipolhistos. The production of these histograms can be turned off with --no-ipolhistos. The histograms in these AIDA files may be plotted and compared with reference data and other tunes using the Rivet compare-histos and make-plots scripts (or, alternatively, the single rivet-mkhtml script). Parameters can be fixed with --fixed-parameters. To check against a dependency on the initial point of the minimizer, different methods to select the initial point are available (see --spmethods). Additionally, parameters can be constrained to intervals (--limits) but this is not recommended. Usually a diverging parameter is a hint for bad sampling ranges of the anchor points or a problem in the model. Note For all observables in WEIGHTS and run combinations in RUNSFILE the parameterizations of the MC response function must have been pre-built with prof-interpolate using the parameterisation method IPOLMETHOD (currently the order of the polynomial). An easy way to achieve this is to use the same weights file and run combinations file for both prof-interpolate and prof-tune. Note Due to limitations of the Python interpreter (especially the global interpreter lock, GIL), tunes cannot be made in parallel in a single process. To make use of multiple CPU cores you can split the run combinations file in several files and start prof-tune for each of this “sub-files” (but make sure that each prof-tune call has its own result file). Alternatively you can use prof-batchtune to produce shell scripts for this purpose. These scripts can also be fed to a batch system. In both cases you can use prof-mergeminresults to create a single result file. Error tunes¶prof-tune can also produce a set of deviation tunes, representing a good set of correlated systematic errors on a given best tune. These “eigentunes” are created by using the covariance matrix in the region of the best tune (supplied by the minimiser) to define correlated, maximally independent principle directions in the parameter space. The eigentunes themselves are then created by walking out from the best tune point to find the points with a given GoF deviation from the best tune. If the chi2 measure is exactly chi2-distributed (NB. this is not guaranteed!) then a GoF increase of +1 will represent a 1 sigma deviation from the best tune. To make a set of 2p eigentunes (two for each principle direction, of which there are as many as there are parameters), just pass the --eigentunes to prof-tune. This will write out extra params files and ipol histo files for each of the eigentunes. The default GoF increase which defines the eigentune deviation is 1, but you can change this by also supplying the --eigentunes-dgof=NUM option. Example¶Simple example: run the minimizer once with the center of the sampling hyper-cube as initial point: prof-tune --data /my/data --weights my.weights --runs mycombinations
Complex example: prof-tune --data /my/data --ipoldir /my/ipol/storage --weights my.weights --runsfile mycombinations --fixed-parameters PAR1=3.5 --spmethods random,random,center
This loads reference and interpolation data from different directories (REFDIR=DATADIR/ref/=/my/data/ref/, IPOLDIR=/my/ipol/storage), fixes parameter PAR1 to 3.5 and performs 3 minimizations per run combination (random,random,center). Command-line options¶The --datadir DATADIR and related options are used as normal to specify the reference data, MC runs, and interpolation objects: see the path options page. Output¶
Input¶
Minimizer¶
Error tunes¶
|