33 int main(
int argc, 
char **argv)
 
   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. 
int main(int argc, char *argv[])
Print objects in ASCII format using ROOT dictionary. 
*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. 
I/O formatting auxiliaries. 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
Auxiliary data structure for streaming of STL containers. 
General purpose messaging. 
Auxiliary class to define a range between two values. 
Utility class to parse command line options. 
ResultSet & getResultSet(const std::string &query)
Get result set. 
std::vector< JServer > getServernames()
Get list of names of available database servers.