DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
caf Namespace Reference

Common Analysis Files. More...

Classes

class  FlashMatch
 
class  Proxy
 
class  SRBeamBranch
 
class  SRCommonRecoBranch
 Shared reconstructed info across all (?) detectors. More...
 
class  SRCVNScoreBranch
 
class  SRDetectorMeta
 
class  SRDetectorMetaBranch
 
class  SRDirectionBranch
 
class  SRECALCluster
 
class  SRFD
 
class  SRFDBranch
 
struct  SRFDID
 The information needed to uniquely identify a FD reco object. More...
 
class  SRFDInt
 A FD reconstructed neutrino interaction. More...
 
class  SRGAr
 ND-GAr reconstruction output. More...
 
class  SRGArECAL
 
class  SRGArID
 The information needed to uniquely identify a ND-GAr reco object. More...
 
class  SRGArInt
 An ND-GAr reconstructed neutrino interaction. More...
 
class  SRGArTrack
 
class  SRGlobal
 
class  SRInteraction
 Top-level particle interaction. (Usually neutrinos, but cosmics, etc. can live here too) More...
 
class  SRInteractionBranch
 
class  SRLorentzVector
 
class  SRMINERvA
 
class  SRMINERvAID
 The information needed to uniquely identify a MINERvA reco object. More...
 
class  SRMINERvAInt
 A MINERvA reconstructed interaction. More...
 
class  SRNDBranch
 
class  SRNDLAr
 ND-LAr reconstruction output. More...
 
class  SRNDLArID
 The information needed to uniquely identify an ND-LAr reco object. More...
 
class  SRNDLArInt
 A reconstructed interaction in ND-LAr. More...
 
class  SRNDShowerAssn
 
class  SRNDShwAssnBranch
 
class  SRNDTrackAssn
 
class  SRNDTrkAssnBranch
 
class  SRNeutrinoEnergyBranch
 
class  SRNeutrinoHypothesisBranch
 
class  SROpticalFlash
 optical flash candidate More...
 
class  SRPFP
 
class  SRRecoParticle
 Reconstructed particle candidate. More...
 
class  SRRecoParticlesBranch
 
class  SRSAND
 SAND reconstruction output. More...
 
class  SRSANDInt
 A SAND reconstructed neutrino interaction. More...
 
class  SRShower
 
class  SRSystParamHeader
 
class  SRTMS
 
class  SRTMSID
 The information needed to uniquely identify a TMS reco object. More...
 
class  SRTMSInt
 A TMS reconstructed neutrino interaction. More...
 
class  SRTrack
 
class  SRTrueInteraction
 True interaction of probe particle with detector. Usually neutrinos, but occasionally cosmics etc. More...
 
class  SRTrueParticle
 
class  SRTruthBranch
 
class  SRVector3D
 A 3-vector with more efficient storage than TVector3. More...
 
class  SRWeightGlobal
 
class  StandardRecord
 The StandardRecord is the primary top-level object in the Common Analysis File trees.
More...
 
class  TrueParticleID
 

Typedefs

using SRTrueParticleProxy = caf::Proxy< caf::SRTrueParticle >
 
using SRTrueInteractionProxy = caf::Proxy< caf::SRTrueInteraction >
 

Enumerations

enum  Detector : std::size_t {
  kUnknownDet = 0 , kND_LAr = 1 , kND_TMS = 2 , kND_SAND = 3 ,
  kND_GAr = 4 , k2x2 = 5 , kMINERvA = 6 , kFD_HD = 10 ,
  kFD_VD = 11 , kProtoDUNE = 15 , _kLastDetector = 24
}
 Known detectors in CAFs. More...
 
enum  Generator {
  kUnknownGenerator = 0 , kGENIE = 1 , kGIBUU = 2 , kNEUT = 3 ,
  kCRY = 4 , kNuWro = 5 , kMARLEY = 6 , kCORSIKA = 7 ,
  kGEANT = 8
}
 Known generators of neutrino interactions (extend as other generators are used)
 
enum  PartEMethod { kUnknownMethod , kRange , kMCS , kCalorimetry }
 Methods for reconstructing particle energies. More...
 
enum  ScatteringMode {
  kUnknownMode = -100 , kQE = 1 , kSingleKaon = 2 , kDIS = 3 ,
  kRes = 4 , kCoh = 5 , kDiffractive = 6 , kNuElectronElastic = 7 ,
  kInvMuonDecay = 8 , kAMNuGamma = 9 , kMEC = 10 , kCohElastic = 11 ,
  kInverseBetaDecay = 12 , kGlashowResonance = 13 , kIMDAnnihilation = 14 , kPhotonCoh = 15 ,
  kPhotonRes = 16 , kDarkMatterElastic = 101 , kDarkMatterDIS = 102 , kDarkMatterElectron = 103
}
 Neutrino interaction categories. Periodically synchronized to GENIE (last update: GENIE 3.04.00) to avoid confusion (but we don't want a GENIE dependency for the StandardRecord so we maintain our own copy here).
 
enum  FD_RECO_STACK { kUnknownFDReco , kPandoraFD }
 Which reconstruction toolkit was used to reconstruct this FD event?
 
enum  NDLAR_RECO_STACK { kUnknownNDLArReco , kDeepLearnPhys , kPandoraNDLAr }
 Which reconstruction toolkit was used to reconstruct this ND event?
 
enum  NDRecoMatchType { kUndeclared = 0 , kSimple = 1 , kUniqueNoTime = 2 , kUniqueWithTime = 3 }
 
enum  RecoObjType { kUnknownRecoObj = -1 , kTrack = 1 , kShower = 2 , kHitCollection = 3 }
 What is the type of the reconstructed object? This is used to help with the association of reconstructed particles to underlying reconstructed objects. More...
 

Functions

template const SRTrueParticleFindParticle (const SRTruthBranch &truth, const TrueParticleID &id)
 
template const SRTrueInteractionFindInteraction (const SRTruthBranch &truth, long int id)
 
template<typename TruthBranchType , typename TrueParticleIDType >
const std::conditional< std::is_same_v< TruthBranchType, SRTruthBranch >, SRTrueParticle, SRTrueParticleProxy >::type * FindParticle (const TruthBranchType &truth, const TrueParticleIDType &id)
 
template<typename TruthBranchType >
const std::conditional< std::is_same_v< TruthBranchType, SRTruthBranch >, SRTrueInteraction, SRTrueInteractionProxy >::type * FindInteraction (const TruthBranchType &truth, long int id)
 

Detailed Description

Common Analysis Files.

Author
J. Wolcott jwolc.nosp@m.ott@.nosp@m.fnal..nosp@m.gov
Date
Apr. 2023
Author
J. Wolcott jwolc.nosp@m.ott@.nosp@m.fnal..nosp@m.gov & F. Akbar fakba.nosp@m.r@ur.nosp@m..roch.nosp@m.este.nosp@m.r.edu
Date
Nov. 2021

Enumeration Type Documentation

◆ Detector

enum caf::Detector : std::size_t

Known detectors in CAFs.

Enumerator
kND_LAr 

35-module liquid argon TPC (forms part of movable PRISM detector concept)

kND_TMS 

magnetized spectrometer/calorimeter (forms part of movable PRISM detector concept in Phase I)

kND_SAND 

scintillator tracker and calorimeter, fixed on-axis in beam

kND_GAr 

high-pressure gaseous argon TPC (forms part of movable PRISM detector concept in Phase II)

k2x2 

ND-LAr prototype.

kMINERvA 

tracker & muon veto for 2x2; repurposed former MINERvA detector components

kFD_HD 

Horizontal drift (a.k.a. module 1)

kFD_VD 

Vertical drift (a.k.a. module 2)

kProtoDUNE 

Horizontal drift prototype.

_kLastDetector 

to use in bitset sizing. make it big enough that we'll never have to expand it —> future-proof CAFs

◆ NDRecoMatchType

Enumerator
kUndeclared 

default value

kSimple 

match performed using Kate Hildebrandt's "simple" matching algorithm

kUniqueNoTime 

match performed using Quinton Weyrich's NDLArTMSUniqueMatchRecoFiller.cxx, without time

kUniqueWithTime 

match performed using Quinton Weyrich's NDLArTMSUniqueMatchRecoFiller.cxx, with time

◆ PartEMethod

Methods for reconstructing particle energies.

Enumerator
kRange 

Amount of material traversed by particle.

kMCS 

Multiple scattering.

kCalorimetry 

Observed energy deposited in active volume.

◆ RecoObjType

What is the type of the reconstructed object? This is used to help with the association of reconstructed particles to underlying reconstructed objects.

Enumerator
kUnknownRecoObj 

default value

kTrack 

track

kShower 

shower

kHitCollection 

hit collection (mostly used to garbage collect all remaining hits)

Function Documentation

◆ FindParticle()

template<typename TruthBranchType , typename TrueParticleIDType >
const std::conditional< std::is_same_v< TruthBranchType, SRTruthBranch >, SRTrueParticle, SRTrueParticleProxy >::type * caf::FindParticle ( const TruthBranchType &  truth,
const TrueParticleIDType &  id 
)

Convenience method to find a particle stored by its ID easily. Intended to be used with 'regular' StandardRecord objects as well as their SRProxy equivalents. (The horrible return type construction is so that the return type can be deduced automatically and thus avoids having to have the user specify a template parameter for it.)