hist2workspace man page

hist2workspace — utility to create RooFit/RooStats workspace from histograms


hist2workspace [option] input.xml


hist2workspace is a utility to create RooFit/RooStats workspace from histograms


-standard_form default model, which creates an extended PDF that interpolates between RooHistFuncs. This is much faster for models with many bins and uses significantly less memory.
-number_counting_form this was the original model in 5.28 (without patches). It uses a Poisson for each bin of the histogram. This can become slow and memory intensive when there are many bins.

Prepare working area

The ROOT release ships with a script prepareHistFactory in the $ROOTSYS/bin directory that prepares a working area. It creates a results/, data/, and config/ directory. It also copies the HistFactorySchema.dtd and example XML files into the config/ directory. Additionally, it copies a root file into the data/ directory for use with the examples.


This file is located in $ROOTSYS/etc/ specifies the XML schema. It is typically placed in the config/ directory of a working area together with the top-level XML file and the individual channel XML files. The user should not modify this file.
The HistFactorySchema.dtd is commented to specify exactly the meaning of the various options.

Top-Level XML File

(see for example $ROOTSYS/tutorials/histfactory/example.xml) This file is edited by the user. It specifies
- A top level 'Combination' that is composed of:
- several 'Channels', which are described in separate XML files.
- several 'Measurements' (corresponding to a full fit of the model) each of which specifies
- a name for this measurement to be used in tables and files
- what is the luminosity associated to the measurement in picobarns
- which bins of the histogram should be used
- what is the relative uncertainty on the luminosity
- what is (are) the parameter(s) of interest that will be measured
- which parameters should be fixed/floating (eg. nuisance parameters)
- which type of constriants are desired
- Gaussian by default
- Gamma, LogNormal, and Uniform are also supported
- if the tool should export the model only and skip the default fit

Channel XML Files

(see for example $ROOTSYS/tutorials/histfactory/example_channel.xml) This file is edited by the user. It specifies for each channel
- observed data
- if absent the tool will use the expectation, which is useful for expected sensitivity
- several 'Samples' (eg. signal, bkg1, bkg2, ...), each of which has:
- a name
- if the sample is normalized by theory (eg N = L*sigma) or not (eg. data driven)
- a nominal expectation histogram
- a named 'Normalization Factor' (which can be fixed or allowed to float in a fit)
- several 'Overall Systematics' in normalization with:
- a name
- +/- 1 sigma variations (eg. 1.05 and 0.95 for a 5% uncertainty)
- several 'Histogram Systematics' in shape with:
- a name (which can be shared with the OverallSyst if correlated)
- +/- 1 sigma variational histograms

Original Authors

Kyle Cranmer , Akira Shibata , and Dominique Tardif


DEC. 2010