1 #include "../interface/EcalDQMonitorTask.h" 3 #include "../interface/DQWorkerTask.h" 31 allowMissingCollections_(_ps.getUntrackedParameter<
bool>(
"allowMissingCollections")),
34 resetInterval_(_ps.getUntrackedParameter<double>(
"resetInterval"))
37 std::bitset<ecaldqm::nCollections> hasTaskToRun;
43 throw cms::Exception(
"InvalidConfiguration") <<
"Non-task DQWorker " << worker->
getName() <<
" passed";
48 hasTaskToRun.set(iCol);
57 if(hasTaskToRun[iCol])
60 if(collectionTags.existsAs<
edm::InputTag>(
"EcalRawData",
false))
67 ss <<
moduleName_ <<
": Using collections" << std::endl;
68 for(
unsigned iCol(0); iCol <
schedule_.size(); iCol++)
74 if(commonParams.getUntrackedParameter<
bool>(
"onlineMode"))
95 desc.
addUntracked<
bool>(
"allowMissingCollections",
true);
108 },
"bookMEs",
"Booking MEs");
133 },
"releaseMEs",
"releasing histograms");
164 std::set<ecaldqm::DQWorker*> enabledTasks;
169 std::stringstream ss;
175 if(
verbosity_ > 2) ss << dcchItr->getRunType() <<
" ";
176 runType[dcchItr->id() - 1] = dcchItr->getRunType();
183 if(static_cast<ecaldqm::DQWorkerTask*>(worker)->filterRunType(runType)){
185 enabledTasks.insert(worker);
190 if(!processEvent)
return;
193 edm::LogWarning(
"EcalDQM") <<
"EcalRawDataCollection does not exist. No event-type filtering will be applied";
195 enabledTasks.insert(worker);
203 if(enabledTasks.find(worker) != enabledTasks.end()){
211 for(
unsigned iSch(0); iSch <
schedule_.size(); iSch++){
218 if(enabledTasks.find(worker) != enabledTasks.end())
219 static_cast<ecaldqm::DQWorkerTask*>(worker)->endEvent(_evt, _es);
EventNumber_t event() const
void(EcalDQMonitorTask::* Processor)(edm::Event const &, ecaldqm::Collections, std::set< ecaldqm::DQWorker * > const &)
void endRun(edm::Run const &, edm::EventSetup const &) override
static void fillDescriptions(edm::ParameterSetDescription &)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void formSchedule(std::vector< ecaldqm::Collections > const &, edm::ParameterSet const &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual bool analyze(void const *, Collections)
dispatcher processEvent(e, inputTag, standby)
#define DEFINE_FWK_MODULE(type)
void ecaldqmEndRun(edm::Run const &, edm::EventSetup const &)
std::vector< EcalDCCHeaderBlock >::const_iterator const_iterator
edm::EDGetToken collectionTokens_[ecaldqm::nCollections]
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
virtual void releaseMEs()
ParameterSet getUntrackedParameterSet(std::string const &name, ParameterSet const &defaultValue) const
void ecaldqmGetSetupObjects(edm::EventSetup const &)
static void fillDescriptions(edm::ParameterSetDescription &)
LuminosityBlockNumber_t luminosityBlock() const
ParameterWildcardBase * addWildcardUntracked(U const &pattern)
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
U second(std::pair< T, U > const &p)
void analyze(edm::Event const &, edm::EventSetup const &) override
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void setEventNumber(edm::EventNumber_t _e)
void addDefault(ParameterSetDescription const &psetDescription)
std::string const collectionName[nCollections]
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void ecaldqmBeginRun(edm::Run const &, edm::EventSetup const &)
virtual void addDependencies(DependencySet &)
virtual void bookMEs(DQMStore::IBooker &)
std::string const moduleName_
void executeOnWorkers_(FuncOnWorker, std::string const &, std::string const &="", int=1)
const_iterator end() const
std::vector< Collections > formSequence() const
std::vector< std::pair< Processor, ecaldqm::Collections > > schedule_
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
void ecaldqmBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
std::string const & getName() const
void ecaldqmEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
EcalDQMonitorTask(edm::ParameterSet const &)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void setTokens(edm::ConsumesCollector &)
void push_back(Dependency const &_d)
static void fillDescriptions(edm::ConfigurationDescriptions &)
const_iterator begin() const