37 using namespace KM3NETDAQ;
47 JParser<> zap(
"Example program to histogram various data profiles.");
51 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
57 catch(
const exception& error) {
58 FATAL(error.what() << endl);
65 NOTICE(
"Determine frame index range... " << flush);
67 JFrameIndexRange frame_index = getFrameIndexRange<JDAQSummaryslice>(inputFile);
69 NOTICE(
"= (" << frame_index.first <<
"," << frame_index.second <<
")" << endl);
71 const Long64_t NX = frame_index.second - frame_index.first + 1;
72 const Long64_t nx = (NX + prescale - 1) / prescale;
73 const Double_t xmin = (Double_t) frame_index.first - 0.5;
74 const Double_t xmax = (Double_t) frame_index.second + 0.5;
81 JManager_t map_summary(
new TH1D(
"Summary[%]", NULL, NX, xmin, xmax));
82 JManager_t map_trigger(
new TH1D(
"Trigger[%]", NULL, nx, xmin, xmax));
85 TH1D hn(
"N", NULL, NX, xmin, xmax);
86 TH1D h0(
"L0", NULL, NX, xmin, xmax);
87 TH1D
h1(
"WR", NULL, NX, xmin, xmax);
88 TH1D h2(
"trigger", NULL, nx, xmin, xmax);
94 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
101 for (JDAQSummaryslice::const_iterator frame = summaryslice->begin(); frame != summaryslice->end(); ++frame) {
103 if (frame->testHighRateVeto()) {
107 if (frame->testHighRateVeto(
pmt)) {
108 map_status[frame->getModuleID()]->Fill((Double_t)
pmt);
116 if (!frame->testHighRateVeto(
pmt)) {
117 y += frame->getRate(
pmt) * 1e-3;
121 map_summary[frame->getModuleID()]->Fill(x, y);
127 for (JDAQSummaryslice::const_iterator frame = summaryslice->begin(); frame != summaryslice->end(); ++frame) {
130 y += frame->getRate(
pmt) * 1e-3;
133 h1.Fill(x, (frame->testWhiteRabbitStatus() ? 1.0 : 0.0));
136 hn.Fill(x, summaryslice->size());
144 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
148 const Double_t x =
event->getFrameIndex();
157 map_trigger[hit->getModuleID()]->Fill(x);
162 map_summary.Write(out);
163 map_trigger.Write(out);
164 map_status .Write(out);
Auxiliary class to set-up Hit.
Utility class to parse command line options.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
then for HISTOGRAM in h0 h1
int getFrameIndex() const
Get frame index.
esac $JPP_DIR examples JDetector JTransitTime o $OUTPUT_FILE n N $NPE T $TTS_NS d $DEBUG for HISTOGRAM in tts tt2 pmt
Auxiliary class to manage set of compatible ROOT objects (e.g.
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.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
#define DEBUG(A)
Message macros.