41 int main(
const int argc,
const char *
const argv[])
45 using namespace KM3NETDAQ;
57 JParser<> zap(
"Auxiliary program to check trigger parameters in a given ROOT files against the values from the database.");
69 catch(
const exception& error) {
70 FATAL(error.what() << endl);
74 const double Dmax_m = 9999.0;
80 DEBUG(
"Get trigger parameters from input file." << endl);
86 FATAL(
"No trigger parameters from input." << endl);
89 parametersA.set(Dmax_m);
101 detector_id = in.
next()->getDetectorID();
102 run_number = in.
next()->getRunNumber();
106 FATAL(
"File does not contain a valid run number. Aborting" << endl);
113 catch(
const exception& error) {
114 FATAL(error.what() << endl);
132 DEBUG(
"Detector " << detector_id <<
" -> " << detid << endl);
134 catch(
const exception& error) {
135 FATAL(error.what() << endl);
153 DEBUG(
"Run setup " << rs_oid << endl);
155 catch(
const exception& error) {
156 FATAL(error.what() << endl);
169 while (rs >> buffer) {
171 umap[buffer.
OID] = buffer.
NAME;
175 if (pos != string::npos) {
179 while (pos + len != buffer.
NAME.length() && buffer.
NAME[pos + len] !=
'=') {
183 zmap[buffer.
OID] = buffer.
NAME.erase(pos, len + 1);
189 DEBUG(
"Parameters map " << zmap.size() << endl);
191 catch(
const exception& error) {
192 FATAL(error.what() << endl);
204 while (rs >> buffer) {
210 if (i != zmap.end()) {
211 data << i->second <<
"=" << buffer.
VALUE <<
";\n";
217 catch(
const exception& error) {
218 FATAL(error.what() << endl);
221 DEBUG(
"Raw data" << endl <<
"<<" << endl << data.str() <<
">>" << endl);
226 parametersB.set(Dmax_m);
227 parametersB.actionAtFileRead();
250 const bool is_equal = (parametersA == parametersB);
253 NOTICE(
GREEN <<
"The parameters for run " << run_number <<
" are equivalent." <<
RESET << endl);
255 ERROR (
RED <<
"The parameters for run " << run_number <<
" are NOT equivalent." <<
RESET << endl);
257 return (is_equal ? 0 : 1);
Utility class to parse command line options.
int main(int argc, char *argv[])
ROOT TTree parameter settings of various packages.
Recording of objects on file according a format that follows from the file name extension.
Auxiliary class for multiplexing object iterators.
Scanning of objects from a single file according a format that follows from the extension of each fil...
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
virtual const pointer_type & next() override
Get next element.
virtual bool hasNext() override
Check availability of next element.
General purpose messaging.
static const std::string PREFIX_DATAFILTER
This string is prepended to every parameter in the database output for the corresponding process...
Utility class to parse command line options.
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
ResultSet & getResultSet(const std::string &query)
Get result set.
std::vector< JServer > getServernames()
Get list of names of available database servers.
Wrapper class for server name.
Object reading from a list of files.
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
Template definition for getting table specific selector.
JTriggerParameters getTriggerParameters(const JMultipleFileScanner_t &file_list)
Get trigger parameters.