Classes | Typedefs | Enumerations | Functions | Variables
caf Namespace Reference

This module creates Common Analysis Files. More...

Classes

class  CAFMaker
 Module to create Common Analysis Files from ART files. More...
 
struct  CAFMakerParams
 
struct  CVNFinalState
 
class  Proxy
 
class  Proxy< caf::SRBeam >
 Proxy for caf::SRBeam. More...
 
class  Proxy< caf::SRBpf >
 Proxy for caf::SRBpf. More...
 
class  Proxy< caf::SRBPFEnergy >
 Proxy for caf::SRBPFEnergy. More...
 
class  Proxy< caf::SRBpfId >
 Proxy for caf::SRBpfId. More...
 
class  Proxy< caf::SRBpfTrack >
 Proxy for caf::SRBpfTrack. More...
 
class  Proxy< caf::SRContain >
 Proxy for caf::SRContain. More...
 
class  Proxy< caf::SRCosmic >
 Proxy for caf::SRCosmic. More...
 
class  Proxy< caf::SRCosmicCVN >
 Proxy for caf::SRCosmicCVN. More...
 
class  Proxy< caf::SRCosRej >
 Proxy for caf::SRCosRej. More...
 
class  Proxy< caf::SRCVNFeatures >
 Proxy for caf::SRCVNFeatures. More...
 
class  Proxy< caf::SRCVNNeutronDaughterResult >
 Proxy for caf::SRCVNNeutronDaughterResult. More...
 
class  Proxy< caf::SRCVNParticleResult >
 Proxy for caf::SRCVNParticleResult. More...
 
class  Proxy< caf::SRCVNResult >
 Proxy for caf::SRCVNResult. More...
 
class  Proxy< caf::SRElastic >
 Proxy for caf::SRElastic. More...
 
class  Proxy< caf::SRELid >
 Proxy for caf::SRELid. More...
 
class  Proxy< caf::SREnergyBranch >
 Proxy for caf::SREnergyBranch. More...
 
class  Proxy< caf::SRFluxWeights >
 Proxy for caf::SRFluxWeights. More...
 
class  Proxy< caf::SRFuzzyK >
 Proxy for caf::SRFuzzyK. More...
 
class  Proxy< caf::SRFuzzyKProng >
 Proxy for caf::SRFuzzyKProng. More...
 
class  Proxy< caf::SRGenieWeights >
 Proxy for caf::SRGenieWeights. More...
 
class  Proxy< caf::SRGlobalTruth >
 Proxy for caf::SRGlobalTruth. More...
 
class  Proxy< caf::SRHadClust >
 Proxy for caf::SRHadClust. More...
 
class  Proxy< caf::SRHeader >
 Proxy for caf::SRHeader. More...
 
class  Proxy< caf::SRHoughVertex >
 Proxy for caf::SRHoughVertex. More...
 
class  Proxy< caf::SRIDBranch >
 Proxy for caf::SRIDBranch. More...
 
class  Proxy< caf::SRKalman >
 Proxy for caf::SRKalman. More...
 
class  Proxy< caf::SRKalmanTrack >
 Proxy for caf::SRKalmanTrack. More...
 
class  Proxy< caf::SRLem >
 Proxy for caf::SRLem. More...
 
class  Proxy< caf::SRLorentzVector >
 Proxy for caf::SRLorentzVector. More...
 
class  Proxy< caf::SRMCReweight >
 Proxy for caf::SRMCReweight. More...
 
class  Proxy< caf::SRMichelE >
 Proxy for caf::SRMichelE. More...
 
class  Proxy< caf::SRMRCCParent >
 Proxy for caf::SRMRCCParent. More...
 
class  Proxy< caf::SRMRProperties >
 Proxy for caf::SRMRProperties. More...
 
class  Proxy< caf::SRMuonID >
 Proxy for caf::SRMuonID. More...
 
class  Proxy< caf::SRNCCosRej >
 Proxy for caf::SRNCCosRej. More...
 
class  Proxy< caf::SRNCPi0BkgRej >
 Proxy for caf::SRNCPi0BkgRej. More...
 
class  Proxy< caf::SRNeutrino >
 Proxy for caf::SRNeutrino. More...
 
class  Proxy< caf::SRNueCosRej >
 Proxy for caf::SRNueCosRej. More...
 
class  Proxy< caf::SRNueEnergy >
 Proxy for caf::SRNueEnergy. More...
 
class  Proxy< caf::SRNumuEnergy >
 Proxy for caf::SRNumuEnergy. More...
 
class  Proxy< caf::SRNuonEResult >
 Proxy for caf::SRNuonEResult. More...
 
class  Proxy< caf::SRParentBranch >
 Proxy for caf::SRParentBranch. More...
 
class  Proxy< caf::SRParticleTruth >
 Proxy for caf::SRParticleTruth. More...
 
class  Proxy< caf::SRPixelMap >
 Proxy for caf::SRPixelMap. More...
 
class  Proxy< caf::SRPixelObjMap >
 Proxy for caf::SRPixelObjMap. More...
 
class  Proxy< caf::SRPresel >
 Proxy for caf::SRPresel. More...
 
class  Proxy< caf::SRProng >
 Proxy for caf::SRProng. More...
 
class  Proxy< caf::SRProngTrainingData >
 Proxy for caf::SRProngTrainingData. More...
 
class  Proxy< caf::SRRegCVNResult >
 Proxy for caf::SRRegCVNResult. More...
 
class  Proxy< caf::SRRemid >
 Proxy for caf::SRRemid. More...
 
class  Proxy< caf::SRRvp >
 Proxy for caf::SRRvp. More...
 
class  Proxy< caf::SRShower >
 Proxy for caf::SRShower. More...
 
class  Proxy< caf::SRShowerLID >
 Proxy for caf::SRShowerLID. More...
 
class  Proxy< caf::SRSlcME >
 Proxy for caf::SRSlcME. More...
 
class  Proxy< caf::SRSlice >
 Proxy for caf::SRSlice. More...
 
class  Proxy< caf::SRSliceLID >
 Proxy for caf::SRSliceLID. More...
 
class  Proxy< caf::SRSliceMap >
 Proxy for caf::SRSliceMap. More...
 
class  Proxy< caf::SRSLid >
 Proxy for caf::SRSLid. More...
 
class  Proxy< caf::SRSLidEnergy >
 Proxy for caf::SRSLidEnergy. More...
 
class  Proxy< caf::SRSpill >
 Proxy for caf::SRSpill. More...
 
class  Proxy< caf::SRTrack >
 Proxy for caf::SRTrack. More...
 
class  Proxy< caf::SRTrackBase >
 Proxy for caf::SRTrackBase. More...
 
class  Proxy< caf::SRTrackBranch >
 Proxy for caf::SRTrackBranch. More...
 
class  Proxy< caf::SRTrainingBranch >
 Proxy for caf::SRTrainingBranch. More...
 
class  Proxy< caf::SRTrainingData >
 Proxy for caf::SRTrainingData. More...
 
class  Proxy< caf::SRTrkME >
 Proxy for caf::SRTrkME. More...
 
class  Proxy< caf::SRTrueMichelE >
 Proxy for caf::SRTrueMichelE. More...
 
class  Proxy< caf::SRTrueNumuEnergy >
 Proxy for caf::SRTrueNumuEnergy. More...
 
class  Proxy< caf::SRTrueParticle >
 Proxy for caf::SRTrueParticle. More...
 
class  Proxy< caf::SRTruthBranch >
 Proxy for caf::SRTruthBranch. More...
 
class  Proxy< caf::SRVector3D >
 Proxy for caf::SRVector3D. More...
 
class  Proxy< caf::SRVertexBranch >
 Proxy for caf::SRVertexBranch. More...
 
class  Proxy< caf::SRVertexDT >
 Proxy for caf::SRVertexDT. More...
 
class  Proxy< caf::SRVeto >
 Proxy for caf::SRVeto. More...
 
class  Proxy< caf::SRXnue >
 Proxy for caf::SRXnue. More...
 
class  Proxy< caf::StandardRecord >
 Proxy for caf::StandardRecord. More...
 
class  Proxy< std::vector< T > >
 
class  Proxy< T[N]>
 
class  Restorer
 
class  RestorerT
 
class  SRBeam
 Information about the neutrino production. Docs from http://www.hep.utexas.edu/~zarko/wwwgnumi/v19/v19/output_gnumi.html. More...
 
class  SRBpf
 
class  SRBPFEnergy
 BPF energy estimator output. More...
 
class  SRBpfId
 Breakpoint ID (BpfId) output. More...
 
class  SRBpfTrack
 
class  SRBranchRegistry
 
class  SRContain
 Containment variables. More...
 
class  SRCosmic
 Truth information for cosmic rays. More...
 
class  SRCosmicCVN
 
class  SRCosRej
 Output from Cosmic Rejection (CosRej) module. More...
 
class  SRCVNFeatures
 CVN features. More...
 
class  SRCVNNeutronDaughterResult
 CVN PID output for a single particle. More...
 
class  SRCVNParticleResult
 CVN PID output for a single particle. More...
 
class  SRCVNResult
 CVN PID output. More...
 
class  SRElastic
 A potential interaction point from the ElasticArms algorithm. More...
 
class  SRELid
 Output of the LIDBuilder module (slid::lid objects). More...
 
class  SREnergy
 
class  SREnergyBranch
 An SREnergyBranch contains vectors of energy objects. More...
 
class  SRFluxWeights
 Reweight information for flux systematic. More...
 
class  SRFuzzyK
 
class  SRFuzzyKProng
 
class  SRGenieWeights
 Reweight information for a single GENIE systematic. More...
 
class  SRGlobalTruth
 
class  SRHadClust
 Overarching information for a numu hadronic cluster. More...
 
class  SRHeader
 Header representing overview information for the current event/slice. More...
 
class  SRHoughVertex
 A potential interaction point found by the HoughVertex algorithm. More...
 
class  SRIDBranch
 Event ID and selection variables. More...
 
class  SRJMEid
 Output of the jmshower::NueSel module. More...
 
class  SRJMEnergy
 DO NOT USE. ONLY HERE FOR BACKWARDS COMPATIBILITY. More...
 
class  SRJMShower
 A reconstructed shower from the JMShower module. More...
 
class  SRKalman
 
class  SRKalmanTrack
 
class  SRLem
 This class contains the LEM PID output. More...
 
class  SRLid
 DO NOT USE. ONLY HERE FOR BACKWARDS COMPATIBILITY. More...
 
class  SRLorentzVector
 4-vector with more efficient storage than TLorentzVector More...
 
class  SRMCReweight
 Various weights for systematic reweights of MC. More...
 
class  SRMichelE
 
class  SRMRCCParent
 An SRMRCCParent holds information about the slice that was parent to the current slice. It is currently being used by Muon Removed Charged Current Analysis. More...
 
class  SRMRProperties
 A reconstructed shower from the MRProperties module. More...
 
class  SRMuId
 This class contains the LLH muon PID output. More...
 
class  SRMuonID
 Contains the reco muon PID (ReMId) output. More...
 
class  SRNCCosRej
 Output from Cosmic Rejection (Nuecosrej) module. More...
 
class  SRNCPi0BkgRej
 
class  SRNDSandbox
 
class  SRNeutrino
 The SRNeutrino is a representation of neutrino interaction information. More...
 
class  SRNueCosRej
 Output from Cosmic Rejection (Nuecosrej) module. More...
 
class  SRNueEnergy
 Nue energy estimator output in the standard record. More...
 
class  SRNuePresel
 Nue preselection information. More...
 
class  SRNueSandbox
 
class  SRNumuEnergy
 Numu energy estimator output. More...
 
class  SRNumuSandbox
 
class  SRNuonEResult
 NuonE output. More...
 
class  SRNusSandbox
 
class  SRParentBranch
 
class  SRParticleTruth
 The truth information of reco objects within a slice. More...
 
class  SRPixelMap
 Variables describing Michel E's found around the end of a track. More...
 
class  SRPixelObjMap
 Variables describing Michel E's found around the end of a track. More...
 
class  SRPresel
 preselection information More...
 
class  SRProng
 
class  SRProngTrainingData
 
class  SRProngXSec
 
class  SRProxySystController
 
class  SRQepid
 Contains the quasielastic muon PID (QePId) output. More...
 
class  SRRegCVNResult
 Regression CVN output. More...
 
class  SRRemid
 Contains the reco muon PID (ReMId) output. More...
 
class  SRRvp
 Contains the RVP PID output. More...
 
class  SRSandbox
 
class  SRShower
 
class  SRShowerBranch
 
class  SRShowerLID
 
class  SRShowerPID
 DO NOT USE. ONLY HERE FOR BACKWARDS COMPATIBILITY. More...
 
class  SRSlcME
 Represents output from SlcMEFilter. More...
 
class  SRSlice
 An SRSlice contains overarching information for a slice. More...
 
class  SRSliceLID
 
class  SRSliceMap
 Variables describing Michel E's found around the end of a track. More...
 
class  SRSLid
 This class contains the LID pid information for a shower (slid::ShowerLID objects). More...
 
class  SRSLidEnergy
 This is a class for the NueSel energy estimate. More...
 
class  SRSPid
 Contains the SPID pid information for a shower (slid::ShowerLID objects). More...
 
class  SRSpill
 
class  SRSpillTruthBranch
 Truth info for all neutrinos in the spill. More...
 
class  SRTrack
 
class  SRTrackBase
 
class  SRTrackBranch
 Reconstructed tracks found by various algorithms. More...
 
class  SRTrainingBranch
 Event ID training variables. More...
 
class  SRTrainingData
 
class  SRTrkME
 Variables describing Michel E's found around the end of a track. More...
 
class  SRTrueMichelE
 Truth information for a Michel electron. More...
 
class  SRTrueNumuEnergy
 Truth information for numu energy fitting. More...
 
class  SRTrueParticle
 
class  SRTruth
 Represents a true neutrino. More...
 
class  SRTruthBranch
 Contains truth information for the slice for the parent neutrino/cosmic. More...
 
class  SRVector3D
 A 3-vector with more efficient storage than TVector3. More...
 
class  SRVertex
 Time and position of a reconstructed vertex. More...
 
class  SRVertexBranch
 Vectors of reconstructed vertices found by various algorithms. More...
 
class  SRVertexDT
 A vertex found by the VertexDT algorithm. More...
 
class  SRVeto
 Details of processing cuts made by the veto modules. More...
 
class  SRXnue
 Store BDT variables for the short-baseline oscillation study. More...
 
class  StandardRecord
 The StandardRecord is the primary top-level object in the Common Analysis File trees. More...
 
class  VectorProxyBase
 

Typedefs

using SRProxy = caf::Proxy< caf::StandardRecord >
 
using SRSLidEnergyProxy = caf::Proxy< SRSLidEnergy >
 
using SRNueEnergyProxy = caf::Proxy< SRNueEnergy >
 
using SRBPFEnergyProxy = caf::Proxy< SRBPFEnergy >
 
using SRVector3DProxy = caf::Proxy< SRVector3D >
 
using SRHadClustProxy = caf::Proxy< SRHadClust >
 
using SRTrueNumuEnergyProxy = caf::Proxy< SRTrueNumuEnergy >
 
using SRNumuEnergyProxy = caf::Proxy< SRNumuEnergy >
 
using SREnergyBranchProxy = caf::Proxy< SREnergyBranch >
 
using SRHeaderProxy = caf::Proxy< SRHeader >
 
using SRLorentzVectorProxy = caf::Proxy< SRLorentzVector >
 
using SRTrueMichelEProxy = caf::Proxy< SRTrueMichelE >
 
using SRCosmicProxy = caf::Proxy< SRCosmic >
 
using SRBeamProxy = caf::Proxy< SRBeam >
 
using SRTrueParticleProxy = caf::Proxy< SRTrueParticle >
 
using SRGenieWeightsProxy = caf::Proxy< SRGenieWeights >
 
using SRFluxWeightsProxy = caf::Proxy< SRFluxWeights >
 
using SRMCReweightProxy = caf::Proxy< SRMCReweight >
 
using SRNeutrinoProxy = caf::Proxy< SRNeutrino >
 
using SRGlobalTruthProxy = caf::Proxy< SRGlobalTruth >
 
using SRTruthBranchProxy = caf::Proxy< SRTruthBranch >
 
using SRParticleTruthProxy = caf::Proxy< SRParticleTruth >
 
using SRSlcMEProxy = caf::Proxy< SRSlcME >
 
using SRTrkMEProxy = caf::Proxy< SRTrkME >
 
using SRMichelEProxy = caf::Proxy< SRMichelE >
 
using SRMRCCParentProxy = caf::Proxy< SRMRCCParent >
 
using SRParentBranchProxy = caf::Proxy< SRParentBranch >
 
using SRBpfIdProxy = caf::Proxy< SRBpfId >
 
using SRContainProxy = caf::Proxy< SRContain >
 
using SRCosRejProxy = caf::Proxy< SRCosRej >
 
using SRCVNResultProxy = caf::Proxy< SRCVNResult >
 
using SRLemProxy = caf::Proxy< SRLem >
 
using SRELidProxy = caf::Proxy< SRELid >
 
using SRMuonIDProxy = caf::Proxy< SRMuonID >
 
using SRNCCosRejProxy = caf::Proxy< SRNCCosRej >
 
using SRNCPi0BkgRejProxy = caf::Proxy< SRNCPi0BkgRej >
 
using SRNueCosRejProxy = caf::Proxy< SRNueCosRej >
 
using SRPreselProxy = caf::Proxy< SRPresel >
 
using SRNuonEResultProxy = caf::Proxy< SRNuonEResult >
 
using SRRemidProxy = caf::Proxy< SRRemid >
 
using SRRvpProxy = caf::Proxy< SRRvp >
 
using SRSliceLIDProxy = caf::Proxy< SRSliceLID >
 
using SRVetoProxy = caf::Proxy< SRVeto >
 
using SRXnueProxy = caf::Proxy< SRXnue >
 
using SRIDBranchProxy = caf::Proxy< SRIDBranch >
 
using SRSliceProxy = caf::Proxy< SRSlice >
 
using SRCosmicCVNProxy = caf::Proxy< SRCosmicCVN >
 
using SRSpillProxy = caf::Proxy< SRSpill >
 
using SRCVNFeaturesProxy = caf::Proxy< SRCVNFeatures >
 
using SRPixelObjMapProxy = caf::Proxy< SRPixelObjMap >
 
using SRSliceMapProxy = caf::Proxy< SRSliceMap >
 
using SRTrainingDataProxy = caf::Proxy< SRTrainingData >
 
using SRTrainingBranchProxy = caf::Proxy< SRTrainingBranch >
 
using SRShowerProxy = caf::Proxy< SRShower >
 
using SRSLidProxy = caf::Proxy< SRSLid >
 
using SRShowerLIDProxy = caf::Proxy< SRShowerLID >
 
using SRMRPropertiesProxy = caf::Proxy< SRMRProperties >
 
using SRTrackProxy = caf::Proxy< SRTrack >
 
using SRTrackBaseProxy = caf::Proxy< SRTrackBase >
 
using SRKalmanTrackProxy = caf::Proxy< SRKalmanTrack >
 
using SRKalmanProxy = caf::Proxy< SRKalman >
 
using SRTrackBranchProxy = caf::Proxy< SRTrackBranch >
 
using SRPixelMapProxy = caf::Proxy< SRPixelMap >
 
using SRCVNNeutronDaughterResultProxy = caf::Proxy< SRCVNNeutronDaughterResult >
 
using SRCVNParticleResultProxy = caf::Proxy< SRCVNParticleResult >
 
using SRProngTrainingDataProxy = caf::Proxy< SRProngTrainingData >
 
using SRProngProxy = caf::Proxy< SRProng >
 
using SRBpfTrackProxy = caf::Proxy< SRBpfTrack >
 
using SRBpfProxy = caf::Proxy< SRBpf >
 
using SRRegCVNResultProxy = caf::Proxy< SRRegCVNResult >
 
using SRFuzzyKProngProxy = caf::Proxy< SRFuzzyKProng >
 
using SRFuzzyKProxy = caf::Proxy< SRFuzzyK >
 
using SRElasticProxy = caf::Proxy< SRElastic >
 
using SRHoughVertexProxy = caf::Proxy< SRHoughVertex >
 
using SRVertexDTProxy = caf::Proxy< SRVertexDT >
 
using SRVertexBranchProxy = caf::Proxy< SRVertexBranch >
 
using StandardRecordProxy = caf::Proxy< StandardRecord >
 
template<class T >
using VectorProxy = Proxy< std::vector< T >>
 
template<class T , unsigned int N>
using ArrayProxy = Proxy< T[N]>
 

Enumerations

enum  Det_t {
  kUNKNOWN, kNEARDET, kFARDET, kNDOS,
  kNDSBTEST, kTESTBEAM, kNDetector, kFCCDAQ
}
 Which NOvA detector? More...
 
enum  View_t { kX, kY, kXorY }
 Detector view, following GeometryObjects/PlaneGeo.h. More...
 
enum  generator_ { kUnknownGenerator = 0, kGENIE = 1, kGIBUU = 2 }
 Known generators of neutrino interactions (extend as other generators are used) More...
 
enum  gen_process_t {
  kModeUnknown = -1, kPrimary = 0, kHadElastic = 1, kDecay = 2,
  kPionInelastic = 3, kProtonInelastic = 4, kNeutronInelastic = 5, kOther = 6
}
 Interaction type responsible for particle production. More...
 
enum  mode_type_ {
  kUnknownMode = -1, kQE = 0, kRes = 1, kDIS = 2,
  kCoh = 3, kCohElastic = 4, kElectronScattering = 5, kIMDAnnihilation = 6,
  kInverseBetaDecay = 7, kGlashowResonance = 8, kAMNuGamma = 9, kMEC = 10,
  kDiffractive = 11, kEM = 12, kWeakMix = 13
}
 Neutrino interaction categories. More...
 
enum  int_type_ {
  kUnknownInteraction = -1, kNuanceOffset = 1000, kCCQE = kNuanceOffset + 1, kNCQE = kNuanceOffset + 2,
  kResCCNuProtonPiPlus = kNuanceOffset + 3, kResCCNuNeutronPi0 = kNuanceOffset + 4, kResCCNuNeutronPiPlus = kNuanceOffset + 5, kResNCNuProtonPi0 = kNuanceOffset + 6,
  kResNCNuProtonPiPlus = kNuanceOffset + 7, kResNCNuNeutronPi0 = kNuanceOffset + 8, kResNCNuNeutronPiMinus = kNuanceOffset + 9, kResCCNuBarNeutronPiMinus = kNuanceOffset + 10,
  kResCCNuBarProtonPi0 = kNuanceOffset + 11, kResCCNuBarProtonPiMinus = kNuanceOffset + 12, kResNCNuBarProtonPi0 = kNuanceOffset + 13, kResNCNuBarProtonPiPlus = kNuanceOffset + 14,
  kResNCNuBarNeutronPi0 = kNuanceOffset + 15, kResNCNuBarNeutronPiMinus = kNuanceOffset + 16, kResCCNuDeltaPlusPiPlus = kNuanceOffset + 17, kResCCNuDelta2PlusPiMinus = kNuanceOffset + 21,
  kResCCNuBarDelta0PiMinus = kNuanceOffset + 28, kResCCNuBarDeltaMinusPiPlus = kNuanceOffset + 32, kResCCNuProtonRhoPlus = kNuanceOffset + 39, kResCCNuNeutronRhoPlus = kNuanceOffset + 41,
  kResCCNuBarNeutronRhoMinus = kNuanceOffset + 46, kResCCNuBarNeutronRho0 = kNuanceOffset + 48, kResCCNuSigmaPlusKaonPlus = kNuanceOffset + 53, kResCCNuSigmaPlusKaon0 = kNuanceOffset + 55,
  kResCCNuBarSigmaMinusKaon0 = kNuanceOffset + 60, kResCCNuBarSigma0Kaon0 = kNuanceOffset + 62, kResCCNuProtonEta = kNuanceOffset + 67, kResCCNuBarNeutronEta = kNuanceOffset + 70,
  kResCCNuKaonPlusLambda0 = kNuanceOffset + 73, kResCCNuBarKaon0Lambda0 = kNuanceOffset + 76, kResCCNuProtonPiPlusPiMinus = kNuanceOffset + 79, kResCCNuProtonPi0Pi0 = kNuanceOffset + 80,
  kResCCNuBarNeutronPiPlusPiMinus = kNuanceOffset + 85, kResCCNuBarNeutronPi0Pi0 = kNuanceOffset + 86, kResCCNuBarProtonPi0Pi0 = kNuanceOffset + 90, kCCDIS = kNuanceOffset + 91,
  kNCDIS = kNuanceOffset + 92, kUnUsed1 = kNuanceOffset + 93, kUnUsed2 = kNuanceOffset + 94, kCCQEHyperon = kNuanceOffset + 95,
  kNCCOH = kNuanceOffset + 96, kCCCOH = kNuanceOffset + 97, kNuElectronElastic = kNuanceOffset + 98, kInverseMuDecay = kNuanceOffset + 99
}
 Neutrino interaction type. More...
 

Functions

void BlindThisSlice (SRSlice &slc)
 
void BlindThisTrack (SRTrack &trk)
 
void BlindThisJMShower (SRJMShower &jm)
 
void BlindThisElasticVtx (SRElastic &vtx)
 
void BlindThisCosRej (SRCosRej &cosrej)
 
void BlindThisRecord (StandardRecord *rec)
 
void FillNumuEnergyVars (const numue::NumuE &e, caf::SRNumuEnergy &sre)
 
void FillNumuLSTMEnergyVars (const LSTME::LSTMEnergy &artE, float &lstmmuon, float &lstmnu)
 
void FillNueEnergyVars (const rb::Cluster &slice, const SRVertexBranch &srVertexBranch, caf::SRNueEnergy &sre)
 
void FillHadClustVars (const rb::Cluster &hadclust, caf::SRHadClust &srhadclust)
 
void FillMRCCParentInfo (const murem::MRCCParent &parent, caf::SRMRCCParent &srparent, const art::Event &evt)
 
void FillNumuInfo (const art::Ptr< cvn::Result > &cvn, const std::vector< art::Ptr< rb::Track >> &trks, const art::Ptr< numue::NumuE > &numuE, const art::Ptr< cosrej::CosRejObj > &cosrejobj, const art::Event &evt, SRMRCCParent &parent, const art::Ptr< rb::Cluster > &slice)
 
void FillSliceInfo (const art::Ptr< rb::Cluster > &slice, SRMRCCParent &parent)
 
void FillMuIdVars (const remid::ReMId &remid, SRKalmanTrack &srTrk)
 
void FillMuonIDVars (const muonid::MuonID &muid, SRKalmanTrack &srTrk)
 
void FillJMEIDVars (const jmshower::EID &eid, caf::SRJMEid &sreid)
 
void FillCVNNeutronDaughterResultVars (const std::vector< art::Ptr< rb::PID > > &cvnneutrons, caf::SRCVNNeutronDaughterResult &cvnneutron)
 
void FillCVNParticleResultVars (const std::vector< art::Ptr< rb::PID > > &cvnparts, caf::SRCVNParticleResult &cvnpart)
 
void FillShowerVars (const rb::Shower &shw, caf::SRFuzzyKProng &srshw, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, const int &sliceIdx)
 
void FillSlidVars (const slid::ShowerLID &slid, SRShowerLID &shwlid)
 
void FillSpidVars (const slid::ShowerPID &spid, caf::SRSPid &srspid)
 
void FillLIDEnergyVars (const slid::ShowerLID &slid, caf::SRFuzzyKProng &png)
 
void FillLEMVars (const lem::PIDDetails &lem, caf::SRLem &srlem)
 
void FillRVPVars (const rvp::RVP &rvp, caf::SRRvp &srrvp)
 
void FillXnueVars (const xnue::Xnue &xnue, caf::SRXnue &srxnue)
 
void FillCosRejVars (const cosrej::CosRejObj &cosrej, caf::SRCosRej &srcosrej, caf::SRContain &srcontain)
 
void FillNueCosRejVars (const cosrej::NueCosRej &nuecosrej, caf::SRNueCosRej &srnuecosrej)
 
void FillNCCosRejVars (const ncid::NCCosRej &nccosrej, caf::SRNCCosRej &srnccosrej)
 
void FillNCPi0BkgRejVars (const ncpi0::NCPi0BkgRej &ncpi0bkgrej, caf::SRNCPi0BkgRej &srncpi0bkgrej)
 
void FillNuePreselVars (const presel::PreselObj &nuepre, caf::SRPresel &srnuepre)
 
void FillRockPreselVars (const presel::PreselObj &rockpre, caf::SRPresel &srrockpre)
 
void FillVetoVars (const presel::Veto &veto, const presel::Veto &nueveto, caf::SRVeto &srveto)
 
void FillNuonEResultVars (const cvn::Result &result, caf::SRNuonEResult &srnuone)
 
void FillCVNResultVars (const cvn::Result &result, caf::SRCVNResult &srcvn, bool NoCosmics)
 
void FillCVNPixelMaps (const cvn::PixelMap &map, caf::SRPixelObjMap &srcvnmap, bool useGeV)
 
void FillCVNPixelMaps (const cvn::PixelMap &map, caf::SRPixelMap &srcvnmap, bool useGeV)
 
void FillCVNTrainingData (const cvn::TrainingData &cvntdata, caf::SRTrainingData &srtdata)
 
void FillCVNProngTrainingData (const cvn::ProngTrainingData &cvnpdata, caf::SRProngTrainingData &srpdata)
 
void FillCVNFeaturesVars (const cvn::Features &features, caf::SRCVNFeatures &srcvnfeatures, int maxcomponents)
 
void CopyRemidVars (const SRKalmanTrack &srTrk, caf::SRRemid &remid)
 
void CopyMuonIDVars (const SRKalmanTrack &srTrk, caf::SRMuonID &muid)
 
void FillSliceLID (const SliceLID::Prediction &artSliceLID, caf::SRSliceLID &cafSliceLID)
 
void AddTrkMEToVec (const me::TrkME &michel, std::vector< SRTrkME > *vec, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 
bool IsTrueDiF (const rb::Cluster &slice)
 Helper for FillDiFVars and FillDiFShowerVars. More...
 
void FillDiFVars (const rb::Cluster &slice, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx, SRMRProperties &srMR)
 
void AddSlcMEToVec (const me::SlcME &michel, std::vector< SRSlcME > *vec, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 
template<class T >
void FillProngVars (const rb::Prong &prng, T &srPrng, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 
template void FillProngVars< SRProng > (const rb::Prong &, SRProng &, const std::vector< rb::Cluster > &, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int)
 
template void FillProngVars< SRFuzzyKProng > (const rb::Prong &, SRFuzzyKProng &, const std::vector< rb::Cluster > &, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int)
 
template void FillProngVars< SRTrack > (const rb::Prong &, SRTrack &, const std::vector< rb::Cluster > &, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int)
 
void FillTrackVars (const rb::Track &trk, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 
void FillTrackVarsWithOverlapE (const rb::Track &trk, const rb::Energy &energy, SRTrack &srTrk, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 Function to fill SRTrack branch if overlapping energy object is present. More...
 
void FillTrackVarsBpfFitSum (const rb::FitSum &fitsum, SRBpfTrack &srBpfTrk)
 
void FillTrackVarsBpfPid (const bpfit::BPFPId &bpfpid, SRBpfTrack &srBpfTrk)
 
void FillSliceVars (const rb::Cluster &slice, caf::SRSlice &srslice, bool allowEmpty)
 
void FillShowerVars (const rb::Shower &shw, caf::SRFuzzyKProng &srshw, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 
void FillDiFShowerVars (const rb::Shower &shw, const std::vector< rb::Cluster > &sliceList, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx, SRMRProperties &srMR)
 
void FillTrackContainmentVars (const cosrej::TrkCntObj &, SRTrack &)
 Function to fill SRTrack containment information. More...
 
void FillNDRecoTrkVars (const ndreco::NDRecoTrkObj &, SRKalmanTrack &)
 Functions to fill SRKalmanTrack pion energy reconstruction information. More...
 
void FillNDRecoBPFVars (const ndreco::NDRecoBpfObj &pionreco, SRBpfTrack &srTrk)
 
void FillNDRecoPngVars (const ndreco::NDRecoPngObj &pionreco, SRFuzzyKProng &srPng)
 
void FillTrackInfoVars (const trackinfo::TrackInfoObj &, SRTrack &)
 Function to fill additional SRTrack information. More...
 
void FillNueSandVars (const nuesand::NueSandObj &sand, caf::SRNueSandbox &srsand)
 
void FillNumuSandVars (const numusand::NumuSandObj &sand, caf::SRNumuSandbox &srsand, caf::SRContain &srcontain)
 
void FillNusSandVars (const nussand::NusSandObj &sand, caf::SRNusSandbox &srsand)
 
SRParticleTruth FillParticleTruth (const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
 Function to fill the particle truth for a set of hits. More...
 
void AddParticleToVec (const sim::Particle &part, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, std::vector< SRTrueParticle > *vec, const std::vector< sim::TrueEnergy > &TrueEnergies)
 
float FindDaughterVisE (const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
 
float FindDaughterVisENonRecur (const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
 
void AddCosmicTruthToVec (const cheat::NeutrinoEffPur *effPur, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, std::vector< SRCosmic > *vec)
 
void FindAndAddMichels (std::vector< const sim::Particle * > particles, std::vector< cheat::TrackIDE > &allTracks, std::vector< SRTrueMichelE > *michelVec)
 
void AddTrueMichelEToVec (const sim::Particle &michel, const sim::Particle &motherMuon, std::vector< cheat::TrackIDE > &allTracks, std::vector< SRTrueMichelE > *vec)
 
double TrueNeutrinoDistance (novadaq::cnv::DetId det, const SRNeutrino &nu)
 
std::vector< SRGenieWeightsGenieReweightTable (const rwgt::GENIEReweightTable &table)
 
SRFluxWeights FluxReweights (const fxwgt::FluxWeights &flxwgts)
 
caf::generator_ CAFGeneratorEnum (simb::Generator_t simbGeneratorEnum)
 
std::vector< unsigned intDecodeGeneratorVersion (const std::string &versionString)
 
template<class T >
std::vector< TPtrVecToVec (const art::PtrVector< T > &xs)
 
template<class T >
void GetTypedValueWrapper (TLeaf *leaf, T &x, int subidx)
 
void GetTypedValueWrapper (TLeaf *leaf, std::string &x, int subidx)
 
template<class T >
void EvalInstanceWrapper (TTreeFormula *ttf, T &x)
 
void EvalInstanceWrapper (TTreeFormula *ttf, std::string &x)
 
std::string StripIndices (const std::string &s)
 
template<class T >
bool operator< (const Proxy< std::vector< T >> &a, const std::vector< T > &b)
 Used in comparison of GENIE version numbers. More...
 

Variables

static const int blind_val = -5
 
static const unsigned int blind_val_unsigned = 0
 
const std::string whattracker = "bpf"
 
const std::string slicelabel = "slicer"
 
const std::string trklabelkalman = "kalmantrackmerge"
 
const std::string trklabelbpf = "breakpoint"
 
const std::string numuelabel = "numue"
 
const std::string cosrejlabel = "cosrej"
 
const std::string remidlabel = "remid"
 
const std::string cvnlabel = "cvnevaloldpresel"
 
const std::string vtxlabel = "elasticarmshs"
 
const std::string pronglabel = "fuzzykvertex:Prongs3D"
 
const std::string cvnpronglabel = "cvnprongeval"
 
const int kNumCVNFinalStates = 387
 
const CVNFinalState cvnStates [kNumCVNFinalStates]
 
const int kCVN_nM_Other = kNumCVNFinalStates
 
const int kCVN_nE_Other = kNumCVNFinalStates+1
 
const int kCVN_nT_Other = kNumCVNFinalStates+2
 
const int kCVN_Cosmic_PT = kNumCVNFinalStates+3
 
const int kCVN_Other_PT = kNumCVNFinalStates+4
 

Detailed Description

This module creates Common Analysis Files.

Common Analysis Files.

Class to make all of the CAFCuts for the RecoValidation modules.

Author
rocco.nosp@m.@phy.nosp@m.sics..nosp@m.umn..nosp@m.edu
Date
July 2012
Authors
mbair.nosp@m.d42@.nosp@m.india.nosp@m.na.e.nosp@m.du
Date
2017/02/14

Typedef Documentation

template<class T , unsigned int N>
using caf::ArrayProxy = typedef Proxy<T[N]>

Definition at line 283 of file BasicTypesProxy.h.

Definition at line 86 of file FwdDeclare.h.

Definition at line 26 of file FwdDeclare.h.

Definition at line 170 of file FwdDeclare.h.

using caf::SRBpfProxy = typedef caf::Proxy<SRBpf>

Definition at line 416 of file FwdDeclare.h.

Definition at line 410 of file FwdDeclare.h.

Definition at line 176 of file FwdDeclare.h.

Definition at line 284 of file FwdDeclare.h.

Definition at line 80 of file FwdDeclare.h.

Definition at line 182 of file FwdDeclare.h.

Definition at line 296 of file FwdDeclare.h.

Definition at line 386 of file FwdDeclare.h.

Definition at line 392 of file FwdDeclare.h.

Definition at line 188 of file FwdDeclare.h.

Definition at line 440 of file FwdDeclare.h.

Definition at line 200 of file FwdDeclare.h.

Definition at line 56 of file FwdDeclare.h.

Definition at line 104 of file FwdDeclare.h.

Definition at line 428 of file FwdDeclare.h.

Definition at line 434 of file FwdDeclare.h.

Definition at line 98 of file FwdDeclare.h.

Definition at line 122 of file FwdDeclare.h.

Definition at line 38 of file FwdDeclare.h.

Definition at line 62 of file FwdDeclare.h.

Definition at line 446 of file FwdDeclare.h.

Definition at line 272 of file FwdDeclare.h.

Definition at line 368 of file FwdDeclare.h.

Definition at line 362 of file FwdDeclare.h.

using caf::SRLemProxy = typedef caf::Proxy<SRLem>

Definition at line 194 of file FwdDeclare.h.

Definition at line 68 of file FwdDeclare.h.

Definition at line 110 of file FwdDeclare.h.

Definition at line 152 of file FwdDeclare.h.

Definition at line 158 of file FwdDeclare.h.

Definition at line 344 of file FwdDeclare.h.

Definition at line 206 of file FwdDeclare.h.

Definition at line 212 of file FwdDeclare.h.

Definition at line 218 of file FwdDeclare.h.

Definition at line 116 of file FwdDeclare.h.

Definition at line 224 of file FwdDeclare.h.

Definition at line 20 of file FwdDeclare.h.

Definition at line 50 of file FwdDeclare.h.

Definition at line 236 of file FwdDeclare.h.

Definition at line 164 of file FwdDeclare.h.

Definition at line 134 of file FwdDeclare.h.

Definition at line 380 of file FwdDeclare.h.

Definition at line 302 of file FwdDeclare.h.

Definition at line 230 of file FwdDeclare.h.

Definition at line 404 of file FwdDeclare.h.

Definition at line 398 of file FwdDeclare.h.

Definition at line 2 of file EpilogFwd.h.

Definition at line 422 of file FwdDeclare.h.

Definition at line 242 of file FwdDeclare.h.

using caf::SRRvpProxy = typedef caf::Proxy<SRRvp>

Definition at line 248 of file FwdDeclare.h.

Definition at line 338 of file FwdDeclare.h.

Definition at line 326 of file FwdDeclare.h.

Definition at line 140 of file FwdDeclare.h.

Definition at line 254 of file FwdDeclare.h.

Definition at line 308 of file FwdDeclare.h.

Definition at line 278 of file FwdDeclare.h.

Definition at line 14 of file FwdDeclare.h.

Definition at line 332 of file FwdDeclare.h.

Definition at line 290 of file FwdDeclare.h.

Definition at line 356 of file FwdDeclare.h.

Definition at line 374 of file FwdDeclare.h.

Definition at line 350 of file FwdDeclare.h.

Definition at line 320 of file FwdDeclare.h.

Definition at line 314 of file FwdDeclare.h.

Definition at line 146 of file FwdDeclare.h.

Definition at line 74 of file FwdDeclare.h.

Definition at line 44 of file FwdDeclare.h.

Definition at line 92 of file FwdDeclare.h.

Definition at line 128 of file FwdDeclare.h.

Definition at line 32 of file FwdDeclare.h.

Definition at line 458 of file FwdDeclare.h.

Definition at line 452 of file FwdDeclare.h.

Definition at line 260 of file FwdDeclare.h.

Definition at line 266 of file FwdDeclare.h.

Definition at line 464 of file FwdDeclare.h.

template<class T >
using caf::VectorProxy = typedef Proxy<std::vector<T>>

Definition at line 223 of file BasicTypesProxy.h.

Enumeration Type Documentation

enum caf::Det_t

Which NOvA detector?

Enumerator
kUNKNOWN 

Unknown detector.

kNEARDET 

Near Detector underground.

kFARDET 

Far Detector at Ash River.

kNDOS 

Prototype Near Detector on the Surface.

kNDSBTEST 
kTESTBEAM 
kNDetector 
kFCCDAQ 

Definition at line 7 of file SREnums.h.

8  {
9  kUNKNOWN, ///< Unknown detector
10  kNEARDET, ///< Near Detector underground
11  kFARDET, ///< Far Detector at Ash River
12  kNDOS, ///< Prototype Near Detector on the Surface
13  kNDSBTEST,
14  kTESTBEAM,
15  kNDetector,
16  kFCCDAQ
17  };
Near Detector underground.
Definition: SREnums.h:10
Unknown detector.
Definition: SREnums.h:9
Far Detector at Ash River.
Definition: SREnums.h:11
Prototype Near Detector on the Surface.
Definition: SREnums.h:12

Interaction type responsible for particle production.

Enumerator
kModeUnknown 
kPrimary 
kHadElastic 
kDecay 
kPionInelastic 
kProtonInelastic 
kNeutronInelastic 
kOther 

Definition at line 35 of file SREnums.h.

Known generators of neutrino interactions (extend as other generators are used)

Enumerator
kUnknownGenerator 
kGENIE 
kGIBUU 

Definition at line 28 of file SREnums.h.

28  {
30  kGENIE = 1,
31  kGIBUU = 2
32  };

Neutrino interaction type.

Enumerator
kUnknownInteraction 
kNuanceOffset 

offset to account for adding in Nuance codes to this enum

kCCQE 

charged current quasi-elastic

kNCQE 

neutral current quasi-elastic

kResCCNuProtonPiPlus 

resonant charged current, $\nu p \to l^- p \pi^+$

kResCCNuNeutronPi0 

resonant charged current, $\nu n \to l^- p \pi^0$

kResCCNuNeutronPiPlus 

resonant charged current, $\nu n \to l^- n \pi^+$

kResNCNuProtonPi0 

resonant neutral current, $\nu p \to \nu p \pi^0$

kResNCNuProtonPiPlus 

resonant neutral current, $\nu p \to \nu p \pi^+$

kResNCNuNeutronPi0 

resonant neutral current, $\nu n \to \nu n \pi^0$

kResNCNuNeutronPiMinus 

resonant neutral current, $\nu n \to \nu p \pi^-$

kResCCNuBarNeutronPiMinus 

resonant charged current, $\bar\nu n \to l^+ n \pi^-$

kResCCNuBarProtonPi0 

resonant charged current, $\bar\nu p \to l^+ n \pi^0$

kResCCNuBarProtonPiMinus 

resonant charged current, $\bar\nu p \to l^+ p \pi^-$

kResNCNuBarProtonPi0 

resonant charged current, $\bar\nu p \to \bar\nu p \pi^0$

kResNCNuBarProtonPiPlus 

resonant charged current, $\bar\nu p \to \bar\nu n \pi^+$

kResNCNuBarNeutronPi0 

resonant charged current, $\bar\nu n \to \bar\nu n \pi^0$

kResNCNuBarNeutronPiMinus 

resonant charged current, $\bar\nu n \to \bar\nu p \pi^-$

kResCCNuDeltaPlusPiPlus 
kResCCNuDelta2PlusPiMinus 
kResCCNuBarDelta0PiMinus 
kResCCNuBarDeltaMinusPiPlus 
kResCCNuProtonRhoPlus 
kResCCNuNeutronRhoPlus 
kResCCNuBarNeutronRhoMinus 
kResCCNuBarNeutronRho0 
kResCCNuSigmaPlusKaonPlus 
kResCCNuSigmaPlusKaon0 
kResCCNuBarSigmaMinusKaon0 
kResCCNuBarSigma0Kaon0 
kResCCNuProtonEta 
kResCCNuBarNeutronEta 
kResCCNuKaonPlusLambda0 
kResCCNuBarKaon0Lambda0 
kResCCNuProtonPiPlusPiMinus 
kResCCNuProtonPi0Pi0 
kResCCNuBarNeutronPiPlusPiMinus 
kResCCNuBarNeutronPi0Pi0 
kResCCNuBarProtonPi0Pi0 
kCCDIS 

charged current deep inelastic scatter

kNCDIS 

charged current deep inelastic scatter

kUnUsed1 
kUnUsed2 
kCCQEHyperon 
kNCCOH 
kCCCOH 

charged current coherent pion

kNuElectronElastic 

neutrino electron elastic scatter

kInverseMuDecay 

inverse muon decay

Definition at line 66 of file SREnums.h.

66  {
68  kNuanceOffset = 1000, ///< offset to account for adding in Nuance codes to this enum
69  kCCQE = kNuanceOffset + 1, ///< charged current quasi-elastic
70  kNCQE = kNuanceOffset + 2, ///< neutral current quasi-elastic
71  kResCCNuProtonPiPlus = kNuanceOffset + 3, ///< resonant charged current, \f$\nu p \to l^- p \pi^+\f$
72  kResCCNuNeutronPi0 = kNuanceOffset + 4, ///< resonant charged current, \f$\nu n \to l^- p \pi^0\f$
73  kResCCNuNeutronPiPlus = kNuanceOffset + 5, ///< resonant charged current, \f$\nu n \to l^- n \pi^+\f$
74  kResNCNuProtonPi0 = kNuanceOffset + 6, ///< resonant neutral current, \f$\nu p \to \nu p \pi^0\f$
75  kResNCNuProtonPiPlus = kNuanceOffset + 7, ///< resonant neutral current, \f$\nu p \to \nu p \pi^+\f$
76  kResNCNuNeutronPi0 = kNuanceOffset + 8, ///< resonant neutral current, \f$\nu n \to \nu n \pi^0\f$
77  kResNCNuNeutronPiMinus = kNuanceOffset + 9, ///< resonant neutral current, \f$\nu n \to \nu p \pi^-\f$
78  kResCCNuBarNeutronPiMinus = kNuanceOffset + 10, ///< resonant charged current, \f$\bar\nu n \to l^+ n \pi^-\f$
79  kResCCNuBarProtonPi0 = kNuanceOffset + 11, ///< resonant charged current, \f$\bar\nu p \to l^+ n \pi^0\f$
80  kResCCNuBarProtonPiMinus = kNuanceOffset + 12, ///< resonant charged current, \f$\bar\nu p \to l^+ p \pi^-\f$
81  kResNCNuBarProtonPi0 = kNuanceOffset + 13, ///< resonant charged current, \f$\bar\nu p \to \bar\nu p \pi^0\f$
82  kResNCNuBarProtonPiPlus = kNuanceOffset + 14, ///< resonant charged current, \f$\bar\nu p \to \bar\nu n \pi^+\f$
83  kResNCNuBarNeutronPi0 = kNuanceOffset + 15, ///< resonant charged current, \f$\bar\nu n \to \bar\nu n \pi^0\f$
84  kResNCNuBarNeutronPiMinus = kNuanceOffset + 16, ///< resonant charged current, \f$\bar\nu n \to \bar\nu p \pi^-\f$
106  kCCDIS = kNuanceOffset + 91, ///< charged current deep inelastic scatter
107  kNCDIS = kNuanceOffset + 92, ///< charged current deep inelastic scatter
108  kUnUsed1 = kNuanceOffset + 93,
109  kUnUsed2 = kNuanceOffset + 94,
111  kNCCOH = kNuanceOffset + 96,
112  kCCCOH = kNuanceOffset + 97, ///< charged current coherent pion
113  kNuElectronElastic = kNuanceOffset + 98, ///< neutrino electron elastic scatter
114  kInverseMuDecay = kNuanceOffset + 99 ///< inverse muon decay
115  };
resonant neutral current,
Definition: SREnums.h:75
resonant charged current,
Definition: SREnums.h:72
resonant charged current,
Definition: SREnums.h:82
resonant charged current,
Definition: SREnums.h:80
charged current coherent pion
Definition: SREnums.h:112
resonant charged current,
Definition: SREnums.h:81
charged current deep inelastic scatter
Definition: SREnums.h:106
charged current deep inelastic scatter
Definition: SREnums.h:107
neutral current quasi-elastic
Definition: SREnums.h:70
resonant neutral current,
Definition: SREnums.h:74
offset to account for adding in Nuance codes to this enum
Definition: SREnums.h:68
resonant charged current,
Definition: SREnums.h:79
resonant charged current,
Definition: SREnums.h:71
resonant charged current,
Definition: SREnums.h:78
resonant charged current,
Definition: SREnums.h:84
charged current quasi-elastic
Definition: SREnums.h:69
neutrino electron elastic scatter
Definition: SREnums.h:113
resonant charged current,
Definition: SREnums.h:73
inverse muon decay
Definition: SREnums.h:114
resonant neutral current,
Definition: SREnums.h:76
resonant neutral current,
Definition: SREnums.h:77
resonant charged current,
Definition: SREnums.h:83

Neutrino interaction categories.

Enumerator
kUnknownMode 
kQE 
kRes 
kDIS 
kCoh 
kCohElastic 
kElectronScattering 
kIMDAnnihilation 
kInverseBetaDecay 
kGlashowResonance 
kAMNuGamma 
kMEC 
kDiffractive 
kEM 
kWeakMix 

Definition at line 47 of file SREnums.h.

47  {
48  kUnknownMode = -1,
49  kQE = 0,
50  kRes = 1,
51  kDIS = 2,
52  kCoh = 3,
53  kCohElastic = 4,
55  kIMDAnnihilation = 6,
58  kAMNuGamma = 9,
59  kMEC = 10,
60  kDiffractive = 11,
61  kEM = 12,
62  kWeakMix = 13
63  };

Detector view, following GeometryObjects/PlaneGeo.h.

Enumerator
kX 

Vertical planes which measure X.

kY 

Horizontal planes which measure Y.

kXorY 

X or Y views.

Definition at line 20 of file SREnums.h.

21  {
22  kX, ///< Vertical planes which measure X
23  kY, ///< Horizontal planes which measure Y
24  kXorY ///< X or Y views
25  };
Definition: geo.h:1
Horizontal planes which measure Y.
Definition: SREnums.h:23
Definition: geo.h:1

Function Documentation

void caf::AddCosmicTruthToVec ( const cheat::NeutrinoEffPur effPur,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
std::vector< SRCosmic > *  vec 
)

Definition at line 532 of file FillTruth.cxx.

References std::atan2(), caf::SRCosmic::azimuth, geo::GeometryBase::DetHalfHeight(), geo::GeometryBase::DetHalfWidth(), geo::GeometryBase::DetLength(), dir, caf::SRCosmic::E, caf::SRCosmic::eff, cheat::NeutrinoEffPur::efficiency, cheat::NeutrinoEffPur::energySlice, cheat::NeutrinoEffPur::energyTotal, caf::SRCosmic::enter, caf::SRCosmic::exit, stan::math::fabs(), FindAndAddMichels(), geom(), simb::MCTruth::GetParticle(), cheat::BackTracker::MCTruthToParticles(), caf::SRCosmic::michel, simb::MCTrajectory::Momentum(), simb::MCParticle::Momentum(), cheat::NeutrinoEffPur::neutrinoInt, caf::SRCosmic::nhitslc, caf::SRCosmic::nhittot, cheat::NeutrinoEffPur::nSliceHits, cheat::NeutrinoEffPur::nTotalHits, caf::SRCosmic::p, caf::SRCosmic::pdg, simb::MCParticle::PdgCode(), caf::SRCosmic::penter, simb::MCTrajectory::Position(), simb::MCParticle::Position(), geo::ProjectToBoxEdge(), gen_flatrecord::pt, caf::SRCosmic::pur, cheat::NeutrinoEffPur::purity, caf::SRVector3D::SetXYZ(), simb::MCTrajectory::size(), caf::SRCosmic::stop, caf::SRCosmic::time, Unit(), Vect(), caf::SRCosmic::visE, caf::SRCosmic::visEinslc, caf::SRCosmic::vtx, and caf::SRCosmic::zenith.

Referenced by caf::CAFMaker::produce().

538  {
541 
542  // Get information about true cosmic
543  vec->push_back(SRCosmic());
544  SRCosmic& srTruth = vec->back();
545 
546  const art::Ptr<simb::MCTruth> &tru = effPur->neutrinoInt;
547 
548  // BUT GetParticle(int i) requires looping over list of particles in
549  // single MCTruth object. So we have made an MCTruth object for each
550  // "cosmic" and GetParticle(0) corresponds to the only particle then
551  srTruth.pdg = tru->GetParticle(0).PdgCode();
552 
553  srTruth.E = tru->GetParticle(0).Momentum().E();
554  srTruth.visE = effPur->energyTotal;
555  srTruth.visEinslc = effPur->energySlice;
556  srTruth.eff = effPur->efficiency;
557  srTruth.pur = effPur->purity;
558  srTruth.nhitslc = effPur->nSliceHits;
559  srTruth.nhittot = effPur->nTotalHits;
560 
561  srTruth.time = tru->GetParticle(0).Position().T();
562  srTruth.vtx = tru->GetParticle(0).Position().Vect();
563  srTruth.p = tru->GetParticle(0).Momentum();
564 
565 
566  srTruth.azimuth = atan2(tru->GetParticle(0).Momentum().Pz(),
567  tru->GetParticle(0).Momentum().Px());
568  srTruth.zenith = -(tru->GetParticle(0).Momentum().Py())/tru->GetParticle(0).Momentum().P();
569 
570  std::vector<const sim::Particle*> particles = bt->MCTruthToParticles(tru);
571 
572 
573  const simb::MCTrajectory& traj = particles[0]->Trajectory();
574 
575 
576  bool entered = 0;
577  bool exited = 0;
578 
579  for(size_t pt = 0; pt < traj.size(); ++pt){
580  TVector3 point = traj.Position(pt).Vect();
581 
582  // Check to see if trajectory point is in the detector
583  bool inDet = fabs(point.X()) <= geom->DetHalfWidth() // Check X inside detector
584  && fabs(point.Y()) <= geom->DetHalfHeight() // then check Y
585  && point.Z() >= 0 && point.Z() <= geom->DetLength(); // then check Z
586 
587  if(inDet && !entered){
588  // Then we just entered the detector
589  entered = true;
590 
591  if(pt > 0){
592  // Put xyz from last point into an array for geo function call
593  TVector3 lastPoint = traj.Position(pt - 1).Vect();
594  double pointArray[3] = {point.X(), point.Y(), point.Z()};
595 
596  // Put xyz from direction vector into an array.
597  TVector3 dir = (lastPoint - point).Unit();
598  double dirArray[3] = {dir.X(), dir.Y(), dir.Z()};
599 
600  double enterArray[3] = {0,0,0};
601 
602  geo::ProjectToBoxEdge(pointArray, dirArray,
603  - geom->DetHalfWidth() , geom->DetHalfWidth(),
604  - geom->DetHalfHeight() , geom->DetHalfHeight(),
605  0 , geom->DetLength(),
606  enterArray);
607 
608  srTruth.enter.SetXYZ(enterArray[0], enterArray[1], enterArray[2]);
609  // No good way to interpolate between momentum at pt-1 and pt.
610  srTruth.penter = traj.Momentum(pt-1);
611  }
612  else{ // If this is the case, we started inside the detector.
613  srTruth.enter = point;
614  srTruth.penter = traj.Momentum(pt);
615  }
616  }
617 
618  if(!inDet && entered && !exited){
619  // Then we just exited the detector
620  exited= true;
621 
622  // Put xyz from last point into an array for geo function call
623  TVector3 lastPoint = traj.Position(pt - 1).Vect();
624  double lastPointArray[3] = {lastPoint.X(), lastPoint.Y(), lastPoint.Z()};
625 
626  // Put xyz from direction vector into an array.
627  TVector3 dir = (point - lastPoint).Unit();
628  double dirArray[3] = {dir.X(), dir.Y(), dir.Z()};
629 
630  double exitArray[3] = {0,0,0};
631 
632  geo::ProjectToBoxEdge(lastPointArray, dirArray,
633  - geom->DetHalfWidth() , geom->DetHalfWidth(),
634  - geom->DetHalfHeight() , geom->DetHalfHeight(),
635  0 , geom->DetLength(),
636  exitArray);
637 
638  srTruth.exit.SetXYZ(exitArray[0], exitArray[1], exitArray[2]);
639  }
640  }
641  srTruth.stop = traj.Position(traj.size() - 1).Vect();
642 
643  // Make sure the particle actually entered the detector
644  if(!entered){
645  // If the primary never entered the detector, set the
646  // coordinates to -5*10^9
647 
648  srTruth.enter.SetXYZ(-5e9, -5e9, -5e9);
649  srTruth.exit.SetXYZ(-5e9, -5e9, -5e9);
650  }
651 
652  // If the particle entered and did not exit, set the exit position to stop
653  if(entered && !exited){
654  srTruth.exit = srTruth.stop;
655  }
656  // Find the Michel electrons
657  FindAndAddMichels(particles, allTracks, &srTruth.michel);
658  }
const TLorentzVector & Position(const int i=0) const
Definition: MCParticle.h:218
int PdgCode() const
Definition: MCParticle.h:211
fvar< T > fabs(const fvar< T > &x)
Definition: fabs.hpp:15
double DetLength() const
int nTotalHits
Total number of hits the neutrino left in the detector.
Definition: BackTracker.h:54
double energyTotal
Sum of FLS hits from the neutrino contributing to any hit in the event.
Definition: BackTracker.h:52
double efficiency
Efficiency (based on FLS energy) of neutrino interaction relative to slice.
Definition: BackTracker.h:48
void FindAndAddMichels(std::vector< const sim::Particle * > particles, std::vector< cheat::TrackIDE > &allTracks, std::vector< SRTrueMichelE > *michelVec)
Definition: FillTruth.cxx:661
Eigen::VectorXd vec
double DetHalfHeight() const
TVector3 Unit() const
const TLorentzVector & Position(const size_type) const
The accessor methods described above.
const simb::MCParticle & GetParticle(int i) const
Definition: MCTruth.h:75
int nSliceHits
Number of hits from this neutrino in this slice.
Definition: BackTracker.h:53
double DetHalfWidth() const
size_type size() const
Definition: MCTrajectory.h:165
TDirectory * dir
Definition: macro.C:5
double energySlice
Sum of FLS hits from the neutrino contributing to hits included in the slice.
Definition: BackTracker.h:51
const TLorentzVector & Momentum(const int i=0) const
Definition: MCParticle.h:219
void geom(int which=0)
Definition: geom.C:163
void ProjectToBoxEdge(const double xyz[], const double dxyz[], double xlo, double xhi, double ylo, double yhi, double zlo, double zhi, double xyzout[])
Project along a direction from a particular starting point to the edge of a box.
Definition: Geo.cxx:38
const TLorentzVector & Momentum(const size_type) const
TVector3 Vect() const
art::Ptr< simb::MCTruth > neutrinoInt
Truth information about neutrino interaction.
Definition: BackTracker.h:47
T atan2(T number)
Definition: d0nt_math.hpp:72
std::vector< const sim::Particle * > MCTruthToParticles(art::Ptr< simb::MCTruth > const &mct) const
double purity
Purity (based on FLS energy) of neutrino interaction relative to slice.
Definition: BackTracker.h:49
void caf::AddParticleToVec ( const sim::Particle part,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
std::vector< SRTrueParticle > *  vec,
const std::vector< sim::TrueEnergy > &  TrueEnergies 
)

Definition at line 255 of file FillTruth.cxx.

References simb::MCParticle::Daughter(), caf::SRTrueParticle::daughterEnergies, caf::SRTrueParticle::daughterlist, caf::SRTrueParticle::daughterVisE, caf::SRTrueParticle::daughterVisEBirks, caf::SRTrueParticle::daughterVisEinslc, caf::SRTrueParticle::daughterVisEinslcBirks, simb::MCParticle::E(), caf::SRTrueParticle::elasticProtonMaxVisE, caf::SRTrueParticle::elasticProtonMaxVisEinslc, caf::SRTrueParticle::elasticProtonSumVisE, caf::SRTrueParticle::elasticProtonSumVisEinslc, caf::SRTrueParticle::enteringE, FindDaughterVisE(), FindDaughterVisENonRecur(), MECModelEnuComparisons::i, caf::SRTrueParticle::inelasticPhotonMaxVisE, caf::SRTrueParticle::inelasticPhotonMaxVisEinslc, caf::SRTrueParticle::inelasticPhotonSumVisE, caf::SRTrueParticle::inelasticPhotonSumVisEinslc, caf::SRTrueParticle::inelasticProtonMaxVisE, caf::SRTrueParticle::inelasticProtonMaxVisEinslc, caf::SRTrueParticle::inelasticProtonSumVisE, caf::SRTrueParticle::inelasticProtonSumVisEinslc, it, caf::SRTrueParticle::maxElasticProtonTrueE, caf::SRTrueParticle::maxInelasticPhotonTrueE, caf::SRTrueParticle::maxInelasticProtonTrueE, simb::MCParticle::Momentum(), simb::MCParticle::NumberDaughters(), caf::SRTrueParticle::p, caf::SRTrueParticle::pdg, genie::utils::res::PdgCode(), simb::MCParticle::PdgCode(), simb::MCParticle::Process(), caf::SRTrueParticle::totEscE, simb::MCParticle::TrackId(), cheat::BackTracker::TrackIDToParticle(), caf::SRTrueParticle::trkID, caf::SRTrueParticle::visE, caf::SRTrueParticle::visEBirks, caf::SRTrueParticle::visEinslc, and caf::SRTrueParticle::visEinslcBirks.

Referenced by caf::CAFMaker::AddMCTruthToVec().

262  {
264  int trackId = part.TrackId();
265  // Find visible energy
266  double visE = 0;
267  for (std::vector<cheat::TrackIDE>::iterator it = allTracks.begin();
268  it != allTracks.end(); ++it)
269  {
270  if(trackId == it->trackID)
271  {
272  visE += it->energy;
273  break;
274  }
275 
276  }
277  // Find visible energy in slice
278  double inSliceVisE = 0;
279  for (std::vector<cheat::TrackIDE>::iterator it = sliceTracks.begin();
280  it != sliceTracks.end(); ++it)
281  {
282  if(trackId == it->trackID)
283  {
284  inSliceVisE += it->energy;
285  break;
286  }
287  }
288  //now calculate visible energies with birks suppression
289  // Find visible energy
290  double visEBirks = 0;
291  for (std::vector<cheat::TrackIDE>::iterator it = allTracksBirks.begin();
292  it != allTracksBirks.end(); ++it)
293  {
294  if(trackId == it->trackID)
295  {
296  visEBirks += it->energy;
297  break;
298  }
299 
300  }
301  // Find visible energy in slice
302  double inSliceVisEBirks = 0;
303  for (std::vector<cheat::TrackIDE>::iterator it = sliceTracksBirks.begin();
304  it != sliceTracksBirks.end(); ++it)
305  {
306  if(trackId == it->trackID)
307  {
308  inSliceVisEBirks += it->energy;
309  break;
310  }
311  }
312 
313 
314  double daughterVisE = 0;
315  double daughterInSliceVisE = 0;
316  double daughterVisEBirks = 0;
317  double daughterInSliceVisEBirks = 0;
318 
319 
320 
321  for (int i=0; i<part.NumberDaughters();++i){
322  const sim::Particle * p = bt->TrackIDToParticle(part.Daughter(i));
323 
324  daughterVisE += FindDaughterVisE(*p,allTracks);
325  daughterInSliceVisE += FindDaughterVisE(*p,sliceTracks);
326  daughterVisEBirks += FindDaughterVisE(*p,allTracksBirks);
327  daughterInSliceVisEBirks += FindDaughterVisE(*p,sliceTracksBirks);
328  }
329 
330 
331  // Find the total escaping energy in slice.
332  float TotEscE = -5;
333  float EnterEn = -5;
334  for(const sim::TrueEnergy& trueE: TrueEnergies){
335  if ( trackId == trueE.TrackId() ) {
336  EnterEn = trueE.EnteringEnergy();
337  TotEscE = trueE.TotalEscEnergy();
338  break;
339  }
340  }
341 
342  // Make a new SRTrueParticle and get an accessor
343  vec->push_back(SRTrueParticle());
344  SRTrueParticle& srPart = vec->back();
345  // Set fields
346  srPart.pdg = part.PdgCode();
347  srPart.visE = visE;
348  srPart.visEinslc = inSliceVisE;
349  srPart.daughterVisE = daughterVisE;
350  srPart.daughterVisEinslc = daughterInSliceVisE;
351  srPart.visEBirks = visEBirks;
352  srPart.visEinslcBirks = inSliceVisEBirks;
353  srPart.daughterVisEBirks = daughterVisEBirks;
354  srPart.daughterVisEinslcBirks = daughterInSliceVisEBirks;
355  srPart.totEscE = TotEscE;
356  srPart.enteringE = EnterEn;
357  srPart.p = part.Momentum();
358  srPart.trkID = trackId;
359 
360  float maxProInel = 0;
361  float maxProInelS =0;
362  float maxProElS =0;
363  float maxProEl =0;
364  float maxPhoInel = 0;
365  float maxPhoInelS = 0;
366 
367  float maxProInelTrueE = 0;
368  float maxProElTrueE = 0;
369  float maxPhoInelTrueE =0;
370 
371  double inelasticProtonSum = 0;
372  double inelasticPhotonSum = 0 ;
373  double elasticProtonSum = 0;
374  double inelasticProtonInslcSum = 0;
375  double inelasticPhotonInslcSum = 0 ;
376  double elasticProtonInslcSum = 0;
377 
378 
379  double inelasticProtonMax = 0;
380  double inelasticPhotonMax = 0 ;
381  double elasticProtonMax = 0;
382  double inelasticProtonInslcMax = 0;
383  double inelasticPhotonInslcMax = 0 ;
384  double elasticProtonInslcMax = 0;
385 
386 
387  for (int i=0; i<part.NumberDaughters();++i){
388  const sim::Particle * p = bt->TrackIDToParticle(part.Daughter(i));
389  srPart.daughterlist.push_back(bt->TrackIDToParticle(part.Daughter(i))->PdgCode());
390  srPart.daughterEnergies.push_back(p->E());
391 
392 
393  if(p->Process() == "neutronInelastic"){
394  if(p->PdgCode() ==2212){
395 
396  inelasticProtonSum += FindDaughterVisENonRecur(*p,allTracks);
397  inelasticProtonInslcSum += FindDaughterVisENonRecur(*p,sliceTracks);
398 
399  if( FindDaughterVisENonRecur(*p,allTracks) > maxProInel){
400  inelasticProtonMax = FindDaughterVisENonRecur(*p,allTracks);
401  maxProInel = inelasticProtonMax;
402 
403  }
404  if( FindDaughterVisENonRecur(*p,sliceTracks) > maxProInelS){
405  inelasticProtonInslcMax = FindDaughterVisENonRecur(*p,sliceTracks);
406  maxProInelS = inelasticProtonInslcMax;
407  maxProInelTrueE = p->E();
408  }
409 
410 
411  }
412  if(p->PdgCode() ==22){
413 
414  inelasticPhotonSum += FindDaughterVisENonRecur(*p,allTracks);
415  inelasticPhotonInslcSum += FindDaughterVisENonRecur(*p,sliceTracks);
416 
417  if( FindDaughterVisENonRecur(*p,allTracks) > maxPhoInel){
418  inelasticPhotonMax = FindDaughterVisENonRecur(*p,allTracks);
419  maxPhoInel = inelasticPhotonMax;
420  }
421  if( FindDaughterVisENonRecur(*p,sliceTracks) > maxPhoInelS){
422  inelasticPhotonInslcMax = FindDaughterVisENonRecur(*p,sliceTracks);
423  maxPhoInelS = inelasticPhotonInslcMax;
424  maxPhoInelTrueE = p->E();
425  }
426 
427 
428  }
429 
430  }
431  if(p->Process() == "hadElastic"){
432 
433  if(p->PdgCode() == 2212){
434 
435  elasticProtonSum += FindDaughterVisENonRecur(*p,allTracks);
436  elasticProtonInslcSum += FindDaughterVisENonRecur(*p,sliceTracks);
437 
438  if( FindDaughterVisENonRecur(*p,sliceTracks) > maxProElS){
439  elasticProtonInslcMax = FindDaughterVisENonRecur(*p,sliceTracks);
440  maxProElS = elasticProtonInslcMax;
441  maxProElTrueE = p->E();
442  }
443  if( FindDaughterVisENonRecur(*p,allTracks) > maxProEl){
444  elasticProtonMax = FindDaughterVisENonRecur(*p,allTracks);
445  maxProEl = elasticProtonMax;
446  }
447 
448  }
449 
450  }
451 
452  }
453 
454  srPart.inelasticProtonSumVisE = inelasticProtonSum;
455  srPart.inelasticPhotonSumVisE = inelasticPhotonSum;
456  srPart.elasticProtonSumVisE = elasticProtonSum;
457 
458 
459  srPart.inelasticProtonSumVisEinslc = inelasticProtonInslcSum;
460  srPart.inelasticPhotonSumVisEinslc = inelasticPhotonInslcSum;
461  srPart.elasticProtonSumVisEinslc = elasticProtonInslcSum;
462 
463 
464  srPart.inelasticProtonMaxVisE = inelasticProtonMax;
465  srPart.inelasticPhotonMaxVisE = inelasticPhotonMax;
466  srPart.elasticProtonMaxVisE = elasticProtonMax;
467 
468 
469  srPart.inelasticProtonMaxVisEinslc = inelasticProtonInslcMax;
470  srPart.inelasticPhotonMaxVisEinslc = inelasticPhotonInslcMax;
471  srPart.elasticProtonMaxVisEinslc = elasticProtonInslcMax;
472 
473 
474  srPart.maxElasticProtonTrueE = maxProElTrueE;
475  srPart.maxInelasticProtonTrueE = maxProInelTrueE;
476  srPart.maxInelasticPhotonTrueE = maxPhoInelTrueE;
477 
478 
479 
480 
481  }
double E(const int i=0) const
Definition: MCParticle.h:232
int PdgCode() const
Definition: MCParticle.h:211
float FindDaughterVisE(const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
Definition: FillTruth.cxx:484
set< int >::iterator it
const char * p
Definition: xmltok.h:285
std::string Process() const
Definition: MCParticle.h:214
int NumberDaughters() const
Definition: MCParticle.h:216
float FindDaughterVisENonRecur(const sim::Particle &part, std::vector< cheat::TrackIDE > &tracks)
Definition: FillTruth.cxx:509
int TrackId() const
Definition: MCParticle.h:209
int Daughter(const int i) const
Definition: MCParticle.cxx:112
int PdgCode(Resonance_t res, int Q)
(resonance id, charge) -> PDG code
Eigen::VectorXd vec
const sim::Particle * TrackIDToParticle(int const &id) const
Returns a pointer to the sim::Particle object corresponding to the given TrackID. ...
const TLorentzVector & Momentum(const int i=0) const
Definition: MCParticle.h:219
void caf::AddSlcMEToVec ( const me::SlcME michel,
std::vector< SRSlcME > *  vec,
const std::vector< rb::Cluster > &  sliceList,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
int  sliceIdx 
)

Definition at line 148 of file FillReco.cxx.

References caf::SRSlcME::adc, rb::Cluster::AllCells(), caf::SRSlcME::calE, rb::Cluster::CalorimetricEnergy(), me::SlcME::DeltaT(), caf::SRSlcME::deltat, me::SlcME::DistToSlc(), caf::SRSlcME::disttoslc, FillParticleTruth(), caf::SRSlcME::meanpos, rb::Cluster::MeanX(), rb::Cluster::MeanY(), rb::Cluster::MeanZ(), me::SlcME::MID(), caf::SRSlcME::mid, caf::SRSlcME::nhitx, caf::SRSlcME::nhity, rb::Cluster::NXCell(), rb::Cluster::NYCell(), rb::Cluster::TotalADC(), and caf::SRSlcME::truth.

Referenced by caf::CAFMaker::produce().

156  {
157  vec->push_back(SRSlcME());
158  SRSlcME& srME = vec->back();
159 
160  srME.mid = michel.MID();
161  srME.nhitx = michel.NXCell();
162  srME.nhity = michel.NYCell();
163  srME.adc = michel.TotalADC();
164  srME.calE = michel.CalorimetricEnergy();
165  srME.deltat = michel.DeltaT();
166  srME.disttoslc = michel.DistToSlc();
167  srME.meanpos = TVector3(michel.MeanX(),michel.MeanY(),michel.MeanZ());
168 
169  srME.truth = FillParticleTruth(sliceList,
170  michel.AllCells(),
171  allTracks,
172  sliceTracks,
173  allTracksBirks,
174  sliceTracksBirks,
175  sliceIdx);
176  }
double DistToSlc() const
Definition: MEClusters.cxx:12
double MeanZ(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:233
art::PtrVector< rb::CellHit > AllCells() const
Get all cells from both views.
Definition: Cluster.cxx:180
double MeanX(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:231
SRParticleTruth FillParticleTruth(const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill the particle truth for a set of hits.
Definition: FillTruth.cxx:25
double TotalADC() const
Sum of the ADC of all the contained hits.
Definition: Cluster.cxx:360
double DeltaT() const
Definition: MEClusters.cxx:10
double MeanY(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:232
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
double MID() const
Definition: MEClusters.cxx:8
Eigen::VectorXd vec
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
void caf::AddTrkMEToVec ( const me::TrkME michel,
std::vector< SRTrkME > *  vec,
SRTrack srTrk,
const std::vector< rb::Cluster > &  sliceList,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
int  sliceIdx 
)

Definition at line 34 of file FillReco.cxx.

References caf::SRTrkME::adc, rb::Cluster::AllCells(), caf::SRTrkME::calE, rb::Cluster::CalorimetricEnergy(), me::SlcME::DeltaT(), caf::SRTrkME::deltat, caf::SRTrkME::disttotrack, me::TrkME::DistToTrk(), FillParticleTruth(), caf::SRTrack::me, caf::SRTrkME::meanpos, rb::Cluster::MeanX(), rb::Cluster::MeanY(), rb::Cluster::MeanZ(), me::SlcME::MID(), caf::SRTrkME::mid, caf::SRTrkME::nhitx, caf::SRTrkME::nhity, rb::Cluster::NXCell(), rb::Cluster::NYCell(), rb::Cluster::TotalADC(), and caf::SRTrkME::truth.

Referenced by caf::CAFMaker::produce().

43  {
44  vec->push_back(SRTrkME());
45  SRTrkME& srME = vec->back();
46 
47  srME.nhitx = michel.NXCell();
48  srME.nhity = michel.NYCell();
49  srME.mid = michel.MID();
50  srME.calE = michel.CalorimetricEnergy();
51  srME.adc = michel.TotalADC();
52  srME.deltat = michel.DeltaT();
53  srME.disttotrack = michel.DistToTrk();
54  srME.meanpos = TVector3(michel.MeanX(),michel.MeanY(),michel.MeanZ());
55  srME.truth = FillParticleTruth(sliceList,
56  michel.AllCells(),
57  allTracks,
58  sliceTracks,
59  allTracksBirks,
60  sliceTracksBirks,
61  sliceIdx);
62 
63  srTrk.me.push_back(srME); // Also copy this TrkME to parent track
64  }
double MeanZ(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:233
art::PtrVector< rb::CellHit > AllCells() const
Get all cells from both views.
Definition: Cluster.cxx:180
double MeanX(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:231
SRParticleTruth FillParticleTruth(const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill the particle truth for a set of hits.
Definition: FillTruth.cxx:25
double TotalADC() const
Sum of the ADC of all the contained hits.
Definition: Cluster.cxx:360
double DeltaT() const
Definition: MEClusters.cxx:10
double MeanY(rb::AveragingScheme scheme=kDefaultScheme) const
Definition: Cluster.h:232
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
double MID() const
Definition: MEClusters.cxx:8
Eigen::VectorXd vec
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
double DistToTrk() const
Definition: MEClusters.cxx:34
void caf::AddTrueMichelEToVec ( const sim::Particle michel,
const sim::Particle motherMuon,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< SRTrueMichelE > *  vec 
)

Definition at line 695 of file FillTruth.cxx.

References caf::SRTrueMichelE::E, simb::MCParticle::E(), simb::MCParticle::EndPosition(), it, simb::MCParticle::Momentum(), caf::SRTrueMichelE::mustop, caf::SRTrueMichelE::p, simb::MCParticle::T(), caf::SRTrueMichelE::time, simb::MCParticle::TrackId(), and caf::SRTrueMichelE::visE.

Referenced by FindAndAddMichels().

699  {
700  vec->push_back(SRTrueMichelE());
701  SRTrueMichelE& srMichel = vec->back();
702 
703  // Find the visible energy from the FLS hits
704  float visE = 0;
705  for (std::vector<cheat::TrackIDE>::iterator it = allTracks.begin();
706  it != allTracks.end(); ++it)
707  {
708  if(michel.TrackId() == it->trackID)
709  {
710  visE = it->energy;
711  break;
712  }
713  }
714 
715  srMichel.E = michel.E();
716  srMichel.visE = visE;
717  srMichel.time = michel.T();
718  srMichel.mustop = motherMuon.EndPosition();
719  srMichel.p = michel.Momentum();
720  }
double E(const int i=0) const
Definition: MCParticle.h:232
set< int >::iterator it
const TLorentzVector & EndPosition() const
Definition: MCParticle.h:224
int TrackId() const
Definition: MCParticle.h:209
double T(const int i=0) const
Definition: MCParticle.h:223
Eigen::VectorXd vec
const TLorentzVector & Momentum(const int i=0) const
Definition: MCParticle.h:219
void caf::BlindThisCosRej ( SRCosRej cosrej)

Definition at line 156 of file Blinding.cxx.

References blind_val, caf::SRCosRej::eratio, and caf::SRCosRej::hadE.

Referenced by BlindThisRecord().

156  {
157  cosrej.eratio = blind_val;
158  cosrej.hadE = blind_val;
159  }
static const int blind_val
Definition: Blinding.cxx:16
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
void caf::BlindThisElasticVtx ( SRElastic vtx)

Definition at line 58 of file Blinding.cxx.

References blind_val, blind_val_unsigned, caf::SRElastic::fuzzyk, MECModelEnuComparisons::i, caf::SRFuzzyK::png, and caf::SRFuzzyK::png2d.

Referenced by BlindThisRecord().

58  {
59  for (unsigned int i=0; i<vtx.fuzzyk.png.size(); i++) {
60  vtx.fuzzyk.png[i].nhit = blind_val_unsigned;
61  vtx.fuzzyk.png[i].nhitx = blind_val_unsigned;
62  vtx.fuzzyk.png[i].nhity = blind_val_unsigned;
63  vtx.fuzzyk.png[i].nplane = blind_val_unsigned;
64  vtx.fuzzyk.png[i].maxplanecont = blind_val_unsigned;
65  vtx.fuzzyk.png[i].calE = blind_val;
66  vtx.fuzzyk.png[i].weightedCalE = blind_val;
67  vtx.fuzzyk.png[i].len = blind_val;
68 
69  vtx.fuzzyk.png[i].shwlid.nhit = blind_val_unsigned;
70  vtx.fuzzyk.png[i].shwlid.nhitx = blind_val_unsigned;
71  vtx.fuzzyk.png[i].shwlid.nhity = blind_val_unsigned;
72  vtx.fuzzyk.png[i].shwlid.nplane = blind_val_unsigned;
73  vtx.fuzzyk.png[i].shwlid.maxplanecont = blind_val_unsigned;
74  vtx.fuzzyk.png[i].shwlid.calE = blind_val;
75  vtx.fuzzyk.png[i].shwlid.len = blind_val;
76  vtx.fuzzyk.png[i].shwlid.stop.SetZ (blind_val);
77  vtx.fuzzyk.png[i].shwlid.lid.setDefault();
78  vtx.fuzzyk.png[i].shwlid.lidE.setDefault();
79  vtx.fuzzyk.png[i].cvnpart.setDefault();
80  vtx.fuzzyk.png[i].regcvn.setDefault();
81 
82  vtx.fuzzyk.png[i].bpf.muon.nhit = blind_val_unsigned;
83  vtx.fuzzyk.png[i].bpf.muon.nhitx = blind_val_unsigned;
84  vtx.fuzzyk.png[i].bpf.muon.nhity = blind_val_unsigned;
85  vtx.fuzzyk.png[i].bpf.muon.nplane = blind_val_unsigned;
86  vtx.fuzzyk.png[i].bpf.muon.maxplanecont = blind_val_unsigned;
87  vtx.fuzzyk.png[i].bpf.muon.calE = blind_val;
88  vtx.fuzzyk.png[i].bpf.muon.len = blind_val;
89  vtx.fuzzyk.png[i].bpf.muon.lenE = blind_val;
90  vtx.fuzzyk.png[i].bpf.muon.stop. SetZ( blind_val );
91  vtx.fuzzyk.png[i].bpf.muon.pid = blind_val;
92  vtx.fuzzyk.png[i].bpf.muon.chi2T = blind_val;
93  vtx.fuzzyk.png[i].bpf.muon.dEdXLL = blind_val;
94  vtx.fuzzyk.png[i].bpf.muon.hitRatio = blind_val;
95  vtx.fuzzyk.png[i].bpf.muon.energy = blind_val;
96  vtx.fuzzyk.png[i].bpf.muon.lenE = blind_val;
97  vtx.fuzzyk.png[i].bpf.muon.overlapE = blind_val;
98  vtx.fuzzyk.png[i].bpf.muon.momentum. SetX( blind_val );
99  vtx.fuzzyk.png[i].bpf.muon.momentum. SetY( blind_val );
100  vtx.fuzzyk.png[i].bpf.muon.momentum. SetZ( blind_val );
101 
102  vtx.fuzzyk.png[i].bpf.pion.nhit = blind_val_unsigned;
103  vtx.fuzzyk.png[i].bpf.pion.nhitx = blind_val_unsigned;
104  vtx.fuzzyk.png[i].bpf.pion.nhity = blind_val_unsigned;
105  vtx.fuzzyk.png[i].bpf.pion.nplane = blind_val_unsigned;
106  vtx.fuzzyk.png[i].bpf.pion.maxplanecont = blind_val_unsigned;
107  vtx.fuzzyk.png[i].bpf.pion.calE = blind_val;
108  vtx.fuzzyk.png[i].bpf.pion.len = blind_val;
109  vtx.fuzzyk.png[i].bpf.pion.lenE = blind_val;
110  vtx.fuzzyk.png[i].bpf.pion.stop. SetZ( blind_val );
111  vtx.fuzzyk.png[i].bpf.pion.pid = blind_val;
112  vtx.fuzzyk.png[i].bpf.pion.chi2T = blind_val;
113  vtx.fuzzyk.png[i].bpf.pion.dEdXLL = blind_val;
114  vtx.fuzzyk.png[i].bpf.pion.hitRatio = blind_val;
115  vtx.fuzzyk.png[i].bpf.pion.energy = blind_val;
116  vtx.fuzzyk.png[i].bpf.pion.lenE = blind_val;
117  vtx.fuzzyk.png[i].bpf.pion.overlapE = blind_val;
118  vtx.fuzzyk.png[i].bpf.pion.momentum. SetX( blind_val );
119  vtx.fuzzyk.png[i].bpf.pion.momentum. SetY( blind_val );
120  vtx.fuzzyk.png[i].bpf.pion.momentum. SetZ( blind_val );
121 
122  vtx.fuzzyk.png[i].bpf.proton.nhit = blind_val_unsigned;
123  vtx.fuzzyk.png[i].bpf.proton.nhitx = blind_val_unsigned;
124  vtx.fuzzyk.png[i].bpf.proton.nhity = blind_val_unsigned;
125  vtx.fuzzyk.png[i].bpf.proton.nplane = blind_val_unsigned;
126  vtx.fuzzyk.png[i].bpf.proton.maxplanecont = blind_val_unsigned;
127  vtx.fuzzyk.png[i].bpf.proton.calE = blind_val;
128  vtx.fuzzyk.png[i].bpf.proton.len = blind_val;
129  vtx.fuzzyk.png[i].bpf.proton.lenE = blind_val;
130  vtx.fuzzyk.png[i].bpf.proton.stop. SetZ( blind_val );
131  vtx.fuzzyk.png[i].bpf.proton.pid = blind_val;
132  vtx.fuzzyk.png[i].bpf.proton.chi2T = blind_val;
133  vtx.fuzzyk.png[i].bpf.proton.dEdXLL = blind_val;
134  vtx.fuzzyk.png[i].bpf.proton.hitRatio = blind_val;
135  vtx.fuzzyk.png[i].bpf.proton.energy = blind_val;
136  vtx.fuzzyk.png[i].bpf.proton.lenE = blind_val;
137  vtx.fuzzyk.png[i].bpf.proton.overlapE = blind_val;
138  vtx.fuzzyk.png[i].bpf.proton.momentum. SetX( blind_val );
139  vtx.fuzzyk.png[i].bpf.proton.momentum. SetY( blind_val );
140  vtx.fuzzyk.png[i].bpf.proton.momentum. SetZ( blind_val );
141 
142  }
143  for (unsigned int i=0; i<vtx.fuzzyk.png2d.size(); i++) {
144  vtx.fuzzyk.png2d[i].nhit = blind_val_unsigned;
145  vtx.fuzzyk.png2d[i].nhitx = blind_val_unsigned;
146  vtx.fuzzyk.png2d[i].nhity = blind_val_unsigned;
147  vtx.fuzzyk.png2d[i].nplane = blind_val_unsigned;
148  vtx.fuzzyk.png2d[i].maxplanecont = blind_val_unsigned;
149  vtx.fuzzyk.png2d[i].calE = blind_val;
150  vtx.fuzzyk.png2d[i].weightedCalE = blind_val;
151  vtx.fuzzyk.png2d[i].len = blind_val;
152  }
153  }
static const int blind_val
Definition: Blinding.cxx:16
static const unsigned int blind_val_unsigned
Definition: Blinding.cxx:17
void caf::BlindThisJMShower ( SRJMShower jm)

Definition at line 44 of file Blinding.cxx.

References blind_val, blind_val_unsigned, caf::SRJMShower::calE, caf::SRJMShower::len, caf::SRJMShower::maxplanecont, caf::SRJMShower::nhit, caf::SRJMShower::nhitx, caf::SRJMShower::nhity, caf::SRJMShower::nplane, caf::SRJMShower::shwE, caf::SRJMShower::stop, and caf::SRJMShower::vtxE.

44  {
45  jm.nhit = blind_val_unsigned;
46  jm.nhitx = blind_val_unsigned;
47  jm.nhity = blind_val_unsigned;
48  jm.nplane = blind_val_unsigned;
49  jm.maxplanecont = blind_val_unsigned;
50  jm.calE = blind_val;
51  jm.len = blind_val;
52  jm.shwE = blind_val;
53  jm.vtxE = blind_val;
54  jm.stop. SetZ( blind_val );
55  }
static const int blind_val
Definition: Blinding.cxx:16
static const unsigned int blind_val_unsigned
Definition: Blinding.cxx:17
void caf::BlindThisRecord ( StandardRecord rec)

If required, scrub the record of any quantities that shouldn't be viewed

Definition at line 162 of file Blinding.cxx.

References caf::SRHeader::blind, blind_val, BlindThisCosRej(), BlindThisElasticVtx(), BlindThisSlice(), BlindThisTrack(), caf::SRIDBranch::bpfid, caf::SRSlice::calE, om::cerr, caf::SRTrackBranch::cosmic, caf::SRIDBranch::cosrej, caf::SRIDBranch::cvnloosepreselptp, caf::SRIDBranch::cvnnocosmics, caf::SRIDBranch::cvnoldpresel, caf::SRHeader::det, caf::SRTrackBranch::discrete, caf::SRVertexBranch::elastic, allTimeWatchdog::endl, caf::StandardRecord::energy, caf::StandardRecord::hdr, MECModelEnuComparisons::i, caf::SRHeader::ismc, caf::SRElastic::IsValid, caf::SRTrackBranch::kalman, kFARDET, caf::SRIDBranch::lem, caf::SRNueEnergy::lid, caf::SRIDBranch::lid, caf::SRSlice::meantime, caf::SREnergyBranch::nue, caf::SREnergyBranch::numu, caf::SRIDBranch::remid, caf::SRIDBranch::rvp, caf::StandardRecord::sel, caf::SRSLidEnergy::setDefault(), caf::SRNueEnergy::setDefault(), caf::SRCVNResult::setDefault(), caf::SRELid::setDefault(), caf::SRRemid::setDefault(), caf::SRRvp::setDefault(), caf::SRBpfId::setDefault(), caf::SRNumuEnergy::setDefault(), caf::SRLem::setDefault(), caf::StandardRecord::slc, caf::SRTrackBase::tracks, caf::SRKalman::tracks, caf::StandardRecord::trk, caf::StandardRecord::vtx, and caf::SRTrackBranch::window.

Referenced by caf::CAFMaker::produce().

162  {
163  /// If required, scrub the record of any quantities that shouldn't be viewed
164 
165  if(rec->hdr.det != kFARDET){
166  std::cerr << "Should only apply blinding to the Far Detector, aborting."
167  << std::endl;
168  abort();
169  }
170 
171  if(rec->hdr.ismc){
172  std::cerr << "Shouldn't apply blinding to Monte Carlo, aborting."
173  << std::endl;
174  abort();
175  }
176 
177  // Is this record in the box?
178 
179  // Blinding 0.8 to 3 GeV events within 30 microsecond window
180  // around center of beam spill (t=222000 microseconds).
181  if (rec->slc.calE > 0.8 &&
182  rec->slc.calE < 3.0 &&
183  rec->slc.meantime > 207000 &&
184  rec->slc.meantime < 237000 ) {
185 
186  // Walk through each rec branch.
187 
188  // -- start of branches --
189 
190  // -- hdr
191  // Tag the record as blind
192  rec->hdr.blind = 1;
193 
194  // -- spill
195 
196  // -- slc
198 
199  // -- trk
200  for (unsigned int i=0; i<rec->trk.kalman.tracks.size(); i++) {
202  rec->trk.kalman.tracks[i].remavededx = blind_val;
203  rec->trk.kalman.tracks[i].rempid = blind_val;
204  rec->trk.kalman.tracks[i].scatllh = blind_val;
205  rec->trk.kalman.tracks[i].dedxllh = blind_val;
206  rec->trk.kalman.tracks[i].measfrac = blind_val;
207  rec->trk.kalman.tracks[i].remcont = blind_val;
208  rec->trk.kalman.tracks[i].lenE = blind_val;
209  rec->trk.kalman.tracks[i].overlapE = blind_val;
210  }
211  for (unsigned int i=0; i<rec->trk.discrete.tracks.size(); i++) {
213  }
214  for (unsigned int i=0; i<rec->trk.cosmic.tracks.size(); i++) {
216  }
217  for (unsigned int i=0; i<rec->trk.window.tracks.size(); i++) {
219  }
220 
221  // -- vtx
222  if (rec->vtx.elastic.IsValid == 1) {
224  }
225 
226  // -- energy
227  // for now, everything goes, so use setDefault() methods
229  rec->energy.nue .setDefault();
231 
232  // for (unsigned int i=0; i<rec->energy.nue.lid.size(); i++) {
233  // rec->energy.nue.lid[i].setDefault();
234  // }
235 
236  // -- sel
237  // for now, everything goes, so use setDefault() methods
238  rec->sel.remid.setDefault();
239  rec->sel.bpfid.setDefault();
240  rec->sel.lid .setDefault();
241  // for (unsigned int i=0; i<rec->sel.lid.shwlid.size(); i++){
242  // rec->sel.lid.shwlid[i].setDefault();
243  //}
244  rec->sel.lem .setDefault();
245  rec->sel.rvp .setDefault();
249 
250  // some stuff survives here:
252 
253  // -- mc
254 
255  // -- parent
256 
257  // -- end of branches --
258 
259  } // end if (rec needs blinding)
260 
261  }
Det_t det
Detector, ND = 1, FD = 2, NDOS = 3.
Definition: SRHeader.h:28
virtual void setDefault()
Definition: SRNueEnergy.cxx:23
virtual void setDefault()
Definition: SRBpfId.cxx:35
SRCVNResult cvnnocosmics
Output from CVN - No cosmics ued in training (many-class PID)
Definition: SRIDBranch.h:56
bool blind
if true, record has been corrupted for blindness
Definition: SRHeader.h:29
SRHeader hdr
Header branch: run, subrun, etc.
SRCosRej cosrej
Output from CosRej (Cosmic Rejection)
Definition: SRIDBranch.h:47
static const int blind_val
Definition: Blinding.cxx:16
virtual void setDefault()
Definition: SRCVNResult.cxx:28
OStream cerr
Definition: OStream.cxx:7
SRTrackBase discrete
3D tracks produced by DiscreteTrack
Definition: SRTrackBranch.h:25
caf::StandardRecord * rec
Definition: tutCAFMacro.C:20
SRNueEnergy nue
Nue energy variables.
SRCVNResult cvnoldpresel
Output from CVN - Preselection used in Prod3/4 (many-class PID)
Definition: SRIDBranch.h:55
SRCVNResult cvnloosepreselptp
Output from CVN - Loose Presel plus PtP cut (many-class PID)
Definition: SRIDBranch.h:54
bool ismc
data or MC? True if MC
Definition: SRHeader.h:27
void setDefault()
Definition: SRELid.cxx:27
SRRvp rvp
Output from RecoVariablePID (RVP)
Definition: SRIDBranch.h:46
virtual void setDefault()
Definition: SRRemid.cxx:29
void BlindThisCosRej(SRCosRej &cosrej)
Definition: Blinding.cxx:156
void BlindThisTrack(SRTrack &trk)
Definition: Blinding.cxx:31
virtual void setDefault()
SRKalman kalman
Tracks produced by KalmanTrack.
Definition: SRTrackBranch.h:24
SRRemid remid
Output from RecoMuonID (ReMId) package.
Definition: SRIDBranch.h:39
float calE
Calorimetric energy of the cluster [GeV].
Definition: SRSlice.h:38
void BlindThisSlice(SRSlice &slc)
Definition: Blinding.cxx:20
virtual void setDefault()
SRBpfId bpfid
Output from the BreakPointFitter PID (BPFPIdMaker) package.
Definition: SRIDBranch.h:41
void BlindThisElasticVtx(SRElastic &vtx)
Definition: Blinding.cxx:58
SRNumuEnergy numu
Numu energy estimator.
SRTrackBase window
Tracks produced by WindowTrack.
Definition: SRTrackBranch.h:27
SRELid lid
Output from LIDBuilder (LID) package.
Definition: SRIDBranch.h:42
SRIDBranch sel
Selector (PID) branch.
SRElastic elastic
Single vertex found by Elastic Arms.
SRSlice slc
Slice branch: nhit, extents, time, etc.
void setDefault()
Definition: SRLem.cxx:58
SRLem lem
Output from Library Event Matching (LEM)
Definition: SRIDBranch.h:43
SRSLidEnergy lid
Energy estimate from lid for slice pid (most energetic shower for now)
Definition: SRNueEnergy.h:23
SRTrackBranch trk
Track branch: nhit, len, etc.
SREnergyBranch energy
Energy estimator branch.
SRTrackBase cosmic
Tracks produced by CosmicTrack.
Definition: SRTrackBranch.h:26
std::vector< SRTrack > tracks
Definition: SRTrackBase.h:15
std::vector< SRKalmanTrack > tracks
3D Tracks produced by KalmanTrack
Definition: SRKalman.h:16
float meantime
mean time, weighted by charge [ns]
Definition: SRSlice.h:41
void setDefault()
Definition: SRRvp.cxx:40
SRVertexBranch vtx
Vertex branch: location, time, etc.
void caf::BlindThisSlice ( SRSlice slc)

Definition at line 20 of file Blinding.cxx.

References blind_val, blind_val_unsigned, caf::SRSlice::boxmax, caf::SRSlice::calE, caf::SRSlice::lastplane, std::max(), caf::SRSlice::meanpos, caf::SRSlice::ncontplanes, caf::SRVector3D::SetZ(), and submit_hadd::u.

Referenced by BlindThisRecord().

20  {
21  // Small numbers of ncontplanes are useful for cosmic rejection, large
22  // numbers can leak the event length (~ energy).
23  slc.ncontplanes = std::max(10u, slc.ncontplanes);
24  slc.lastplane = blind_val_unsigned;
25  slc.calE = blind_val;
26  slc.boxmax. SetZ( blind_val );
27  slc.meanpos.SetZ( blind_val );
28  }
T max(const caf::Proxy< T > &a, T b)
static const int blind_val
Definition: Blinding.cxx:16
static const unsigned int blind_val_unsigned
Definition: Blinding.cxx:17
void caf::BlindThisTrack ( SRTrack trk)

Definition at line 31 of file Blinding.cxx.

References blind_val, blind_val_unsigned, caf::SRTrack::calE, caf::SRTrack::len, caf::SRTrack::lenE, caf::SRTrack::maxplanecont, caf::SRTrack::nhit, caf::SRTrack::nhitx, caf::SRTrack::nhity, caf::SRTrack::nplane, and caf::SRTrack::stop.

Referenced by BlindThisRecord().

31  {
32  trk.nhit = blind_val_unsigned;
33  trk.nhitx = blind_val_unsigned;
34  trk.nhity = blind_val_unsigned;
35  trk.nplane = blind_val_unsigned;
36  trk.maxplanecont = blind_val_unsigned;
37  trk.calE = blind_val;
38  trk.len = blind_val;
39  trk.lenE = blind_val;
40  trk.stop. SetZ( blind_val );
41  }
static const int blind_val
Definition: Blinding.cxx:16
Track finder for cosmic rays.
static const unsigned int blind_val_unsigned
Definition: Blinding.cxx:17
caf::generator_ caf::CAFGeneratorEnum ( simb::Generator_t  simbGeneratorEnum)

Definition at line 786 of file FillTruth.cxx.

References simb::kGENIE, kGENIE, simb::kGIBUU, kGIBUU, and kUnknownGenerator.

Referenced by caf::CAFMaker::AddMCTruthToVec().

787  {
788  switch (simbGeneratorEnum)
789  {
791  return kGENIE;
792 
794  return kGIBUU;
795 
796  default:
797  return kUnknownGenerator;
798 
799  }
800  }
void caf::CopyMuonIDVars ( const SRKalmanTrack srTrk,
caf::SRMuonID muid 
)

Definition at line 723 of file FillPIDs.cxx.

References caf::SRKalmanTrack::muonid, and caf::SRMuonID::pid.

Referenced by caf::CAFMaker::produce().

724  {
725  muid.pid = srTrk.muonid;
726  }
float pid
MuonID value output by ND-trained BDT.
Definition: SRMuonID.h:18
void caf::CopyRemidVars ( const SRKalmanTrack srTrk,
caf::SRRemid remid 
)

Definition at line 712 of file FillPIDs.cxx.

References caf::SRRemid::cont, caf::SRKalmanTrack::dedxllh, caf::SRRemid::dedxllh, caf::SRRemid::len, caf::SRTrack::len, caf::SRKalmanTrack::measfrac, caf::SRRemid::measfrac, caf::SRRemid::pid, caf::SRKalmanTrack::remcont, caf::SRKalmanTrack::rempid, caf::SRKalmanTrack::scatllh, and caf::SRRemid::scatllh.

Referenced by caf::CAFMaker::produce().

713  {
714  remid.pid = srTrk.rempid;
715  remid.scatllh = srTrk.scatllh;
716  remid.dedxllh = srTrk.dedxllh;
717  remid.len = srTrk.len;
718  remid.measfrac = srTrk.measfrac;
719  remid.cont = srTrk.remcont;
720  }
float scatllh
Log-likelihood value from scattering angle.
Definition: SRRemid.h:26
float len
Track length of identified track.
Definition: SRRemid.h:28
int cont
True if track is contained as defined by ReMId.
Definition: SRRemid.h:30
float pid
PID value output by kNN.
Definition: SRRemid.h:25
float measfrac
Fraction of planes used to measure dE/dx.
Definition: SRRemid.h:29
float dedxllh
Log-likelihood value from dE/dx.
Definition: SRRemid.h:27
std::vector< unsigned int > caf::DecodeGeneratorVersion ( const std::string &  versionString)

Definition at line 803 of file FillTruth.cxx.

References it, submit_syst::pattern, submit_cafana::regex, and runNovaSAM::ret.

Referenced by caf::CAFMaker::AddMCTruthToVec().

804  {
805  std::vector<unsigned int> ret;
806  std::regex pattern("(\\d+)");
807  auto vals_begin = std::sregex_iterator(versionString.begin(), versionString.end(), pattern);
808  auto vals_end = std::sregex_iterator();
809 
810  for (auto it = vals_begin; it != vals_end; it++)
811  ret.push_back(std::stoi(it->str()));
812 
813  return ret;
814  }
set< int >::iterator it
template<class T >
void caf::EvalInstanceWrapper ( TTreeFormula *  ttf,
T x 
)

Definition at line 146 of file BasicTypesProxy.cxx.

References T.

Referenced by caf::Proxy< T >::GetValueNested().

147  {
148  // TODO is this the safest way to cast?
149  x = (T)ttf->EvalInstance(0);
150  }
double T
Definition: Xdiff_gwt.C:5
void caf::EvalInstanceWrapper ( TTreeFormula *  ttf,
std::string &  x 
)

Definition at line 152 of file BasicTypesProxy.cxx.

153  {
154  x = ttf->EvalStringInstance(0);
155  }
void caf::FillCosRejVars ( const cosrej::CosRejObj cosrej,
caf::SRCosRej srcosrej,
caf::SRContain srcontain 
)

Definition at line 394 of file FillPIDs.cxx.

References caf::SRCosRej::anglecos, cosrej::CosRejObj::AngleCos(), caf::SRCosRej::anglekal, cosrej::CosRejObj::AngleKal(), caf::SRCosRej::cdirscore, cosrej::CosRejObj::CDirScore(), caf::SRCosRej::cfitspeed, cosrej::CosRejObj::CFitSpeed(), cosrej::CosRejObj::ConCosPID(), caf::SRContain::cosbakair, cosrej::CosRejObj::CosBakAir(), caf::SRContain::cosbakcell, cosrej::CosRejObj::CosBakCell(), caf::SRContain::cosbakcellnd, cosrej::CosRejObj::CosBakCellND(), caf::SRContain::cosbakdist, cosrej::CosRejObj::CosBakDist(), caf::SRContain::cosbaksteel, cosrej::CosRejObj::CosBakSteel(), caf::SRCosRej::coschidiff, cosrej::CosRejObj::CosChiDiff(), caf::SRCosRej::coschisq, cosrej::CosRejObj::CosChisq(), caf::SRContain::cosfwdair, cosrej::CosRejObj::CosFwdAir(), caf::SRContain::cosfwdcell, cosrej::CosRejObj::CosFwdCell(), caf::SRContain::cosfwdcellnd, cosrej::CosRejObj::CosFwdCellND(), caf::SRContain::cosfwddist, cosrej::CosRejObj::CosFwdDist(), caf::SRContain::cosfwdsteel, cosrej::CosRejObj::CosFwdSteel(), caf::SRCosRej::cosslope, cosrej::CosRejObj::CosSlope(), caf::SRCosRej::costhetatrue, cosrej::CosRejObj::CosThetaTrue(), caf::SRContain::cosyposattrans, cosrej::CosRejObj::CosYPosAtTrans(), caf::SRCosRej::cscorediff, cosrej::CosRejObj::CScoreDiff(), caf::SRContain::enddist, cosrej::CosRejObj::EndDist(), caf::SRCosRej::eratio, cosrej::CosRejObj::ERatio(), caf::SRCosRej::fscattext, cosrej::CosRejObj::FScattExt(), caf::SRCosRej::fscattmax, cosrej::CosRejObj::FScattMax(), caf::SRCosRej::fscattsig, cosrej::CosRejObj::FScattSig(), caf::SRCosRej::fscattsum, cosrej::CosRejObj::FScattSum(), caf::SRCosRej::hadE, caf::SRContain::kalbakair, cosrej::CosRejObj::KalBakAir(), caf::SRContain::kalbakcell, cosrej::CosRejObj::KalBakCell(), caf::SRContain::kalbakcellnd, cosrej::CosRejObj::KalBakCellND(), caf::SRContain::kalbakdist, cosrej::CosRejObj::KalBakDist(), caf::SRContain::kalbaksteel, cosrej::CosRejObj::KalBakSteel(), caf::SRCosRej::kalchidiff, cosrej::CosRejObj::KalChiDiff(), caf::SRCosRej::kalchisq, cosrej::CosRejObj::KalChisq(), caf::SRContain::kalfwdair, cosrej::CosRejObj::KalFwdAir(), caf::SRContain::kalfwdcell, cosrej::CosRejObj::KalFwdCell(), caf::SRContain::kalfwdcellnd, cosrej::CosRejObj::KalFwdCellND(), caf::SRContain::kalfwddist, cosrej::CosRejObj::KalFwdDist(), caf::SRContain::kalfwdsteel, cosrej::CosRejObj::KalFwdSteel(), caf::SRCosRej::kalslope, cosrej::CosRejObj::KalSlope(), caf::SRCosRej::kalthetatrue, cosrej::CosRejObj::KalThetaTrue(), caf::SRContain::kalyposattrans, cosrej::CosRejObj::KalYPosAtTrans(), caf::SRCosRej::kdirscore, cosrej::CosRejObj::KDirScore(), caf::SRCosRej::kfitspeed, cosrej::CosRejObj::KFitSpeed(), caf::SRCosRej::kscorediff, cosrej::CosRejObj::KScoreDiff(), caf::SRCosRej::mincell, cosrej::CosRejObj::MinCell(), caf::SRCosRej::mindist, cosrej::CosRejObj::MinDist(), caf::SRCosRej::nkal3d, cosrej::CosRejObj::NTracks3D(), caf::SRCosRej::numucontpid2019, caf::SRCosRej::numucontpid2020, caf::SRCosRej::numuunconttunedpid, cosrej::CosRejObj::OldCosPID(), caf::SRCosRej::pdgbest, cosrej::CosRejObj::PDGBest(), caf::SRCosRej::scatt, cosrej::CosRejObj::Scatt(), cosrej::CosRejObj::StartAct(), cosrej::CosRejObj::UnconTunedCosPID(), caf::SRContain::vtxdist, and cosrej::CosRejObj::VtxDist().

Referenced by caf::CAFMaker::produce().

397  {
398  srcosrej.anglekal = cosrej.AngleKal();
399  srcosrej.anglecos = cosrej.AngleCos();
400 
401  srcosrej.numucontpid2020 = cosrej.ConCosPID();
402  srcosrej.numucontpid2019 = cosrej.OldCosPID();
403  srcosrej.numuunconttunedpid = cosrej.UnconTunedCosPID();
404 
405  srcosrej.nkal3d = cosrej.NTracks3D();
406  srcosrej.mindist = cosrej.MinDist();
407  srcosrej.mincell = cosrej.MinCell();
408  srcosrej.eratio = cosrej.ERatio();
409  srcosrej.scatt = cosrej.Scatt();
410  srcosrej.hadE = cosrej.StartAct();
411  srcosrej.costhetatrue = cosrej.CosThetaTrue();
412  srcosrej.kalthetatrue = cosrej.KalThetaTrue();
413  srcosrej.pdgbest = cosrej.PDGBest();
414  srcosrej.fscattmax = cosrej.FScattMax();
415  srcosrej.fscattsum = cosrej.FScattSum();
416  srcosrej.fscattext = cosrej.FScattExt();
417  srcosrej.fscattsig = cosrej.FScattSig();
418  srcosrej.kfitspeed = cosrej.KFitSpeed();
419  srcosrej.cfitspeed = cosrej.CFitSpeed();
420  srcosrej.kdirscore = cosrej.KDirScore();
421  srcosrej.cdirscore = cosrej.CDirScore();
422  srcosrej.kscorediff = cosrej.KScoreDiff();
423  srcosrej.cscorediff = cosrej.CScoreDiff();
424  srcosrej.kalchisq = cosrej.KalChisq();
425  srcosrej.kalslope = cosrej.KalSlope();
426  srcosrej.kalchidiff = cosrej.KalChiDiff();
427  srcosrej.coschisq = cosrej.CosChisq();
428  srcosrej.cosslope = cosrej.CosSlope();
429  srcosrej.coschidiff = cosrej.CosChiDiff();
430 
431  srcontain.vtxdist = cosrej.VtxDist();
432  srcontain.enddist = cosrej.EndDist();
433  srcontain.cosfwddist = cosrej.CosFwdDist();
434  srcontain.cosbakdist = cosrej.CosBakDist();
435  srcontain.cosfwdcell = cosrej.CosFwdCell();
436  srcontain.cosfwdcellnd = cosrej.CosFwdCellND();
437  srcontain.cosbakcell = cosrej.CosBakCell();
438  srcontain.cosbakcellnd = cosrej.CosBakCellND();
439  srcontain.cosfwdair = cosrej.CosFwdAir();
440  srcontain.cosfwdsteel = cosrej.CosFwdSteel();
441  srcontain.cosbakair = cosrej.CosBakAir();
442  srcontain.cosbaksteel = cosrej.CosBakSteel();
443  srcontain.kalfwdair = cosrej.KalFwdAir();
444  srcontain.kalfwdsteel = cosrej.KalFwdSteel();
445  srcontain.kalbakair = cosrej.KalBakAir();
446  srcontain.kalbaksteel = cosrej.KalBakSteel();
447  srcontain.kalfwddist = cosrej.KalFwdDist();
448  srcontain.kalbakdist = cosrej.KalBakDist();
449  srcontain.kalfwdcell = cosrej.KalFwdCell();
450  srcontain.kalfwdcellnd = cosrej.KalFwdCellND();
451  srcontain.kalbakcell = cosrej.KalBakCell();
452  srcontain.kalbakcellnd = cosrej.KalBakCellND();
453  srcontain.cosyposattrans = cosrej.CosYPosAtTrans();
454  srcontain.kalyposattrans = cosrej.KalYPosAtTrans();
455  }
int cosfwdcell
cosmictrack projected # cells from end point forwards to det edge
Definition: SRContain.h:30
int PDGBest() const
Definition: CosRejObj.cxx:736
float KalThetaTrue() const
Definition: CosRejObj.cxx:730
float KalChisq() const
Definition: CosRejObj.cxx:538
float fscattsum
sum of scattering angles (Fernanda)
Definition: SRCosRej.h:43
float CosSlope() const
Definition: CosRejObj.cxx:544
float KalSlope() const
Definition: CosRejObj.cxx:532
float kalchisq
chisq value of slope fit (kalmantrack)
Definition: SRCosRej.h:62
float CosChisq() const
Definition: CosRejObj.cxx:550
float CosFwdDist() const
Definition: CosRejObj.cxx:556
float KalYPosAtTrans() const
Definition: CosRejObj.cxx:682
float KalBakDist() const
Definition: CosRejObj.cxx:610
float costhetatrue
cosine of angle between cosmic trk dir and true dir of most contributing particle ...
Definition: SRCosRej.h:26
float cfitspeed
fit inverse speed (ns/cm) of Hough timing fit (TimingFit module) for cosmic track ...
Definition: SRCosRej.h:56
float KalBakSteel() const
Definition: CosRejObj.cxx:622
float UnconTunedCosPID() const
Definition: CosRejObj.cxx:478
float KalFwdSteel() const
Definition: CosRejObj.cxx:604
float cosyposattrans
Y position of cosmic track at transition (ND only, use to check if went through air gap) ...
Definition: SRContain.h:49
float StartAct() const
Definition: CosRejObj.cxx:712
float cosslope
slope of track timing fit (cosmictrack)
Definition: SRCosRej.h:64
float kalyposattrans
Y position of Kalman track and transition (ND only, use to check if went through air gap) ...
Definition: SRContain.h:50
int CosBakCellND() const
Definition: CosRejObj.cxx:646
int pdgbest
pdg code of most contributing true particle to best kalman trk
Definition: SRCosRej.h:28
float Scatt() const
Definition: CosRejObj.cxx:706
float FScattMax() const
Definition: CosRejObj.cxx:767
float fscattsig
sigma of scattering variable distribution (Fernanda)
Definition: SRCosRej.h:45
int KalBakCellND() const
Definition: CosRejObj.cxx:670
float KalFwdDist() const
Definition: CosRejObj.cxx:592
float vtxdist
shortest distance to wall from primary Kalman track start position (proxy for vertex) ...
Definition: SRContain.h:26
float AngleCos() const
Definition: CosRejObj.cxx:459
int cosbakcell
cosmictrack projected # cells from start point backwards to det edge
Definition: SRContain.h:35
float kalfwdair
for Kalmantrack projected distance forwards how much is through air (ND only, NYI) ...
Definition: SRContain.h:42
float CosBakSteel() const
Definition: CosRejObj.cxx:586
float scatt
sum of all all angular deviation (looping over kaltrk traj pts) / trk len
Definition: SRCosRej.h:41
float cscorediff
chisq score difference between best +c/-c assumption and free fit in Hough timing fit (TimingFit modu...
Definition: SRCosRej.h:60
int KalFwdCell() const
Definition: CosRejObj.cxx:652
int kalbakcellnd
Kalmantrack projected # cells from start point backwards to det edge, including muon catcher...
Definition: SRContain.h:46
float KalBakAir() const
Definition: CosRejObj.cxx:616
float kalslope
slope of track timing fit (kalmantrack)
Definition: SRCosRej.h:61
float kalfwdsteel
for Kalmantrack projected distance forwards, how much is through steel (ND only, currently is just di...
Definition: SRContain.h:43
float kalfwddist
Kalmantrack projected distance (cm) from end point forwards to det edge.
Definition: SRContain.h:39
float hadE
GeV sum of non (Kalman best ReMId) track E.
Definition: SRCosRej.h:51
float mindist
minimum projected distance to edge of any Kalman track with > 15 hits
Definition: SRCosRej.h:17
float cosbakdist
cosmictrack projected distance (cm) from start point backwards to det edge
Definition: SRContain.h:34
int kalfwdcellnd
Kalmantrack projected # cells from end point forwards to det edge, including muon catcher...
Definition: SRContain.h:41
float CScoreDiff() const
Definition: CosRejObj.cxx:520
float CosBakAir() const
Definition: CosRejObj.cxx:580
float anglekal
cos of angle of best ReMId Kalman track
Definition: SRCosRej.h:23
float CosChiDiff() const
Definition: CosRejObj.cxx:749
int mincell
minimum projected cells to edge of any Kalman track with > 15 hits
Definition: SRCosRej.h:18
float CosBakDist() const
Definition: CosRejObj.cxx:574
float FScattSig() const
Definition: CosRejObj.cxx:785
float kdirscore
chisq score difference between +c and -c assumptions in Hough timing fit (TimingFit module) for best ...
Definition: SRCosRej.h:57
float VtxDist() const
Definition: CosRejObj.cxx:755
float ConCosPID() const
Definition: CosRejObj.cxx:465
float FScattSum() const
Definition: CosRejObj.cxx:773
float KDirScore() const
Definition: CosRejObj.cxx:502
float CosFwdAir() const
Definition: CosRejObj.cxx:562
int KalBakCell() const
Definition: CosRejObj.cxx:664
float cosfwddist
cosmictrack projected distance (cm) from end point forwards to det edge
Definition: SRContain.h:29
int cosfwdcellnd
cosmictrack projected # cells from end point forwards to det edge, including muon catcher...
Definition: SRContain.h:31
float CosThetaTrue() const
Definition: CosRejObj.cxx:724
int CosBakCell() const
Definition: CosRejObj.cxx:640
int CosFwdCell() const
Definition: CosRejObj.cxx:628
float cosfwdair
for cosmictrack projected distance forwards how much is through air (ND only, NYI) ...
Definition: SRContain.h:32
float EndDist() const
Definition: CosRejObj.cxx:761
float cosfwdsteel
for cosmictrack projected distance forwards, how much is through steel (ND only, currently is just di...
Definition: SRContain.h:33
float CDirScore() const
Definition: CosRejObj.cxx:508
float kalbaksteel
for Kalmantrack projected distance backwards, how much is through steel (ND only, currently is just d...
Definition: SRContain.h:48
int MinCell() const
Definition: CosRejObj.cxx:688
float CosFwdSteel() const
Definition: CosRejObj.cxx:568
float kalchidiff
chisq difference of track timing fits (kalmantrack)
Definition: SRCosRej.h:63
float KScoreDiff() const
Definition: CosRejObj.cxx:514
float FScattExt() const
Definition: CosRejObj.cxx:779
float coschidiff
chisq difference of track timing fits (cosmictrack)
Definition: SRCosRej.h:66
float coschisq
chisq value of slope fit (cosmictrack)
Definition: SRCosRej.h:65
float cosbaksteel
for cosmictrack projected distance backwards, how much is through steel (ND only, currently is just d...
Definition: SRContain.h:38
int kalfwdcell
Kalmantrack projected # cells from end point forwards to det edge.
Definition: SRContain.h:40
float enddist
shortest distance to wall from primary Kalman track end position
Definition: SRContain.h:27
int NTracks3D() const
Definition: CosRejObj.cxx:484
float CosYPosAtTrans() const
Definition: CosRejObj.cxx:676
int nkal3d
number of 3D tracks as determined by Kalman tracker
Definition: SRCosRej.h:25
float CFitSpeed() const
Definition: CosRejObj.cxx:496
float eratio
ratio of best kalman track GeV / slice GeV
Definition: SRCosRej.h:50
float MinDist() const
Definition: CosRejObj.cxx:694
int kalbakcell
Kalmantrack projected # cells from start point backwards to det edge.
Definition: SRContain.h:45
float kalthetatrue
cosine of angle between kalman trk dir and true dir of most contributing particle ...
Definition: SRCosRej.h:27
int KalFwdCellND() const
Definition: CosRejObj.cxx:658
float KFitSpeed() const
Definition: CosRejObj.cxx:490
float KalFwdAir() const
Definition: CosRejObj.cxx:598
float numuunconttunedpid
tuned cosmic rejection PID for uncontained events - Jose&#39;s;
Definition: SRCosRej.h:36
int CosFwdCellND() const
Definition: CosRejObj.cxx:634
float ERatio() const
Definition: CosRejObj.cxx:700
float numucontpid2019
cosmic rejection PID for contained events; 2019 Analysis
Definition: SRCosRej.h:35
float kalbakdist
Kalmantrack projected distance (cm) from start point backwards to det edge.
Definition: SRContain.h:44
float cosbakair
for cosmictrack projected distance backwards how much is through air (ND only, NYI) ...
Definition: SRContain.h:37
float numucontpid2020
cosmic rejection PID for contained events; 2020 Analysis
Definition: SRCosRej.h:34
float kfitspeed
fit inverse speed (ns/cm) of Hough timing fit (TimingFit module) for best ReMId Kalman track ...
Definition: SRCosRej.h:55
float anglecos
cos of angle of Cosmic Track
Definition: SRCosRej.h:24
int cosbakcellnd
cosmictrack projected # cells from start point backwards to det edge, including muon catcher...
Definition: SRContain.h:36
float KalChiDiff() const
Definition: CosRejObj.cxx:743
float kscorediff
chisq score difference between best +c/-c assumption and free fit in Hough timing fit (TimingFit modu...
Definition: SRCosRej.h:59
float fscattext
scattering variable (Fernanda)
Definition: SRCosRej.h:44
float OldCosPID() const
Definition: CosRejObj.cxx:471
float cdirscore
chisq score difference between +c and -c assumptions in Hough timing fit (TimingFit module) for cosmi...
Definition: SRCosRej.h:58
float fscattmax
maximum scattering angle (Fernanda)
Definition: SRCosRej.h:42
float AngleKal() const
Definition: CosRejObj.cxx:453
float kalbakair
for Kalmantrack projected distance backwards how much is through air (ND only, NYI) ...
Definition: SRContain.h:47
void caf::FillCVNFeaturesVars ( const cvn::Features features,
caf::SRCVNFeatures srcvnfeatures,
int  maxcomponents 
)

Definition at line 699 of file FillPIDs.cxx.

References caf::SRCVNFeatures::components, cvn::Features::fOutput, cvn::Features::fPrincipalComponents, caf::SRCVNFeatures::ncomponents, caf::SRCVNFeatures::noutput, and caf::SRCVNFeatures::output.

702  {
703  srcvnfeatures.output = features.fOutput;
704  srcvnfeatures.noutput = features.fOutput.size();
705  srcvnfeatures.components = features.fPrincipalComponents;
706  if(int(srcvnfeatures.components.size()) > maxcomponents)
707  srcvnfeatures.components.resize(maxcomponents);
708  srcvnfeatures.ncomponents = srcvnfeatures.components.size();
709  }
std::vector< float > components
Principal components of output.
Definition: SRCVNFeatures.h:18
std::vector< float > fOutput
Vector of outputs from neural net.
Definition: CVNFeatures.h:23
std::vector< float > output
List of net output nodes.
Definition: SRCVNFeatures.h:15
unsigned int ncomponents
Size of components vector.
Definition: SRCVNFeatures.h:19
unsigned int noutput
Number of entries in output vector.
Definition: SRCVNFeatures.h:16
std::vector< float > fPrincipalComponents
Linear combinations of fOutput.
Definition: CVNFeatures.h:25
void caf::FillCVNNeutronDaughterResultVars ( const std::vector< art::Ptr< rb::PID > > &  cvnneutrons,
caf::SRCVNNeutronDaughterResult cvnneutron 
)

Definition at line 95 of file FillPIDs.cxx.

References MECModelEnuComparisons::i, caf::SRCVNNeutronDaughterResult::otherid, caf::SRCVNNeutronDaughterResult::photonid, caf::SRCVNNeutronDaughterResult::protonid, and febshutoff_auto::val.

Referenced by caf::CAFMaker::produce().

97  {
98  for (unsigned int i=0; i<cvnneutrons.size(); ++i){
99  float val = cvnneutrons[i]->Value();
100  int id = cvnneutrons[i]->Pdg();
101  if(id==2212)
102  cvnneutron.protonid = val;
103  else if(id==22)
104  cvnneutron.photonid = val;
105  else
106  cvnneutron.otherid = val;
107  }
108 
109  }
void caf::FillCVNParticleResultVars ( const std::vector< art::Ptr< rb::PID > > &  cvnparts,
caf::SRCVNParticleResult cvnpart 
)

Definition at line 112 of file FillPIDs.cxx.

References caf::SRCVNParticleResult::electronid, caf::SRCVNParticleResult::emid, caf::SRCVNParticleResult::hadronid, MECModelEnuComparisons::i, caf::SRCVNParticleResult::maxval, caf::SRCVNParticleResult::muonid, caf::SRCVNParticleResult::neutronid, caf::SRCVNParticleResult::otherid, caf::SRCVNParticleResult::pdgmax, caf::SRCVNParticleResult::photonid, caf::SRCVNParticleResult::pionid, caf::SRCVNParticleResult::pizeroid, caf::SRCVNParticleResult::protonid, and febshutoff_auto::val.

Referenced by caf::CAFMaker::produce().

114  {
115 
116  float largestv = 0;
117  int largestid = 0;
118  for (unsigned int i=0; i<cvnparts.size(); ++i){
119  float val = cvnparts[i]->Value();
120  int id = cvnparts[i]->Pdg();
121  if (val > largestv){
122  largestv = val;
123  largestid = id;
124  }
125  switch (id) {
126  case 11:
127  cvnpart.electronid = val;
128  break;
129  case 13:
130  cvnpart.muonid = val;
131  break;
132  case 2212:
133  cvnpart.protonid = val;
134  break;
135  case 2112:
136  cvnpart.neutronid = val;
137  break;
138  case 211:
139  cvnpart.pionid = val;
140  break;
141  case 111:
142  cvnpart.pizeroid = val;
143  break;
144  case 22:
145  cvnpart.photonid = val;
146  break;
147  case 22 * 11:
148  cvnpart.emid = val;
149  break;
150  case 2212 * 211:
151  cvnpart.hadronid = val;
152  break;
153  default:
154  cvnpart.otherid = val;
155  break;
156  }
157  }
158  cvnpart.maxval = largestv;
159  cvnpart.pdgmax = largestid;
160 
161  if(cvnpart.emid < 0)
162  cvnpart.emid = cvnpart.electronid + cvnpart.photonid;
163  if(cvnpart.hadronid < 0)
164  cvnpart.hadronid = cvnpart.pionid + cvnpart.protonid;
165 
166  }
::xsd::cxx::tree::id< char, ncname > id
Definition: Database.h:165
float neutronid
Likelihood neutron.
float pionid
Likelihood pion.
float muonid
Likelihood muon.
float photonid
Likelihood photon.
float electronid
Likelihood electron.
unsigned int pdgmax
pdg of largest likelihood
float protonid
Likelihood proton.
float emid
Likelihood electron or photon.
float maxval
Maximum likelihood among net outputs.
float otherid
Likelihood other.
float pizeroid
Likelihood pizero.
float hadronid
Likelihood Proton or Pion.
void caf::FillCVNPixelMaps ( const cvn::PixelMap map,
caf::SRPixelObjMap srcvnmap,
bool  useGeV 
)

Definition at line 617 of file FillPIDs.cxx.

References caf::SRPixelObjMap::cvnlabmap, caf::SRPixelObjMap::cvnmap, caf::SRPixelObjMap::cvnobjmap, cvn::PixelMap::fBound, cvn::PixelMap::fFracX, cvn::PixelMap::fFracY, cvn::Boundary::FirstCell(), caf::SRPixelObjMap::firstcellx, caf::SRPixelObjMap::firstcelly, caf::SRPixelObjMap::firstplane, cvn::Boundary::FirstPlane(), cvn::PixelMap::fNCell, cvn::PixelMap::fNPlane, caf::SRPixelObjMap::hitfracx, caf::SRPixelObjMap::hitfracy, cvn::Boundary::LastCell(), caf::SRPixelObjMap::lastcellx, caf::SRPixelObjMap::lastcelly, caf::SRPixelObjMap::lastplane, cvn::Boundary::LastPlane(), caf::SRPixelObjMap::ncells, caf::SRPixelObjMap::nchan, caf::SRPixelObjMap::nplanes, cvn::PixelMap::PixelMapToObjVector(), and cvn::PixelMap::PixelMapToVector().

Referenced by caf::CAFMaker::produce().

619  {
620  srcvnmap.nchan = 2; //two views to pixel map
621  srcvnmap.nplanes = map.fNPlane/2;
622  srcvnmap.ncells = map.fNCell;
623  srcvnmap.hitfracx = map.fFracX;
624  srcvnmap.hitfracy = map.fFracY;
625  srcvnmap.firstplane = map.fBound.FirstPlane();
626  srcvnmap.lastplane = map.fBound.LastPlane();
627  srcvnmap.firstcellx = map.fBound.FirstCell(0);
628  srcvnmap.lastcellx = map.fBound.LastCell(0);
629  srcvnmap.firstcelly = map.fBound.FirstCell(1);
630  srcvnmap.lastcelly = map.fBound.LastCell(1);
631 
632  std::vector<unsigned char> tval = map.PixelMapToVector(useGeV);
633  std::copy(tval.begin(), tval.end(), srcvnmap.cvnmap);
634  std::vector<unsigned char> tlab = map.PixelMapToObjVector(true);
635  std::copy(tlab.begin(), tlab.end(), srcvnmap.cvnlabmap);
636  std::vector<unsigned char> tobj = map.PixelMapToObjVector(false);
637  std::copy(tobj.begin(), tobj.end(), srcvnmap.cvnobjmap);
638  }
unsigned char cvnlabmap[16000]
store 1D array with hit labels
Definition: SRPixelObjMap.h:33
int FirstCell(const unsigned int &view) const
Definition: Boundary.h:44
unsigned int nplanes
number of planes in pixel map
Definition: SRPixelObjMap.h:17
std::vector< unsigned char > PixelMapToObjVector(bool useLabels) const
Definition: PixelMap.cxx:417
unsigned int ncells
number of cells in pixel map
Definition: SRPixelObjMap.h:21
unsigned int fNPlane
Number of planes, length of pixel map.
Definition: PixelMap.h:117
int LastPlane() const
Definition: Boundary.h:43
int LastCell(const unsigned int &view) const
Definition: Boundary.h:45
unsigned int lastplane
global position of last plane in map
Definition: SRPixelObjMap.h:24
std::vector< unsigned char > PixelMapToVector(bool useGeV) const
Definition: PixelMap.cxx:449
unsigned char cvnobjmap[16000]
store 1D array with hit object id
Definition: SRPixelObjMap.h:34
float fFracY
fraction of y view hits contained in map
Definition: PixelMap.h:120
unsigned int fNCell
Number of cells, width of pixel map.
Definition: PixelMap.h:118
unsigned char cvnmap[16000]
store 1D array the size of the pixel map, currently 80 cells x 100 planes x 2 views. Although sparse, store this way for easier conversion and compression in hdf5. First element is channel 0, plane 0, cell 0, then channel 0, plane 0, cell 1, etc. Channel 0 is x view, 1 is y view
Definition: SRPixelObjMap.h:32
float fFracX
fraction of x view hits contained in map
Definition: PixelMap.h:119
unsigned int nchan
number of channels in pixel map
Definition: SRPixelObjMap.h:22
unsigned int firstcellx
global position of first x cell in map
Definition: SRPixelObjMap.h:25
unsigned int lastcelly
global position of last y cell in map
Definition: SRPixelObjMap.h:28
unsigned int lastcellx
global position of last x cell in map
Definition: SRPixelObjMap.h:26
Boundary fBound
Definition: PixelMap.h:153
unsigned int firstcelly
global position of first y cell in map
Definition: SRPixelObjMap.h:27
float hitfracy
fraction of y hits in slice in y view pixel map
Definition: SRPixelObjMap.h:30
int FirstPlane() const
Definition: Boundary.h:42
float hitfracx
faction of x hits in slice in x view pixel map
Definition: SRPixelObjMap.h:29
unsigned int firstplane
global position of first plane in map
Definition: SRPixelObjMap.h:23
void caf::FillCVNPixelMaps ( const cvn::PixelMap map,
caf::SRPixelMap srcvnmap,
bool  useGeV 
)

Definition at line 641 of file FillPIDs.cxx.

References caf::SRPixelMap::cvnmap, cvn::PixelMap::fBound, cvn::PixelMap::fFracX, cvn::PixelMap::fFracY, cvn::Boundary::FirstCell(), caf::SRPixelMap::firstcellx, caf::SRPixelMap::firstcelly, caf::SRPixelMap::firstplane, cvn::Boundary::FirstPlane(), cvn::PixelMap::fNCell, cvn::PixelMap::fNPlane, caf::SRPixelMap::hitfracx, caf::SRPixelMap::hitfracy, cvn::Boundary::LastCell(), caf::SRPixelMap::lastcellx, caf::SRPixelMap::lastcelly, caf::SRPixelMap::lastplane, cvn::Boundary::LastPlane(), caf::SRPixelMap::ncells, caf::SRPixelMap::nchan, caf::SRPixelMap::nplanes, and cvn::PixelMap::PixelMapToVector().

643  {
644  srcvnmap.nchan = 2; //two views to pixel map
645  srcvnmap.nplanes = map.fNPlane/2;
646  srcvnmap.ncells = map.fNCell;
647  srcvnmap.hitfracx = map.fFracX;
648  srcvnmap.hitfracy = map.fFracY;
649  srcvnmap.firstplane = map.fBound.FirstPlane();
650  srcvnmap.lastplane = map.fBound.LastPlane();
651  srcvnmap.firstcellx = map.fBound.FirstCell(0);
652  srcvnmap.lastcellx = map.fBound.LastCell(0);
653  srcvnmap.firstcelly = map.fBound.FirstCell(1);
654  srcvnmap.lastcelly = map.fBound.LastCell(1);
655 
656  std::vector<unsigned char> tval = map.PixelMapToVector(useGeV);
657  std::copy(tval.begin(), tval.end(), srcvnmap.cvnmap);
658  }
int FirstCell(const unsigned int &view) const
Definition: Boundary.h:44
unsigned int firstcellx
global position of first x cell in map
Definition: SRPixelMap.h:26
unsigned int lastcelly
global position of last y cell in map
Definition: SRPixelMap.h:29
float hitfracy
fraction of y hits in slice in y view pixel map
Definition: SRPixelMap.h:31
unsigned int fNPlane
Number of planes, length of pixel map.
Definition: PixelMap.h:117
unsigned int ncells
number of cells in pixel map
Definition: SRPixelMap.h:22
int LastPlane() const
Definition: Boundary.h:43
int LastCell(const unsigned int &view) const
Definition: Boundary.h:45
unsigned int nplanes
number of planes in pixel map
Definition: SRPixelMap.h:18
std::vector< unsigned char > PixelMapToVector(bool useGeV) const
Definition: PixelMap.cxx:449
unsigned int firstplane
global position of first plane in map
Definition: SRPixelMap.h:24
unsigned int lastcellx
global position of last x cell in map
Definition: SRPixelMap.h:27
float fFracY
fraction of y view hits contained in map
Definition: PixelMap.h:120
unsigned int nchan
number of channels in pixel map
Definition: SRPixelMap.h:23
unsigned int fNCell
Number of cells, width of pixel map.
Definition: PixelMap.h:118
float hitfracx
faction of x hits in slice in x view pixel map
Definition: SRPixelMap.h:30
unsigned int lastplane
global position of last plane in map
Definition: SRPixelMap.h:25
unsigned int firstcelly
global position of first y cell in map
Definition: SRPixelMap.h:28
float fFracX
fraction of x view hits contained in map
Definition: PixelMap.h:119
unsigned char cvnmap[16000]
store 1D array the size of the pixel map, currently 80 cells x 100 planes x 2 views. Although sparse, store this way for easier conversion and compression in hdf5. First element is channel 0, plane 0, cell 0, then channel 0, plane 0, cell 1, etc. Channel 0 is x view, 1 is y view
Definition: SRPixelMap.h:33
Boundary fBound
Definition: PixelMap.h:153
int FirstPlane() const
Definition: Boundary.h:42
void caf::FillCVNProngTrainingData ( const cvn::ProngTrainingData cvnpdata,
caf::SRProngTrainingData srpdata 
)

Definition at line 677 of file FillPIDs.cxx.

References cvn::ProngTrainingData::fIsPrimary, cvn::ProngTrainingData::fLabel3D, cvn::ProngTrainingData::fLabelX, cvn::ProngTrainingData::fLabelY, cvn::ProngTrainingData::fNCellX, cvn::ProngTrainingData::fNCellY, cvn::ProngTrainingData::fPAngle, cvn::ProngTrainingData::fPGap, cvn::ProngTrainingData::fPLength, cvn::ProngTrainingData::fPurity3D, cvn::ProngTrainingData::fPurityX, cvn::ProngTrainingData::fPurityY, cvn::ProngTrainingData::fRecE, cvn::ProngTrainingData::fVertX, cvn::ProngTrainingData::fVertY, cvn::ProngTrainingData::fVertZ, caf::SRProngTrainingData::isprimary, caf::SRProngTrainingData::label3d, caf::SRProngTrainingData::labelx, caf::SRProngTrainingData::labely, caf::SRProngTrainingData::ncellx, caf::SRProngTrainingData::ncelly, caf::SRProngTrainingData::pangle, caf::SRProngTrainingData::pgap, caf::SRProngTrainingData::plength, caf::SRProngTrainingData::purity3d, caf::SRProngTrainingData::purityx, caf::SRProngTrainingData::purityy, caf::SRProngTrainingData::rece, caf::SRProngTrainingData::vertx, caf::SRProngTrainingData::verty, and caf::SRProngTrainingData::vertz.

Referenced by caf::CAFMaker::produce().

679  {
680  srpdata.label3d = cvnpdata.fLabel3D;
681  srpdata.labelx = cvnpdata.fLabelX;
682  srpdata.labely = cvnpdata.fLabelY;
683  srpdata.isprimary = cvnpdata.fIsPrimary;
684  srpdata.purity3d = cvnpdata.fPurity3D;
685  srpdata.purityx = cvnpdata.fPurityX;
686  srpdata.purityy = cvnpdata.fPurityY;
687  srpdata.rece = cvnpdata.fRecE;
688  srpdata.ncellx = cvnpdata.fNCellX;
689  srpdata.ncelly = cvnpdata.fNCellY;
690  srpdata.vertx = cvnpdata.fVertX;
691  srpdata.verty = cvnpdata.fVertY;
692  srpdata.vertz = cvnpdata.fVertZ;
693  srpdata.plength = cvnpdata.fPLength;
694  srpdata.pangle = cvnpdata.fPAngle;
695  srpdata.pgap = cvnpdata.fPGap;
696  }
int labelx
Class of the X view prong.
ProngType fLabelY
Class of the Y view prong.
ProngType fLabelX
Class of the X view prong.
int labely
Class of the Y view prong.
ProngType fLabel3D
Class of the 3D prong.
int label3d
Class of the 3D prong.
void caf::FillCVNResultVars ( const cvn::Result result,
caf::SRCVNResult srcvn,
bool  NoCosmics 
)

Definition at line 595 of file FillPIDs.cxx.

References caf::SRCVNResult::argmax, caf::SRCVNResult::cosmicid, distance(), cvn::Result::fOutput, caf::SRCVNResult::maxval, caf::SRCVNResult::ncid, caf::SRCVNResult::noutput, caf::SRCVNResult::nueid, caf::SRCVNResult::numuid, caf::SRCVNResult::nutauid, and caf::SRCVNResult::output.

Referenced by caf::CAFMaker::produce().

598  {
599  srcvn.output = result.fOutput;
600 
601  std::vector<float>::const_iterator maxIt =
602  std::max_element(result.fOutput.cbegin(), result.fOutput.cend());
603 
604  srcvn.maxval = *maxIt;
605  srcvn.argmax = std::distance(result.fOutput.cbegin(), maxIt);
606  srcvn.noutput = result.fOutput.size();
607 
608  srcvn.numuid = result.fOutput[0];
609  srcvn.nueid = result.fOutput[1];
610  srcvn.nutauid = -5;
611  srcvn.ncid = result.fOutput[2];
612  srcvn.cosmicid = result.fOutput[3];
613  if (NoCosmics) srcvn.cosmicid = -5;
614  }
float ncid
Likelihood Neutral Current.
Definition: SRCVNResult.h:23
float maxval
Maximum value among net outputs.
Definition: SRCVNResult.h:25
unsigned distance(const T &t1, const T &t2)
float nutauid
Likelihood Charge Current NuTau.
Definition: SRCVNResult.h:22
std::vector< float > fOutput
Vector of outputs from neural net.
Definition: Result.h:30
float nueid
Likelihood Charge Current NuE.
Definition: SRCVNResult.h:21
unsigned int noutput
Number of entries in output vector.
Definition: SRCVNResult.h:27
float cosmicid
Likelihood Cosmic Interaction.
Definition: SRCVNResult.h:24
std::vector< float > output
List of net output nodes.
Definition: SRCVNResult.h:19
float numuid
Likelihood Charge Current NuMu.
Definition: SRCVNResult.h:20
unsigned int argmax
Index of maximum value.
Definition: SRCVNResult.h:26
void caf::FillCVNTrainingData ( const cvn::TrainingData cvntdata,
caf::SRTrainingData srtdata 
)

Definition at line 661 of file FillPIDs.cxx.

References cvn::TrainingData::fFSlong, cvn::TrainingData::fFSp, cvn::TrainingData::fFSt, caf::SRTrainingData::finalstate, caf::SRTrainingData::finalstateprong, cvn::TrainingData::fInt, cvn::TrainingData::fLepEnergy, cvn::TrainingData::fNuEnergy, cvn::TrainingData::fPPt, cvn::TrainingData::fVtxX, cvn::TrainingData::fVtxY, cvn::TrainingData::fVtxZ, caf::SRTrainingData::interaction, caf::SRTrainingData::lepenergy, caf::SRTrainingData::nuenergy, caf::SRTrainingData::parent, caf::SRTrainingData::particles, caf::SRTrainingData::vtxx, caf::SRTrainingData::vtxy, and caf::SRTrainingData::vtxz.

Referenced by caf::CAFMaker::produce().

663  {
664  srtdata.parent = cvntdata.fPPt;
665  srtdata.interaction = cvntdata.fInt;
666  srtdata.finalstate = cvntdata.fFSt;
667  srtdata.finalstateprong = cvntdata.fFSp;
668  srtdata.particles = cvntdata.fFSlong;
669  srtdata.nuenergy = cvntdata.fNuEnergy;
670  srtdata.lepenergy = cvntdata.fLepEnergy;
671  srtdata.vtxx = cvntdata.fVtxX;
672  srtdata.vtxy = cvntdata.fVtxY;
673  srtdata.vtxz = cvntdata.fVtxZ;
674  }
unsigned int interaction
Class of the event.
InteractionType fInt
Class of the event.
Definition: TrainingData.h:60
ParticlesType fFSlong
Class of the event by primary n prongs.
Definition: TrainingData.h:63
unsigned int parent
Class of the event by parent particle.
unsigned int particles
Class of the event by primary n prongs.
double fVtxY
True vertex of Y position.
Definition: TrainingData.h:67
double vtxx
True vertex of X position.
float fLepEnergy
True energy of outgoing lepton.
Definition: TrainingData.h:65
float fNuEnergy
True energy of neutrino event.
Definition: TrainingData.h:64
double vtxz
True vertex of Z position.
double vtxy
True vertex of Y position.
double fVtxX
True vertex of X position.
Definition: TrainingData.h:66
FinalStateProngsType fFSp
Class of the event by primary n prongs.
Definition: TrainingData.h:62
float nuenergy
True energy of neutrino event.
double fVtxZ
True vertex of Z position.
Definition: TrainingData.h:68
unsigned int finalstate
Class of the event by final state.
ParentParticleType fPPt
Class of the event by parent particle.
Definition: TrainingData.h:59
FinalStateType fFSt
Class of the event by final state.
Definition: TrainingData.h:61
unsigned int finalstateprong
float lepenergy
True energy of outgoing lepton.
void caf::FillDiFShowerVars ( const rb::Shower shw,
const std::vector< rb::Cluster > &  sliceList,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
int  sliceIdx,
SRMRProperties srMR 
)

Definition at line 504 of file FillReco.cxx.

References rb::Cluster::AllCells(), caf::SRShower::calE, rb::Cluster::CalorimetricEnergy(), caf::SRShower::dir, rb::Prong::Dir(), rb::Cluster::ExtentPlane(), FillParticleTruth(), if(), caf::SRMRProperties::isShwDiF, IsTrueDiF(), kX, geo::kX, kXorY, geo::kXorY, kY, geo::kY, caf::SRShower::len, caf::SRMRProperties::lid, caf::SRShower::maxplanecont, caf::SRShower::maxplanegap, rb::Cluster::MostContiguousPlanes(), rb::Cluster::MostMissingPlanes(), rb::Cluster::NCell(), caf::SRShower::nhit, caf::SRShower::nhitx, caf::SRShower::nhity, caf::SRShower::nplane, caf::SRShower::nplanex, caf::SRShower::nplaney, rb::Cluster::NXCell(), rb::Cluster::NYCell(), caf::SRShower::start, rb::Prong::Start(), caf::SRShower::stop, rb::Shower::Stop(), rb::Shower::TotalLength(), caf::SRShower::truth, caf::SRShower::truthXView, caf::SRShower::truthYView, caf::SRShower::view, rb::Cluster::XCells(), and rb::Cluster::YCells().

Referenced by caf::CAFMaker::produce().

511  {
512  srMR.isShwDiF = IsTrueDiF(shw);
513 
514  srMR.lid.nhit = shw.NCell();
515  srMR.lid.nhitx = shw.NXCell();
516  srMR.lid.nhity = shw.NYCell();
517  srMR.lid.nplane = shw.ExtentPlane();
518  srMR.lid.nplanex = shw.ExtentPlane(geo::kX);
519  srMR.lid.nplaney = shw.ExtentPlane(geo::kY);
520  srMR.lid.maxplanecont = shw.MostContiguousPlanes(geo::kXorY);
521  srMR.lid.maxplanegap = shw.MostMissingPlanes(geo::kXorY);
522  srMR.lid.len = shw.TotalLength();
523  srMR.lid.calE = shw.CalorimetricEnergy();
524  srMR.lid.start = shw.Start();
525  srMR.lid.dir = shw.Dir();
526  srMR.lid.stop = shw.Stop();
527 
528  srMR.lid.truth = FillParticleTruth(sliceList,
529  shw.AllCells(),
530  allTracks,
531  sliceTracks,
532  allTracksBirks,
533  sliceTracksBirks,
534  sliceIdx);
535  srMR.lid.truthXView = FillParticleTruth(sliceList,
536  shw.XCells(),
537  allTracks,
538  sliceTracks,
539  allTracksBirks,
540  sliceTracksBirks,
541  sliceIdx);
542  srMR.lid.truthYView = FillParticleTruth(sliceList,
543  shw.YCells(),
544  allTracks,
545  sliceTracks,
546  allTracksBirks,
547  sliceTracksBirks,
548  sliceIdx);
549  if (shw.NXCell() == 0) srMR.lid.view = kY;
550  else if (shw.NYCell() == 0) srMR.lid.view = kX;
551  else srMR.lid.view = kXorY;
552  }
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
const art::PtrVector< rb::CellHit > & XCells() const
Get all cells from the x-view.
Definition: Cluster.h:124
X or Y views.
Definition: PlaneGeo.h:30
Definition: geo.h:1
Vertical planes which measure X.
Definition: PlaneGeo.h:28
virtual TVector3 Start() const
Definition: Prong.h:73
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
const Var kY([](const caf::SRProxy *sr){float tmp=0.f;if(sr->mc.nu.empty()) return tmp;tmp=sr->mc.nu[0].y;return tmp;})
art::PtrVector< rb::CellHit > AllCells() const
Get all cells from both views.
Definition: Cluster.cxx:180
virtual double TotalLength() const
Length (cm) of a shower.
Definition: Shower.cxx:43
SRParticleTruth FillParticleTruth(const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill the particle truth for a set of hits.
Definition: FillTruth.cxx:25
int MostMissingPlanes(geo::View_t view) const
Longest run of adjacent planes with no hits.
Definition: Cluster.cxx:668
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
if(dump)
const art::PtrVector< rb::CellHit > & YCells() const
Get all cells from the x-view.
Definition: Cluster.h:126
virtual TVector3 Dir() const
Unit vector describing prong direction.
Definition: Prong.h:77
TVector3 Stop() const
Endpoint of the shower.
Definition: Shower.cxx:55
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
bool IsTrueDiF(const rb::Cluster &slice)
Helper for FillDiFVars and FillDiFShowerVars.
Definition: FillReco.cxx:67
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
int MostContiguousPlanes(geo::View_t view) const
Longest run of adjacent planes with hits.
Definition: Cluster.cxx:635
Definition: geo.h:1
unsigned int ExtentPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.h:250
void caf::FillDiFVars ( const rb::Cluster slice,
const std::vector< rb::Cluster > &  sliceList,
std::vector< cheat::TrackIDE > &  allTracks,
std::vector< cheat::TrackIDE > &  sliceTracks,
std::vector< cheat::TrackIDE > &  allTracksBirks,
std::vector< cheat::TrackIDE > &  sliceTracksBirks,
int  sliceIdx,
SRMRProperties srMR 
)

Definition at line 97 of file FillReco.cxx.

References rb::Cluster::AllCells(), caf::SRMRProperties::calE, rb::Cluster::CalorimetricEnergy(), rb::Cluster::ExtentPlane(), FillParticleTruth(), if(), caf::SRMRProperties::isDiF, IsTrueDiF(), kX, geo::kX, kXorY, geo::kXorY, kY, geo::kY, caf::SRMRProperties::maxplane, rb::Cluster::MaxPlane(), caf::SRMRProperties::maxplanecont, caf::SRMRProperties::maxplanegap, caf::SRMRProperties::minplane, rb::Cluster::MinPlane(), rb::Cluster::MostContiguousPlanes(), rb::Cluster::MostMissingPlanes(), rb::Cluster::NCell(), caf::SRMRProperties::nhit, caf::SRMRProperties::nhitx, caf::SRMRProperties::nhity, caf::SRMRProperties::nplane, caf::SRMRProperties::nplanex, caf::SRMRProperties::nplaney, rb::Cluster::NXCell(), rb::Cluster::NYCell(), caf::SRMRProperties::truth, caf::SRMRProperties::truthXView, caf::SRMRProperties::truthYView, caf::SRMRProperties::view, rb::Cluster::XCells(), and rb::Cluster::YCells().

Referenced by caf::CAFMaker::produce().

105  {
106  srMR.isDiF = IsTrueDiF(slice);
107 
108  srMR.nhit = slice.NCell();
109  srMR.nhitx = slice.NXCell();
110  srMR.nhity = slice.NYCell();
111  srMR.nplane = slice.ExtentPlane();
112  srMR.nplanex = slice.ExtentPlane(geo::kX);
113  srMR.nplaney = slice.ExtentPlane(geo::kY);
114  srMR.maxplanecont = slice.MostContiguousPlanes(geo::kXorY);
115  srMR.maxplanegap = slice.MostMissingPlanes(geo::kXorY);
116  srMR.minplane = slice.MinPlane(geo::kXorY);
117  srMR.maxplane = slice.MaxPlane(geo::kXorY);
118  srMR.calE = slice.CalorimetricEnergy();
119 
120  srMR.truth = FillParticleTruth(sliceList,
121  slice.AllCells(),
122  allTracks,
123  sliceTracks,
124  allTracksBirks,
125  sliceTracksBirks,
126  sliceIdx);
127  srMR.truthXView = FillParticleTruth(sliceList,
128  slice.XCells(),
129  allTracks,
130  sliceTracks,
131  allTracksBirks,
132  sliceTracksBirks,
133  sliceIdx);
134  srMR.truthYView = FillParticleTruth(sliceList,
135  slice.YCells(),
136  allTracks,
137  sliceTracks,
138  allTracksBirks,
139  sliceTracksBirks,
140  sliceIdx);
141  if (slice.NXCell() == 0) srMR.view = kY;
142  else if (slice.NYCell() == 0) srMR.view = kX;
143  else srMR.view = kXorY;
144  }
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
const art::PtrVector< rb::CellHit > & XCells() const
Get all cells from the x-view.
Definition: Cluster.h:124
X or Y views.
Definition: PlaneGeo.h:30
Definition: geo.h:1
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
const Var kY([](const caf::SRProxy *sr){float tmp=0.f;if(sr->mc.nu.empty()) return tmp;tmp=sr->mc.nu[0].y;return tmp;})
art::PtrVector< rb::CellHit > AllCells() const
Get all cells from both views.
Definition: Cluster.cxx:180
SRParticleTruth FillParticleTruth(const std::vector< rb::Cluster > &sliceList, const art::PtrVector< rb::CellHit > &hits, std::vector< cheat::TrackIDE > &allTracks, std::vector< cheat::TrackIDE > &sliceTracks, std::vector< cheat::TrackIDE > &allTracksBirks, std::vector< cheat::TrackIDE > &sliceTracksBirks, int sliceIdx)
Function to fill the particle truth for a set of hits.
Definition: FillTruth.cxx:25
int MostMissingPlanes(geo::View_t view) const
Longest run of adjacent planes with no hits.
Definition: Cluster.cxx:668
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
if(dump)
const art::PtrVector< rb::CellHit > & YCells() const
Get all cells from the x-view.
Definition: Cluster.h:126
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
unsigned int MinPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:462
bool IsTrueDiF(const rb::Cluster &slice)
Helper for FillDiFVars and FillDiFShowerVars.
Definition: FillReco.cxx:67
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
int MostContiguousPlanes(geo::View_t view) const
Longest run of adjacent planes with hits.
Definition: Cluster.cxx:635
Definition: geo.h:1
unsigned int ExtentPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.h:250
unsigned int MaxPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:508
void caf::FillHadClustVars ( const rb::Cluster hadclust,
caf::SRHadClust srhadclust 
)

Definition at line 101 of file FillEnergies.cxx.

References caf::SRHadClust::boxmax, caf::SRHadClust::boxmin, caf::SRHadClust::calE, rb::Cluster::CalorimetricEnergy(), rb::CellHit::Cell(), rb::Cluster::Cell(), caf::SRHadClust::firstcell, caf::SRHadClust::firstplane, geom(), art::Ptr< T >::get(), rb::RecoHit::IsCalibrated(), geo::kX, geo::kXorY, caf::SRHadClust::lastcell, caf::SRHadClust::lastplane, calib::Calibrator::MakeRecoHit(), rb::Cluster::MaxCell(), rb::Cluster::MaxPlane(), caf::SRHadClust::meanpos, std::min(), rb::Cluster::MinCell(), rb::Cluster::MinMaxMeanXYZ(), rb::Cluster::MinPlane(), rb::Cluster::MostContiguousPlanes(), caf::SRHadClust::ncalhit, rb::Cluster::NCell(), geo::PlaneGeo::Ncells(), caf::SRHadClust::ncellsfromedge, caf::SRHadClust::ncontplanes, caf::SRHadClust::nhit, caf::SRHadClust::nmiphit, rb::Cluster::NXCell(), rb::Cluster::NYCell(), rb::RecoHit::PECorr(), rb::CellHit::Plane(), geo::GeometryBase::Plane(), caf::SRVector3D::SetX(), caf::SRVector3D::SetY(), rb::CellHit::View(), rb::Cluster::W(), rb::Cluster::XCell(), and rb::Cluster::YCell().

Referenced by FillNumuEnergyVars().

103  {
106 
107  const double wx = (hadclust.NXCell() > 0) ? hadclust.W(hadclust.XCell(0).get()) : 0;
108  const double wy = (hadclust.NYCell() > 0) ? hadclust.W(hadclust.YCell(0).get()) : 0;
109 
110  // Variables needed:
111  // Holds contiguous planes info:
112  unsigned int cellsFromEdge = -1;
113 
114  // Hit counters:
115  int nCalHit = 0;
116  int nMipHit = 0;
117 
118  unsigned int minCellsFromEdge = 99999999;
119 
120  // Loop over hadclust in question here:
121  for(unsigned int hitIdx = 0; hitIdx < hadclust.NCell(); ++hitIdx)
122  {
123  const art::Ptr<rb::CellHit>& chit = hadclust.Cell(hitIdx);
124  // Get calbrated reco hit:
125  const rb::RecoHit rhit(cal->MakeRecoHit(*chit,
126  chit->View() == geo::kX ? wx : wy));
127 
128  const int planeNum = chit->Plane();
129  cellsFromEdge = std::min((unsigned int)chit->Cell(), geom->Plane(planeNum)->Ncells() - 1 - chit->Cell());
130 
131  if(cellsFromEdge < minCellsFromEdge)
132  {
133  minCellsFromEdge = cellsFromEdge;
134  }
135 
136  // Make sure things have been calibrated:
137  if(!rhit.IsCalibrated())
138  {
139  // LOG_DEBUG("CAFMaker") << "Not calibrated?! "
140  // << chit->Plane() << " " << chit->Cell();
141  continue;
142  }
143 
144  // Count up both the total calibrated hits
145  // and the MIP hits from 100-245 PECorr
146  // Count up total hits:
147  nCalHit++;
148  // Count up MIP hits:
149  if ( (rhit.PECorr()>100.0) && (rhit.PECorr()<245.0) ) nMipHit++;
150  } // end of hadclust loop
151 
152  srhadclust.nhit = hadclust.NCell();
153  srhadclust.ncalhit = nCalHit;
154  srhadclust.nmiphit = nMipHit;
155  srhadclust.ncontplanes = hadclust.MostContiguousPlanes(geo::kXorY);
156  if (!(hadclust.NCell()==0)){
157 
158  srhadclust.firstplane = hadclust.MinPlane();
159  srhadclust.lastplane = hadclust.MaxPlane();
160  srhadclust.firstcell = hadclust.MinCell(geo::kXorY);
161  srhadclust.lastcell = hadclust.MaxCell(geo::kXorY);
162  srhadclust.ncellsfromedge = minCellsFromEdge;
163 
164  srhadclust.calE = hadclust.CalorimetricEnergy();
165 
166  TVector3 boxmin, boxmax, meanpos;
167  hadclust.MinMaxMeanXYZ(boxmin, boxmax, meanpos);
168  srhadclust.boxmin = boxmin;
169  srhadclust.boxmax = boxmax;
170  srhadclust.meanpos = meanpos;
171 
172  // TBrowser can't draw DBL_MAX
173  if (hadclust.NXCell()==0){
174  srhadclust.boxmin.SetX(-5555);
175  srhadclust.boxmax.SetX(5555);
176  }
177  if (hadclust.NYCell()==0){
178  srhadclust.boxmin.SetY(-5555);
179  srhadclust.boxmax.SetY(5555);
180  }
181 
182  } // end of loop over variables to only fill for hadclust if it has hits
183  else{
184  srhadclust.firstplane = 0;
185  srhadclust.lastplane = 0;
186  srhadclust.firstcell = 0;
187  srhadclust.lastcell = 0;
188  srhadclust.ncellsfromedge = 0;
189 
190  srhadclust.calE = -5;
191 
192  srhadclust.boxmin = TVector3(-5555,-5555,-5555);
193  srhadclust.boxmax = TVector3(-5555,-5555,-5555);
194  srhadclust.meanpos = TVector3(-5555,-5555,-5555);
195  }
196  }
virtual double W(const rb::CellHit *chit) const
Estimate the unmeasured coordinate of chit.
Definition: Cluster.cxx:121
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
art::Ptr< rb::CellHit > XCell(unsigned int xIdx) const
Get the ith cell in the x-view.
Definition: Cluster.cxx:157
unsigned int ncellsfromedge
minimum number of cells to edge of detector
Definition: SRHadClust.h:30
void SetX(float _x)
Definition: SRVector3D.h:28
X or Y views.
Definition: PlaneGeo.h:30
unsigned short Plane() const
Definition: CellHit.h:39
geo::View_t View() const
Definition: CellHit.h:41
Vertical planes which measure X.
Definition: PlaneGeo.h:28
unsigned int Ncells() const
Number of cells in this plane.
Definition: PlaneGeo.h:43
rb::RecoHit MakeRecoHit(rb::CellHit const &cellhit, double w)
unsigned int ncontplanes
number of continuous planes
Definition: SRHadClust.h:25
unsigned int MaxCell(geo::View_t view) const
Definition: Cluster.cxx:518
SRVector3D meanpos
Mean position of hits in cluster, weighted by charge [cm].
Definition: SRHadClust.h:34
const PlaneGeo * Plane(unsigned int i) const
unsigned int nhit
number of hits
Definition: SRHadClust.h:22
Calibrated quantities relying on position in the orthogonal view. To generate a rb::CellHit from a rb...
Definition: RecoHit.h:19
unsigned short Cell() const
Definition: CellHit.h:40
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
art::Ptr< rb::CellHit > YCell(unsigned int yIdx) const
Get the ith cell in the y-view.
Definition: Cluster.cxx:165
unsigned int nmiphit
number of minimum ionizing hits
Definition: SRHadClust.h:24
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
float calE
Calorimetric energy of the cluster [GeV].
Definition: SRHadClust.h:31
unsigned int MinPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:462
art::Ptr< rb::CellHit > Cell(geo::View_t view, unsigned int viewIdx) const
Get the ith cell from view view.
Definition: Cluster.cxx:145
T const * get() const
Definition: Ptr.h:321
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
unsigned int MinCell(geo::View_t view) const
Definition: Cluster.cxx:472
int MostContiguousPlanes(geo::View_t view) const
Longest run of adjacent planes with hits.
Definition: Cluster.cxx:635
void geom(int which=0)
Definition: geom.C:163
unsigned int lastcell
last cell
Definition: SRHadClust.h:29
unsigned int ncalhit
number of hits with calibration
Definition: SRHadClust.h:23
unsigned int MaxPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:508
void MinMaxMeanXYZ(TVector3 &lo, TVector3 &hi, TVector3 &mean, rb::AveragingScheme scheme=kDefaultScheme) const
Gets the min/max/mean all at once, called by the functions above.
Definition: Cluster.cxx:582
SRVector3D boxmin
Minimum coordinates box containing all the hits [cm].
Definition: SRHadClust.h:32
T min(const caf::Proxy< T > &a, T b)
unsigned int firstcell
first cell
Definition: SRHadClust.h:28
void SetY(float _y)
Definition: SRVector3D.h:29
unsigned int firstplane
first plane
Definition: SRHadClust.h:26
unsigned int lastplane
last plane
Definition: SRHadClust.h:27
SRVector3D boxmax
Maximum coordinates box containing all the hits [cm].
Definition: SRHadClust.h:33
void caf::FillJMEIDVars ( const jmshower::EID eid,
caf::SRJMEid sreid 
)

Definition at line 54 of file FillPIDs.cxx.

References caf::SRJMEid::ann, jmshower::EID::ANN(), caf::SRJMEid::annE, jmshower::EID::ANNE(), caf::SRJMEid::annEL, jmshower::EID::ANNEL(), caf::SRJMEid::annENoCos, jmshower::EID::ANNENoCos(), caf::SRJMEid::annEPi0, jmshower::EID::ANNEPi0(), caf::SRJMEid::annEPi0EL, jmshower::EID::ANNEPi0EL(), caf::SRJMEid::annNoCos, jmshower::EID::ANNNoCos(), caf::SRJMEid::dedx0, jmshower::EID::Dedx0(), caf::SRJMEid::dedx1, jmshower::EID::Dedx1(), caf::SRJMEid::dedx2, jmshower::EID::Dedx2(), caf::SRJMEid::dedx3, jmshower::EID::Dedx3(), caf::SRJMEid::dedx4, jmshower::EID::Dedx4(), caf::SRJMEid::dedx5, jmshower::EID::Dedx5(), caf::SRJMEid::eellll, jmshower::EID::EelLLL(), caf::SRJMEid::eelllt, jmshower::EID::EelLLT(), caf::SRJMEid::eglll, jmshower::EID::EGLLL(), caf::SRJMEid::egllt, jmshower::EID::EGLLT(), caf::SRJMEid::elll, jmshower::EID::ELLL(), caf::SRJMEid::ellt, jmshower::EID::ELLT(), caf::SRJMEid::emulll, jmshower::EID::EMuLLL(), caf::SRJMEid::emullt, jmshower::EID::EMuLLT(), caf::SRJMEid::enlll, jmshower::EID::ENLLL(), caf::SRJMEid::enllt, jmshower::EID::ENLLT(), caf::SRJMEid::epi0lll, jmshower::EID::EPi0LLL(), caf::SRJMEid::epi0llt, jmshower::EID::EPi0LLT(), caf::SRJMEid::epilll, jmshower::EID::EPiLLL(), caf::SRJMEid::epillt, jmshower::EID::EPiLLT(), caf::SRJMEid::eplll, jmshower::EID::EPLLL(), caf::SRJMEid::epllt, jmshower::EID::EPLLT(), caf::SRJMEid::gap, jmshower::EID::Gap(), caf::SRJMEid::ismuon, jmshower::EID::IsMuon(), caf::SRJMEid::mulll, jmshower::EID::MuLLL(), caf::SRJMEid::mullt, jmshower::EID::MuLLT(), caf::SRJMEid::pi0mass, jmshower::EID::Pi0Mass(), jmshower::EID::ShE(), caf::SRJMEid::shwEFrac, caf::SRJMEid::vtxgev, and jmshower::EID::VtxGeV().

56  {
57  sreid.ann = eid.ANN();
58  sreid.annE = eid.ANNE();
59  sreid.annNoCos = eid.ANNNoCos();
60  sreid.annENoCos = eid.ANNENoCos();
61  sreid.annEL = eid.ANNEL();
62  sreid.annEPi0 = eid.ANNEPi0();
63  sreid.annEPi0EL = eid.ANNEPi0EL();
64  sreid.ismuon = eid.IsMuon();
65  sreid.dedx0 = eid.Dedx0();
66  sreid.dedx1 = eid.Dedx1();
67  sreid.dedx2 = eid.Dedx2();
68  sreid.dedx3 = eid.Dedx3();
69  sreid.dedx4 = eid.Dedx4();
70  sreid.dedx5 = eid.Dedx5();
71  sreid.eglll = eid.EGLLL();
72  sreid.egllt = eid.EGLLT();
73  sreid.emulll = eid.EMuLLL();
74  sreid.emullt = eid.EMuLLT();
75  sreid.epi0lll = eid.EPi0LLL();
76  sreid.epi0llt = eid.EPi0LLT();
77  sreid.eplll = eid.EPLLL();
78  sreid.epllt = eid.EPLLT();
79  sreid.enlll = eid.ENLLL();
80  sreid.enllt = eid.ENLLT();
81  sreid.epilll = eid.EPiLLL();
82  sreid.epillt = eid.EPiLLT();
83  sreid.vtxgev = eid.VtxGeV();
84  sreid.pi0mass = eid.Pi0Mass();
85  sreid.shwEFrac = eid.ShE();
86  sreid.gap = eid.Gap();
87  sreid.elll = eid.ELLL();
88  sreid.ellt = eid.ELLT();
89  sreid.eellll = eid.EelLLL();
90  sreid.eelllt = eid.EelLLT();
91  sreid.mulll = eid.MuLLL();
92  sreid.mullt = eid.MuLLT();
93  }
double ANNEL() const
Definition: EID.cxx:34
double ANNNoCos() const
Definition: EID.cxx:61
float annENoCos
ann output, with E without cosTheta
Definition: SRJMEid.h:27
double ELLL() const
Definition: EID.cxx:798
float gap
gap from vertex to start of shower
Definition: SRJMEid.h:57
double EPiLLT() const
Definition: EID.cxx:748
float dedx4
Plane Dedx.
Definition: SRJMEid.h:40
float ann
ann output
Definition: SRJMEid.h:21
double MuLLT() const
Definition: EID.cxx:850
double Dedx4() const
Definition: EID.cxx:622
float epi0llt
Electron - Pi0 ll for ltransverse shower.
Definition: SRJMEid.h:47
float elll
electron ll for longitudinal shower
Definition: SRJMEid.h:61
double ANNEPi0EL() const
Definition: EID.cxx:52
double EGLLL() const
Definition: EID.cxx:638
double EPiLLL() const
Definition: EID.cxx:738
float emullt
Electron - muon ll for ltransverse shower.
Definition: SRJMEid.h:45
float eglll
Plane Dedx.
Definition: SRJMEid.h:42
float vtxgev
Energy of slice in vertex region.
Definition: SRJMEid.h:54
bool IsMuon() const
Definition: EID.cxx:547
float epillt
Electron - pion ll for ltransverse shower.
Definition: SRJMEid.h:53
float eplll
Electron - proton ll for longitudinal shower.
Definition: SRJMEid.h:48
double EelLLT() const
Definition: EID.cxx:828
double ENLLL() const
Definition: EID.cxx:718
float epllt
Electron - proton ll for ltransverse shower.
Definition: SRJMEid.h:49
double Dedx3() const
Definition: EID.cxx:615
float epilll
Electron - pion ll for longitudinal shower.
Definition: SRJMEid.h:52
double EMuLLL() const
Definition: EID.cxx:658
double Dedx1() const
Definition: EID.cxx:601
float dedx3
Plane Dedx.
Definition: SRJMEid.h:39
double Gap() const
Definition: EID.cxx:788
float annNoCos
ann output, without cosTheta
Definition: SRJMEid.h:26
double Dedx2() const
Definition: EID.cxx:608
double ShE() const
Definition: EID.cxx:778
float ellt
electron ll for transverse shower
Definition: SRJMEid.h:62
double ANN() const
Definition: EID.cxx:16
double EMuLLT() const
Definition: EID.cxx:668
double ANNENoCos() const
Definition: EID.cxx:70
int ismuon
Boolean to distinguish muons from electrons.
Definition: SRJMEid.h:28
float annEPi0EL
ann output, EPi0 Elastic scattering
Definition: SRJMEid.h:25
float annEL
ann output,
Definition: SRJMEid.h:23
double ENLLT() const
Definition: EID.cxx:728
float annE
ann output, with E
Definition: SRJMEid.h:22
float dedx1
Plane Dedx.
Definition: SRJMEid.h:37
double EPLLL() const
Definition: EID.cxx:698
float shwEFrac
fraction of energy of leading shower out of total energy of slice
Definition: SRJMEid.h:56
float emulll
Electron - muon ll for longitudinal shower.
Definition: SRJMEid.h:44
float enllt
Electron - neutron ll for ltransverse shower.
Definition: SRJMEid.h:51
double ANNE() const
Definition: EID.cxx:25
float enlll
Electron - neutron ll for longitudinal shower.
Definition: SRJMEid.h:50
double MuLLL() const
Definition: EID.cxx:840
float pi0mass
best pi0 mass hypothesis coming from combinations of JMShowers
Definition: SRJMEid.h:55
double EPi0LLT() const
Definition: EID.cxx:688
double EelLLL() const
Definition: EID.cxx:818
double Dedx0() const
Definition: EID.cxx:594
double ELLT() const
Definition: EID.cxx:808
double EPLLT() const
Definition: EID.cxx:708
float epi0lll
Electron - Pi0 ll for longitudinal shower.
Definition: SRJMEid.h:46
float eelllt
electron el ll for transverse shower
Definition: SRJMEid.h:64
float dedx0
Definition: SRJMEid.h:36
double EPi0LLL() const
Definition: EID.cxx:678
float dedx2
Plane Dedx.
Definition: SRJMEid.h:38
double Dedx5() const
Definition: EID.cxx:628
float egllt
Electron - gamma ll for ltransverse shower.
Definition: SRJMEid.h:43
float mullt
muon ll for transverse shower
Definition: SRJMEid.h:66
float dedx5
Plane Dedx.
Definition: SRJMEid.h:41
double Pi0Mass() const
Definition: EID.cxx:768
float annEPi0
ann output, EPi0
Definition: SRJMEid.h:24
double VtxGeV() const
Definition: EID.cxx:758
double ANNEPi0() const
Definition: EID.cxx:43
float mulll
muon ll for longitudinal shower
Definition: SRJMEid.h:65
double EGLLT() const
Definition: EID.cxx:648
float eellll
electron el ll for longitudinal shower
Definition: SRJMEid.h:63
void caf::FillLEMVars ( const lem::PIDDetails lem,
caf::SRLem srlem 
)

Definition at line 316 of file FillPIDs.cxx.

References caf::SRLem::avgexpE, caf::SRLem::avginvE, caf::SRLem::avgsigE, caf::SRLem::chibkg, caf::SRLem::chibkgexp, caf::SRLem::chisig, caf::SRLem::chisigexp, caf::SRLem::dectree, caf::SRLem::energydiff, caf::SRLem::energydiffexp, caf::SRLem::enrichfrac, caf::SRLem::enrichfracexp, caf::SRLem::fannid, caf::SRLem::fannidenrich, lem::PIDExtraVars::fAvgExpE, lem::PIDExtraVars::fAvgInvE, lem::PIDExtraVars::fAvgSigE, lem::PIDExtraVars::fChiBkg, lem::PIDExtraVars::fChiBkgExp, lem::PIDExtraVars::fChiSig, lem::PIDExtraVars::fChiSigExp, lem::PIDExtraVars::fDecTreePID, lem::PIDExtraVars::fEnergyDiff, lem::PIDExtraVars::fEnergyDiffExp, lem::PIDExtraVars::fEnrichFrac, lem::PIDExtraVars::fEnrichFracExp, lem::PIDExtraVars::fFannId, lem::PIDExtraVars::fFannIdEnrich, lem::PIDExtraVars::fMeanQFrac, lem::PIDExtraVars::fMeanQFracBkg, lem::PIDExtraVars::fMeanQFracBkgExp, lem::PIDExtraVars::fMeanQFracExp, lem::PIDExtraVars::fMeanQFracFit, lem::PIDExtraVars::fMeanQFracSig, lem::PIDExtraVars::fMeanQFracSigExp, lem::PIDExtraVars::fMeanY, lem::PIDExtraVars::fMeanYExp, lem::PIDExtraVars::fMeanYFit, lem::PIDExtraVars::fMeanYSig, lem::PIDExtraVars::fMeanYSigExp, lem::PIDExtraVars::fPIDExp, lem::PIDExtraVars::fPIDExpFit, lem::PIDExtraVars::fPIDFit, lem::PIDExtraVars::fTMVABDT, lem::PIDExtraVars::fTMVABDTD, lem::PIDExtraVars::fTMVABDTG, lem::PIDExtraVars::fTMVABDTMF, lem::PIDExtraVars::fTMVAMLP, caf::SRLem::meanqfrac, caf::SRLem::meanqfracbkg, caf::SRLem::meanqfracbkgexp, caf::SRLem::meanqfracexp, caf::SRLem::meanqfracfit, caf::SRLem::meanqfracsig, caf::SRLem::meanqfracsigexp, caf::SRLem::meany, caf::SRLem::meanyexp, caf::SRLem::meanyfit, caf::SRLem::meanysig, caf::SRLem::meanysigexp, caf::SRLem::pid, caf::SRLem::pidexp, caf::SRLem::pidexpfit, caf::SRLem::pidfit, caf::SRLem::tmvabdt, caf::SRLem::tmvabdtd, caf::SRLem::tmvabdtg, caf::SRLem::tmvabdtmf, caf::SRLem::tmvamlp, rb::PID::Value(), and lem::PIDDetails::vars.

Referenced by caf::CAFMaker::produce().

318  {
319  srlem.pid = lem.Value();
320  srlem.pidfit = lem.vars.fPIDFit;
321  srlem.pidexp = lem.vars.fPIDExp;
322  srlem.pidexpfit = lem.vars.fPIDExpFit;
323  srlem.meany = lem.vars.fMeanY;
324  srlem.meanyfit = lem.vars.fMeanYFit;
325  srlem.meanyexp = lem.vars.fMeanYExp;
326  srlem.meanysig = lem.vars.fMeanYSig;
327  srlem.meanysigexp = lem.vars.fMeanYSigExp;
328  srlem.meanqfrac = lem.vars.fMeanQFrac;
329  srlem.meanqfracfit = lem.vars.fMeanQFracFit;
330  srlem.meanqfracexp = lem.vars.fMeanQFracExp;
331  srlem.meanqfracsig = lem.vars.fMeanQFracSig;
333  srlem.meanqfracbkg = lem.vars.fMeanQFracBkg;
335  srlem.energydiff = lem.vars.fEnergyDiff;
336  srlem.energydiffexp = lem.vars.fEnergyDiffExp;
337  srlem.enrichfrac = lem.vars.fEnrichFrac;
338  srlem.enrichfracexp = lem.vars.fEnrichFracExp;
339  srlem.fannid = lem.vars.fFannId;
340  srlem.fannidenrich = lem.vars.fFannIdEnrich;
341  srlem.chisig = lem.vars.fChiSig;
342  srlem.chibkg = lem.vars.fChiBkg;
343  srlem.chisigexp = lem.vars.fChiSigExp;
344  srlem.chibkgexp = lem.vars.fChiBkgExp;
345  srlem.avginvE = lem.vars.fAvgInvE;
346  srlem.avgexpE = lem.vars.fAvgExpE;
347  srlem.avgsigE = lem.vars.fAvgSigE;
348  srlem.tmvabdtg = lem.vars.fTMVABDTG;
349  srlem.tmvabdt = lem.vars.fTMVABDT;
350  srlem.tmvabdtd = lem.vars.fTMVABDTD;
351  srlem.tmvabdtmf = lem.vars.fTMVABDTMF;
352  srlem.tmvamlp = lem.vars.fTMVAMLP;
353  srlem.dectree = lem.vars.fDecTreePID;
354  }
float meanyexp
Hadronic y of matches, "exp".
Definition: SRLem.h:32
float pid
The default PID value - normally use this one.
Definition: SRLem.h:24
float tmvabdtmf
TMVA boosted decision tree, Fisher discriminant.
Definition: SRLem.h:65
float tmvabdt
TMVA boosted decision tree, adaptive boost.
Definition: SRLem.h:63
float energydiffexp
Pot. diff between sig and bkg matches, "exp".
Definition: SRLem.h:45
float meanyfit
Hadronic y of matches, "fit".
Definition: SRLem.h:31
float meanqfracbkg
Mean fraction matched in background matches.
Definition: SRLem.h:41
double fMeanQFracBkgExp
Definition: PIDExtraVars.h:47
float enrichfrac
Fraction of matches that are "enriched".
Definition: SRLem.h:47
float chibkgexp
chisq of a fit assuming best match is bkg, "exp"
Definition: SRLem.h:56
double Value() const
Definition: PID.h:22
float tmvabdtd
TMVA boosted decision tree, decorrelation.
Definition: SRLem.h:64
float meanqfracbkgexp
Fraction matched in background matches, "exp".
Definition: SRLem.h:42
float meanqfracfit
Fraction of charge matched, "fit".
Definition: SRLem.h:37
float meanysig
Mean hadronic y of matches that are signal.
Definition: SRLem.h:33
float fannid
ANN output, "fann" package.
Definition: SRLem.h:50
float meanqfracsig
Fraction matched in signal matches.
Definition: SRLem.h:39
double fMeanQFracSigExp
Definition: PIDExtraVars.h:44
float pidexp
Fraction of matches that are signal, "exp".
Definition: SRLem.h:27
float energydiff
Potential diff between sig and bkg matches.
Definition: SRLem.h:44
float meanqfracsigexp
Fraction matched in signal matches "exp".
Definition: SRLem.h:40
float avgsigE
Fraction of signal matches, sigmoid weighting.
Definition: SRLem.h:60
float chisig
chi-square of a fit assuming best match is signal
Definition: SRLem.h:53
float meanysigexp
Hadronic y of matches that are signal, "exp".
Definition: SRLem.h:34
float enrichfracexp
Fraction of matches that are "enriched", "exp".
Definition: SRLem.h:48
float avgexpE
Fraction of signal matches, "exp" weighting.
Definition: SRLem.h:59
PIDExtraVars vars
Definition: PIDDetails.h:32
float meanqfracexp
Fraction of charge matched, "exp".
Definition: SRLem.h:38
float fannidenrich
ANN output, including enrichfracexp.
Definition: SRLem.h:51
float pidexpfit
Fraction of matches that are signal, "expfit".
Definition: SRLem.h:28
float meany
Mean hadronic y of matches.
Definition: SRLem.h:30
float tmvamlp
TMVA ANN ("multi layer perceptron")
Definition: SRLem.h:66
float meanqfrac
Mean fraction of charge matched.
Definition: SRLem.h:36
float avginvE
Fraction of signal matches, 1/E weighting.
Definition: SRLem.h:58
float chisigexp
chisq of a fit assuming best match is signal, "exp"
Definition: SRLem.h:55
float pidfit
Fraction of matches that are signal, "fit".
Definition: SRLem.h:26
float chibkg
chisq of a fit assuming best match is background
Definition: SRLem.h:54
float dectree
Decision tree PID.
Definition: SRLem.h:68
float tmvabdtg
TMVA boosted decision tree, gradient boost.
Definition: SRLem.h:62
void caf::FillLIDEnergyVars ( const slid::ShowerLID slid,
caf::SRFuzzyKProng png 
)

Definition at line 306 of file FillPIDs.cxx.

References caf::SRSLidEnergy::depE, caf::SRSLidEnergy::E, caf::SRSLidEnergy::hadE, slid::ShowerLID::HadronicEnergy(), caf::SRShowerLID::lidE, slid::ShowerLID::NueEnergy(), slid::ShowerLID::ShowerDepEnergy(), slid::ShowerLID::ShowerEnergy(), caf::SRSLidEnergy::shwE, and caf::SRFuzzyKProng::shwlid.

Referenced by caf::CAFMaker::produce().

308  {
309  png.shwlid.lidE.E = slid.NueEnergy();
310  png.shwlid.lidE.depE = slid.ShowerDepEnergy();
311  png.shwlid.lidE.shwE = slid.ShowerEnergy();
312  png.shwlid.lidE.hadE = slid.HadronicEnergy();
313  }
SRShowerLID shwlid
Shower information.
Definition: SRFuzzyKProng.h:19
float shwE
Energy of shower [GeV].
Definition: SRSLidEnergy.h:21
float E
Energy [GeV].
Definition: SRSLidEnergy.h:18
float hadE
Hadronic energy [GeV].
Definition: SRSLidEnergy.h:22
float HadronicEnergy() const
Definition: ShowerLID.h:159
float depE
Total energy deposited in shower [GeV].
Definition: SRSLidEnergy.h:20
float NueEnergy() const
Definition: ShowerLID.h:158
float ShowerDepEnergy() const
Definition: ShowerLID.h:156
float ShowerEnergy() const
Definition: ShowerLID.h:157
SRSLidEnergy lidE
Definition: SRShowerLID.h:34
void caf::FillMRCCParentInfo ( const murem::MRCCParent parent,
caf::SRMRCCParent srparent,
const art::Event evt 
)

Definition at line 23 of file FillParentInfo.cxx.

References cosrejlabel, cvnlabel, caf::SRMRCCParent::eff, evt, FillNumuInfo(), FillSliceInfo(), art::DataViewImpl::getByLabel(), numuelabel, murem::MRCCParent::ParentEff(), murem::MRCCParent::ParentIndex(), murem::MRCCParent::ParentPur(), caf::SRMRCCParent::pur, caf::SRMRCCParent::slcidx, slicelabel, trklabelbpf, trklabelkalman, and whattracker.

Referenced by caf::CAFMaker::produce().

26  {
27 
28  const int parentSliceIndex = parent.ParentIndex();
29  srparent.slcidx = parentSliceIndex;
30  srparent.eff = parent.ParentEff();
31  srparent.pur = parent.ParentPur();
32 
34  evt.getByLabel(slicelabel, sliceHandle);
35 
36  art::Ptr<rb::Cluster> parentSlice(sliceHandle,
37  parentSliceIndex);
38 
39  // find numu objects associated with parentslice
40  art::FindOneP<cvn::Result> cvnassn({parentSlice},
41  evt,
42  cvnlabel);
43  std::string loadtrack = "";
44  if ( whattracker == "kalman" ) loadtrack = trklabelkalman;
45  if ( whattracker == "bpf" ) loadtrack = trklabelbpf;
46  art::FindManyP<rb::Track> trackassn({parentSlice},
47  evt,
48  loadtrack);
49  art::FindOneP<numue::NumuE> numueassn({parentSlice},
50  evt,
51  numuelabel);
52  art::FindOneP<cosrej::CosRejObj> cosrejassn({parentSlice},
53  evt,
54  cosrejlabel);
55  FillSliceInfo( parentSlice, srparent);
56  if(cvnassn.isValid() &&
57  trackassn.isValid() &&
58  cosrejassn.isValid() &&
59  numueassn.isValid()){
60  FillNumuInfo( cvnassn.at(0),
61  trackassn.at(0),
62  numueassn.at(0),
63  cosrejassn.at(0),
64  evt,
65  srparent,
66  parentSlice );
67  }
68  }// end of FillParentInfo
const std::string slicelabel
const std::string cvnlabel
float pur
Purity with which this event matched to the parent slice.
Definition: SRMRCCParent.h:30
float ParentEff() const
Returns the efficiency of MRCC slice wrt the parent.
Definition: MRCCParent.h:41
void FillNumuInfo(const art::Ptr< cvn::Result > &cvn, const std::vector< art::Ptr< rb::Track >> &trks, const art::Ptr< numue::NumuE > &numuE, const art::Ptr< cosrej::CosRejObj > &cosrejobj, const art::Event &evt, SRMRCCParent &parent, const art::Ptr< rb::Cluster > &slice)
const std::string trklabelkalman
void FillSliceInfo(const art::Ptr< rb::Cluster > &slice, SRMRCCParent &parent)
int evt
const std::string trklabelbpf
float eff
Efficiency with which this event matched to the parent slice.
Definition: SRMRCCParent.h:28
const std::string whattracker
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
const std::string numuelabel
int ParentIndex() const
Returns the index of the parent slice.
Definition: MRCCParent.h:35
int slcidx
Index of the parent slice.
Definition: SRMRCCParent.h:25
float ParentPur() const
Returns the purity of MRCC slice wrt the parent.
Definition: MRCCParent.h:47
const std::string cosrejlabel
void caf::FillMuIdVars ( const remid::ReMId remid,
SRKalmanTrack srTrk 
)

Definition at line 37 of file FillPIDs.cxx.

References remid::ReMId::AvgDedx(), remid::ReMId::Contained(), caf::SRKalmanTrack::dedxllh, remid::ReMId::DedxSeparation(), caf::SRKalmanTrack::measfrac, remid::ReMId::MeasurementFraction(), caf::SRKalmanTrack::remavededx, caf::SRKalmanTrack::remcont, caf::SRKalmanTrack::rempid, caf::SRKalmanTrack::scatllh, remid::ReMId::ScatSeparation(), and rb::PID::Value().

Referenced by caf::CAFMaker::produce().

38  {
39  srTrk.remavededx = remid.AvgDedx();
40  srTrk.rempid = remid.Value();
41  srTrk.scatllh = remid.ScatSeparation();
42  srTrk.dedxllh = remid.DedxSeparation();
43  srTrk.measfrac = remid.MeasurementFraction();
44  srTrk.remcont = remid.Contained();
45  }
double ScatSeparation() const
Return the scattering separation variable used as an input to the kNN that determines the pid value...
Definition: ReMId.cxx:206
double AvgDedx() const
Definition: ReMId.cxx:68
double Value() const
Definition: PID.h:22
bool Contained() const
Definition: ReMId.cxx:243
double MeasurementFraction() const
Return the measurement fraction variable used as an input to the kNN that determines the pid value...
Definition: ReMId.cxx:213
double DedxSeparation() const
Return the dE/dx separation variable used as an input to the kNN that determines the pid value...
Definition: ReMId.cxx:199
void caf::FillMuonIDVars ( const muonid::MuonID muid,
SRKalmanTrack srTrk 
)

Definition at line 48 of file FillPIDs.cxx.

References caf::SRKalmanTrack::muonid, and rb::PID::Value().

Referenced by caf::CAFMaker::produce().

49  {
50  srTrk.muonid = muid.Value();
51  }
double Value() const
Definition: PID.h:22
void caf::FillNCCosRejVars ( const ncid::NCCosRej nccosrej,
caf::SRNCCosRej srnccosrej 
)

Definition at line