File indexing completed on 2024-04-06 12:09:55
0001 #include "DQMOffline/Trigger/interface/HLTTauCertifier.h"
0002
0003 using namespace std;
0004 using namespace edm;
0005
0006
0007
0008
0009 HLTTauCertifier::HLTTauCertifier(const edm::ParameterSet &ps) {
0010 targetFolder_ = ps.getParameter<string>("targetDir");
0011 targetME_ = ps.getParameter<string>("targetME");
0012 inputMEs_ = ps.getParameter<vector<string> >("inputMEs");
0013 setBadRunOnWarnings_ = ps.getParameter<bool>("setBadRunOnWarnings");
0014 setBadRunOnErrors_ = ps.getParameter<bool>("setBadRunOnErrors");
0015 }
0016
0017 HLTTauCertifier::~HLTTauCertifier() = default;
0018
0019
0020 void HLTTauCertifier::dqmEndJob(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter) {
0021 int warnings = 0;
0022 int errors = 0;
0023 double response = 1.0;
0024
0025 for (auto const &inputME : inputMEs_) {
0026 MonitorElement *monElement = iGetter.get(inputME);
0027 if (monElement) {
0028 warnings += monElement->getQWarnings().size();
0029 errors += monElement->getQErrors().size();
0030 }
0031 }
0032 if (setBadRunOnWarnings_ && warnings > 0)
0033 response = 0.0;
0034
0035 if (setBadRunOnErrors_ && errors > 0)
0036 response = 0.0;
0037
0038
0039 iBooker.setCurrentFolder(targetFolder_);
0040 MonitorElement *certME = iBooker.bookFloat(targetME_);
0041 certME->Fill(response);
0042 }
0043
0044 #include "FWCore/Framework/interface/MakerMacros.h"
0045 DEFINE_FWK_MODULE(HLTTauCertifier);