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} ==========================") diff --git a/sbnanaobj/StandardRecord/SREnums.h b/sbnanaobj/StandardRecord/SREnums.h index 36d672ef..7c62972c 100644 --- a/sbnanaobj/StandardRecord/SREnums.h +++ b/sbnanaobj/StandardRecord/SREnums.h @@ -238,7 +238,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, 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..8f73ee2d 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 [us]. 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/SRSBNDFrameShiftInfo.cxx b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.cxx new file mode 100644 index 00000000..a1bea3b5 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.cxx @@ -0,0 +1,21 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDFrame.cxx +//////////////////////////////////////////////////////////////////////// + +#include "sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h" + +#include + +namespace caf +{ + 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()), + frameApplyAtCaf(std::numeric_limits::signaling_NaN()) + {} +} // end namespace caf +//////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h new file mode 100644 index 00000000..5783d1da --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h @@ -0,0 +1,27 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDFrameShiftInfo.h +//////////////////////////////////////////////////////////////////////// +#ifndef SRSBNDFRAMESHIFTINFO_H +#define SRSBNDFRAMESHIFTINFO_H + +#include +namespace caf +{ + class SRSBNDFrameShiftInfo + { + public: + SRSBNDFrameShiftInfo(); + virtual ~SRSBNDFrameShiftInfo() {} + + uint16_t timingType; + double frameTdcCrtt1; + double frameTdcBes; + double frameTdcRwm; + double frameHltCrtt1; + double frameHltBeamGate; + double frameApplyAtCaf; + }; +} // end namespace + +#endif // SRSBNDFRAMESHIFTINFO_H +////////////////////////////////////////////////////////////////////////////// diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx new file mode 100644 index 00000000..6a7fd1a1 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.cxx @@ -0,0 +1,22 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDTimingInfo.cxx +//////////////////////////////////////////////////////////////////////// + +#include "sbnanaobj/StandardRecord/SRSBNDTimingInfo.h" + +#include + +namespace caf +{ + SRSBNDTimingInfo::SRSBNDTimingInfo(): + rawDAQHeaderTimestamp(std::numeric_limits::min()), + 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..89fab445 --- /dev/null +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -0,0 +1,29 @@ +//////////////////////////////////////////////////////////////////////// +// \file SRSBNDTimingInfo.h +//////////////////////////////////////////////////////////////////////// +#ifndef SRSBNDFRAME_H +#define SRSBNDFRAME_H + +#include + +namespace caf +{ + class SRSBNDTimingInfo + { + public: + SRSBNDTimingInfo(); + virtual ~SRSBNDTimingInfo() {} + + uint64_t rawDAQHeaderTimestamp; + 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..fffdba46 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/SRSBNDFrameShiftInfo.h" +#include "sbnanaobj/StandardRecord/SRSBNDTimingInfo.h" #include "sbnanaobj/StandardRecord/SRHeader.h" #include "sbnanaobj/StandardRecord/SRCRTPMTMatch.h" #include "sbnanaobj/StandardRecord/SRSlice.h" @@ -54,10 +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 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 d736e7a6..d1e6bd78 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,11 @@ - + + + + + @@ -366,7 +370,8 @@ - + + @@ -407,6 +412,16 @@ + + + + + + + + + +