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.
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
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
const JLimit & getLimit() const
Get limit.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
then usage $script[input file[working directory[option]]] nWhere option can be N