35 using namespace KM3NETDAQ;
45 JParser<> zap(
"Program to plot snapshot data.");
47 zap[
'f'] =
make_field(inputFile,
"input file.");
49 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
50 zap[
'a'] =
make_field(detectorFile,
"detector file.") =
"";
55 catch(
const exception& error) {
56 FATAL(error.what() << endl);
64 if (detectorFile !=
"") {
81 TH1D h0(
"h0", NULL, 250, -0.5, 499.5);
82 TH1D
h1(
"h1", NULL, 250, -0.5, 499.5);
84 while (inputFile.hasNext()) {
86 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
90 summary.update(*event);
92 int number_of_hits = 0;
96 if (summary.hasSummaryFrame(hit->getModuleID())) {
103 status = router.getModule(frame.
getModuleID()).getPMT(hit->getPMT()).getStatus();
113 DEBUG(
"Number of snapshot hits " << event->size<
JDAQSnapshotHit>() <<
' ' << number_of_hits << endl);
116 h1.Fill((
double) number_of_hits);
Utility class to parse command line options.
int getModuleID() const
Get module identifier.
Router for direct addressing of module data in detector data structure.
then for HISTOGRAM in h0 h1
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Data storage class for rate measurements of all PMTs in one module.
Auxiliary class for handling status.
File router for fast addressing of summary data.
bool getPMTStatus(const JStatus &status)
Test status of PMT.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
Object reading from a list of files.
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
JTriggerCounter_t next()
Increment trigger counter.