10 #include "TProfile2D.h"
32 int main(
int argc,
char **argv)
36 using namespace KM3NETDAQ;
46 JParser<> zap(
"Example program to histogram string and floor rates.");
51 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
56 catch(
const exception& error) {
57 FATAL(error.what() << endl);
83 TProfile2D h2(
"h2", NULL,
84 string.size(), -0.5,
string.size() - 0.5,
85 floor .size(), -0.5, floor .size() - 0.5);
87 for (Int_t i = 1; i <= h2.GetXaxis()->GetNbins(); ++i) {
88 h2.GetXaxis()->SetBinLabel(i,
MAKE_CSTRING(
string.at(i-1)));
90 for (Int_t i = 1; i <= h2.GetYaxis()->GetNbins(); ++i) {
91 h2.GetYaxis()->SetBinLabel(i,
MAKE_CSTRING(floor .at(i-1)));
94 while (inputFile.hasNext()) {
96 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
100 for (JDAQSummaryslice::const_iterator frame = summary->begin(); frame != summary->end(); ++frame) {
102 if (router.
hasModule(frame->getModuleID())) {
107 if (!frame->testHighRateVeto(pmt) && !frame->testFIFOStatus(pmt)) {
109 (
double) floor .getIndex(module.
getFloor()),
110 frame->getRate(pmt) * 1.0e-3);
114 FATAL(
"JModuleRouter trying to access non existing identifier: " << frame->getModuleID());
Utility class to parse command line options.
ROOT TTree parameter settings of various packages.
int getFloor() const
Get floor number.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for a composite optical module.
Router for direct addressing of module data in detector data structure.
#define MAKE_CSTRING(A)
Make C-string.
General purpose class for a hash collection of unique elements.
Data structure for detector geometry and calibration.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values.
int getIndex()
Get index for user I/O manipulation.
General purpose messaging.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Direct access to module in detector data structure.
int getString() const
Get string number.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Utility class to parse command line options.
bool hasModule(const JObjectID &id) const
Has module.
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])