157 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
">>> EndRun (HLTMuonCertSummary) <<<" << std::endl;
160 LogInfo (
"DQMGenericClient") <<
"No dqmstore... skipping processing step" << endl;
164 std::vector<string> histoNameVector;
175 int SummaryBitResult = 100;
182 MonitorElement* reportSummaryMap =
dbe_->
book2D(
"HLT_MUON_ReportSummaryMap",
"HLT_MUON: ReportSummaryMap",6,-0.5,5.5,1,-0.5,0.5);
183 MonitorElement* CertificationSummaryMap =
dbe_->
book2D(
"HLT_MUON_CertificationSummaryMap",
"HLT_MUON: CertificationSummaryMap",6,-0.5,5.5,1,-0.5,0.5);
185 TH2 * reportSummaryMapTH2 = reportSummaryMap->
getTH2F();
187 reportSummaryMapTH2->GetXaxis()->SetBinLabel(1,
"PhiEtaOccAll");
188 reportSummaryMapTH2->GetXaxis()->SetBinLabel(2,
"PhiEtaOccMatch");
189 reportSummaryMapTH2->GetXaxis()->SetBinLabel(3,
"PhiEtaEff");
190 reportSummaryMapTH2->GetXaxis()->SetBinLabel(4,
"PhiEff");
191 reportSummaryMapTH2->GetXaxis()->SetBinLabel(5,
"EtaEff");
192 reportSummaryMapTH2->GetXaxis()->SetBinLabel(6,
"PtEff");
194 reportSummaryMapTH2->GetYaxis()->SetBinLabel(1,
"HLT_Mu5_allMuons");
197 TH2 * CertificationSummaryMapTH2 = CertificationSummaryMap->getTH2F();
199 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(1,
"PhiEtaOccAll");
200 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(2,
"PhiEtaOccMatch");
201 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(3,
"PhiEtaEff");
202 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(4,
"PhiEff");
203 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(5,
"EtaEff");
204 CertificationSummaryMapTH2->GetXaxis()->SetBinLabel(6,
"PtEff");
206 CertificationSummaryMapTH2->GetYaxis()->SetBinLabel(1,
"HLT_Mu5_allMuons");
209 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recPhiVsRecEta_All");
210 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recPhiVsRecEta_L3Filtered");
211 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPhiVsEta_L3Filtered");
212 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPt_L3Filtered");
213 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffPhi_L3Filtered");
214 histoNameVector.push_back(
"HLT/Muon/Distributions/HLT_Mu5/allMuons/recEffEta_L3Filtered");
221 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
"\n>>> looping over histograms to be tested <<<\n\n";
223 for(std::vector<string>::iterator it=histoNameVector.begin();it!=histoNameVector.end();++it){
231 TestHist =
dbe_->
get(HistoName);
233 bool validMe = TestHist!=0;
234 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
" is valid? " << validMe <<
"\n";
235 if(!validMe)
continue;
237 string histNameNoPath = TestHist->
getName();
239 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
">>> TestHist Name: " << histNameNoPath <<
"\n\n";
244 std::vector<QReport *> myQReports = TestHist->
getQReports();
245 if(
verbose_)
LogInfo (
"HLTMuonVal") << TestHist->
getName() <<
": myQReports.size() = " << myQReports.size() <<
"\n\n";
246 for(uint
i=0;
i!=myQReports.size();++
i) {
249 float qtresult = myQReports[
i]->getQTresult();
250 int qtstatus = myQReports[
i]->getStatus() ;
252 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtname: " << qtname <<
"\n";
253 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtresult: " << qtresult << std::endl;
254 if(
verbose_)
LogInfo (
"HLTMuonVal") <<
"\tTest " <<
i <<
": qtstatus: " << qtstatus <<
"\n\n";
260 qValueInt->
Fill(qtstatus);
265 if (HistoName.find(
"recPhiVsRecEta_All") != std::string::npos) {
266 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(1,1), qtstatus);
267 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(1,1), qtstatus );
268 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
269 if ( (qtstatus == 300) ) SummaryBitResult = 300;
273 if (HistoName.find(
"recPhiVsRecEta_L3Filtered") != std::string::npos) {
274 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(2,1), qtstatus);
275 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(2,1), qtstatus);
276 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
277 if (qtstatus == 300 ) SummaryBitResult = 300;
281 if (HistoName.find(
"recEffPhiVsEta_L3Filtered") != std::string::npos) {
282 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(3,1), qtstatus );
283 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(3,1), qtstatus);
284 if ( (qtstatus == 200) && (SummaryBitResult < 300)) SummaryBitResult = 200;
285 if (qtstatus == 300 ) SummaryBitResult = 300;
288 if (HistoName.find(
"recEffPhi_L3Filtered") != std::string::npos) {
289 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(4,1), qtstatus);
290 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(4,1), qtstatus);
293 if (HistoName.find(
"recEffEta_L3Filtered") != std::string::npos) {
294 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(5,1), qtstatus);
295 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(5,1), qtstatus);
298 if (HistoName.find(
"recEffPt_L3Filtered") != std::string::npos) {
299 reportSummaryMapTH2->SetBinContent(reportSummaryMapTH2->GetBin(6,1), qtstatus);
300 CertificationSummaryMapTH2->SetBinContent(CertificationSummaryMapTH2->GetBin(6,1), qtstatus);
308 reportSummary->Fill(SummaryBitResult);
309 CertificationSummary->Fill(SummaryBitResult);
318 if (SummaryBitResult == 100){
319 muonHLTQualityBinaryBit->
Fill(1);
321 muonHLTQualityBinaryBit->Fill(0);
const std::string & getName(void) const
get name of ME
MonitorElement * bookFloat(const char *name)
Book float.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
std::vector< QReport * > getQReports(void) const
get map of QReports
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)