-
Notifications
You must be signed in to change notification settings - Fork 0
Low Threshold Workflow
The first step needed is to generate the list of events you want to simulate. This requires using the HEPEVT format to produce a text file containing the desired particles
To generate a HEPEVT file list, one needs to simulate the kinematics and position of particles for each event. An example for how to generate these events for randomly distributed electrons (in position in the MicroBooNE TPC, and in energy from 0-3 MeV) is available here: HEPEVT-ELECTRONS.ipynb
Once the HEPEVT files are available, they need to be formatted in a way that allows for grid submissions so that we can generate high-statistics samples. The output of this process should look something like what is in the folder below:
/pnfs/uboone/resilient/users/davidc/HEPEVT/electrons/
Once the input HEPEVT files are ready, the LArSoft generation can start.
The LArSoft processing is split in several stages:
- generation of the simulated events based on the HEPEVT input files.
- simulation of the detector response, and low-level reconstruction of charge energy deposits on wires
- high-level reconstruction (pattern recognition)
- analysis code to produce NTuples Each of these needs to be run separately, which makes the process a bit cumbersome. You will want to keep track of your progress for each stage, for example saving the location of your ouput in a google-doc or spreadsheet.
An example of the XML file you will want to run is here: /exp/uboone/app/users/davidc/LOWTHRESHOLD/gen_overlay.xml
Make sure you make a local copy of this file. You will need to update many of the fields inside it.
To run this XML, use the command:
project.py --xml gen_overlay.xml --stage electrons --submit
- Setup the SL7 container on the gpvm:
/cvmfs/uboone.opensciencegrid.org/bin/shell_apptainer.sh - Setup MicroBooNE's MCC9 environment:
source /grid/fermiapp/products/uboone/setup_uboone_mcc9.sh - Setup the
uboonecodeversion required:setup uboonecode v08_00_00_XX -q e17:profwithXXequal to the version needed.