SuperNEMO - Foil vertex distribution

This repository holds a SN@ilWare configuration + source code to show the vertex distribution on the source foil. It builds a 2D visualization histogram by looking into simulated data i.e. within true vertex position or reconstructed data. Thus, it can be used to compare the two distributions, simulated vs. real to exhibit detector reconstruction efficiency. An example of the use of this module is provided in this presentation.

The current version is hosted at https://github.com/xgarrido/snemo_simulation_modules/snemo_foil_vertex_distribution under git version control.

The code itself is implemented in the source directory which holds the snemo_foil_vertex_distribution_module.* source code as well as a CMakeLists.txt file in order to compile, build and install the module following cmake rules.

Module declaration

The next item holds the configuration for this module. The module name is foil_vertex_distribution_module which is needed when using bxdpp_processing as explained in the top README file.

File preamble

#@description A sample list of setups
#@key_label   "name"
#@meta_label  "type"

Declaration & description

[name="foil_vertex_distribution_module" type="analysis::snemo_foil_vertex_distribution_module"]

#@description A SuperNEMO module to plot the vertex distribution on the source foil

Logging priority

#@description Logging priority
logging.priority : string = "trace"

Bank label

The bank record label where to look in.

#@description The data bank label
bank_label : string = "SD"

Histogram service label

Set the same histogram service label as defined here

#@description The Histogram Service label
Histo_label : string = "Histo"

Histogram storage

All histograms generated by snemo_bb0nu_studies module can be stored inside ROOT files or XML archives.

#@description The ouput file where to store the histograms
Histo_output_files : string[2] as path =                              \
    "/tmp/${USER}/snemo.d/snemo_foil_vertex_distribution_histos.root" \
    "/tmp/${USER}/snemo.d/snemo_foil_vertex_distribution_histos.xml"

Histogram template location

Templates for histogram may be provided to reduce the amount of configuration of individual histogram. For instance, plotting the energy distributions of several channels may only need one general histogram definition which gives the x-axis boundaries and x-binning (see below).

#@description The ouput file where to store the histograms
Histo_template_files : string[1] as path = \
    "@SNEMO_SIMULATION_MODULES_DIR@/snemo_foil_vertex_distribution_templates.conf"

Histogram declaration

The histogram declaration i.e. name, boundaries, binning… are set in this section. There are mostly template histogram in such way, their declarations may be used as templates for several histograms. For snemo_foil_vertex_distribution_module only one 2D histogram needs to be declared which boundaries represent foil design boundaries i.e. ± 2500 mm × ±1500 mm.

Mandatory preamble

#@description A sample list of setups
#@key_label   "name"
#@meta_label  "type"

2D vertex distribution template

[name="foil_vertex_distribution_template" type="mygsl::histogram_2d"]
#@description The group of the histogram (optional)
group : string = "__template"

#@description The build mode (default : "regular", "table", "mimic");
mode : string = "regular"

#@description The linear mode (default)
x.linear : boolean = 1

#@description The X bin unit
x.unit : string = "mm"

#@description The lower bound of the histogram
x.min : real = -2500.0

#@description The upper bound of the histogram
x.max : real = +2500.0

#@description The upper bound of the histogram
x.number_of_bins : integer = 100

#@description The linear mode (default)
y.linear : boolean = 1

#@description The X bin unit
y.unit : string = "mm"

#@description The lower bound of the histogram
y.min : real = -1500.0

#@description The upper bound of the histogram
y.max : real = +1500.0

#@description The upper bound of the histogram
y.number_of_bins : integer = 100

#@description The X axis label
display.xaxis.label : string = "y"

#@description The X axis unit for display (a standard unit, typically SI or CLHEP)
display.xaxis.unit : string = "mm"

#@description The Y axis label
display.yaxis.label : string = "z"

#@description The Y axis unit for display (a standard unit, typically SI or CLHEP)
display.yaxis.unit : string = "mm"
File under version control - commit 72acd54 - 2014-12-28