SuperNEMO - Bremsstrahlung studies
This repository holds a SN@ilWare configuration + source code to study the bremsstrahlung produced within source foil. It especially produces plots of the energy of the primary electron + gamma from bremsstrahlung or the angular distribution.
The current version is hosted at
https://github.com/xgarrido/snemo_simulation_modules/snemo_bremsstrahlung_studies
under git
version control.
The code itself is implemented in the source
directory which holds the
snemo_bremsstrahlung_studies_module.*
source code as well as a
CMakeLists.txt
file in order to compile, build and install the module
following cmake
rules.
Module configuration
The next item holds the configuration for the module itself. The second item is related to histogram declarations.
Module declaration
The module name is bremsstrahlung_studies_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="bremsstrahlung_studies_module" type="analysis::snemo_bremsstrahlung_module"] #@description A SuperNEMO module to study bremsstrahlung production within source foil
Logging priority
#@description Logging priority logging.priority : string = "warning"
Geometry service label
#@description The Geometry Service label Geo_label : string = "Geo"
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 this 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_bremsstrahlung_studies_histos.root" \ "/tmp/${USER}/snemo.d/snemo_bremsstrahlung_studies_histos.xml"
Histogram template location
Templates for histogram may be provided to reduce the amount of configuration of individual histogram. For instance, plotting the vertex position distributions only implies 3 histogram templates for each of the 3 cartesian coordinates \(x,y,z\) (see below).
#@description The ouput file where to store the histograms Histo_template_files : string[1] as path = \ "@SNEMO_SIMULATION_MODULES_DIR@/snemo_bremsstrahlung_studies_histogram_templates.conf"
Histogram declarations
The histogram declarations 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.
Mandatory preamble
#@description A sample list of setups #@key_label "name" #@meta_label "type"
Energy distribution
- Primary electron
[name="electron_energy" type="mygsl::histogram_1d"] #@config The histogram of the energy of primary electrons #@description The group of the histogram (optional) group : string = "energy_distribution" #@description The build mode (default : "regular", "table", "mimic"); mode : string = "regular" #@description The linear mode (default) linear : boolean = 1 #@description The X axis label display.xaxis.label : string = "Energy" #@description The X axis unit for display (a standard unit, typically SI or CLHEP) display.xaxis.unit : string = "keV" #@description The Y axis label display.yaxis.label : string = "dN/dE" #@description The number of bins number_of_bins : integer = 25 #@description The unit of the bins' bounds (a standard unit, typically SI or CLHEP) unit : string = "keV" #@description The lower bound of the histogram min : real as energy = 0.0 keV #@description The upper bound of the histogram max : real as energy = 3200.0 keV
- γ bremsstrahlung
[name="gamma_energy" type="mygsl::histogram_1d"] #@config The histogram of the energy of gammas #@description The group of the histogram (optional) group : string = "energy_distribution" #@description The build mode (default : "regular", "table", "mimic"); mode : string = "regular" #@description The linear mode (default) linear : boolean = 1 #@description The X axis label display.xaxis.label : string = "Energy" #@description The X axis unit for display (a standard unit, typically SI or CLHEP) display.xaxis.unit : string = "keV" #@description The Y axis label display.yaxis.label : string = "dN/dE" #@description The number of bins number_of_bins : integer = 25 #@description The unit of the bins' bounds (a standard unit, typically SI or CLHEP) unit : string = "keV" #@description The lower bound of the histogram min : real as energy = 0.0 keV #@description The upper bound of the histogram max : real as energy = 3200.0 keV
Angular distribution
[name="gamma_angle" type="mygsl::histogram_1d"] #@config The histogram of the angular distribution of the gamma bremsstrahlung #@description The group of the histogram (optional) group : string = "angular_distribution" #@description The build mode (default : "regular", "table", "mimic"); mode : string = "regular" #@description The linear mode (default) linear : boolean = 1 #@description The X axis label display.xaxis.label : string = "angle" #@description The X axis unit for display (a standard unit, typically SI or CLHEP) display.xaxis.unit : string = "degree" #@description The Y axis label display.yaxis.label : string = "dN/d#theta" #@description The number of bins number_of_bins : integer = 25 #@description The unit of the bins' bounds (a standard unit, typically SI or CLHEP) unit : string = "degree" #@description The lower bound of the histogram min : real as angle = 0 degree #@description The upper bound of the histogram max : real as angle = 180 degree
Special execution of this module
Since this module will actively use geometry manager and its locators (i.e.
calo_locator
, xcalo_locator
,…), the module need to initialize and load the
geometry service. The geometry service is actually called in this section by
using the Geo
service label as defined in "Geometry service" section. To
properly load the Falaise
configuration files for the geometry, we have to
specify the path to these resource files by executing
bxdpp_processing \ --module-manager-config $PWD/config/module_manager.conf \ --module detector_efficiency_module_module \ --dll-config $PWD/config/dlls.conf \ --datatools::resource_path=falaise@<path to Falaise instal>/share/Falaise-1.0.0/resources \ --input-file <path to a data record>
The --datatools::resource_path
option will automatically register this path
and it will replace any of the @falaise:
declaration into Falaise
resource
path.