From f29d46243d07a5b15cc01be02f6e09c3f98dcbd6 Mon Sep 17 00:00:00 2001 From: lynnt20 Date: Wed, 12 Nov 2025 16:31:58 -0600 Subject: [PATCH 1/3] first commit of software trigger additions --- sbnanaobj/StandardRecord/SRSoftwareTrigger.h | 25 ++++++++++++++++++++ sbnanaobj/StandardRecord/StandardRecord.h | 3 ++- sbnanaobj/StandardRecord/classes_def.xml | 2 ++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 sbnanaobj/StandardRecord/SRSoftwareTrigger.h diff --git a/sbnanaobj/StandardRecord/SRSoftwareTrigger.h b/sbnanaobj/StandardRecord/SRSoftwareTrigger.h new file mode 100644 index 00000000..dcb8faf1 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSoftwareTrigger.h @@ -0,0 +1,25 @@ +/** + * @file /sbnanaobj/StandardRecord/SRSoftwareTrigger.h + * @brief Defines CAF data structures to store sbnd::trigger::pmtSoftwareTrigger objects (header). + * @author Lynn Tung + * @date November 12, 2025 + * + */ + +#ifndef SRSOFTWARETRIGGER_H +#define SRSOFTWARETRIGGER_H + +namespace caf{ + + /** + * @brief A struct to store software trigger information for SBND Data and MC + */ + + struct SRSoftwareTrigger { + int npmts = std::numeric_limits::signaling_NaN(); + float flash_peaktime = std::numeric_limits::signaling_NaN(); + float flash_peakpe = std::numeric_limits::signaling_NaN(); + }; +} + +#endif \ No newline at end of file diff --git a/sbnanaobj/StandardRecord/StandardRecord.h b/sbnanaobj/StandardRecord/StandardRecord.h index 1a288810..7963ad5e 100644 --- a/sbnanaobj/StandardRecord/StandardRecord.h +++ b/sbnanaobj/StandardRecord/StandardRecord.h @@ -21,6 +21,7 @@ #include "sbnanaobj/StandardRecord/SRFakeReco.h" #include "sbnanaobj/StandardRecord/SROpFlash.h" #include "sbnanaobj/StandardRecord/SRTrigger.h" +#include "sbnanaobj/StandardRecord/SRSoftwareTrigger.h" #include "sbnanaobj/StandardRecord/SRInteractionDLP.h" #include "sbnanaobj/StandardRecord/SRInteractionTruthDLP.h" @@ -64,7 +65,7 @@ namespace caf bool pass_flashtrig = false; ///< Whether this Record passed the Flash Trigger requirement SRSBNDFrameShiftInfo sbnd_frames; ///< List of Frame Shift in event in unit [ns] (SBND) SRSBNDTimingInfo sbnd_timings; ///< List of Timing Info in event in UNIX timestamp format(SBND) - + SRSoftwareTrigger soft_trig; ///< Software Trigger Info in event int ndlp = 0; ///< Number of reco DLP (ML) interactions. std::vector dlp; ///< Reco DLP (ML) interactions. int ndlp_true = 0; ///< Number of true DLP (ML) interactions. diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index 9b6f8fb2..fca1c081 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -433,6 +433,8 @@ + + From 05f3484690392be1f81d744605a103ef50c177a8 Mon Sep 17 00:00:00 2001 From: lynnt20 Date: Thu, 13 Nov 2025 11:17:36 -0600 Subject: [PATCH 2/3] update classes_def with new software trigger class --- sbnanaobj/StandardRecord/classes_def.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index fca1c081..0799f198 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,8 @@ - + + From d1d5ae112950656714e4fa7b46ac4c0d10f2a73c Mon Sep 17 00:00:00 2001 From: lynnt20 Date: Tue, 18 Nov 2025 09:48:05 -0600 Subject: [PATCH 3/3] inherit SRConstants instead --- sbnanaobj/StandardRecord/SRSoftwareTrigger.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sbnanaobj/StandardRecord/SRSoftwareTrigger.h b/sbnanaobj/StandardRecord/SRSoftwareTrigger.h index dcb8faf1..9fb67f6a 100644 --- a/sbnanaobj/StandardRecord/SRSoftwareTrigger.h +++ b/sbnanaobj/StandardRecord/SRSoftwareTrigger.h @@ -9,6 +9,8 @@ #ifndef SRSOFTWARETRIGGER_H #define SRSOFTWARETRIGGER_H +#include "sbnanaobj/StandardRecord/SRConstants.h" + namespace caf{ /** @@ -16,9 +18,9 @@ namespace caf{ */ struct SRSoftwareTrigger { - int npmts = std::numeric_limits::signaling_NaN(); - float flash_peaktime = std::numeric_limits::signaling_NaN(); - float flash_peakpe = std::numeric_limits::signaling_NaN(); + int npmts = caf::kUninitializedInt; + float flash_peaktime = caf::kSignalingNaN; + float flash_peakpe = caf::kSignalingNaN; }; }