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"