1 #ifndef IOONLINEINCLUDED
2 #define IOONLINEINCLUDED
9 #include "../online/JDAQEvent.hh"
10 #include "../online/JDAQKeyHit.hh"
11 #include "../online/JDAQTimeslice.hh"
12 #include "../online/JDAQSummaryslice.hh"
14 #include "TStreamerInfo.h"
22 using namespace KM3NETDAQ;
34 hit.
t = daqhit.
getT();
50 hit.
t = daqhit.
getT();
81 evt.
hits.reserve(snapshotHits.size());
83 for(
auto& daqhit : snapshotHits )
87 evt.
hits.push_back( h );
91 for(
auto& daqtrighit: triggeredHits)
93 Hit* g = M[daqtrighit.getModuleID()][daqtrighit.getPMT()][daqtrighit.getT()];
94 if (g) g->
trig = daqtrighit.getTriggerMask ();
97 THROW(
Exception,
"Failed to flag snaphot hit" << (
int) daqtrighit.getPMT() <<
" " << daqtrighit.getT());
124 for(
auto& daqhit: sf )
127 h.
dom_id = sf.getModuleID();
128 evt.
hits.push_back(h);
153 static TBranch* BS=0;
168 S = (TTree*) _f->Get(
"KM3NET_SUMMARYSLICE");
174 BS = S->GetBranch(
"KM3NET_SUMMARYSLICE");
180 std::cout <<
"building index to lookup timeslices..." << std::endl;
181 int n = S->BuildIndex(
"frame_index");
183 BS->SetAddress( &r );
186 int nbytes = S->GetEntryWithIndex( frame_index );
189 THROW(
Exception,
"Failed to find entry with frame_index " << frame_index);
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
int getModuleID() const
Get module identifier.
JDAQSummaryslice * get_summary_slice(TFile *f, int frame_index)
Get summary slice from given file with given frame index.
int getDetectorID() const
Get detector identifier.
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
int pmt_id
global PMT identifier as found in evt files
ULong64_t trigger_counter
trigger counter
static int ROOT_IO_VERSION
Streamer version of JDAQSummaryslice as obtained from ROOT file.
JTDC_t getT() const
Get time.
JPMT_t getPMT() const
Get PMT.
int getRunNumber() const
Get run number.
int getFrameIndex() const
Get frame index.
static JTriggerMask_t getTriggerMask(const JDAQTriggeredHit &hit)
Get trigger mask of given hit.
JTOT_t getToT() const
Get time-over-threshold.
int frame_index
from the raw data
unsigned int overlays
number of overlaying triggered events
const std::vector< T > & getHits() const
Get container with hits.
JUINT32_t getUTC16nanosecondcycles() const
Get time.
int run_id
DAQ run identifier.
JUINT32_t getUTCseconds() const
Get time.
int det_id
detector identifier from DAQ
int trig
non-zero if the hit is a trigger hit.
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
TTimeStamp t
UTC time of the start of the timeslice the event came from.
double t
hit time (from calibration or MC truth)
int dom_id
module identifier from the data (unique in the detector).
alias put_queue eval echo n
unsigned int tot
tot value as stored in raw data (int for pyroot)
unsigned int channel_id
PMT channel id {0,1, .., 31} local to moduke.
std::vector< Hit > hits
list of hits
JTriggerCounter_t getCounter() const
Get trigger counter.
ULong64_t trigger_mask
trigger mask from raw data (i.e. the trigger bits)
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.