16 #include <TProfile2D.h>
34 monitorName_ = parameters_.getUntrackedParameter<
string>(
"monitorName",
"");
36 prescaleLS_ = parameters_.getUntrackedParameter<
int>(
"prescaleLS", -1);
38 prescaleEvt_ = parameters_.getUntrackedParameter<
int>(
"prescaleEvt", -1);
40 output_dir_ = parameters_.getUntrackedParameter<
string>(
"output_dir",
"");
42 input_dir_ = parameters_.getUntrackedParameter<
string>(
"input_dir",
"");
45 verbose_ = parameters_.getUntrackedParameter<
bool>(
"verbose",
false);
47 m_runInEventLoop = parameters_.getUntrackedParameter<
bool>(
"runInEventLoop",
false);
48 m_runInEndLumi = parameters_.getUntrackedParameter<
bool>(
"runInEndLumi",
false);
49 m_runInEndRun = parameters_.getUntrackedParameter<
bool>(
"runInEndRun",
false);
50 m_runInEndJob = parameters_.getUntrackedParameter<
bool>(
"runInEndJob",
false);
57 LogInfo(
"TriggerDQM") <<
"[TriggerDQM]: Begin Job";
61 m_deadChannels = ibooker.
book2D(
"RPCTF_deadchannels",
"RPCTF deadchannels", 33, -16.5, 16.5, 144, -0.5, 143.5);
62 m_noisyChannels = ibooker.
book2D(
"RPCTF_noisychannels",
"RPCTF noisy channels", 33, -16.5, 16.5, 144, -0.5, 143.5);
72 std::cout <<
"L1TRPCTFClient::endLuminosityBlock" << std::endl;
76 processHistograms(igetter);
82 processHistograms(igetter);
95 qreport = me->
getQReport(
"DeadChannels_RPCTF_2D");
97 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
98 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
100 m_deadChannels->setBinContent((*channel).getBinX(), (*channel).getBinY(), 100);
104 qreport = me->
getQReport(
"HotChannels_RPCTF_2D");
106 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
107 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
110 m_noisyChannels->setBinContent((*channel).getBinX(), 100);
118 std::vector<string> meVec = igetter.
getMEs();
119 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
124 std::vector<QReport *> Qtest_map = me->
getQReports();
126 if (!Qtest_map.empty()) {
127 std::cout <<
"Test: " << full_path << std::endl;
128 for (std::vector<QReport *>::const_iterator it = Qtest_map.begin(); it != Qtest_map.end(); ++it) {
129 std::cout <<
" Name " << (*it)->getQRName() <<
" Status " << (*it)->getStatus() << std::endl;
131 std::vector<dqm::me_util::Channel> badChannels = (*it)->getBadChannels();
133 vector<dqm::me_util::Channel>::iterator badchsit = badChannels.begin();
134 while (badchsit != badChannels.end()) {
135 int ix = (*badchsit).getBinX();
136 int iy = (*badchsit).getBinY();
137 std::cout <<
"(" << ix <<
"," << iy <<
") ";
static AlgebraicMatrix initialize()
const edm::EventSetup & c
virtual void setCurrentFolder(std::string const &fullpath)
void book(DQMStore::IBooker &ibooker)
const MonitorElementData::QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
L1TRPCTFClient(const edm::ParameterSet &ps)
Constructor.
std::vector< MonitorElementData::QReport * > getQReports() const
get map of QReports
virtual MonitorElement * get(std::string const &fullpath) const
void processHistograms(DQMStore::IGetter &igetter)
Log< level::Info, false > LogInfo
void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
~L1TRPCTFClient() override
Destructor.
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
const std::vector< DQMChannel > & getBadChannels() const
virtual std::vector< std::string > getMEs() const
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override