Add per-step Spawning ntuple, Geant4 submodule superbuild, and standalone dataset executables #1
Reference in New Issue
Block a user
Delete Branch "spawning-ntuple"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
This branch extends miniCaloSim with per-step kinematic tracking, moves Geant4
to a submodule-based superbuild, and adds standalone executables for
generating calorimeter datasets outside the Python/Jupyter workflow.
Steps ntuple (per-step kinematics)
StepsROOT ntuple recording per-step kinematics alongside theexisting
Hitsntuple.Spawningntuple), includingchild_track_idsand post-step momentum direction.next_volume/next_materialcolumns for step-level geometry context.and steps to separate pickles from
run_pbwo4.py.Build system
lib/geant4) and build it via anew CMake superbuild (
superbuild/CMakeLists.txt), removing the dependencyon a separately-installed Geant4.
xerces-c.
docker/Dockerfilearound the submodule/superbuild, drop thenow-unused
Dockerfile-miniand JupyterHub start-script variants, andlimit Docker build parallelism to
min(nproc, 16).pre-assignment surfaced by the submodule build.
New standalone executables
run_pbwo4— generates PbWO4 calorimeter datasets; supportsnEventsandenergy_GeVCLI args, andMINICALOSIM_SEEDto avoid RNG seed collisionsacross concurrently-launched jobs.
run_sampling— generates datasets for four sampling calorimeter configs(
pb_scint,fe_scint,w_scint_ecal,pb_lar), with the samenEvents/energy_GeV/MINICALOSIM_SEEDsupport.export_xsec— exports PbWO4 gamma mass attenuation coefficients viaG4EmCalculator.run-sampling-batch.sh/run-at-etp.sh— batch scripts for paralleldataset production on the ETP cluster.
Other
exampleB4a.cc, macros, plotting scripts) nolonger needed now that geometry is fully descriptor-driven.
README.mdand addCLAUDE.mdwith build/test/architecture docsfor the current state of the project.
mentioned in commit
b5c8f69bfa