#include <DQM/HLTEvF/interface/HLTMonMuonClient.h>
Public Member Functions | |
HLTMonMuonClient (const edm::ParameterSet &ps) | |
Constructor. | |
virtual | ~HLTMonMuonClient () |
Destructor. | |
Protected Member Functions | |
void | analyze (const edm::Event &e, const edm::EventSetup &c) |
Fake Analyze. | |
void | beginJob (const edm::EventSetup &c) |
BeginJob. | |
void | beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) |
void | beginRun (const edm::Run &r, const edm::EventSetup &c) |
BeginRun. | |
void | endJob () |
Endjob. | |
void | endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) |
DQM Client Diagnostic. | |
void | endRun (const edm::Run &r, const edm::EventSetup &c) |
EndRun. | |
Private Member Functions | |
void | initialize () |
Private Attributes | |
DQMStore * | dbe |
std::string | input_dir |
std::string | output_dir |
edm::ParameterSet | parameters |
Definition at line 13 of file HLTMonMuonClient.h.
HLTMonMuonClient::HLTMonMuonClient | ( | const edm::ParameterSet & | ps | ) |
Constructor.
Definition at line 15 of file HLTMonMuonClient.cc.
References initialize(), and parameters.
00015 { 00016 parameters=ps; 00017 initialize(); 00018 }
HLTMonMuonClient::~HLTMonMuonClient | ( | ) | [virtual] |
void HLTMonMuonClient::analyze | ( | const edm::Event & | e, | |
const edm::EventSetup & | c | |||
) | [protected, virtual] |
Fake Analyze.
Implements edm::EDAnalyzer.
Definition at line 104 of file HLTMonMuonClient.cc.
00104 { 00105 /* 00106 counterEvt++; 00107 if (prescaleEvt<1) return; 00108 if (prescaleEvt>0 && counterEvt%prescaleEvt!=0) return; 00109 00110 // The code below duplicates one from endLuminosityBlock function 00111 vector<string> meVec = dbe->getMEs(); 00112 for(vector<string>::const_iterator it=meVec.begin(); it!=meVec.end(); it++){ 00113 string full_path = input_dir + "/" + (*it); 00114 MonitorElement *me =dbe->get(full_path); 00115 if( !me ){ 00116 LogError("TriggerDQM")<<full_path<<" NOT FOUND."; 00117 continue; 00118 } 00119 // But for now we only do a simple workaround 00120 if( (*it) != "CSCTF_errors" ) continue; 00121 TH1F *errors = me->getTH1F(); 00122 csctferrors_->getTH1F()->Reset(); 00123 if(!errors) continue; 00124 for(int bin=1; bin<=errors->GetXaxis()->GetNbins(); bin++) 00125 csctferrors_->Fill(bin-0.5,errors->GetBinContent(bin)); 00126 } 00127 */ 00128 }
void HLTMonMuonClient::beginJob | ( | const edm::EventSetup & | c | ) | [protected, virtual] |
BeginJob.
Reimplemented from edm::EDAnalyzer.
Definition at line 37 of file HLTMonMuonClient.cc.
References dbe, input_dir, output_dir, and DQMStore::setCurrentFolder().
00037 { 00038 // get backendinterface 00039 dbe = Service<DQMStore>().operator->(); 00040 00041 // do your thing 00042 dbe->setCurrentFolder(output_dir); 00043 //hltmonmuonerrors_ = dbe->book1D("hltmonmuonerrors_","HLTMonMuon Errors",6,0,6); 00044 dbe->setCurrentFolder(input_dir); 00045 }
void HLTMonMuonClient::beginLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, | |
const edm::EventSetup & | context | |||
) | [protected, virtual] |
void HLTMonMuonClient::beginRun | ( | const edm::Run & | r, | |
const edm::EventSetup & | c | |||
) | [protected, virtual] |
void HLTMonMuonClient::endLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, | |
const edm::EventSetup & | c | |||
) | [protected, virtual] |
DQM Client Diagnostic.
Reimplemented from edm::EDAnalyzer.
Definition at line 55 of file HLTMonMuonClient.cc.
00055 { 00056 /* 00057 vector<string> meVec = dbe->getMEs(); 00058 for(vector<string>::const_iterator it=meVec.begin(); it!=meVec.end(); it++){ 00059 string full_path = input_dir + "/" + (*it); 00060 MonitorElement *me =dbe->get(full_path); 00061 if( !me ){ 00062 LogInfo("TriggerDQM")<<full_path<<" NOT FOUND."; 00063 continue; 00064 } 00065 00066 // The commented code below requires to be developed to support QT framework--------------------------- 00067 00068 std::vector<QReport *> Qtest_map = me->getQReports(); 00069 for(std::vector<QReport *>::const_iterator it=Qtest_map.begin(); it!=Qtest_map.end(); it++){ 00070 string qt_name = (*it)->getQRName(); 00071 int qt_status = (*it)->getStatus(); 00072 00073 switch(qt_status){ 00074 case dqm::qstatus::WARNING: break; 00075 case dqm::qstatus::ERROR: break; 00076 case dqm::qstatus::DISABLED: break; 00077 case dqm::qstatus::INVALID: break; 00078 case dqm::qstatus::INSUF_STAT: break; 00079 default: break; 00080 } 00081 00082 // get bad channel list 00083 std::vector<dqm::me_util::Channel> badChannels=(*it)->getBadChannels(); 00084 for(vector<dqm::me_util::Channel>::iterator badchsit=badChannels.begin(); badchsit!=badChannels.end(); badchsit++){ 00085 int ix = badchsit->getBinX(); 00086 int iy = badchsit->getBinY(); 00087 (*badchsit).getContents(); 00088 } 00089 00090 } 00091 //------------------------------------------------------------ 00092 // But for now we only do a simple workaround 00093 if( (*it) != "CSCTF_errors" ) continue; 00094 TH1F *errors = me->getTH1F(); 00095 csctferrors_->getTH1F()->Reset(); 00096 if(!errors) continue; 00097 for(int bin=1; bin<=errors->GetXaxis()->GetNbins(); bin++) 00098 csctferrors_->Fill(bin-0.5,errors->GetBinContent(bin)); 00099 } 00100 */ 00101 }
void HLTMonMuonClient::endRun | ( | const edm::Run & | r, | |
const edm::EventSetup & | c | |||
) | [protected, virtual] |
void HLTMonMuonClient::initialize | ( | ) | [private] |
Definition at line 23 of file HLTMonMuonClient.cc.
Referenced by HLTMonMuonClient().
00023 { 00024 //counterLS = 0; 00025 //counterEvt = 0; 00026 00027 // get back-end interface 00028 //dbe = Service<DQMStore>().operator->(); 00029 00030 //input_dir = parameters.getUntrackedParameter<string>("input_dir",""); 00031 //output_dir = parameters.getUntrackedParameter<string>("output_dir",""); 00032 //prescaleLS = parameters.getUntrackedParameter<int>("prescaleLS",-1); 00033 //prescaleEvt = parameters.getUntrackedParameter<int>("prescaleEvt",-1); 00034 }
DQMStore* HLTMonMuonClient::dbe [private] |
std::string HLTMonMuonClient::input_dir [private] |
std::string HLTMonMuonClient::output_dir [private] |