From ea2a3d886609dddcdd5647bfda9ba04df5038817 Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Tue, 12 Aug 2025 16:42:32 -0500 Subject: [PATCH 1/3] first commit --- sbnanaobj/StandardRecord/SRSBNDFrame.cxx | 20 +++++++++++++ sbnanaobj/StandardRecord/SRSBNDFrame.h | 26 +++++++++++++++++ sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx | 21 ++++++++++++++ sbnanaobj/StandardRecord/SRSBNDTimingInfo.h | 28 +++++++++++++++++++ sbnanaobj/StandardRecord/StandardRecord.h | 4 +++ sbnanaobj/StandardRecord/classes_def.xml | 3 +- 6 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 sbnanaobj/StandardRecord/SRSBNDFrame.cxx create mode 100644 sbnanaobj/StandardRecord/SRSBNDFrame.h create mode 100644 sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx create mode 100644 sbnanaobj/StandardRecord/SRSBNDTimingInfo.h diff --git a/sbnanaobj/StandardRecord/SRSBNDFrame.cxx b/sbnanaobj/StandardRecord/SRSBNDFrame.cxx new file mode 100644 index 00000000..38af55f6 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDFrame.cxx @@ -0,0 +1,20 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDFrame.cxx +//////////////////////////////////////////////////////////////////////// + +#include "sbnanaobj/StandardRecord/SRSBNDFrame.h" + +#include + +namespace caf +{ + SRSBNDFrame::SRSBNDFrame(): + frameTdcCrtt1(std::numeric_limits::signaling_NaN()), + frameTdcBes(std::numeric_limits::signaling_NaN()), + frameTdcRwm(std::numeric_limits::signaling_NaN()), + frameHltCrtt1(std::numeric_limits::signaling_NaN()), + frameHltBeamGate(std::numeric_limits::signaling_NaN()), + frameDataToMC(std::numeric_limits::signaling_NaN()) + {} +} // end namespace caf +//////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDFrame.h b/sbnanaobj/StandardRecord/SRSBNDFrame.h new file mode 100644 index 00000000..e59c36f7 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDFrame.h @@ -0,0 +1,26 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDFrame.h +//////////////////////////////////////////////////////////////////////// +#ifndef SRSBNDFRAME_H +#define SRSBNDFRAME_H + +namespace caf +{ + class SRSBNDFrame + { + public: + SRSBNDFrame(); + virtual ~SRSBNDFrame() {} + + double frameTdcCrtt1; + double frameTdcBes; + double frameTdcRwm; + double frameHltCrtt1; + double frameHltBeamGate; + double frameDataToMC; + + }; +} // end namespace + +#endif // SRSBNDFRAME_H +////////////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx new file mode 100644 index 00000000..816fc7df --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx @@ -0,0 +1,21 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDTimingInfo.cxx +//////////////////////////////////////////////////////////////////////// + +#include "sbnanaobj/StandardRecord/SRSBNDTimingInfo.h" + +#include + +namespace caf +{ + SRSBNDTimingInfo::SRSBNDTimingInfo(): + tdcCrtt1(std::numeric_limits::min()), + tdcBes(std::numeric_limits::min()), + tdcRwm(std::numeric_limits::min()), + tdcEtrig(std::numeric_limits::min()), + hltCrtt1(std::numeric_limits::min()), + hltEtrig(std::numeric_limits::min()), + hltBeamGate(std::numeric_limits::min()) + {} +} // end namespace caf +//////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h new file mode 100644 index 00000000..6d5199e3 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -0,0 +1,28 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDTimingInfo.h +//////////////////////////////////////////////////////////////////////// +#ifndef SRSBNDFRAME_H +#define SRSBNDFRAME_H + +#include + +namespace caf +{ + class SRSBNDTimingInfo + { + public: + SRSBNDTimingInfo(); + virtual ~SRSBNDTimingInfo() {} + + uint64_t tdcCrtt1; + uint64_t tdcBes; + uint64_t tdcRwm; + uint64_t tdcEtrig; + uint64_t hltCrtt1; + uint64_t hltEtrig; + uint64_t hltBeamGate; + }; +} // end namespace + +#endif // SRSBNDFRAME_H +////////////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/StandardRecord.h b/sbnanaobj/StandardRecord/StandardRecord.h index c08f6d6b..80daede8 100644 --- a/sbnanaobj/StandardRecord/StandardRecord.h +++ b/sbnanaobj/StandardRecord/StandardRecord.h @@ -11,6 +11,8 @@ #include "sbnanaobj/StandardRecord/SRCRTTrack.h" #include "sbnanaobj/StandardRecord/SRCRTSpacePoint.h" #include "sbnanaobj/StandardRecord/SRSBNDCRTTrack.h" +#include "sbnanaobj/StandardRecord/SRSBNDFrame.h" +#include "sbnanaobj/StandardRecord/SRSBNDTimingInfo.h" #include "sbnanaobj/StandardRecord/SRHeader.h" #include "sbnanaobj/StandardRecord/SRCRTPMTMatch.h" #include "sbnanaobj/StandardRecord/SRSlice.h" @@ -54,6 +56,8 @@ namespace caf std::vector sbnd_crt_tracks; ///< CRT tracks in event (SBND) int nopflashes; ///< Number of OpFlashes in spill std::vector opflashes; ///< List of OpFlashes in spill + int nsbnd_frames; ///< Number of Frames (SBND) + std::vector sbnd_frames; ///< List of Frames (SBND) int ncrtpmt_matches; /// crtpmt_matches; ///< CRT-PMT matches in event diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index 6833f079..d039c7f0 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,8 @@ - + + From b05e89dcb12172aa5deef98cd234f6fd10eb41f6 Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Mon, 25 Aug 2025 19:35:15 -0500 Subject: [PATCH 2/3] make new caf standard record --- ...SBNDFrame.cxx => SRSBNDFrameShiftInfo.cxx} | 7 ++++--- .../{SRSBNDFrame.h => SRSBNDFrameShiftInfo.h} | 19 ++++++++++--------- sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx | 1 + sbnanaobj/StandardRecord/SRSBNDTimingInfo.h | 1 + sbnanaobj/StandardRecord/StandardRecord.h | 8 +++++--- sbnanaobj/StandardRecord/classes_def.xml | 3 ++- 6 files changed, 23 insertions(+), 16 deletions(-) rename sbnanaobj/StandardRecord/{SRSBNDFrame.cxx => SRSBNDFrameShiftInfo.cxx} (73%) rename sbnanaobj/StandardRecord/{SRSBNDFrame.h => SRSBNDFrameShiftInfo.h} (58%) diff --git a/sbnanaobj/StandardRecord/SRSBNDFrame.cxx b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.cxx similarity index 73% rename from sbnanaobj/StandardRecord/SRSBNDFrame.cxx rename to sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.cxx index 38af55f6..a1bea3b5 100644 --- a/sbnanaobj/StandardRecord/SRSBNDFrame.cxx +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.cxx @@ -2,19 +2,20 @@ // \file SRSBNDFrame.cxx //////////////////////////////////////////////////////////////////////// -#include "sbnanaobj/StandardRecord/SRSBNDFrame.h" +#include "sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h" #include namespace caf { - SRSBNDFrame::SRSBNDFrame(): + SRSBNDFrameShiftInfo::SRSBNDFrameShiftInfo(): + timingType(std::numeric_limits::max()), frameTdcCrtt1(std::numeric_limits::signaling_NaN()), frameTdcBes(std::numeric_limits::signaling_NaN()), frameTdcRwm(std::numeric_limits::signaling_NaN()), frameHltCrtt1(std::numeric_limits::signaling_NaN()), frameHltBeamGate(std::numeric_limits::signaling_NaN()), - frameDataToMC(std::numeric_limits::signaling_NaN()) + frameApplyAtCaf(std::numeric_limits::signaling_NaN()) {} } // end namespace caf //////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDFrame.h b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h similarity index 58% rename from sbnanaobj/StandardRecord/SRSBNDFrame.h rename to sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h index e59c36f7..5783d1da 100644 --- a/sbnanaobj/StandardRecord/SRSBNDFrame.h +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h @@ -1,26 +1,27 @@ //////////////////////////////////////////////////////////////////////// -// \file SRSBNDFrame.h +// \file SRSBNDFrameShiftInfo.h //////////////////////////////////////////////////////////////////////// -#ifndef SRSBNDFRAME_H -#define SRSBNDFRAME_H +#ifndef SRSBNDFRAMESHIFTINFO_H +#define SRSBNDFRAMESHIFTINFO_H +#include namespace caf { - class SRSBNDFrame + class SRSBNDFrameShiftInfo { public: - SRSBNDFrame(); - virtual ~SRSBNDFrame() {} + SRSBNDFrameShiftInfo(); + virtual ~SRSBNDFrameShiftInfo() {} + uint16_t timingType; double frameTdcCrtt1; double frameTdcBes; double frameTdcRwm; double frameHltCrtt1; double frameHltBeamGate; - double frameDataToMC; - + double frameApplyAtCaf; }; } // end namespace -#endif // SRSBNDFRAME_H +#endif // SRSBNDFRAMESHIFTINFO_H ////////////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx index 816fc7df..6a7fd1a1 100644 --- a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx @@ -9,6 +9,7 @@ namespace caf { SRSBNDTimingInfo::SRSBNDTimingInfo(): + rawDAQHeaderTimestamp(std::numeric_limits::min()), tdcCrtt1(std::numeric_limits::min()), tdcBes(std::numeric_limits::min()), tdcRwm(std::numeric_limits::min()), diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h index 6d5199e3..89fab445 100644 --- a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -14,6 +14,7 @@ namespace caf SRSBNDTimingInfo(); virtual ~SRSBNDTimingInfo() {} + uint64_t rawDAQHeaderTimestamp; uint64_t tdcCrtt1; uint64_t tdcBes; uint64_t tdcRwm; diff --git a/sbnanaobj/StandardRecord/StandardRecord.h b/sbnanaobj/StandardRecord/StandardRecord.h index 80daede8..10fe9ce4 100644 --- a/sbnanaobj/StandardRecord/StandardRecord.h +++ b/sbnanaobj/StandardRecord/StandardRecord.h @@ -11,7 +11,7 @@ #include "sbnanaobj/StandardRecord/SRCRTTrack.h" #include "sbnanaobj/StandardRecord/SRCRTSpacePoint.h" #include "sbnanaobj/StandardRecord/SRSBNDCRTTrack.h" -#include "sbnanaobj/StandardRecord/SRSBNDFrame.h" +#include "sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h" #include "sbnanaobj/StandardRecord/SRSBNDTimingInfo.h" #include "sbnanaobj/StandardRecord/SRHeader.h" #include "sbnanaobj/StandardRecord/SRCRTPMTMatch.h" @@ -56,8 +56,10 @@ namespace caf std::vector sbnd_crt_tracks; ///< CRT tracks in event (SBND) int nopflashes; ///< Number of OpFlashes in spill std::vector opflashes; ///< List of OpFlashes in spill - int nsbnd_frames; ///< Number of Frames (SBND) - std::vector sbnd_frames; ///< List of Frames (SBND) + int nsbnd_frames; ///< Number of Frame Shift in event (SBND) + std::vector sbnd_frames; ///< List of Frame Shift in event (SBND) + int nsbnd_timings; ///< Number of Timing Info in event (SBND) + std::vector sbnd_timings; ///< List of Timing Info in event in Unix format(SBND) int ncrtpmt_matches; /// crtpmt_matches; ///< CRT-PMT matches in event diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index d039c7f0..d025e8fe 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,8 @@ - + + From 123c48d04629a42ab63516b2f2b15942ac01972b Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Tue, 26 Aug 2025 15:28:56 -0500 Subject: [PATCH 3/3] update sbnd timing class --- sbnanaobj/StandardRecord/StandardRecord.h | 8 +++----- sbnanaobj/StandardRecord/classes_def.xml | 14 +++++++++++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/sbnanaobj/StandardRecord/StandardRecord.h b/sbnanaobj/StandardRecord/StandardRecord.h index 10fe9ce4..fffdba46 100644 --- a/sbnanaobj/StandardRecord/StandardRecord.h +++ b/sbnanaobj/StandardRecord/StandardRecord.h @@ -56,14 +56,12 @@ namespace caf std::vector sbnd_crt_tracks; ///< CRT tracks in event (SBND) int nopflashes; ///< Number of OpFlashes in spill std::vector opflashes; ///< List of OpFlashes in spill - int nsbnd_frames; ///< Number of Frame Shift in event (SBND) - std::vector sbnd_frames; ///< List of Frame Shift in event (SBND) - int nsbnd_timings; ///< Number of Timing Info in event (SBND) - std::vector sbnd_timings; ///< List of Timing Info in event in Unix format(SBND) - int ncrtpmt_matches; /// crtpmt_matches; ///< CRT-PMT matches in event bool pass_flashtrig; ///< Whether this Record passed the Flash Trigger requirement + SRSBNDFrameShiftInfo sbnd_frames; ///< List of Frame Shift in event (SBND) + SRSBNDTimingInfo sbnd_timings; ///< List of Timing Info in event in Unix format(SBND) + }; diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index d025e8fe..0587d0e9 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,9 @@ - + + + @@ -408,6 +410,16 @@ + + + + + + + + + +