Bug #20554
AuxDetSensitive with ID 0 has no energy deposit
0%
Description
We (SBND) are simulating CRT modules using AuxDets, the modules are composed of 16 scintillator strips. The module ID is the AuxDetID of the AuxDetSimChannel and the strip ID is the AuxDetSensitiveID.
The issue is that strips with an ID of 0 (independent of module) are almost never hit in cosmic muon simulations, and in the rare case that they are the energy deposit is 0. The other IDs 1-15 are uniformly populated.
I've been through with a particle gun to confirm this.
There doesn't appear to be anything wrong with the GDML and I haven't been able to find anything that looks like it could be the cause in LArG4 but my experience with geant4 is limited.
ICARUS (who use a similar CRT simulation to SBND) have also seen an issue with sensitive ID's of 0.
Associated revisions
Fix redmine issue #20554 - AuxDetSensitive with ID 0 has no energy deposit.
The fallback code which creates a sensitive detector for each AuxDet if
there are no AuxDetSensitive in the geometry (supports old gdml files
created before the introduction of AuxDetSensitive) was being invoked
unconditionally on every execution. This resulted in Geant4 deleting
the sensitive detectors with id 0, so no data in that channel was being
recorded. The fix is to avoid doing the fallback if there really was
AuxDetSensitive in the geometry.
History
#1 Updated by Kyle Knoepfel over 1 year ago
- Status changed from New to Assigned
- Assignee set to Paul Russo
#2 Updated by Paul Russo over 1 year ago
- Status changed from Assigned to Resolved
This was a bug in the larsim/larsim/LArG4/AuxDetReadoutGeometry.cxx code.
The fallback code which creates a sensitive detector for each AuxDet if
there are no AuxDetSensitive in the geometry (supports old gdml files
created before the introduction of AuxDetSensitive) was being invoked
unconditionally on every execution. This resulted in Geant4 deleting
the sensitive detectors with id 0, so no data in that channel was being
recorded. The fix is to avoid doing the fallback if there really was
AuxDetSensitive in the geometry.
#3 Updated by Katherine Lato about 1 year ago
- Status changed from Resolved to Closed
Fix redmine issue #20554 - AuxDetSensitive with ID 0 has no energy deposit.
The fallback code which creates a sensitive detector for each AuxDet if
there are no AuxDetSensitive in the geometry (supports old gdml files
created before the introduction of AuxDetSensitive) was being invoked
unconditionally on every execution. This resulted in Geant4 deleting
the sensitive detectors with id 0, so no data in that channel was being
recorded. The fix is to avoid doing the fallback if there really was
AuxDetSensitive in the geometry.