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) & 0
x1) > 0) message +=
" Fed BadChannel : ";
219 if (((flag >> 1) & 0
x1) > 0) message +=
" # of Digi : ";
220 if (((flag >> 2) & 0
x1) > 0) message +=
" # of Clusters :";
221 if (((flag >> 3) & 0
x1) > 0) message +=
" Excluded FED Channel ";
222 if (((flag >> 4) & 0
x1) > 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)
std::string valueString() const
bool hasError() const
true if at least of one of the quality tests returned an error
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=" ")
static void getBadModuleStatus(uint16_t flag, std::string &message)
bool hasWarning() 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)
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)
std::string const & pwd()
bool dirExists(std::string const &path)
std::vector< QReport * > getQReports() const
get map of QReports
static void getMEValue(MonitorElement *me, std::string &val)
std::vector< std::string > getSubdirs()
static const int STATUS_OK
static void getTopFolderPath(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, std::string top_dir, std::string &path)
Kind kind() const
Get the type of the monitor element.