26 typedef long long int JUTCTime_t;
52 inline JUTCTime_t
getTime(
const int frame_index)
67 int main(
int argc,
char **argv)
71 using namespace KM3NETDAQ;
80 JParser<> zap(
"Example program to histogram UTC profiles.");
84 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
89 catch(
const exception& error) {
90 FATAL(error.what() << endl);
100 if (
N > numberOfEvents.getUpperLimit()) {
101 N = numberOfEvents.getUpperLimit();
105 FATAL(
"Number of time slices in file(s) " <<
N << endl);
108 const Long64_t NX = in.getEntry(
N-1)->getFrameIndex() - in.getEntry(0)->getFrameIndex() + 1;
109 const Double_t xmin = (Double_t) in.getEntry( 0 )->getFrameIndex() - 0.5;
110 const Double_t xmax = (Double_t) in.getEntry(
N-1)->getFrameIndex() + 0.5;
115 TH1D h0(
"UTC", NULL, NX, xmin, xmax);
116 TH1D
h1(
"!utc", NULL, NX, xmin, xmax);
117 TH1D h2(
"dt", NULL, 1001, -500.5, +500.5);
120 const int frame_index = in.getEntry(0)->getFrameIndex();
121 const JUTCTime_t t0 =
getTime(in.getEntry(0)->getTimesliceStart());
123 for (in.rewind(); in.hasNext() && in.getCounter() != numberOfEvents.getUpperLimit(); ) {
125 STATUS(
"event: " << setw(10) << in.getCounter() <<
'\r');
DEBUG(endl);
136 for (JDAQTimeslice::const_iterator frame = timeslice->begin(); frame != timeslice->end(); ++frame) {
138 if (utc != frame->getTimesliceStart()) {
142 h2.Fill(
getTime(frame->getTimesliceStart()) - t1);
Utility class to parse command line options.
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
ROOT TTree parameter settings.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
then for HISTOGRAM in h0 h1
Long64_t counter_type
Type definition for counter.
double getTime(const Hit &hit)
Get true time of hit.
Data structure for UTC time.
Template definition for direct access of elements in ROOT TChain.
int getFrameIndex() const
Get frame index.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getFrameTime()
Get frame time duration.
JUINT32_t getUTC16nanosecondcycles() const
Get time.
JUINT32_t getUTCseconds() const
Get time.
General purpose messaging.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
const JLimit & getLimit() const
Get limit.
then usage $script[input file[working directory[option]]] nWhere option can be N
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])