File indexing completed on 2024-04-06 12:07:12
0001 #include "DQM/EcalCommon/interface/EcalMEFormatter.h"
0002
0003 #include "DQM/EcalCommon/interface/MESetDet2D.h"
0004
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "FWCore/ServiceRegistry/interface/Service.h"
0007
0008 #include "FWCore/Framework/interface/MakerMacros.h"
0009
0010 #include <limits>
0011
0012 EcalMEFormatter::EcalMEFormatter(edm::ParameterSet const &_ps) : DQMEDHarvester(), ecaldqm::DQWorker() {
0013 initialize("EcalMEFormatter", _ps);
0014 edm::ConsumesCollector collector(consumesCollector());
0015 setTokens(collector);
0016 setME(_ps.getUntrackedParameterSet("MEs"));
0017 verbosity_ = _ps.getUntrackedParameter<int>("verbosity", 0);
0018 }
0019
0020
0021 void EcalMEFormatter::fillDescriptions(edm::ConfigurationDescriptions &_descs) {
0022 edm::ParameterSetDescription desc;
0023 ecaldqm::DQWorker::fillDescriptions(desc);
0024 desc.addUntracked<int>("verbosity", 0);
0025
0026 _descs.addDefault(desc);
0027 }
0028
0029 void EcalMEFormatter::dqmEndLuminosityBlock(DQMStore::IBooker &,
0030 DQMStore::IGetter &_igetter,
0031 edm::LuminosityBlock const &,
0032 edm::EventSetup const &_es) {
0033 setSetupObjectsEndLumi(_es);
0034 format_(_igetter, true);
0035 }
0036
0037 void EcalMEFormatter::dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &_igetter) { format_(_igetter, false); }
0038
0039 void EcalMEFormatter::format_(DQMStore::IGetter &_igetter, bool _checkLumi) {
0040 std::string failedPath;
0041
0042 for (auto &mItr : MEs_) {
0043 if (_checkLumi && !mItr.second->getLumiFlag())
0044 continue;
0045 mItr.second->clear();
0046 if (!mItr.second->retrieve(GetElectronicsMap(), _igetter, &failedPath)) {
0047 if (verbosity_ > 0)
0048 edm::LogWarning("EcalDQM") << "Could not find ME " << mItr.first << "@" << failedPath;
0049 continue;
0050 }
0051 if (verbosity_ > 1)
0052 edm::LogInfo("EcalDQM") << "Retrieved " << mItr.first << " from DQMStore";
0053
0054 if (dynamic_cast<ecaldqm::MESetDet2D *>(mItr.second.get()))
0055 formatDet2D_(*mItr.second);
0056 }
0057 }
0058
0059 void EcalMEFormatter::formatDet2D_(ecaldqm::MESet &_meSet) { return; }
0060
0061 DEFINE_FWK_MODULE(EcalMEFormatter);