5fc50bcefc
G4Calo.py prints the commit at import time, resolved via a minicalo_version.py file (baked in by Docker) or git rev-parse from the file's directory as fallback. event_id in the Steps ntuple restarts from 0 in each subprocess; _assemble_results_to_mini_df now accepts per-file event_id_offsets so IDs are globally unique after merging. run_batch passes cumulative nevents as offsets when loading the Steps tree. Dockerfiles write minicalo_version.py before copying Python files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>