37   TIter iter(dir->GetListOfKeys());
 
   39   for (TKey* key; (key = (TKey*) iter.Next()) != NULL; ) {
 
   43       dir->cd(key->GetName());
 
   44       TDirectory *subdir = gDirectory;
 
   49       const TString fullPath(dir->GetPath());
 
   50       TObjArray* t = fullPath.Tokenize(
":");
 
   51       v.push_back(TString(((TObjString *)(t->At(1)))->String() + 
"/" + (TString)key->GetName()));
 
   63 int main(
int argc, 
char **argv)
 
   67   using namespace KM3NETDAQ;
 
   71   string         outputFileRoot;
 
   79     JParser<> zap(
"Auxiliary application to plot PMT parameters.");
 
   81     zap[
'f'] = 
make_field(inputFile,     
"JCompare output files");
 
   82     zap[
's'] = 
make_field(steeringFile,  
"JCompare steering file");
 
   83     zap[
'o'] = 
make_field(outputFileRoot,
"output file.")                                            = 
"out.root";
 
   84     zap[
't'] = 
make_field(outputFileTxt, 
"output file.")                                            = 
"out.txt";
 
   85     zap[
'r'] = 
make_field(regexp,        
"regular expresion to extract bin labels for the x-axis")  = 
" ";
 
   86     zap[
'L'] = 
make_field(labelInterval, 
"interval between x-axis bins for which labels are shown") = 1;
 
   91   catch(
const exception &error) {
 
   92     FATAL(error.what() << endl);
 
   95   const int NUMBER_OF_FILES = inputFile.size();
 
  102     const int n = (NUMBER_OF_FILES < labelInterval) ? 1 : labelInterval;
 
  104     const TPRegexp buffer(regexp);
 
  106     for (
int i = 0; i != NUMBER_OF_FILES; ++i){
 
  109         manager->GetXaxis()->SetBinLabel(i+1 , 
parse(buffer , TString(inputFile[i].c_str())));
 
  110         summaryManager->GetXaxis()->SetBinLabel(i+1 , 
parse(buffer , TString(inputFile[i].c_str())));
 
  112         manager->GetXaxis()->SetBinLabel(i+1 , 
" ");
 
  113         summaryManager->GetXaxis()->SetBinLabel(i+1 , 
" ");
 
  124     if (TFile::Open((*file).c_str()) == NULL) {
 
  125       ERROR(
"File: " << *
file << 
" not opened." << endl);
 
  129       TFile* 
f = TFile::Open((*file).c_str());
 
  138         if(!(dynamic_cast<TH1*>(o) == NULL) || !(dynamic_cast<TH2*>(o) == NULL)){
 
  140           istringstream iss(o->GetTitle());
 
  145           summaryManager[
MAKE_STRING(t.parameter)]->Fill(
c , t.value);
 
  147           manager[
MAKE_STRING((*key).Data())]->GetYaxis()->SetTitle(t.parameter.c_str());
 
  154   TFile* out = 
new TFile(outputFileRoot.c_str(),
"recreate");
 
  160   ifstream infile(steeringFile);
 
  166   while (
getline(infile, line)) {
 
  167       while (line.length()==0) 
 
  169       tests.push_back(line);
 
  170       istringstream iss(line);
 
  172       map[
d[id]->getTestName()]++;
 
  176   summary.open (outputFileTxt);
 
  181     i->second->Scale(1./n);
 
  182     summary << 
"File_ID\t" << i->first << 
"\t" << i->first + 
"(ERROR)\t" << endl;
 
  183     cout << 
"File_ID\t" << i->first << 
"\t" << i->first + 
"(ERROR)\t" << endl;
 
  185     for (
int bin=1 ; bin<i->second->GetNbinsX() ; ++bin){
 
  186       i->second->SetBinError(bin,quantiles[name][bin].getSTDev()/sqrt(n));
 
  187       summary << i->second->GetXaxis()->GetBinLabel(bin) << 
"\t" << i->second->GetBinContent(bin) << 
"\t" << i->second->GetBinError(bin) << endl;
 
  188       cout << i->second->GetXaxis()->GetBinLabel(bin) << 
"\t" << i->second->GetBinContent(bin) << 
"\t" << i->second->GetBinError(bin) << endl;
 
  196     string fullpath = 
MAKE_STRING(i->second->GetName());
 
  197     string path = 
MAKE_STRING(fullpath.substr (fullpath.find (
'/') + 1 , fullpath.rfind (
'/')));
 
  199     if (out->GetDirectory(path.c_str()) == 0) out->mkdir(path.c_str());
 
  200     out->cd(path.c_str());
 
  202     i -> second -> SetName(
MAKE_CSTRING(fullpath.substr (fullpath.rfind (
'/') + 1)));
 
  204     for (
int bin=0 ; bin<i->second->GetNbinsX()+1 ; ++bin){i->second->SetBinError(bin,0.0);}
 
  205     i -> second -> Write();
 
Utility class to parse command line options. 
 
bool read(const JEquation &equation)
Read equation. 
 
int main(int argc, char *argv[])
 
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
 
Class dedicated to standardize the title of the graphical objects produced by the JTest_t() derived c...
 
then echo Enter input within $TIMEOUT_S seconds echo n User name
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
#define MAKE_CSTRING(A)
Make C-string. 
 
Dynamic ROOT object management. 
 
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
 
Data structure for detector geometry and calibration. 
 
#define MAKE_STRING(A)
Make string. 
 
boost::property_tree::ptree parse(std::string str)
 
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys...
 
I/O formatting auxiliaries. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line. 
 
$WORKDIR driver txt done cat $WORKDIR driver txt<< EOFprocess ${DATAFILTER}$FILTER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataFilter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAFILTER}-P $PORT</dev/null > &/dev/null &))';process ${DATAWRITER}$WRITER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataWriter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAWRITER}</dev/null > &/dev/null &))';print enterevent ev_init{RC_CMD}event ev_reset{RC_CMD}event ev_init{RC_CMD}event ev_configure{RC_DFLTR%<$WORKDIR/ev_configure_datafilter.txt > RC_DQSIM<$WORKDIR/ev_configure_dqsimulator.txt > RC_DWRT path
 
General purpose messaging. 
 
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
Utility class to parse command line options. 
 
KM3NeT DAQ constants, bit handling, etc. 
 
void readDir(TDirectory *dir, std::vector< TString > &v)