Skip to content
Mark Ross-Lonergan edited this page Sep 28, 2024 · 16 revisions

Getting started with PROfit: PROconfig the configuration XML

Everything that is user definable about the selection/spectra/systematics/binning and physics model is configurable at run time with a single configuration XML. All PROfit executables take the argument -x myconfig.xml or --xml myconfig.xml. Here we will describe the basic sections of a configuration xml

The Mode, Detector, Channel and binning (aka the Bookeeping Section)

<mode name="nu" />
<detector name="SBND" />
<detector name="ICARUS" />

<channel name="numu" unit="Reconstructed Neutrino Energy [GeV]">
    <bins edges="0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0 1.25 1.5 2.0 2.5 3.0"/>
    <truebins min="0" max="2" nbins="200"/>
    <subchannel name="cc" plotname="#nu_{#mu} CC" color="#FF6961"/>
    <subchannel name="nc" plotname="#nu_{#mu} NC" color = "#77DD77" />
    <subchannel name="cosmic" plotname="Cosmic" color = "#AEC6CF" />
</channel>

<channel name="nue" unit="Reconstructed Neutrino Energy [GeV]">
    <bins edges="0.0 0.2 0.4 0.8 1.0 1.5 2.0"/>
    <truebins min="0" max="2" nbins="200"/>
    <subchannel name="cc" plotname="#nu_{e} CC" color="#FF7962"/>
    <subchannel name="cosmic" plotname="Cosmic" color = "#77DD90" />
</channel>

The above code configures a single mode (nu), two detectors (SBND and ICARUS), each with two channels (numu and nue). In reality there is no difference between modes and detectors other than human interpretation. Channels are physical observable reco spectra in a variable with a specified reco binning (given by <bins>) and true binning (given by <truebins>). The classic example is reconstructed neutrino energy for reco variable and L/E for true variable for an oscillation fit, but it could be anything. Binning in truth and reco can vary between different channels.

Each channel is made up of any number of subchannels which consist of truth level breakdowns of the prediction, broken down because we want to either (a) Have our model act differently on each subchannel, such as numu's and nue's oscillaating differently (b) Apply systematic differently to subchannels. The subchannels are a truth level definition and are not physical, we can't say if an even in data i from a particular subchannel, just the parent channel. When we want to do fits we collapse the subchannels, adding their events into a single channel spectra. By construction each subchannel in a given channel must have the same binning as each other in order to collapse correctly.

In this example we have subchannels such as NC and CC events as well as a cosmic background category.

The mode, detector, channel and subchannel tags must not contains underscores (_) be unique when concatenated together into a single spectra identifier using underscores mode_detector_channel_subchannel. This unique identifier is used later to tell PROfit exactly which Monte Carlo events to fill into each spectra.

At this stage we have not defined what the variable is, or how to fill it from MC, this is just a bookeeping step to define exactly the binning and spectra we want to fill. Filling it is defined later when we get to the MCfile portion.

The MCfile section (aka where does out Monte Carlo go?)

Making a quick sensitivity contour

Clone this wiki locally