diff --git a/duneanaobj/StandardRecord/SRInteraction.h b/duneanaobj/StandardRecord/SRInteraction.h index e7b7458..096dcd6 100644 --- a/duneanaobj/StandardRecord/SRInteraction.h +++ b/duneanaobj/StandardRecord/SRInteraction.h @@ -41,7 +41,10 @@ namespace caf bool preselected = false; ///< Was this interaction preselected? (Useful for workflows where CAFs are preprocessed / filtered in the process of making concatenated files) bool contained() const; ///< Convenience function to check if the interaction is contained in the detector by checking the contained flag of all reco particles - }; + + bool isBeamSlice = false; + + }; } // caf diff --git a/duneanaobj/StandardRecord/SRInteractionBranch.h b/duneanaobj/StandardRecord/SRInteractionBranch.h index 3bdab85..7c0a752 100644 --- a/duneanaobj/StandardRecord/SRInteractionBranch.h +++ b/duneanaobj/StandardRecord/SRInteractionBranch.h @@ -15,15 +15,16 @@ namespace caf class SRInteractionBranch { public: + std::vector dlp; ///< Interactions from Deep Learn Physics machine learning reconstruction std::size_t ndlp; std::vector pandora; ///< Interactions from Pandora reconstruction std::size_t npandora; + int beamPandoraSliceIndex = -1; ///< Index of the slice identified as the beam slice by the reconstruction (if any) std::vector sandreco; ///< Interactions from sadreco reconstruction std::size_t nsandreco; - }; } diff --git a/duneanaobj/StandardRecord/SRPFP.h b/duneanaobj/StandardRecord/SRPFP.h index af8dfd5..82c1565 100644 --- a/duneanaobj/StandardRecord/SRPFP.h +++ b/duneanaobj/StandardRecord/SRPFP.h @@ -50,6 +50,7 @@ namespace caf //Track/Shower BDT score float track_score = NaN; + }; } diff --git a/duneanaobj/StandardRecord/SRRecoParticle.h b/duneanaobj/StandardRecord/SRRecoParticle.h index bf60b88..b0cec65 100644 --- a/duneanaobj/StandardRecord/SRRecoParticle.h +++ b/duneanaobj/StandardRecord/SRRecoParticle.h @@ -49,6 +49,8 @@ namespace caf std::vector truth; ///< Associated SRTrueParticle(s), if relevant (use SRTruthBranch::Particle() with these IDs to grab them) std::vector truthOverlap; ///< Fractional overlap between this reco particle and true particle + int truthMatchIndex = -1; ///< Index of the best truth match by hits in truth and truthOverlap array, defaults to -1 if no match + }; } // caf diff --git a/duneanaobj/StandardRecord/SRTrueParticle.h b/duneanaobj/StandardRecord/SRTrueParticle.h index 3422aa8..5654b7b 100644 --- a/duneanaobj/StandardRecord/SRTrueParticle.h +++ b/duneanaobj/StandardRecord/SRTrueParticle.h @@ -27,6 +27,7 @@ namespace caf public: int pdg = 0; ///< Particle int G4ID = -1; ///< ID of the particle (taken from GEANT4 -- -1 if this particle is not propogated by G4) + long int interaction_id = -1; ///< True interaction ID (edep-sim 'vertexID' for ND, or GENIe record number for FD) of the source of this particle double time = NaN; ///< Generation time at true interaction vertex [ns] diff --git a/duneanaobj/StandardRecord/classes_def.xml b/duneanaobj/StandardRecord/classes_def.xml index 3b0f7e7..c11d59f 100644 --- a/duneanaobj/StandardRecord/classes_def.xml +++ b/duneanaobj/StandardRecord/classes_def.xml @@ -60,12 +60,21 @@ - + + + + + + + + + - + + @@ -105,7 +114,10 @@ - + + + + @@ -183,7 +195,9 @@ - + + + @@ -339,7 +353,11 @@ - + + + + +