#include "FWCore/ServiceRegistry/interface/SystemBounds.h"
#include "DQMServices/Core/interface/Standalone.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/QReport.h"
#include "DQMServices/Core/interface/QTest.h"
#include "DQMServices/Core/src/ROOTFilePB.pb.h"
#include "DQMServices/Core/src/DQMError.h"
#include "classlib/utils/RegexpMatch.h"
#include "classlib/utils/Regexp.h"
#include "classlib/utils/StringOps.h"
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/io/gzip_stream.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include "TFile.h"
#include "TROOT.h"
#include "TKey.h"
#include "TClass.h"
#include "TSystem.h"
#include "TBufferFile.h"
#include <iterator>
#include <cerrno>
#include <boost/algorithm/string.hpp>
#include <fstream>
Go to the source code of this file.
|
static void | cleanTrailingSlashes (const std::string &path, std::string &clean, const std::string *&cleaned) |
|
template<class T > |
void | initQCriterion (std::map< std::string, QCriterion *(*)(const std::string &)> &m) |
|
static bool | isSubdirectory (const std::string &ofdir, const std::string &path) |
|
template<class T > |
QCriterion * | makeQCriterion (const std::string &qtname) |
|
static void | mergePath (std::string &path, const std::string &dir, const std::string &name) |
|
static const lat::Regexp | s_rxmeqr1 ("^st:(\\d+):([-+e.\\d]+):([^:]*):(.*)$") |
|
static const lat::Regexp | s_rxmeqr2 ("^st\\.(\\d+)\\.(.*)$") |
|
static const lat::Regexp | s_rxmeval ("^<(.*)>(i|f|s|e|t|qr)=(.*)</\\1>$") |
|
static const lat::Regexp | s_rxpbfile (".*\\.pb$") |
|
static const lat::Regexp | s_rxtrace ("(.*)\\((.*)\\+0x.*\\).*") |
|
static void | splitPath (std::string &dir, std::string &name, const std::string &path) |
|
|
static const std::string | s_collateDirName = "Collate" |
|
static const std::string | s_monitorDirName = "DQMData" |
| name of global monitoring folder (containing all sources subdirectories) More...
|
|
static const std::string | s_referenceDirName = "Reference" |
|
static const std::string | s_safe = "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=_()# " |
|
static void cleanTrailingSlashes |
( |
const std::string & |
path, |
|
|
std::string & |
clean, |
|
|
const std::string *& |
cleaned |
|
) |
| |
|
static |
Definition at line 78 of file DQMStore.cc.
References clean, and cmsHarvester::path.
Referenced by DQMStore::cd(), DQMStore::getAllContents(), DQMStore::getContents(), DQMStore::getStatus(), DQMStore::rmdir(), DQMStore::setCurrentFolder(), DQMStore::tagAllContents(), and DQMStore::useQTest().
83 size_t len =
path.size();
84 for ( ; len > 0 &&
path[len-1] ==
'/'; --len)
87 if (len != path.size())
89 clean = path.substr(0, len);
tuple path
else: Piece not in the list, fine.
template<class T >
void initQCriterion |
( |
std::map< std::string, QCriterion *(*)(const std::string &)> & |
m | ) |
|
Definition at line 124 of file DQMStore.cc.
References m.
125 {
m[T::getAlgoName()] = &makeQCriterion<T>; }
static bool isSubdirectory |
( |
const std::string & |
ofdir, |
|
|
const std::string & |
path |
|
) |
| |
|
static |
Check whether the path is a subdirectory of ofdir. Returns true both for an exact match and any nested subdirectory.
Definition at line 68 of file DQMStore.cc.
Referenced by DQMStore::containsAnyMonitorable(), DQMStore::extract(), DQMStore::getAllContents(), DQMStore::getAllTags(), DQMStore::getContents(), DQMStore::getMEs(), DQMStore::getStatus(), DQMStore::getSubdirs(), DQMStore::isCollateME(), DQMStore::readDirectory(), DQMStore::removeContents(), DQMStore::rmdir(), DQMStore::runQTests(), DQMStore::save(), DQMStore::savePB(), and DQMStore::tagAllContents().
71 || (
path.size() >= ofdir.size()
72 &&
path.compare(0, ofdir.size(), ofdir) == 0
73 && (
path.size() == ofdir.size()
74 ||
path[ofdir.size()] ==
'/')));
tuple path
else: Piece not in the list, fine.
template<class T >
QCriterion* makeQCriterion |
( |
const std::string & |
qtname | ) |
|
static void mergePath |
( |
std::string & |
path, |
|
|
const std::string & |
dir, |
|
|
const std::string & |
name |
|
) |
| |
|
static |
static const lat::Regexp s_rxmeqr1 |
( |
"^st:(\\d+):([-+e.\\d]+):([^:]*):(.*)$" |
| ) |
|
|
static |
static const lat::Regexp s_rxmeqr2 |
( |
"^st\\.(\\d+)\\.(.*)$" |
| ) |
|
|
static |
static const lat::Regexp s_rxmeval |
( |
| ) |
|
|
static |
static const lat::Regexp s_rxpbfile |
( |
".*\\.pb$" |
| ) |
|
|
static |
static const lat::Regexp s_rxtrace |
( |
"(.*)\\((.*)\\+0x.*\\).*" |
| ) |
|
|
static |
static void splitPath |
( |
std::string & |
dir, |
|
|
std::string & |
name, |
|
|
const std::string & |
path |
|
) |
| |
|
static |
const std::string s_collateDirName = "Collate" |
|
static |
const std::string s_monitorDirName = "DQMData" |
|
static |
const std::string s_referenceDirName = "Reference" |
|
static |
const std::string s_safe = "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=_()# " |
|
static |