10 std::string prefix_str = name.substr(0, (name.find(
":")));
12 std::string temp_str = name.substr(name.find(
":") + 1);
13 split(temp_str, values,
",");
14 for (std::vector<std::string>::iterator it = values.begin(); it != values.end(); it++)
15 (*it).insert(0, prefix_str);
23 dir_path = name.substr(0, (name.find(
":")));
25 std::string temp_str = name.substr(name.find(
":") + 1);
26 split(temp_str, values,
",");
32 if (name.find(name) == std::string::npos)
34 std::string prefix_str = name.substr(0, (name.find(
":")));
36 std::string temp_str = name.substr(name.find(
":") + 1);
37 std::vector<std::string>
values;
38 split(temp_str, values,
",");
39 for (std::vector<std::string>::iterator it = values.begin(); it != values.end(); it++) {
40 if ((*it).find(me_name) != std::string::npos) {
41 full_path = prefix_str + (*it);
58 while (std::string::npos != pos || std::string::npos != lastPos) {
60 tokens.push_back(str.substr(lastPos, pos - lastPos));
63 lastPos = str.find_first_not_of(delimiters, pos);
66 pos = str.find_first_of(delimiters, lastPos);
140 std::vector<std::string>& mfolders) {
142 if (currDir.find(
"module_") != std::string::npos) {
144 mfolders.push_back(currDir);
146 std::vector<std::string> subdirs = igetter.
getSubdirs();
147 for (std::vector<std::string>::const_iterator it = subdirs.begin(); it != subdirs.end(); it++) {
163 std::vector<QReport*> qreports = me->
getQReports();
164 bad_channels = qreports[0]->getBadChannels().size();
184 val = val.substr(val.find(
"=") + 1);
193 if (dirName.find(name) == 0) {
196 std::vector<std::string> subDirVec = igetter.
getSubdirs();
197 for (std::vector<std::string>::const_iterator ic = subDirVec.begin(); ic != subDirVec.end(); ic++) {
199 if ((fname.find(
"Reference") != std::string::npos) || (fname.find(
"AlCaReco") != std::string::npos) ||
200 (fname.find(
"HLT") != std::string::npos))
203 if (!
goToDir(ibooker, igetter, name))
214 if (hname.find(
"FractionOfBadChannels") != std::string::npos)
216 else if (hname.find(
"NumberOfDigi") != std::string::npos)
218 else if (hname.find(
"NumberOfCluster") != std::string::npos)
220 else if (hname.find(
"ExcludedFedChannel") != std::string::npos)
222 else if (hname.find(
"DCSError") != std::string::npos)
230 message +=
" No Error";
233 if (((flag >> 0) & 0
x1) > 0)
234 message +=
" Fed BadChannel : ";
235 if (((flag >> 1) & 0
x1) > 0)
236 message +=
" # of Digi : ";
237 if (((flag >> 2) & 0
x1) > 0)
238 message +=
" # of Clusters :";
239 if (((flag >> 3) & 0
x1) > 0)
240 message +=
" Excluded FED Channel ";
241 if (((flag >> 4) & 0
x1) > 0)
242 message +=
" DCSError ";
256 path = ibooker.
pwd();
261 path = ibooker.
pwd();
262 path = path.substr(0, path.find(tdir) - 1);
static void getModuleFolderList(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::vector< std::string > &m_ids)
Kind kind() const
Get the type of the monitor element.
bool hasOtherReport() const
true if at least of one of the tests returned some other (non-ok) status
static int getMEList(std::string name, std::vector< std::string > &values)
static bool checkME(std::string element, std::string name, std::string &full_path)
static int getMEStatus(MonitorElement *me)
static void split(const std::string &str, std::vector< std::string > &tokens, const std::string &delimiters=" ")
bool hasWarning() const
true if at least of one of the quality tests returned a warning
static void getBadModuleStatus(uint16_t flag, std::string &message)
bool dirExists(std::string const &path)
static bool goToDir(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string name)
std::vector< QReport * > getQReports() const
get map of QReports
unsigned long long int rval
static void getMEStatusColor(int status, int &rval, int &gval, int &bval)
static void setBadModuleFlag(std::string &hname, uint16_t &flg)
bool hasError() const
true if at least of one of the quality tests returned an error
std::string valueString() const
std::string const & pwd()
static void getMEValue(MonitorElement *me, std::string &val)
static const int STATUS_OK
static void getTopFolderPath(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string top_dir, std::string &path)
std::vector< std::string > getSubdirs()