Configuration of SBND jobs, services and algorithms¶
- Table of contents
- Configuration of SBND jobs, services and algorithms
Organization¶
The guidelines for the location of the configuration within a repository are:
- configuration of SBND algorithms are in the same directory as the algorithm.
Example: the algorithmOpticalHitRecoSBND
would have aopticalhitreco_sbnd.fcl
FHiCL configuration file that provides one or more valuable configuration presets: then,opticalhitreco_sbnd.fcl
would live in the same directory asOpticalHitRecoSBND.h
/OpticalHitRecoSBND.cxx
. - SBND-specific configuration of LArSoft services and algorithms should go in
sbndcode/LArSoftConfigurations
directory.
Example:LArProperties
is a core LArSoft service provider, and we use it directly. The SBND configuration is insbndcode/LArSoftConfigurations/larproperties_sbnd.fcl
. The SBND tuning of hit finder algorithms is insbndcode/LArSoftConfigurations/hitfindermodules_sbnd.fcl
. - bundles of presets are also in
sbndcode/LArSoftConfigurations
.
Example: service bundles are inservices_sbnd.fcl
. Hit finder presets are collected insbndcode/LArSoftConfigurations/hitfindermodules_sbnd.fcl
. - complete job configurations go in
sbndcode/JobConfigurations
.
Examples:prodsingle_sbnd.fcl
andstandard_reco_sbnd.fcl
are insbndcode/JobConfigurations
.
SBND algorithms and services | together with the source code of the algorithm/service provider |
LArSoft/external algorithms and services | source:sbndcode/LArSoftConfigurations |
service configuration bundles | source:sbndcode/LArSoftConfigurations |
full job configurations | source:sbndcode/JobConfigurations |
Job configurations¶
Job configurations are being updated on demand: many of the configurations in source:sbndcode/JobConfigurations are not working yet.
Here a selection of the ones that are updated already:
prodsingle_sbnd.fcl |
generation + simulation | test job to create and simulate single muons |
prodsingle_sbnd_proj.fcl |
generation | like prodsingle_sbnd.fcl , plus configuration for production-like grid environment |
prodsingle_sbnd.fcl |
generation + simulation + reconstruction | like prodsingle_sbnd.fcl , plus signal calibration |
prod_eminus_0.1_0.9_sbnd.fcl |
generation | production of single electrons in 0.1-0.9 GeV range |
prodgenie_bnb_nu_cosmic_sbnd.fcl |
generation | Booster neutrinos from GENIE plus cosmic rays |
standard_g4_sbnd.fcl |
simulation | propagation through matter (Geant4) |
standard_detsim_sbnd.fcl |
simulation | readout simulation |
standard_reco_sbnd_basic.fcl |
reconstruction | a single-path track/shower/optical reconstruction |
anatree_sbnd.fcl |
analysis | creates an analysis tree with the standard configuration |
edv_sbnd.fcl |
event display | SBND event display in LArSoft |
Note that these can be still improved (some, vastly so).
For more information on each of them, check the documentation in the configuration files.
Service configurations¶
Some preset bundles are provided either as reference of for direct inclusion. The most used are:preferservices_sbnd.fcl
contains presets for jobs that do not perform simulationsimulationservices_sbnd.fcl
contains presets for jobs that perform detector and/or readout simulation
For the details about their content, refer to the comments included in the files themselves.
It is preferable for your job to include the basic bundle, sbnd_basic_services
or sbnd_core_services
, and then bundles by area. For example, if your job needs access to the condition databases:
services: { @table::sbnd_core_services @table::sbnd_condition_databases } # services
In this way, when the maintainers change the configuration needed to access the databases, your configuration does not need to be updated, but also you are loading the minimal set of services you need.