75 Commits

Author SHA1 Message Date
lars 5fc50bcefc print commit hash on import; fix event_id offset in multi-core steps
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>
2026-06-08 16:35:31 +02:00
lars df3faa841c assemble steps inside try block to ensure temp file cleanup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:18:40 +02:00
lars 5f01ab6d35 save hits and steps to separate pickles in run_pbwo4.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:18:05 +02:00
lars 7a62a46fe6 add run_pbwo4.py and include examples dir in both Docker images
run_pbwo4.py simulates 10 events in a single 20cm G4_PbWO4 layer
(10x10 sensor grid, 1 GeV e-) and saves results as a pickle next to
the script. Both images now expose /examples containing all bind/ files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 13:59:01 +02:00
lars 19b1ef125b add per-step kinematics ntuple ("Steps") to ROOT output
Adds a second ntuple alongside the existing "Hits" ntuple with one row
per Geant4 step. Records event_id, track_id, step_no, PDG code, and
pre/post position + kinetic energy for every step in the simulation.

Also extends run_batch() with return_steps=False; when True, returns
(hits_mf, steps_mf) instead of just hits_mf.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 11:37:39 +02:00
Jan Kieseler cc41ed3c65 legacy structure (I hope) 2025-10-16 15:11:50 +02:00
Jan Kieseler 589b50522b removed unnecessary includes 2025-10-10 14:44:46 +02:00
Jan Kieseler 47919f46aa docu 2025-10-10 13:18:59 +02:00
Jan Kieseler e53e2b0af4 fixing local absolute path for debugging 2025-10-10 13:00:05 +02:00
Jan Kieseler 13a913c068 changed to slim pandas wrapper 2025-10-10 10:38:33 +02:00
Jan Kieseler d1155dc1e2 added slim pandas wrapper 2025-10-10 10:38:22 +02:00
Jan Kieseler 0492cf0875 added better cleanup 2024-12-13 12:33:43 +01:00
Jan Kieseler e195f8fe1a small fix 2024-12-13 11:53:11 +01:00
Jan Kieseler 62bf0837b5 changed underlying geant encapsulation completely 2024-12-13 11:13:54 +01:00
Jan Kieseler 7829fde6f2 manual seed option 2024-11-07 14:14:45 +01:00
Jan Kieseler 7410049a72 added multi particles 2024-10-09 13:05:18 +02:00
Jan Kieseler b7946e2e37 assert not needed anymore with clearly defined seeds 2024-10-07 15:21:20 +02:00
Jan Kieseler 6fede8c1f8 print 2024-09-17 16:20:09 +02:00
Jan Kieseler a40d66bb22 for dependencies 2024-09-15 22:17:50 +02:00
Jan Kieseler 854402320c fix for nomp. only use if you are anyway in a child process 2024-09-13 10:06:28 +02:00
Jan Kieseler e3c048f2ed changed events per core 2024-09-12 15:45:21 +02:00
Jan Kieseler 50ebbc2ae7 adde threading locks in case it's needed downstream 2024-09-12 15:35:44 +02:00
Jan Kieseler 1361621655 more options 2024-09-10 09:09:10 +02:00
Jan Kieseler 85b344d134 tools and fixes 2024-09-10 09:06:13 +02:00
Jan Kieseler 1289cd6f0c fixed file save 2024-09-09 15:48:44 +02:00
Jan Kieseler 7e520d88b9 fixes 2024-09-09 14:56:30 +02:00
Jan Kieseler 3650114b21 better seeding 2024-08-27 09:36:30 +02:00
Jan Kieseler fc5c61a55b fix for seed 2024-08-26 14:28:27 +02:00
Jan Kieseler a2fe3bbf5f pretified 2024-08-23 11:35:01 +02:00
Jan Kieseler 9038c9521a better plotting 2024-08-23 11:22:50 +02:00
Jan Kieseler 905d5408ed fixed df indexing 2024-08-22 16:33:16 +02:00
Jan Kieseler ca126d0b8f added seed also to fill_event 2024-08-22 16:10:38 +02:00
Jan Kieseler d8f3a3720a proper seedings 2024-08-22 15:50:24 +02:00
Jan Kieseler 3aa8f67742 silent 2024-08-22 15:05:07 +02:00
Jan Kieseler d993be76cd simplify it 2024-08-22 14:44:24 +02:00
Jan Kieseler 64399dbf3c fixes 2024-08-22 14:41:24 +02:00
Jan Kieseler d67b633a40 also added display_event 2024-07-23 14:54:39 +02:00
Jan Kieseler c281fd2bbc updated 2024-07-23 14:53:33 +02:00
Jan Kieseler e849d0bac5 changed to be serialisable for multiprocessing 2024-07-23 14:01:20 +02:00
Jan Kieseler 39d35a1b56 file save 2024-05-07 09:51:05 +02:00
Jan Kieseler cb736850e7 fixed assign problems probably 2024-01-25 10:44:39 +01:00
lars 5ebcf963fc unique filenames, circumvent Geant thread in filename, del root& save pkl 2023-10-13 15:55:27 +02:00
Jan Kieseler 381aa6ea91 output file 2023-10-13 09:09:02 +02:00
Jan Kieseler 9ded57e14a more safety options for non existing materials 2023-10-10 18:05:35 +02:00
Jan Kieseler 8780011664 vis stuff 2023-10-09 14:08:27 +02:00
Jan Kieseler 45f64c8832 fixed vis and sensor position 2023-10-09 14:03:00 +02:00
lars 61e3648635 take sensors in layers 2023-10-09 12:34:19 +02:00
Jan Kieseler 9cd1a93ced fix 2023-10-09 11:55:30 +02:00
lars 48c0391978 index out of bounds workaround 2023-10-08 10:21:06 +02:00
lars e7b26da63f Merge branch 'main' of gitlab.etp.kit.edu:jkiesele/minicalosim 2023-10-07 15:31:02 +02:00