Bugfix for status values of quasi-stable particles in the new-style truth handling
Follows !63059 (merged). In the case that we are removing quasi-stable particle decays and child
particles from the GenEvent
before starting the (Geant4) simulation, then the status values
of child particles produced by pre-defined quasi-stable particle decays should be set to 1
(or 2 if they themselves have pre-defined decays) rather than 20001 (the status value usually
used to indicate a new secondary particle created during simulation).
Needed for ATLPHYSVAL-960
For reference: A quasi-stable particle is defined as one which has been decayed by the generator, but could potentially deposit energy in sensitive regions of the detector. It is therefore passed to Geant4, which propagates it through the detector then allows it to undergo its pre-defined decay.
Sketch of how GenParticle
status should be updated for the new scheme.
Scenario | Old status | Old barcode | New status |
---|---|---|---|
Nth Truth particle created+decayed during evgen (including particles produced in pre-defined decays) | 2 | N | 2 |
Nth Truth Particle created, but not decayed during evgen (including particles produced in pre-defined decays) | 1 | N | 1 |
Nth Secondary particle created by an interaction/decay during sim | 1 | 200000 + N | 20001 |
Generator created particle with has survived M interactions during sim (B = original barcode) | 1 | B + M*1000000 | 1 + M*100000 |
Secondary particle created during sim, which has survived M interactions (B = original barcode) | 1 | B + M*1000000 | 20001 + M*100000 |
Sketch of how GenVertex
status should be updated for the new scheme.
Scenario | Old status | Old barcode | New status |
---|---|---|---|
Nth Truth vertex created during evgen | <1000 (generator specific) | -N | <1000 (same as old scheme) |
Nth Truth vertex created during sim | 1000 + G4 process | -200000 - N | 20000 + 1000 + G4 process |