68 virtual void endJob()
override ;
94 LogInfo (
"DQMGenericClient") <<
"Can't find DQMStore, no results will be saved"
103 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> Constructor (HLTMuonCertSummary) <<<" << endl;
123 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> Analyze (HLTMuonCertSummary) <<<" << std::endl;
145 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> BeginRun (HLTMuonCertSummary) <<<" << std::endl;
146 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> "<< run.
id() << std::endl;
156 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> EndRun (HLTMuonCertSummary) <<<" << std::endl;
159 LogInfo (
"DQMGenericClient") <<
"No dqmstore... skipping processing step" << endl;
163 std::vector<string> histoNameVector;
174 int SummaryBitResult = 100;
181 MonitorElement* reportSummaryMap =
dbe_->
book2D(
"HLT_MUON_ReportSummaryMap",
"HLT_MUON: ReportSummaryMap",6,-0.5,5.5,1,-0.5,0.5);
182 MonitorElement* CertificationSummaryMap =
dbe_->
book2D(
"HLT_MUON_CertificationSummaryMap",
"HLT_MUON: CertificationSummaryMap",6,-0.5,5.5,1,-0.5,0.5);
184 TH2 * reportSummaryMapTH2 = reportSummaryMap->
getTH2F();
186 reportSummaryMapTH2->GetXaxis()->SetBinLabel(1,
"PhiEtaOccAll");
187 reportSummaryMapTH2->GetXaxis()->SetBinLabel(2,
"PhiEtaOccMatch");
188 reportSummaryMapTH2->GetXaxis()->SetBinLabel(3,
"PhiEtaEff");
189 reportSummaryMapTH2->GetXaxis()->SetBinLabel(4,
"PhiEff");
190 reportSummaryMapTH2->GetXaxis()->SetBinLabel(5,
"EtaEff");
191 reportSummaryMapTH2->GetXaxis()->SetBinLabel(6,
"PtEff");
193 reportSummaryMapTH2->GetYaxis()->SetBinLabel(1,
"HLT_Mu5_allMuons");
196 TH2 * CertificationSummaryMapTH2 = CertificationSummaryMap->getTH2F();
198 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(1,
"PhiEtaOccAll");
199 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(2,
"PhiEtaOccMatch");
200 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(3,
"PhiEtaEff");
201 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(4,
"PhiEff");
202 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(5,
"EtaEff");
203 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(6,
"PtEff");
205 CertificationSummaryMapTH2->GetYaxis()->SetBinLabel(1,
"HLT_Mu5_allMuons");
208 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recPhiVsRecEta_All");
209 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recPhiVsRecEta_L3Filtered");
210 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPhiVsEta_L3Filtered");
211 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPt_L3Filtered");
212 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPhi_L3Filtered");
213 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffEta_L3Filtered");
220 if(verbose_)
LogInfo (
"HLTMuonVal") <<
"\n>>> looping over histograms to be tested <<<\n\n";
222 for(std::vector<string>::iterator it=histoNameVector.begin();it!=histoNameVector.end();++it){
230 TestHist =
dbe_->
get(HistoName);
232 bool validMe = TestHist!=0;
233 if(verbose_)
LogInfo (
"HLTMuonVal") <<
" is valid? " << validMe <<
"\n";
234 if(!validMe)
continue;
236 string histNameNoPath = TestHist->
getName();
238 if(verbose_)
LogInfo (
"HLTMuonVal") <<
">>> TestHist Name: " << histNameNoPath <<
"\n\n";
243 std::vector<QReport *> myQReports = TestHist->
getQReports();
244 if(verbose_)
LogInfo (
"HLTMuonVal") << TestHist->
getName() <<
": myQReports.size() = " << myQReports.size() <<
"\n\n";
245 for(uint
i=0;
i!=myQReports.size();++
i) {
248 float qtresult = myQReports[
i]->getQTresult();
249 int qtstatus = myQReports[
i]->getStatus() ;
251 if(verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtname: " << qtname <<
"\n";
252 if(verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtresult: " << qtresult << std::endl;
253 if(verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtstatus: " << qtstatus <<
"\n\n";
259 qValueInt->
Fill(qtstatus);
264 if (HistoName.find(
"recPhiVsRecEta_All") != std::string::npos) {
265 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(1,1), qtstatus);
266 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(1,1), qtstatus );
267 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
268 if ( (qtstatus == 300) ) SummaryBitResult = 300;
272 if (HistoName.find(
"recPhiVsRecEta_L3Filtered") != std::string::npos) {
273 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(2,1), qtstatus);
274 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(2,1), qtstatus);
275 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
276 if (qtstatus == 300 ) SummaryBitResult = 300;
280 if (HistoName.find(
"recEffPhiVsEta_L3Filtered") != std::string::npos) {
281 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(3,1), qtstatus );
282 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(3,1), qtstatus);
283 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
284 if (qtstatus == 300 ) SummaryBitResult = 300;
287 if (HistoName.find(
"recEffPhi_L3Filtered") != std::string::npos) {
288 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(4,1), qtstatus);
289 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(4,1), qtstatus);
292 if (HistoName.find(
"recEffEta_L3Filtered") != std::string::npos) {
293 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(5,1), qtstatus);
294 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(5,1), qtstatus);
297 if (HistoName.find(
"recEffPt_L3Filtered") != std::string::npos) {
298 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(6,1), qtstatus);
299 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(6,1), qtstatus);
307 reportSummary->Fill(SummaryBitResult);
308 CertificationSummary->Fill(SummaryBitResult);
317 if (SummaryBitResult == 100){
318 muonHLTQualityBinaryBit->
Fill(1);
320 muonHLTQualityBinaryBit->Fill(0);
virtual void beginJob() override
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
HLTMuonCertSummary(const edm::ParameterSet &pset)
virtual void endJob() override
#define DEFINE_FWK_MODULE(type)
edm::ParameterSet parameters_
MonitorElement * bookFloat(const char *name)
Book float.
void setVerbose(unsigned level)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
virtual void endRun(const edm::Run &, const edm::EventSetup &) override
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< QReport * > getQReports(void) const
get map of QReports
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void setCurrentFolder(const std::string &fullpath)