13 std::string prefix_str = name.substr(0,(name.find(
":")));
15 std::string temp_str = name.substr(name.find(
":")+1);
16 split(temp_str, values,
",");
17 for (std::vector<std::string>::iterator it = values.begin();
18 it != values.end(); it++) (*it).insert(0,prefix_str);
26 dir_path = name.substr(0,(name.find(
":")));
28 std::string temp_str = name.substr(name.find(
":")+1);
29 split(temp_str, values,
",");
35 if (name.find(name) == std::string::npos)
return false;
36 std::string prefix_str = name.substr(0,(name.find(
":")));
38 std::string temp_str = name.substr(name.find(
":")+1);
39 std::vector<std::string>
values;
40 split(temp_str, values,
",");
41 for (std::vector<std::string>::iterator it = values.begin();
42 it != values.end(); it++) {
43 if ((*it).find(me_name) != std::string::npos) {
44 full_path = prefix_str + (*it);
61 while (std::string::npos != pos || std::string::npos != lastPos) {
63 tokens.push_back(str.substr(lastPos, pos - lastPos));
66 lastPos = str.find_first_not_of(delimiters, pos);
69 pos = str.find_first_of(delimiters, lastPos);
77 rval = 0; gval = 255; bval = 0;
79 rval = 255; gval = 255; bval = 0;
81 rval = 255; gval = 0; bval = 0;
83 rval = 255; gval = 150; bval = 0;
85 rval = 0; gval = 0; bval = 255;
133 if (currDir.find(
"module_") != std::string::npos) {
135 mfolders.push_back(currDir);
137 std::vector<std::string> subdirs = dqm_store->
getSubdirs();
138 for (std::vector<std::string>::const_iterator it = subdirs.begin();
139 it != subdirs.end(); it++) {
155 std::vector<QReport *> qreports = me->
getQReports();
156 bad_channels =qreports[0]->getBadChannels().size();
176 val = val.substr(val.find(
"=")+1);
185 if (dirName.find(name) == 0) {
188 std::vector<std::string> subDirVec = dqm_store->
getSubdirs();
189 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
190 ic != subDirVec.end(); ic++) {
193 (fname.find(
"Reference") != std::string::npos) ||
194 (fname.find(
"AlCaReco") != std::string::npos) ||
195 (fname.find(
"HLT") != std::string::npos)
197 dqm_store->
cd(fname);
208 if (hname.find(
"FractionOfBadChannels") != std::string::npos) flg |= (1<<0);
209 else if (hname.find(
"NumberOfDigi") != std::string::npos) flg |= (1<<1);
210 else if (hname.find(
"NumberOfCluster") != std::string::npos) flg |= (1<<2);
211 else if (hname.find(
"ExcludedFedChannel") != std::string::npos) flg |= (1<<3);
212 else if (hname.find(
"DCSError") != std::string::npos) flg |= (1<<4);
218 if (flag == 0) message +=
" No Error";
221 if (((flag >> 0) & 0x1) > 0) message +=
" Fed BadChannel : ";
222 if (((flag >> 1) & 0x1) > 0) message +=
" # of Digi : ";
223 if (((flag >> 2) & 0x1) > 0) message +=
" # of Clusters :";
224 if (((flag >> 3) & 0x1) > 0) message +=
" Excluded FED Channel ";
225 if (((flag >> 4) & 0x1) > 0) message +=
" DCSError ";
235 dqm_store->
cd(top_dir);
236 path = dqm_store->
pwd();
241 path = dqm_store->
pwd();
242 path = path.substr(0, path.find(tdir)-1);
std::vector< std::string > getSubdirs(void) const
static bool goToDir(DQMStore *dqm_store, std::string name)
void cd(void)
go to top directory (ie. root)
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 void getTopFolderPath(DQMStore *dqm_store, std::string top_dir, std::string &path)
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
Kind kind(void) const
Get the type of the monitor element.
static void getModuleFolderList(DQMStore *dqm_store, std::vector< std::string > &m_ids)
std::string valueString(void) const
bool dirExists(const std::string &path) const
true if directory exists
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)
void goUp(void)
equivalent to "cd .."
static const int STATUS_OK
const std::string & pwd(void) const