Skip to content

Understanding the configuration .xml

markstempaccount edited this page Nov 25, 2019 · 4 revisions

.xml configuration

At the core of SBNfit is the concept of a combined side-by-side experimental measurement of multiple detectors, modes, channels and subchannels defined a .xml file, and whose resulting spectra is stored in the SBNspec class.

This .xml file that is used to ensure consistency across all SBNspec's and derivative classes and to help with bookkeeping for collapsing covariance matrices in the case of large numbers of side-by-side fits.

For an example of a full .xml please see this example.xml used in the workshop

First lets go over what we mean by modes, detectors, channels and subchannels:

Mode

The mode is a user definable way to split datasets across based on some physically motivated choice, or different beam configurations. Some examples could include:

  • Neutrino and/or Anti-Neutrino horn mode
  • BNB beam and/or NuMI beam
  • With/without cosmic ray tagger (CRT)

At the moment every detector,channel and subchannel is reproduced identically across each mode although a feature allowing differences is upcoming.

They are constructed in the .xml configuration via the tag:

<mode name="nu" use="1"/>

<mode name="nubar" use="1"/>

with attributes name which is a unique string to identify it and use which can be used to turn the mode on and off quickly.

Detectors

This allows for multiple detector combined fits e.g:

  • MiniBooNE + MicroBooNE
  • SBN: SBND +/ uBooNE +/ ICARUS
  • DUNE near +/ far detector
  • SBN + DUNE

In reality this could be accomplished by adding additional modes but splitting as such aids in administrative and bookkeeping the spectra. As with the mode every detector must contain the same channels and subchannels is reproduced identically across each mode although a feature allowing differences is upcoming.

Detectors are added in a manner the same as modes, via the tag:

<detector name="uBooNE" use="1" />

Channels

Each channel represents the final measured spectra in some reconstructed variable in a single mode and detector. Examples of channels would be "nue appearance energy spectra at MicroBooNE in neutrino mode" (e.g nu_uboone_nue).

<channel name="nue" unit="MeV">
    <bins edges="100 200 300 400 500 600 700 800 900 1000 1200 1400 1600 1800 2000 2500 3000" />
</channel>`

The attribute unit is purely for plotting and titles. Different channels can have different binning schemes and you can have as many channels as you like.

Other example channels could be (and note that a channel can be in any reconstructed variable that you wish, not just energy):

  • CC 1e1p (reconstructed energy)
  • CC 1m0p (reco muon energy)
  • NC 1gamma1p (reco shower energy)
  • CC1pi0

Subchannels

Although the channel is what is physically observed in an experiment, they are constructed by adding up all the subchannels . A given channel can have as many subchannels as needed, but must at least have one.

The purpose of subchannels is to allow each and every background and signal to be treated separately for the purposes of constructing a covariance matrix.

Expanding the example above with two subchannels corresponding to intrinsic backgrounds and an LEE signal in the .xml would look like:

<channel name="nue" unit="MeV" >
    <bins  edges="100 200 300 400 500 600 700 800 900 1000 1200 1400 1600 1800 2000 2500 3000"   />
    <subchannel name="intrinsic" osc = "0"/>
    <subchannel name="leesignal" osc = "0"/>
</channel>

Note the `osc' attribute is used to say if they channel should be oscillated (only of use in later oscillations examples) for now keep it at 0.

Each individual subchannel for each mode and detector is stored internally as a TH1D and used later to construct the covariance matrix and central values. Each TH1D is defined uniquely by the naming convention based on the name attributes of all individual components: mode_detector_channel_subchannel .

Clone this wiki locally