79 if (
verbose_)
std::cout <<
">>> BeginJob (DataCertificationJetMET) <<<" << std::endl;
91 if (
verbose_)
std::cout <<
">>> EndJob (DataCertificationJetMET) <<<" << std::endl;
111 if (
verbose_)
std::cout <<
">>> BeginLuminosityBlock (DataCertificationJetMET) <<<" << std::endl;
123 if (
verbose_)
std::cout <<
">>> EndLuminosityBlock (DataCertificationJetMET) <<<" << std::endl;
137 if (
verbose_)
std::cout <<
">>> BeginRun (DataCertificationJetMET) <<<" << std::endl;
147 if (
verbose_)
std::cout <<
">>> EndRun (DataCertificationJetMET) <<<" << std::endl;
152 std::vector<MonitorElement*> mes;
153 std::vector<std::string> subDirVec;
158 std::string RefRunDir;
168 if (
verbose_)
std::cout <<
"1 >>> found " << mes.size() <<
" monitoring elements!" << std::endl;
172 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
173 ic != subDirVec.end(); ic++) {
178 RunNumber = run.
id().
run();
186 if (
verbose_)
std::cout <<
"found " << mes.size() <<
" monitoring elements!" << std::endl;
189 std::string currDir =
dbe_->
pwd();
196 for (std::vector<std::string>::const_iterator ic = subDirVec.begin();
197 ic != subDirVec.end(); ic++) {
207 if (RunDir ==
"JetMET") {
209 if (
verbose_)
std::cout <<
"-XXX- RunDir = >>" << RunDir.c_str() <<
"<<" << std::endl;
213 RunNumber = atoi(RunNum.c_str());
227 MonitorElement* CertificationSummaryMap =
dbe_->
book2D(
"CertificationSummaryMap",
"CertificationSummaryMap",3,0,3,5,0,5);
228 reportSummaryMap->
getTH2F()->SetStats(kFALSE);
229 CertificationSummaryMap->
getTH2F()->SetStats(kFALSE);
230 reportSummaryMap->
getTH2F()->SetOption(
"colz");
231 CertificationSummaryMap->
getTH2F()->SetOption(
"colz");
237 CertificationSummaryMap->
setBinLabel(1,
"CaloTower");
241 reportSummary->
Fill(1.);
242 CertificationSummary->
Fill(1.);
245 if (RunDir==
"Reference") RunDir=
"";
249 std::string refHistoName;
250 std::string newHistoName;
263 if (RunDir ==
"") newHistoName =
"JetMET/Jet/";
264 else newHistoName = RunDir+
"/JetMET/Run summary/Jet/";
265 std::string cleaningdir =
"";
267 cleaningdir =
"Cleaned";
269 meJetPhi[0] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Phi_Barrel");
270 meJetPhi[1] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Phi_EndCap");
271 meJetPhi[2] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Phi_Forward");
272 meJetPhi[3] =
dbe_->
get(newHistoName+
"PFJets/Phi");
273 meJetPhi[4] =
dbe_->
get(newHistoName+
"JPT/Phi");
276 meJetEta[0] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Eta");
277 meJetEta[1] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Eta");
278 meJetEta[2] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Eta");
279 meJetEta[3] =
dbe_->
get(newHistoName+
"PFJets/Eta");
280 meJetEta[4] =
dbe_->
get(newHistoName+
"JPT/Eta");
283 meJetPt[0] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Pt_Barrel");
284 meJetPt[1] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Pt_EndCap");
285 meJetPt[2] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Pt_Forward");
286 meJetPt[3] =
dbe_->
get(newHistoName+
"PFJets/Pt2");
287 meJetPt[4] =
dbe_->
get(newHistoName+
"JPT/Pt2");
290 meJetConstituents[0] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Constituents");
291 meJetConstituents[1] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Constituents");
292 meJetConstituents[2] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/Constituents");
293 meJetConstituents[3] =
dbe_->
get(newHistoName+
"PFJets/Constituents");
296 meJetEMFrac[0] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/EFrac");
297 meJetEMFrac[1] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/EFrac");
298 meJetEMFrac[2] =
dbe_->
get(newHistoName+cleaningdir+
"AntiKtJets/EFrac");
299 meJetEMFrac[3] =
dbe_->
get(newHistoName+
"PFJets/EFrac");
302 meJetNTracks =
dbe_->
get(newHistoName+
"JPT/nTracks");
319 const QReport* QReport_JetEta[5] = {0, 0, 0, 0, 0};
320 const QReport* QReport_JetPhi[5] = {0, 0, 0, 0, 0};
323 const QReport* QReport_JetConstituents[4][2] = {{0,0}, {0,0}, {0,0}, {0,0}};
324 const QReport* QReport_JetEFrac[4][2] = {{0,0}, {0,0}, {0,0}, {0,0}};
325 const QReport* QReport_JetPt[5][2] = {{0,0}, {0,0}, {0,0}, {0,0}, {0,0}};
328 const QReport* QReport_JetNTracks[2] = {0, 0};
330 float qr_Jet_NTracks[2] = {-1, -1};
331 float qr_Jet_Eta[5] = {-1, -1, -1, -1, -1};
332 float qr_Jet_Phi[5] = {-1, -1, -1, -1, -1};
333 float dc_Jet[5] = {-1, -1, -1, -1, -1};
335 float qr_Jet_Constituents[4][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}};
336 float qr_Jet_EFrac[4][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}};
337 float qr_Jet_Pt[5][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}};
342 for (
int jtyp=0; jtyp<5; ++jtyp) {
346 if (meJetConstituents[jtyp]) {
347 QReport_JetConstituents[jtyp][0] = meJetConstituents[jtyp]->
getQReport(
"meanJetConstituentsTest");
348 QReport_JetConstituents[jtyp][1] = meJetConstituents[jtyp]->
getQReport(
"KolmogorovTest");
350 if (meJetEMFrac[jtyp]) {
351 QReport_JetEFrac[jtyp][0] = meJetEMFrac[jtyp]->
getQReport(
"meanEMFractionTest");
352 QReport_JetEFrac[jtyp][1] = meJetEMFrac[jtyp]->
getQReport(
"KolmogorovTest");
357 QReport_JetNTracks[0] = meJetNTracks->
getQReport(
"meanNTracksTest");
358 QReport_JetNTracks[1] = meJetNTracks->
getQReport(
"KolmogorovTest");
362 QReport_JetPt[jtyp][0] = meJetPt[jtyp]->
getQReport(
"meanJetPtTest");
363 QReport_JetPt[jtyp][1] = meJetPt[jtyp]->
getQReport(
"KolmogorovTest");
366 QReport_JetPhi[jtyp] = meJetPhi[jtyp]->
getQReport(
"KolmogorovTest");
368 QReport_JetEta[jtyp] = meJetEta[jtyp]->
getQReport(
"KolmogorovTest");
371 if (QReport_JetPt[jtyp][0]){
372 if (QReport_JetPt[jtyp][0]->getStatus()==100 ||
373 QReport_JetPt[jtyp][0]->getStatus()==200)
374 qr_Jet_Pt[jtyp][0] = 1;
375 else if (QReport_JetPt[jtyp][0]->getStatus()==300)
376 qr_Jet_Pt[jtyp][0] = 0;
378 qr_Jet_Pt[jtyp][0] = -1;
380 else qr_Jet_Pt[jtyp][0] = -2;
382 if (QReport_JetPt[jtyp][1]){
383 if (QReport_JetPt[jtyp][1]->getStatus()==100 ||
384 QReport_JetPt[jtyp][1]->getStatus()==200)
385 qr_Jet_Pt[jtyp][1] = 1;
386 else if (QReport_JetPt[jtyp][1]->getStatus()==300)
387 qr_Jet_Pt[jtyp][1] = 0;
389 qr_Jet_Pt[jtyp][1] = -1;
391 else qr_Jet_Pt[jtyp][1] = -2;
394 if (QReport_JetPhi[jtyp]){
395 if (QReport_JetPhi[jtyp]->getStatus()==100 ||
396 QReport_JetPhi[jtyp]->getStatus()==200)
397 qr_Jet_Phi[jtyp] = 1;
398 else if (QReport_JetPhi[jtyp]->getStatus()==300)
399 qr_Jet_Phi[jtyp] = 0;
401 qr_Jet_Phi[jtyp] = -1;
403 else qr_Jet_Phi[jtyp] = -2;
406 if (QReport_JetEta[jtyp]){
407 if (QReport_JetEta[jtyp]->getStatus()==100 ||
408 QReport_JetEta[jtyp]->getStatus()==200)
409 qr_Jet_Eta[jtyp] = 1;
410 else if (QReport_JetEta[jtyp]->getStatus()==300)
411 qr_Jet_Eta[jtyp] = 0;
413 qr_Jet_Eta[jtyp] = -1;
415 else qr_Jet_Eta[jtyp] = -2;
419 if (QReport_JetConstituents[jtyp][0]){
420 if (QReport_JetConstituents[jtyp][0]->getStatus()==100 ||
421 QReport_JetConstituents[jtyp][0]->getStatus()==200)
422 qr_Jet_Constituents[jtyp][0] = 1;
423 else if (QReport_JetConstituents[jtyp][0]->getStatus()==300)
424 qr_Jet_Constituents[jtyp][0] = 0;
426 qr_Jet_Constituents[jtyp][0] = -1;
428 else qr_Jet_Constituents[jtyp][0] = -2;
430 if (QReport_JetConstituents[jtyp][1]){
431 if (QReport_JetConstituents[jtyp][1]->getStatus()==100 ||
432 QReport_JetConstituents[jtyp][1]->getStatus()==200)
433 qr_Jet_Constituents[jtyp][1] = 1;
434 else if (QReport_JetConstituents[jtyp][1]->getStatus()==300)
435 qr_Jet_Constituents[jtyp][1] = 0;
437 qr_Jet_Constituents[jtyp][1] = -1;
439 else qr_Jet_Constituents[jtyp][1] = -2;
442 if (QReport_JetEFrac[jtyp][0]){
443 if (QReport_JetEFrac[jtyp][0]->getStatus()==100 ||
444 QReport_JetEFrac[jtyp][0]->getStatus()==200)
445 qr_Jet_EFrac[jtyp][0] = 1;
446 else if (QReport_JetEFrac[jtyp][0]->getStatus()==300)
447 qr_Jet_EFrac[jtyp][0] = 0;
449 qr_Jet_EFrac[jtyp][0] = -1;
451 else qr_Jet_EFrac[jtyp][0] = -2;
453 if (QReport_JetEFrac[jtyp][1]){
454 if (QReport_JetEFrac[jtyp][1]->getStatus()==100 ||
455 QReport_JetEFrac[jtyp][1]->getStatus()==200)
456 qr_Jet_EFrac[jtyp][1] = 1;
457 else if (QReport_JetEFrac[jtyp][1]->getStatus()==300)
458 qr_Jet_EFrac[jtyp][1] = 0;
460 qr_Jet_EFrac[jtyp][1] = -1;
462 else qr_Jet_EFrac[jtyp][1] = -2;
465 for (
int ii = 0; ii < 2; ++ii) {
467 if (QReport_JetNTracks[ii]){
468 if (QReport_JetNTracks[ii]->getStatus()==100 ||
469 QReport_JetNTracks[ii]->getStatus()==200)
470 qr_Jet_NTracks[ii] = 1;
471 else if (QReport_JetNTracks[ii]->getStatus()==300)
472 qr_Jet_NTracks[ii] = 0;
474 qr_Jet_NTracks[ii] = -1;
476 else qr_Jet_NTracks[ii] = -2;
481 printf(
"====================Jet Type %d QTest Report Summary========================\n",jtyp);
482 printf(
"Eta: Phi: Pt 1: 2: Const/Ntracks 1: 2: EFrac/tracknhits 1: 2:\n");
484 printf(
"%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \
487 qr_Jet_Pt[jtyp][0], \
488 qr_Jet_Pt[jtyp][1], \
489 qr_Jet_Constituents[jtyp][0], \
490 qr_Jet_Constituents[jtyp][1], \
491 qr_Jet_EFrac[jtyp][0], \
492 qr_Jet_EFrac[jtyp][1]);
495 printf(
"%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \
498 qr_Jet_Pt[jtyp][0], \
499 qr_Jet_Pt[jtyp][1], \
503 printf(
"===========================================================================\n");
508 for (
int ttyp = 0; ttyp < 2; ++ttyp) {
510 qr_Jet_Pt[jtyp][ttyp] = 1;
512 qr_Jet_Eta[jtyp] = 1;
513 qr_Jet_Phi[jtyp] = 1;
516 qr_Jet_EFrac[jtyp][ttyp] = 1;
517 qr_Jet_Constituents[jtyp][ttyp] = 1;
520 qr_Jet_NTracks[ttyp] = 1;
527 if ( (qr_Jet_EFrac[jtyp][0] == 0) ||
528 (qr_Jet_EFrac[jtyp][1] == 0) ||
529 (qr_Jet_Constituents[jtyp][1] == 0) ||
530 (qr_Jet_Constituents[jtyp][0] == 0) ||
531 (qr_Jet_Eta[jtyp] == 0) ||
532 (qr_Jet_Phi[jtyp] == 0) ||
533 (qr_Jet_Pt[jtyp][0] == 0) ||
534 (qr_Jet_Pt[jtyp][1] == 0)
537 else if ( (qr_Jet_EFrac[jtyp][0] == -1) &&
538 (qr_Jet_EFrac[jtyp][1] == -1) &&
539 (qr_Jet_Constituents[jtyp][1] == -1) &&
540 (qr_Jet_Constituents[jtyp][0] == -1) &&
541 (qr_Jet_Eta[jtyp] == -1) &&
542 (qr_Jet_Phi[jtyp] == -1) &&
543 (qr_Jet_Pt[jtyp][0] == -1) &&
544 (qr_Jet_Pt[jtyp][1] == -1 )
547 else if ( (qr_Jet_EFrac[jtyp][0] == -2) &&
548 (qr_Jet_EFrac[jtyp][1] == -2) &&
549 (qr_Jet_Constituents[jtyp][1] == -2) &&
550 (qr_Jet_Constituents[jtyp][0] == -2) &&
551 (qr_Jet_Eta[jtyp] == -2) &&
552 (qr_Jet_Phi[jtyp] == -2) &&
553 (qr_Jet_Pt[jtyp][0] == -2) &&
554 (qr_Jet_Pt[jtyp][1] == -2)
561 if ( (qr_Jet_NTracks[0] == 0) ||
562 (qr_Jet_NTracks[1] == 0) ||
563 (qr_Jet_Eta[jtyp] == 0) ||
564 (qr_Jet_Phi[jtyp] == 0) ||
565 (qr_Jet_Pt[jtyp][0] == 0) ||
566 (qr_Jet_Pt[jtyp][1] == 0)
569 else if ( (qr_Jet_NTracks[0] == -1) &&
570 (qr_Jet_NTracks[1] == -1) &&
571 (qr_Jet_Eta[jtyp] == -1) &&
572 (qr_Jet_Phi[jtyp] == -1) &&
573 (qr_Jet_Pt[jtyp][0] == -1) &&
574 (qr_Jet_Pt[jtyp][1] == -1)
577 else if ( (qr_Jet_NTracks[0] == -2) &&
578 (qr_Jet_NTracks[1] == -2) &&
579 (qr_Jet_Eta[jtyp] == -2) &&
580 (qr_Jet_Phi[jtyp] == -2) &&
581 (qr_Jet_Pt[jtyp][0] == -2) &&
582 (qr_Jet_Pt[jtyp][1] == -2)
589 if (
verbose_)
std::cout<<
"Certifying Jet algo: "<<jtyp<<
" with value: "<<dc_Jet[jtyp]<<std::endl;
590 CertificationSummaryMap->
Fill(2, 4-jtyp, dc_Jet[jtyp]);
591 reportSummaryMap->
Fill(2, 4-jtyp, dc_Jet[jtyp]);
611 if (RunDir ==
"") newHistoName =
"JetMET/MET/";
612 else newHistoName = RunDir+
"/JetMET/Run summary/MET/";
615 cleaningdir =
"BasicCleanup";
619 meMExy[0][0] =
dbe_->
get(newHistoName+
"CaloMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMEx");
620 meMExy[0][1] =
dbe_->
get(newHistoName+
"CaloMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMEy");
623 meMExy[1][0] =
dbe_->
get(newHistoName+
"PfMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_PfMEx");
624 meMExy[1][1] =
dbe_->
get(newHistoName+
"PfMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_PfMEy");
625 meMExy[2][0] =
dbe_->
get(newHistoName+
"TcMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_MEx");
626 meMExy[2][1] =
dbe_->
get(newHistoName+
"TcMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_MEy");
627 meMExy[3][0] =
dbe_->
get(newHistoName+
"MuCorrMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMEx");
628 meMExy[3][1] =
dbe_->
get(newHistoName+
"MuCorrMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMEy");
630 meMETPhi[0] =
dbe_->
get(newHistoName+
"CaloMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMETPhi");
632 meMETPhi[1] =
dbe_->
get(newHistoName+
"PfMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_PfMETPhi");
633 meMETPhi[2] =
dbe_->
get(newHistoName+
"TcMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_METPhi");
634 meMETPhi[3] =
dbe_->
get(newHistoName+
"MuCorrMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMETPhi");
636 meMEt[0] =
dbe_->
get(newHistoName+
"CaloMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMET");
638 meMEt[1] =
dbe_->
get(newHistoName+
"PfMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_PfMET");
639 meMEt[2] =
dbe_->
get(newHistoName+
"TcMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_MET");
640 meMEt[3] =
dbe_->
get(newHistoName+
"MuCorrMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloMET");
642 meSumEt[0] =
dbe_->
get(newHistoName+
"CaloMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloSumET");
644 meSumEt[1] =
dbe_->
get(newHistoName+
"PfMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_PfSumET");
645 meSumEt[2] =
dbe_->
get(newHistoName+
"TcMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_SumET");
646 meSumEt[3] =
dbe_->
get(newHistoName+
"MuCorrMET/"+cleaningdir+
"/"+
metFolder+
"/METTask_CaloSumET");
654 const QReport * QReport_MExy[4][2][2];
655 const QReport * QReport_MEt[4][2];
656 const QReport * QReport_SumEt[4][2];
658 const QReport * QReport_METPhi[4][2];
661 float qr_MET_MExy[4][2][2] = {{{-999.}}};
662 float qr_MET_MEt[4][2] = {{-999.}};
663 float qr_MET_SumEt[4][2] = {{-999.}};
664 float qr_MET_METPhi[4][2] = {{-999.}};
665 float dc_MET[4] = {-999.};
670 for (
int mtyp = 0; mtyp < 3; ++mtyp){
677 if (meMExy[mtyp][0]) {
678 QReport_MExy[mtyp][0][0] = meMExy[mtyp][0]->
getQReport(
"meanMExyTest");
679 QReport_MExy[mtyp][1][0] = meMExy[mtyp][0]->
getQReport(
"KolmogorovTest");
681 if (meMExy[mtyp][1]) {
682 QReport_MExy[mtyp][0][1] = meMExy[mtyp][1]->
getQReport(
"meanMExyTest");
683 QReport_MExy[mtyp][1][1] = meMExy[mtyp][1]->
getQReport(
"KolmogorovTest");
686 QReport_MEt[mtyp][0] = meMEt[mtyp]->
getQReport(
"meanMETTest");
687 QReport_MEt[mtyp][1] = meMEt[mtyp]->
getQReport(
"KolmogorovTest");
691 QReport_SumEt[mtyp][0] = meSumEt[mtyp]->
getQReport(
"meanSumETTest");
692 QReport_SumEt[mtyp][1] = meSumEt[mtyp]->
getQReport(
"KolmogorovTest");
695 if (meMETPhi[mtyp]) {
696 QReport_METPhi[mtyp][0] = meMETPhi[mtyp]->
getQReport(
"phiQTest");
697 QReport_METPhi[mtyp][1] = meMETPhi[mtyp]->
getQReport(
"KolmogorovTest");
699 for (
int testtyp = 0; testtyp < 2; ++testtyp) {
701 if (QReport_MExy[mtyp][testtyp][0]){
702 if (QReport_MExy[mtyp][testtyp][0]->getStatus()==100 ||
703 QReport_MExy[mtyp][testtyp][0]->getStatus()==200)
704 qr_MET_MExy[mtyp][testtyp][0] = 1;
705 else if (QReport_MExy[mtyp][testtyp][0]->getStatus()==300)
706 qr_MET_MExy[mtyp][testtyp][0] = 0;
708 qr_MET_MExy[mtyp][testtyp][0] = -1;
710 else qr_MET_MExy[mtyp][testtyp][0] = -2;
713 if (QReport_MExy[mtyp][testtyp][1]){
714 if (QReport_MExy[mtyp][testtyp][1]->getStatus()==100 ||
715 QReport_MExy[mtyp][testtyp][1]->getStatus()==200)
716 qr_MET_MExy[mtyp][testtyp][1] = 1;
717 else if (QReport_MExy[mtyp][testtyp][1]->getStatus()==300)
718 qr_MET_MExy[mtyp][testtyp][1] = 0;
720 qr_MET_MExy[mtyp][testtyp][1] = -1;
722 else qr_MET_MExy[mtyp][testtyp][1] = -2;
725 if (QReport_MEt[mtyp][testtyp]){
726 if (QReport_MEt[mtyp][testtyp]->getStatus()==100 ||
727 QReport_MEt[mtyp][testtyp]->getStatus()==200)
728 qr_MET_MEt[mtyp][testtyp] = 1;
729 else if (QReport_MEt[mtyp][testtyp]->getStatus()==300)
730 qr_MET_MEt[mtyp][testtyp] = 0;
732 qr_MET_MEt[mtyp][testtyp] = -1;
734 else qr_MET_MEt[mtyp][testtyp] = -2;
737 if (QReport_SumEt[mtyp][testtyp]){
738 if (QReport_SumEt[mtyp][testtyp]->getStatus()==100 ||
739 QReport_SumEt[mtyp][testtyp]->getStatus()==200)
740 qr_MET_SumEt[mtyp][testtyp] = 1;
741 else if (QReport_SumEt[mtyp][testtyp]->getStatus()==300)
742 qr_MET_SumEt[mtyp][testtyp] = 0;
744 qr_MET_SumEt[mtyp][testtyp] = -1;
746 else qr_MET_SumEt[mtyp][testtyp] = -2;
749 if (QReport_METPhi[mtyp][testtyp]){
750 if (QReport_METPhi[mtyp][testtyp]->getStatus()==100 ||
751 QReport_METPhi[mtyp][testtyp]->getStatus()==200)
752 qr_MET_METPhi[mtyp][testtyp] = 1;
753 else if (QReport_METPhi[mtyp][testtyp]->getStatus()==300)
754 qr_MET_METPhi[mtyp][testtyp] = 0;
756 qr_MET_METPhi[mtyp][testtyp] = -1;
758 else qr_MET_METPhi[mtyp][testtyp] = -2;
763 printf(
"====================MET Type %d QTest Report Summary========================\n",mtyp);
764 printf(
"MEx test MEy test MEt test: SumEt test: METPhi test:\n");
765 for (
int tt = 0;
tt < 2; ++
tt) {
766 printf(
"%2.2f %2.2f %2.2f %2.2f %2.2f\n",qr_MET_MExy[mtyp][
tt][0], \
767 qr_MET_MExy[mtyp][tt][1], \
768 qr_MET_MEt[mtyp][tt], \
769 qr_MET_SumEt[mtyp][tt], \
770 qr_MET_METPhi[mtyp][tt]);
772 printf(
"===========================================================================\n");
777 for (
int ttyp = 0; ttyp < 2; ++ttyp) {
779 qr_MET_MExy[mtyp][ttyp][0] = 1;
780 qr_MET_MExy[mtyp][ttyp][1] = 1;
781 qr_MET_MEt[mtyp][ttyp] = 1;
782 qr_MET_SumEt[mtyp][ttyp] = 1;
783 qr_MET_METPhi[mtyp][ttyp] = 1;
789 (qr_MET_MExy[mtyp][0][0] == 0) ||
790 (qr_MET_MExy[mtyp][0][1] == 0) ||
791 (qr_MET_MEt[mtyp][0] == 0) ||
792 (qr_MET_SumEt[mtyp][0] == 0) ||
793 (qr_MET_METPhi[mtyp][0] == 0) ||
794 (qr_MET_MExy[mtyp][1][0] == 0) ||
795 (qr_MET_MExy[mtyp][1][1] == 0) ||
796 (qr_MET_MEt[mtyp][1] == 0) ||
797 (qr_MET_SumEt[mtyp][1] == 0) ||
798 (qr_MET_METPhi[mtyp][1] == 0)
802 (qr_MET_MExy[mtyp][0][0] == -1) &&
803 (qr_MET_MExy[mtyp][0][1] == -1) &&
804 (qr_MET_MEt[mtyp][0] == -1) &&
805 (qr_MET_SumEt[mtyp][0] == -1) &&
806 (qr_MET_METPhi[mtyp][0] == -1) &&
807 (qr_MET_MExy[mtyp][1][0] == -1) &&
808 (qr_MET_MExy[mtyp][1][1] == -1) &&
809 (qr_MET_MEt[mtyp][1] == -1) &&
810 (qr_MET_SumEt[mtyp][1] == -1) &&
811 (qr_MET_METPhi[mtyp][1] == -1)
815 (qr_MET_MExy[mtyp][0][0] == -2) &&
816 (qr_MET_MExy[mtyp][0][1] == -2) &&
817 (qr_MET_MEt[mtyp][0] == -2) &&
818 (qr_MET_SumEt[mtyp][0] == -2) &&
819 (qr_MET_METPhi[mtyp][0] == -2) &&
820 (qr_MET_MExy[mtyp][1][0] == -2) &&
821 (qr_MET_MExy[mtyp][1][1] == -2) &&
822 (qr_MET_MEt[mtyp][1] == -2) &&
823 (qr_MET_SumEt[mtyp][1] == -2) &&
824 (qr_MET_METPhi[mtyp][1] == -2)
830 if (
verbose_)
std::cout<<
"Certifying MET algo: "<<mtyp<<
" with value: "<<dc_MET[mtyp]<<std::endl;
831 CertificationSummaryMap->
Fill(1, 4-mtyp, dc_MET[mtyp]);
832 reportSummaryMap->
Fill(1, 4-mtyp, dc_MET[mtyp]);
861 float dc_CT[3] = {-2.};
870 for (
int cttyp = 0; cttyp < 3; ++cttyp) {
872 if (
verbose_)
std::cout<<
"Certifying CaloTowers with value: "<<dc_CT[cttyp]<<std::endl;
873 CertificationSummaryMap->
Fill(0, 4-cttyp, dc_CT[cttyp]);
874 reportSummaryMap->
Fill(0, 4-cttyp, dc_CT[cttyp]);
LuminosityBlockID id() const
T getUntrackedParameter(std::string const &, T const &) const
virtual void beginJob(void)
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
std::vector< std::string > getSubdirs(void) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
MonitorElement * bookFloat(const char *name)
Book float.
std::vector< MonitorElement * > getAllContents(const std::string &path) const
virtual void endRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
virtual void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
LuminosityBlockNumber_t luminosityBlock() const
void showDirStructure(void) const
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)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
~DataCertificationJetMET()
const std::string & pwd(void) const
DataCertificationJetMET(const edm::ParameterSet &)