38 typedef JRange<int> JRange_t;
56 JParser<> zap(
"Main program to print quality data from data base.");
63 zap[
'R'] =
make_field(runs,
"Run range") = JRange_t(1, JRange_t::getMaximum());
64 zap[
'S'] =
make_field(source,
"GIT versions") =
getGITTags(TRegexp(
"v[0-9]*\\.[0-9]*\\.[0-9]*$"), JGITTags_t::key_type(
"2019-04-12"));
72 catch(
const exception &error) {
73 FATAL(error.what() << endl);
84 const int ID = getDetector<int> (detid);
85 detid = getDetector<string>(detid);
89 selection += getSelector<JRuns>(
ID, runs.getLowerLimit(), runs.getUpperLimit());
91 ResultSet& rs =
getResultSet(getTable<JRuns>(), selection);
94 if (TString(parameters.RUNSETUPNAME.c_str()).Contains(regexp)) {
95 setups.put(parameters);
110 JSelector selector = getSelector<JRunSummaryNumbers>(detid, runs.getLowerLimit(), runs.getUpperLimit());
112 selector.add(&JRunSummaryNumbers::SOURCE_NAME, *git);
116 ResultSet& rs =
getResultSet(getTable<JRunSummaryNumbers>(), selector);
118 for (JRunSummaryNumbers parameters; rs >>
parameters; ) {
119 if (setups.count(parameters.RUN) != 0) {
120 zmap[parameters.RUN].insert(make_pair(parameters.PARAMETER_NAME, parameters.DATA_VALUE));
126 catch(
const exception& error) {}
128 for (map_type::const_iterator run = zmap.begin(); run != zmap.end(); ++run) {
133 quality.detector =
ID;
134 quality.run = run->first;
135 quality.name = setups[run->first].name;
136 quality.value = setups[run->first].value;
138 for (data_type::const_iterator i = run->second.begin(); i != run->second.end(); ++i) {
139 quality.put(i->first, i->second);
142 buffer.insert(quality);
146 catch(
const exception& error) {
147 FATAL(error.what() << endl);
Utility class to parse command line options.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
std::vector< std::string > getGITTags(const TRegexp ®exp, const JGITTags_t::key_type &date)
Get selection of GIT tags.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary data structure for streaming of STL containers.
ResultSet & getResultSet(const std::string &query)
Get result set.
std::vector< JServer > getServernames()
Get list of names of available database servers.