18 #include <TProfile2D.h>
30 LogInfo(
"TriggerDQM")<<
"[TriggerDQM]: ending... ";
43 monitorName_ = parameters_.getUntrackedParameter<
string>(
"monitorName",
"");
45 prescaleLS_ = parameters_.getUntrackedParameter<
int>(
"prescaleLS", -1);
47 prescaleEvt_ = parameters_.getUntrackedParameter<
int>(
"prescaleEvt", -1);
49 output_dir_ = parameters_.getUntrackedParameter<
string>(
"output_dir",
"");
51 input_dir_ = parameters_.getUntrackedParameter<
string>(
"input_dir",
"");
54 verbose_ = parameters_.getUntrackedParameter<
bool>(
"verbose",
false);
56 m_runInEventLoop = parameters_.getUntrackedParameter<
bool>(
"runInEventLoop",
false);
57 m_runInEndLumi = parameters_.getUntrackedParameter<
bool>(
"runInEndLumi",
false);
58 m_runInEndRun = parameters_.getUntrackedParameter<
bool>(
"runInEndRun",
false);
59 m_runInEndJob = parameters_.getUntrackedParameter<
bool>(
"runInEndJob",
false);
70 LogInfo(
"TriggerDQM")<<
"[TriggerDQM]: Begin Job";
77 m_deadChannels =
dbe_->
book2D(
"RPCTF_deadchannels",
81 m_noisyChannels =
dbe_->
book2D(
"RPCTF_noisychannels",
82 "RPCTF noisy channels",
100 if (verbose_)
std::cout <<
"L1TRPCTFClient::endLuminosityBlock" << std::endl;
102 if (m_runInEndLumi) {
113 if (prescaleEvt_ < 1)
115 if (prescaleEvt_ > 0 && counterEvt_ % prescaleEvt_ != 0)
121 if (m_runInEventLoop) {
157 =
dbe_->
get( (input_dir_+
"/RPCTF_muons_eta_phi_bx0").c_str() );
162 qreport = me->
getQReport(
"DeadChannels_RPCTF_2D");
164 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
165 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
166 channel != badChannels.end();
169 m_deadChannels->setBinContent((*channel).getBinX(),
170 (*channel).getBinY(),
175 qreport = me->
getQReport(
"HotChannels_RPCTF_2D");
177 vector<dqm::me_util::Channel> badChannels = qreport->
getBadChannels();
178 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin();
179 channel != badChannels.end();
183 m_noisyChannels->setBinContent((*channel).getBinX(), 100);
196 for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
198 std::string full_path = input_dir_ +
"/" + (*it);
202 std::vector<QReport *> Qtest_map = me->
getQReports();
204 if (Qtest_map.size() > 0) {
205 std::cout <<
"Test: " << full_path << std::endl;
206 for (std::vector<QReport *>::const_iterator it = Qtest_map.begin();
207 it != Qtest_map.end();
211 <<
" Name "<< (*it)->getQRName()
212 <<
" Status " << (*it)->getStatus()
215 std::vector<dqm::me_util::Channel> badChannels=(*it)->getBadChannels();
217 vector<dqm::me_util::Channel>::iterator badchsit = badChannels.begin();
218 while(badchsit != badChannels.end())
220 int ix = (*badchsit).getBinX();
221 int iy = (*badchsit).getBinY();
222 std::cout <<
"(" << ix <<
","<< iy <<
") ";
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
L1TRPCTFClient(const edm::ParameterSet &ps)
Constructor.
virtual ~L1TRPCTFClient()
Destructor.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
void beginJob(void)
BeginJob.
const std::vector< DQMChannel > & getBadChannels(void) const
void analyze(const edm::Event &e, const edm::EventSetup &c)
Fake Analyze.
std::vector< QReport * > getQReports(void) const
get map of QReports
std::vector< std::string > getMEs(void) const
get list of (non-dir) MEs of current directory
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
DQM Client Diagnostic.
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
void setCurrentFolder(const std::string &fullpath)