#include <FlatG4Tree.h>
Public Member Functions | |
FlatG4Tree () | |
FlatG4Tree (TTree *tree) | |
FlatG4Tree (TTree *tree, char opt) | |
const UInt_t | NSim () const override |
number of particles More... | |
const UInt_t | NPoints (const UInt_t &iparticle) const override |
number of G4 steps (i.e. trajectory points) More... | |
const UInt_t | NRegions (const UInt_t &iparticle) const override |
number of regions traversed by particle More... | |
const Int_t | Region (const UInt_t &iparticle, const UInt_t &iregion) const override |
region number More... | |
const vector< const TLorentzVector * > * | SimMomEnter (const UInt_t &iparticle) const override |
particle 4-momentum at entry point, all regions More... | |
const vector< const TLorentzVector * > * | SimMomExit (const UInt_t &iparticle) const override |
particle 4-momentum at exit point, all regions More... | |
const vector< const TLorentzVector * > * | SimPosEnter (const UInt_t &iparticle) const override |
particle 4-position at entry point, all regions More... | |
const vector< const TLorentzVector * > * | SimPosExit (const UInt_t &iparticle) const override |
particle 4-position at exit point, all regions More... | |
const TLorentzVector * | SimMomEnter (const UInt_t &iparticle, const UInt_t &iregion) const override |
particle 4-momentum at entry point in region More... | |
const TLorentzVector * | SimMomExit (const UInt_t &iparticle, const UInt_t &iregion) const override |
particle 4-momentum at exit point in region More... | |
const TLorentzVector * | SimPosEnter (const UInt_t &iparticle, const UInt_t &iregion) const override |
particle 4-position at entry point in region More... | |
const TLorentzVector * | SimPosExit (const UInt_t &iparticle, const UInt_t &iregion) const override |
particle 4-position at exit point in region More... | |
const bool | IsPrimary (const UInt_t &iparticle) const override |
did particle come from generator? More... | |
const Int_t | PDG (const UInt_t &iparticle) const override |
particle PDG code More... | |
const int | ParentPDG (const UInt_t &iparticle) const override |
parent particle's PDG code More... | |
const int | ProgenitorPDG (const UInt_t &iparticle) const override |
PDG of primary that led this one. More... | |
const int | TrackID (const UInt_t &iparticle) const override |
G4 track ID (can be <0 if it fell below trking threshold) More... | |
const int | ParentTrackID (const UInt_t &iparticle) const override |
G4 track ID of parent particle. More... | |
const int | ProgenitorTrackID (const UInt_t &iparticle) const override |
G4 track ID of primary that led this one. More... | |
const Int_t | ProcessI (const UInt_t &iparticle) const override |
code for process that created this one More... | |
const Int_t | ProcessF (const UInt_t &iparticle) const override |
code for process that killed this one More... | |
void | GetEntry (const UInt_t &ientry) override |
const UInt_t | NSubEntries () const |
Public Member Functions inherited from garana::G4Tree | |
virtual | ~G4Tree () |
UInt_t const | GetTruthIndex (UInt_t iparticle) const |
index in gen tree subentry to truth match to this More... | |
const UInt_t | NPrimary () const |
bool | HasPassedTPC (const UInt_t &iparticle) const |
did the G4Particle pass through any TPC drift volume(s)? More... | |
bool | HasPassedCalo (const UInt_t &iparticle) const |
did the G4Particle pass through any active ECal volume(s)? More... | |
bool | IsStoppedTPC (const UInt_t &iparticle) const |
did the G4Particle stop/decay in any TPC drift volume(s)? More... | |
bool | IsStoppedCalo (const UInt_t &iparticle) const |
did the G4Particle stop/decay in any active ECal volume(s)? More... | |
bool | IsContainedTPC (const UInt_t &iparticle) const |
if the G4Particle was produced in any TPC drift volume, does it remain in either drift volume? More... | |
bool | IsContainedCalo (const UInt_t &iparticle) const |
if the G4Particle was produced in any active ECal volume, does it remain there? More... | |
bool | IsCathodeCrosser (const UInt_t &iparticle) const |
did the G4Particle cross the TPC central cathode? More... | |
bool | IsContainedTPCEvent () const |
do all particles produced in any TPC drift volume in this event remain in either volume? More... | |
bool | IsContainedTPCPrimaries () const |
do all primaries produced in any TPC drift volume in this event remain in either volume? More... | |
bool | IsContainedCaloEvent () const |
do all particles produced in any active ECal volume in this event remain there? More... | |
bool | IsContainedCaloPrimaries () const |
do all primaries produced in any active ECal volume in this event remain there? More... | |
const TLorentzVector * | SimMomBegin (const UInt_t &iparticle) const |
const TLorentzVector * | SimMomEnd (const UInt_t &iparticle) const |
const TLorentzVector * | SimPosBegin (const UInt_t &iparticle) const |
const TLorentzVector * | SimPosEnd (const UInt_t &iparticle) const |
Public Member Functions inherited from garana::TreeReader | |
virtual | ~TreeReader () |
void | SetupRead (TTree *tree) |
TTree * | GetInputTree () |
size_t | NEntries () const |
Int_t | Event () const |
const TObjArray * | GetBranchList () const |
void | Fill () |
void | Write () |
void | CheckOpt (char opt) |
bool | BlockWrite () const |
Protected Member Functions | |
bool | SetBranchAddresses () override |
void | SetVecs () |
void | ClearVecs () |
void | SetLimits () |
void | FillIndexMap () |
const UInt_t | LocalToGlobalIndex (const UInt_t &iparticle) const |
Protected Attributes | |
std::map< UInt_t, std::pair< UInt_t, UInt_t > > | fLimits |
for each array for a given particle More... | |
std::map< UInt_t, UInt_t > | fLocalToGlobalIndex |
UInt_t | fNSim = UINT_MAX |
number of G4 particles per event More... | |
vector< UInt_t > * | fNPts = nullptr |
number of 4-vector "snapshots" (G4 steps) More... | |
vector< UInt_t > * | fNRegions = nullptr |
number of regions of interest cross by the particle More... | |
vector< Int_t > * | fRegions = nullptr |
region IDs More... | |
vector< Int_t > * | fTrkID = nullptr |
particle's G4 trackID More... | |
vector< Int_t > * | fPDG = nullptr |
particle's PDG code More... | |
vector< Int_t > * | fParentPdg = nullptr |
particle parent's PDG code More... | |
vector< Int_t > * | fProgenitorPdg = nullptr |
FS particle from gen stage that led to this one. More... | |
vector< Int_t > * | fParentTrackId = nullptr |
particle's parent's trackID More... | |
vector< Int_t > * | fProgenitorTrackId = nullptr |
FS particle from gen stage that led to this one. More... | |
vector< Int_t > * | fProcessI = nullptr |
process that produced the particle More... | |
vector< Int_t > * | fProcessF = nullptr |
process that killed the particle More... | |
vector< Float_t > * | fX = nullptr |
particle's x-position in lab frame [cm] More... | |
vector< Float_t > * | fY = nullptr |
particle's y-position in lab frame [cm] More... | |
vector< Float_t > * | fZ = nullptr |
particle's z-position in lab frame [cm] More... | |
vector< Float_t > * | fT = nullptr |
particle's time in lab frame [ns] More... | |
vector< Float_t > * | fPx = nullptr |
particle's x-momentum in lab frame [GeV/c] More... | |
vector< Float_t > * | fPy = nullptr |
particle's y-momentum in lab frame [GeV/c] More... | |
vector< Float_t > * | fPz = nullptr |
particle's z-momentum in lab frame [GeV/c] More... | |
vector< Float_t > * | fE = nullptr |
particle's total energy in lab frame [GeV] More... | |
TBranch * | b_NSim = nullptr |
TBranch * | b_NPts = nullptr |
TBranch * | b_NRegions = nullptr |
TBranch * | b_Regions = nullptr |
TBranch * | b_TrkID = nullptr |
TBranch * | b_PDG = nullptr |
TBranch * | b_ParentPdg = nullptr |
TBranch * | b_ProgenitorPdg = nullptr |
TBranch * | b_ParentTrackId = nullptr |
TBranch * | b_ProgenitorTrackId = nullptr |
TBranch * | b_ProcessI = nullptr |
TBranch * | b_ProcessF = nullptr |
TBranch * | b_X = nullptr |
TBranch * | b_Y = nullptr |
TBranch * | b_Z = nullptr |
TBranch * | b_T = nullptr |
TBranch * | b_Px = nullptr |
TBranch * | b_Py = nullptr |
TBranch * | b_Pz = nullptr |
TBranch * | b_E = nullptr |
Protected Attributes inherited from garana::G4Tree | |
vector< UInt_t > * | fG4TruthIndex = nullptr |
vector< UInt_t > * | fG4FSIndex = nullptr |
TBranch * | b_G4TruthIndex = nullptr |
TBranch * | b_G4FSIndex = nullptr |
Protected Attributes inherited from garana::TreeReader | |
const std::string | treename |
char | fOpt = 'r' |
TTree * | fTreeIn = nullptr |
pointer to the analyzed TTree or TChain More... | |
UInt_t | fCurrentEntry = UINT_MAX |
TBranch * | b_Event = nullptr |
Int_t | fEvent = -1 |
event number for tree entry More... | |
Definition at line 19 of file FlatG4Tree.h.
|
inline |
Definition at line 23 of file FlatG4Tree.h.
FlatG4Tree::FlatG4Tree | ( | TTree * | tree | ) |
Definition at line 14 of file FlatG4Tree.cxx.
FlatG4Tree::FlatG4Tree | ( | TTree * | tree, |
char | opt | ||
) |
Definition at line 20 of file FlatG4Tree.cxx.
|
protected |
Definition at line 130 of file FlatG4Tree.cxx.
|
protected |
Definition at line 300 of file FlatG4Tree.cxx.
|
overridevirtual |
Reimplemented from garana::TreeReader.
Definition at line 38 of file FlatG4Tree.cxx.
|
overridevirtual |
did particle come from generator?
Implements garana::G4Tree.
Definition at line 160 of file FlatG4Tree.cxx.
|
protected |
Definition at line 313 of file FlatG4Tree.cxx.
|
overridevirtual |
number of G4 steps (i.e. trajectory points)
Implements garana::G4Tree.
Definition at line 156 of file FlatG4Tree.cxx.
|
overridevirtual |
number of regions traversed by particle
Implements garana::G4Tree.
Definition at line 169 of file FlatG4Tree.cxx.
|
overridevirtual |
const UInt_t FlatG4Tree::NSubEntries | ( | ) | const |
Definition at line 296 of file FlatG4Tree.cxx.
|
overridevirtual |
parent particle's PDG code
Implements garana::G4Tree.
Definition at line 268 of file FlatG4Tree.cxx.
|
overridevirtual |
G4 track ID of parent particle.
Implements garana::G4Tree.
Definition at line 280 of file FlatG4Tree.cxx.
|
overridevirtual |
|
overridevirtual |
code for process that killed this one
Implements garana::G4Tree.
Definition at line 292 of file FlatG4Tree.cxx.
|
overridevirtual |
code for process that created this one
Implements garana::G4Tree.
Definition at line 288 of file FlatG4Tree.cxx.
|
overridevirtual |
PDG of primary that led this one.
Implements garana::G4Tree.
Definition at line 272 of file FlatG4Tree.cxx.
|
overridevirtual |
G4 track ID of primary that led this one.
Implements garana::G4Tree.
Definition at line 284 of file FlatG4Tree.cxx.
|
overridevirtual |
region number
Implements garana::G4Tree.
Definition at line 173 of file FlatG4Tree.cxx.
|
overrideprotectedvirtual |
Implements garana::TreeReader.
Definition at line 47 of file FlatG4Tree.cxx.
|
protected |
|
protected |
Definition at line 108 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-momentum at entry point, all regions
Implements garana::G4Tree.
Definition at line 177 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-momentum at entry point in region
Implements garana::G4Tree.
Definition at line 249 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-momentum at exit point, all regions
Implements garana::G4Tree.
Definition at line 195 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-momentum at exit point in region
Implements garana::G4Tree.
Definition at line 254 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-position at entry point, all regions
Implements garana::G4Tree.
Definition at line 213 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-position at entry point in region
Implements garana::G4Tree.
Definition at line 259 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-position at exit point, all regions
Implements garana::G4Tree.
Definition at line 231 of file FlatG4Tree.cxx.
|
overridevirtual |
particle 4-position at exit point in region
Implements garana::G4Tree.
Definition at line 263 of file FlatG4Tree.cxx.
|
overridevirtual |
G4 track ID (can be <0 if it fell below trking threshold)
Implements garana::G4Tree.
Definition at line 276 of file FlatG4Tree.cxx.
|
protected |
Definition at line 113 of file FlatG4Tree.h.
|
protected |
Definition at line 95 of file FlatG4Tree.h.
|
protected |
Definition at line 96 of file FlatG4Tree.h.
|
protected |
Definition at line 94 of file FlatG4Tree.h.
|
protected |
Definition at line 100 of file FlatG4Tree.h.
|
protected |
Definition at line 102 of file FlatG4Tree.h.
|
protected |
Definition at line 99 of file FlatG4Tree.h.
|
protected |
Definition at line 105 of file FlatG4Tree.h.
|
protected |
Definition at line 104 of file FlatG4Tree.h.
|
protected |
Definition at line 101 of file FlatG4Tree.h.
|
protected |
Definition at line 103 of file FlatG4Tree.h.
|
protected |
Definition at line 110 of file FlatG4Tree.h.
|
protected |
Definition at line 111 of file FlatG4Tree.h.
|
protected |
Definition at line 112 of file FlatG4Tree.h.
|
protected |
Definition at line 97 of file FlatG4Tree.h.
|
protected |
Definition at line 109 of file FlatG4Tree.h.
|
protected |
Definition at line 98 of file FlatG4Tree.h.
|
protected |
Definition at line 106 of file FlatG4Tree.h.
|
protected |
Definition at line 107 of file FlatG4Tree.h.
|
protected |
Definition at line 108 of file FlatG4Tree.h.
|
protected |
particle's total energy in lab frame [GeV]
Definition at line 91 of file FlatG4Tree.h.
|
protected |
for each array for a given particle
tree is completely flat so need first and last index
Definition at line 64 of file FlatG4Tree.h.
|
protected |
Definition at line 66 of file FlatG4Tree.h.
|
protected |
number of 4-vector "snapshots" (G4 steps)
Definition at line 73 of file FlatG4Tree.h.
|
protected |
number of regions of interest cross by the particle
Definition at line 74 of file FlatG4Tree.h.
|
protected |
number of G4 particles per event
Definition at line 72 of file FlatG4Tree.h.
|
protected |
particle parent's PDG code
Definition at line 78 of file FlatG4Tree.h.
|
protected |
particle's parent's trackID
Definition at line 80 of file FlatG4Tree.h.
|
protected |
particle's PDG code
Definition at line 77 of file FlatG4Tree.h.
|
protected |
process that killed the particle
Definition at line 83 of file FlatG4Tree.h.
|
protected |
process that produced the particle
Definition at line 82 of file FlatG4Tree.h.
|
protected |
FS particle from gen stage that led to this one.
Definition at line 79 of file FlatG4Tree.h.
|
protected |
FS particle from gen stage that led to this one.
Definition at line 81 of file FlatG4Tree.h.
|
protected |
particle's x-momentum in lab frame [GeV/c]
Definition at line 88 of file FlatG4Tree.h.
|
protected |
particle's y-momentum in lab frame [GeV/c]
Definition at line 89 of file FlatG4Tree.h.
|
protected |
particle's z-momentum in lab frame [GeV/c]
Definition at line 90 of file FlatG4Tree.h.
|
protected |
region IDs
Definition at line 75 of file FlatG4Tree.h.
|
protected |
particle's time in lab frame [ns]
Definition at line 87 of file FlatG4Tree.h.
|
protected |
particle's G4 trackID
Definition at line 76 of file FlatG4Tree.h.
|
protected |
particle's x-position in lab frame [cm]
Definition at line 84 of file FlatG4Tree.h.
|
protected |
particle's y-position in lab frame [cm]
Definition at line 85 of file FlatG4Tree.h.
|
protected |
particle's z-position in lab frame [cm]
Definition at line 86 of file FlatG4Tree.h.