LEGEND integration
This is the primary tracking issue for integrating Celeritas with the simulation workflow for the LEGEND experiment. The primary Celeritas contact points are the "assignees" to the right.
Core capabilities
- [ ] Optical photon physics: https://github.com/celeritas-project/celeritas/issues/886 especially wavelength shifting #1507
- [ ] ORANGE for platform portability: https://github.com/celeritas-project/celeritas/issues/1167
Notes
- Framework: https://github.com/legend-exp/remage
- Optical physics simulation: https://doi.org/10.1140/epjc/s10052-023-11354-9
- Scintillation by particle type is on the radar
- Heavily rely on optical map
I'm happy to be added as a preliminary contact point if you want here as I'm officially in LEGEND.
From Matthew Green:
To start, we simulate scintillation photons produced in liquid argon, in which we approximate the blue curve in the figure as a gaussian distribution centered at 128nm with sigma = 2.929nm, emitted isotropically.
We voxelize the detector in 5mmx5mmx5mm voxels, generate scintillation photons, track. In addition to the scintillation, we also include wavelength shifting in TPB and wavelength-shifting optical fibers and scintillation in PEN plastic.
Everthing inside the double-walled steel cyrostat is argon, but it is partitioned by that vertical copper can into 2 regions. In the outer region, where things are essentially axially symmetric, we use the axial symmetry to effectively generate a 2D probability map in R, Z. In the inner region, where the axial symmetry is broken, we generate the map fully in 3D. In both cases we generate random points within the voxel boundary, sample whether that point is in LAr, and if so, throw a photon. If not, resample.
Maps look something like this:
Inner region (left-most) is a 2d slice from a 3d map, middle/outer regions are the 2D map in R,z.
Notes from 9/22 meeting with Ian:
Likely challenges:
- CAD geometry for structural scintillating plastic components (PEN plates) will require tesselated mesh support
- Full Geant4 mode stores full MC truth (step data) for EM tracks that cause scintillation
- Internal reflection in WLS Sfibers is expensive; consider waveguide approach as suggested by @whokion
Plan:
- Obtain updated LEGEND-200 model (see issue linked above) and evaluate physics requirements
- Test standalone performance (with temporary omissions/substitutions as needed, e.g. some simpler solid for the PEN plates
- Integrate into remage and test performance
- When feature complete (or even before, using coarse optical map with Geant4 physics/geometry reduced to match current Celeritas capabilities) compare physics accuracy via optical maps
- Evaluate benefit of GPU+MPI based histogram calculations rather than ROOT (i.e., time spent in step reconstruction, ROOT interface, ROOT I/O, and postprocess merging of many jobs), possibly with scaling in number of bins and number of histories
- If benefit is substantial run "hero" job on Frontier to produce high fidelity, low noise optical map
- Future work will extend to optimization of plastic components
Requirements from experiment:
- Need "working" geant4 app/workflow for optical map generation that lets us export latest detector geometry, physics setup
- Need data format (histogram mapping etc) for optical map (see #1751)
- Need timing benchmarks for optical physics, waveguide time, etc.
And follow-on from @ManuelHu , @gipert, @drbenmorgan :
- reboost and remage are the library/application used in LEGEND simulation
- map generation procedure for remage
- Manuel uploaded his thesis which is now on our group zotero and listed on our references page
From @ManuelHu:
This diagram makes sense to illustrate the software stack implemented now. Most of these parts are already working and tested since my Master's thesis, especially concerning the optical mapping. This also means that the remage application *) itself is not involved in optical mapping at all, apart from actually simulating photon tracks with Geant4. The open issues are not really of relevance here. Optical map generation and application entirely happens in reboost, which is the post-processing tool for simulated data. (*) sometimes we also refer to the whole software stack as remage...
The grayed out part is just what I did not do in my thesis. This is mostly the Germanium detectors' response which we also do not model in Geant4. The yellow part is the main simulation flow that produces the experiment-like data structure (simulating our actual physics, enriching that with information of the optical model/cuts, apply the HPGe detector response models, ...) In the end, a user that just wants to simulate physics should only care about the yellow main flow, i.e. they have to set up the vertex position where their physics of interest is happening, run the simulations with the selected processes enables and then apply the post-processing with reboost. The non-yellow parts should be handled transparently in this main case.