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();
15 it != values.end(); it++) (*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)
return false;
33 std::string prefix_str = name.substr(0,(name.find(
":")));
35 std::string temp_str = name.substr(name.find(
":")+1);
36 std::vector<std::string>
values;
37 split(temp_str, values,
",");
38 for (std::vector<std::string>::iterator it = values.begin();
39 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);
74 rval = 0; gval = 255; bval = 0;
76 rval = 255; gval = 255; bval = 0;
78 rval = 255; gval = 0; bval = 0;
80 rval = 255; gval = 150; bval = 0;
82 rval = 0; gval = 0; bval = 255;
130 if (currDir.find(
"module_") != std::string::npos) {
132 mfolders.push_back(currDir);
134 std::vector<std::string> subdirs = igetter.
getSubdirs();
135 for (std::vector<std::string>::const_iterator it = subdirs.begin();
136 it != subdirs.end(); it++) {
152 std::vector<QReport *> qreports = me->
getQReports();
153 bad_channels =qreports[0]->getBadChannels().size();
173 val = val.substr(val.find(
"=")+1);
182 if (dirName.find(name) == 0) {
185 std::vector<std::string> subDirVec = igetter.
getSubdirs();
186 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
187 ic != subDirVec.end(); ic++) {
190 (fname.find(
"Reference") != std::string::npos) ||
191 (fname.find(
"AlCaReco") != std::string::npos) ||
192 (fname.find(
"HLT") != std::string::npos)
195 if (!
goToDir(ibooker,igetter, name)) ibooker.
goUp();
205 if (hname.find(
"FractionOfBadChannels") != std::string::npos) flg |= (1<<0);
206 else if (hname.find(
"NumberOfDigi") != std::string::npos) flg |= (1<<1);
207 else if (hname.find(
"NumberOfCluster") != std::string::npos) flg |= (1<<2);
208 else if (hname.find(
"ExcludedFedChannel") != std::string::npos) flg |= (1<<3);
209 else if (hname.find(
"DCSError") != std::string::npos) flg |= (1<<4);
215 if (flag == 0) message +=
" No Error";
218 if (((flag >> 0) & 0x1) > 0) message +=
" Fed BadChannel : ";
219 if (((flag >> 1) & 0x1) > 0) message +=
" # of Digi : ";
220 if (((flag >> 2) & 0x1) > 0) message +=
" # of Clusters :";
221 if (((flag >> 3) & 0x1) > 0) message +=
" Excluded FED Channel ";
222 if (((flag >> 4) & 0x1) > 0) message +=
" DCSError ";
233 path = ibooker.
pwd();
238 path = ibooker.
pwd();
239 path = path.substr(0, path.find(tdir)-1);
static void getModuleFolderList(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::vector< std::string > &m_ids)
const std::string & pwd(void)
bool hasError(void) const
true if at least of one of the quality tests returned an error
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=" ")
static void getBadModuleStatus(uint16_t flag, std::string &message)
bool hasWarning(void) const
true if at least of one of the quality tests returned a warning
static bool goToDir(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string name)
Kind kind(void) const
Get the type of the monitor element.
std::string valueString(void) const
bool dirExists(const std::string &path)
unsigned long long int rval
static void getMEStatusColor(int status, int &rval, int &gval, int &bval)
std::vector< QReport * > getQReports(void) const
get map of QReports
static void setBadModuleFlag(std::string &hname, uint16_t &flg)
bool hasOtherReport(void) const
true if at least of one of the tests returned some other (non-ok) status
static void getMEValue(MonitorElement *me, std::string &val)
std::vector< std::string > getSubdirs(void)
static const int STATUS_OK
static void getTopFolderPath(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string top_dir, std::string &path)