18 #include <TProfile2D.h> 30 LogInfo(
"TriggerDQM")<<
"[TriggerDQM]: ending... ";
40 monitorName_ = parameters_.getUntrackedParameter<
string>(
"monitorName",
"");
42 prescaleLS_ = parameters_.getUntrackedParameter<
int>(
"prescaleLS", -1);
44 prescaleEvt_ = parameters_.getUntrackedParameter<
int>(
"prescaleEvt", -1);
46 output_dir_ = parameters_.getUntrackedParameter<
string>(
"output_dir",
"");
48 input_dir_ = parameters_.getUntrackedParameter<
string>(
"input_dir",
"");
51 verbose_ = parameters_.getUntrackedParameter<
bool>(
"verbose",
false);
53 m_runInEventLoop = parameters_.getUntrackedParameter<
bool>(
"runInEventLoop",
false);
54 m_runInEndLumi = parameters_.getUntrackedParameter<
bool>(
"runInEndLumi",
false);
55 m_runInEndRun = parameters_.getUntrackedParameter<
bool>(
"runInEndRun",
false);
56 m_runInEndJob = parameters_.getUntrackedParameter<
bool>(
"runInEndJob",
false);
67 LogInfo(
"TriggerDQM")<<
"[TriggerDQM]: Begin Job";
71 m_deadChannels = ibooker.
book2D(
"RPCTF_deadchannels",
75 m_noisyChannels = ibooker.
book2D(
"RPCTF_noisychannels",
76 "RPCTF noisy channels",
85 if (verbose_)
std::cout <<
"L1TRPCTFClient::endLuminosityBlock" << std::endl;
89 processHistograms(igetter);
96 processHistograms(igetter);
107 = igetter.
get( input_dir_+
"/RPCTF_muons_eta_phi_bx0" );
112 qreport = me->
getQReport(
"DeadChannels_RPCTF_2D");
114 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
115 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
116 channel != badChannels.end();
119 m_deadChannels->setBinContent((*channel).getBinX(),
120 (*channel).getBinY(),
125 qreport = me->
getQReport(
"HotChannels_RPCTF_2D");
127 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
128 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
129 channel != badChannels.end();
133 m_noisyChannels->setBinContent((*channel).getBinX(), 100);
145 std::vector<string> meVec = igetter.
getMEs();
146 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
152 std::vector<QReport *> Qtest_map = me->
getQReports();
154 if (!Qtest_map.empty()) {
155 std::cout <<
"Test: " << full_path << std::endl;
156 for (std::vector<QReport *>::const_iterator it = Qtest_map.begin();
157 it != Qtest_map.end();
161 <<
" Name "<< (*it)->getQRName()
162 <<
" Status " << (*it)->getStatus()
165 std::vector<dqm::me_util::Channel> badChannels=(*it)->getBadChannels();
167 vector<dqm::me_util::Channel>::iterator badchsit = badChannels.begin();
168 while(badchsit != badChannels.end())
170 int ix = (*badchsit).getBinX();
171 int iy = (*badchsit).getBinY();
172 std::cout <<
"(" << ix <<
","<< iy <<
") ";
static AlgebraicMatrix initialize()
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
const std::vector< DQMChannel > & getBadChannels() const
MonitorElement * get(const std::string &path)
void book(DQMStore::IBooker &ibooker)
L1TRPCTFClient(const edm::ParameterSet &ps)
Constructor.
void processHistograms(DQMStore::IGetter &igetter)
void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
~L1TRPCTFClient() override
Destructor.
std::vector< QReport * > getQReports() const
get map of QReports
void setCurrentFolder(const std::string &fullpath)
std::vector< std::string > getMEs()
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override