DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
|
#include <SRTrueParticle.h>
Public Attributes | |
int | pdg = 0 |
Particle. | |
int | G4ID = -1 |
ID of the particle (taken from GEANT4 – -1 if this particle is not propogated by G4) | |
long int | interaction_id = -1 |
True interaction ID (edep-sim 'vertexID' for ND, or GENIe record number for FD) of the source of this particle. | |
float | time = NaN |
Generation time at true interaction vertex [ns]. | |
TrueParticleID | ancestor_id |
The primary particle this particle descended from, if relevant. | |
SRLorentzVector | p |
Momentum at generation point [GeV/c]. | |
SRVector3D | start_pos |
Particle generation position [cm]. | |
SRVector3D | end_pos |
Particle end position (decay, interaction, stop) [cm]. | |
int | parent = -1 |
GEANT4 trackID of parent particle from this particle. | |
std::vector< unsigned int > | daughters |
GEANT4 trackIDs of daughter particles from this particle. | |
GEANT4 process codes. | |
The "process" codes are defined here: https://geant4.kek.jp/Reference/v11.1.1/G4ProcessType_8hh_source.html The "subprocess" codes depend on the value of the "process" code (see previous). The most relevant ones are:
| |
unsigned int | first_process |
unsigned int | first_subprocess |
GEANT4 subprocess code for this particle's creation or first step (see caveat on first_process). | |
unsigned int | end_process |
G4 process code for the particle's end. | |
unsigned int | end_subprocess |
G4 subprocess code for the particle's end. | |
Static Private Attributes | |
static constexpr float | NaN = std::numeric_limits<float>::signaling_NaN() |
True particle in the particle record. (Most particles we store come straight from GENIE (so-called "primaries"), but occasionally we want info about other intermediaries as well)
unsigned int caf::SRTrueParticle::first_process |
GEANT4 process code for creation or first step process recorded by GEANT4. BEWARE: Sometimes this is the creation process and sometimes it is simply the process undergone in the particle's first saved trajectory step. (For example, if edep-sim is your upstream G4 simulation, it filters trajectory points to a subset that contain 'interesting' processes, see EDepSim::PersistencyManager::SelectTrajectoryPoints(). If the creation process for your particle wasn't one of those, then you'll see here the process for the first trajectory point—which might be something confusing like 'ionization'—instead!) Study the values carefully for particles you are interested in if you want to use it!