Skip to content

Validating Changes

jdkio edited this page Feb 11, 2025 · 4 revisions

At a bare minimum, make sure some test files process. First setup and compile your modified version. Then edit config/TMS_Default_Config.toml and set MaximumNEvents = 5000 or some other reasonable number. Then try running some test files

# Nersc files
ConvertToTMSTree.exe /pnfs/dune/persistent/users/abooth/Production/MiniProdN1p2-v1r1/run-spill-build/output/MiniProdN1p2_NDLAr_1E19_RHC.spill/EDEPSIM_SPILLS/00000/MiniProdN1p2_NDLAr_1E19_RHC.spill.00049.EDEPSIM_SPILLS.root
# events on TMS and LAr
ConvertToTMSTree.exe /pnfs/dune/persistent/users/kleykamp/nd_production/2024-04-18_rhc_test/edep/RHC/00m/00/antineutrino.0_1713482441.edep.root
# Lar-only but not from nersc
ConvertToTMSTree.exe /pnfs/dune/persistent/users/kleykamp/nd_production/2024-05-13_lar_only_rhc/edep/RHC/00m/00/antineutrino.0_1715654453.edep.root

All cases should complete within a reasonable time. The output can then be inspected with scripts.

Validation sripts

We're still working on them. The code is on the branch kleykamp_validation. In scripts/Validation first run setup.sh to setup dune plotting utils, then you can do

./run_validation.sh <input tmsreco.root file>

It should tell you where the output will be, but it should be but it should be something like

/exp/dune/data/users/$USER/dune-tms/Validation/Tracking-Validation/
<input filename>.root
<input filename>_images

See /exp/dune/data/users/kleykamp/dune-tms/Validation/Tracking-Validation/ for examples

Debugging

There are many ways to debug code. If all else fails, the easiest remaining technique is gdb. Do gdb ConvertToTMSTree.exe, then r <file> when it's started.

Read some gdb guides online for help. You can set breakpoints, read memory, etc. If the code is an in infinite loop, ctrl-c once you think you're inside it. Then do bt and you'll see the backtrace where the code stopped exactly. You can continue with c, and repeat as needed

Clone this wiki locally