From 9ca301cd8187331be87f7e828abca4deb81423ac Mon Sep 17 00:00:00 2001 From: Jaesung Kim Date: Tue, 24 Oct 2023 09:49:34 -0500 Subject: [PATCH 1/7] Use kDefaultRWType for the default ReweightType_t --- sbnanaobj/StandardRecord/SREnums.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbnanaobj/StandardRecord/SREnums.h b/sbnanaobj/StandardRecord/SREnums.h index a2ab0e68..c5590b6a 100644 --- a/sbnanaobj/StandardRecord/SREnums.h +++ b/sbnanaobj/StandardRecord/SREnums.h @@ -222,7 +222,7 @@ namespace caf //==== This should be synchronized to rwtype in sbnobj/Common/SBNEventWeight/EventWeightParameterSet.h enum ReweightType_t{ - kDefault = -1, + kDefaultRWType = -1, kMultiSim = 0, kPMNSigma = 1, kFixed = 2, From 69d7ab43f2e153463c73ef8081a46d9077b207f2 Mon Sep 17 00:00:00 2001 From: Anna Heggestuen Date: Mon, 2 Jun 2025 20:14:36 -0500 Subject: [PATCH 2/7] Add new variable rwmtime to SROpFlash to store the flashtime wrt RWM time --- sbnanaobj/StandardRecord/SROpFlash.cxx | 1 + sbnanaobj/StandardRecord/SROpFlash.h | 1 + sbnanaobj/StandardRecord/classes_def.xml | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sbnanaobj/StandardRecord/SROpFlash.cxx b/sbnanaobj/StandardRecord/SROpFlash.cxx index 8a645111..7077e116 100644 --- a/sbnanaobj/StandardRecord/SROpFlash.cxx +++ b/sbnanaobj/StandardRecord/SROpFlash.cxx @@ -25,6 +25,7 @@ namespace caf timemean = -9999.f; timesd = -5.f; firsttime = -9999.f; + rwmtime = -9999.f; totalpe = -5.f; fasttototal = -5.f; peperwall[0] = -5.f; diff --git a/sbnanaobj/StandardRecord/SROpFlash.h b/sbnanaobj/StandardRecord/SROpFlash.h index 78a6299e..5c13e0c9 100644 --- a/sbnanaobj/StandardRecord/SROpFlash.h +++ b/sbnanaobj/StandardRecord/SROpFlash.h @@ -27,6 +27,7 @@ namespace caf float timemean { kSignalingNaN }; //!< Mean time of hits [us]. float timesd { kSignalingNaN }; //!< Standard deviation of hit times [us]. float firsttime { kSignalingNaN }; //!< Time of first hit [us]. + float rwmtime { kSignalingNaN }; //!< Time of flash wrt RWM Time. float totalpe { kSignalingNaN }; //!< Total number of PE across all PMTs. float fasttototal { kSignalingNaN }; //!< Fast to total light ratio. float peperwall[2] { kSignalingNaN, kSignalingNaN }; diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index 6833f079..c9bd437e 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -365,7 +365,8 @@ - + + From 4daa4ee79d7a7549981fdd4de4d5cb416720ce0e Mon Sep 17 00:00:00 2001 From: Anna Heggestuen Date: Thu, 5 Jun 2025 14:38:06 -0500 Subject: [PATCH 3/7] add units [us] to rwmtime comment --- sbnanaobj/StandardRecord/SROpFlash.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbnanaobj/StandardRecord/SROpFlash.h b/sbnanaobj/StandardRecord/SROpFlash.h index 5c13e0c9..8f73ee2d 100644 --- a/sbnanaobj/StandardRecord/SROpFlash.h +++ b/sbnanaobj/StandardRecord/SROpFlash.h @@ -27,7 +27,7 @@ namespace caf float timemean { kSignalingNaN }; //!< Mean time of hits [us]. float timesd { kSignalingNaN }; //!< Standard deviation of hit times [us]. float firsttime { kSignalingNaN }; //!< Time of first hit [us]. - float rwmtime { kSignalingNaN }; //!< Time of flash wrt RWM Time. + float rwmtime { kSignalingNaN }; //!< Time of flash wrt RWM Time [us]. float totalpe { kSignalingNaN }; //!< Total number of PE across all PMTs. float fasttototal { kSignalingNaN }; //!< Fast to total light ratio. float peperwall[2] { kSignalingNaN, kSignalingNaN }; From 5ce2505b7a90c1e8cd21bb076e0de984eda78b0d Mon Sep 17 00:00:00 2001 From: kjplows Date: Mon, 11 Aug 2025 11:37:27 -0500 Subject: [PATCH 4/7] Update CMakeLists --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index daef4074..1ede1bf7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ cmake_minimum_required(VERSION 3.20 FATAL_ERROR) find_package(cetmodules 3.20.00 REQUIRED) -project(sbnanaobj VERSION 10.00.05 LANGUAGES CXX) +project(sbnanaobj VERSION 10.00.06 LANGUAGES CXX) message(STATUS "\n\n ========================== ${PROJECT_NAME} ==========================") From ea2a3d886609dddcdd5647bfda9ba04df5038817 Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Tue, 12 Aug 2025 16:42:32 -0500 Subject: [PATCH 5/7] 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 6/7] 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 7/7] 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 @@ + + + + + + + + + +