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 583d0478..d1e6bd78 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -5,7 +5,11 @@ - + + + + + @@ -408,6 +412,16 @@ + + + + + + + + + +