1 #include "../interface/EcalDQMonitorTask.h" 3 #include "../interface/DQWorkerTask.h" 19 template <
typename CollectionClass>
34 if(_enabledTasks.find(worker) != _enabledTasks.end())
35 static_cast<ecaldqm::DQWorkerTask*>(worker)->analyze(
collection, _col);
44 for(std::vector<ecaldqm::Collections>::const_iterator colItr(_preSchedule.begin()); colItr != _preSchedule.end(); ++colItr){
45 std::pair<Processor, ecaldqm::Collections> sch;
52 sch.first = &EcalDQMonitorTask::runOnCollection<FEDRawDataCollection>;
56 sch.first = &EcalDQMonitorTask::runOnCollection<EcalRawDataCollection>;
62 sch.first = &EcalDQMonitorTask::runOnCollection<EBDetIdCollection>;
68 sch.first = &EcalDQMonitorTask::runOnCollection<EEDetIdCollection>;
77 sch.first = &EcalDQMonitorTask::runOnCollection<EcalElectronicsIdCollection>;
81 sch.first = &EcalDQMonitorTask::runOnCollection<EBSrFlagCollection>;
85 sch.first = &EcalDQMonitorTask::runOnCollection<EESrFlagCollection>;
89 sch.first = &EcalDQMonitorTask::runOnCollection<EBDigiCollection>;
93 sch.first = &EcalDQMonitorTask::runOnCollection<EEDigiCollection>;
97 sch.first = &EcalDQMonitorTask::runOnCollection<EcalPnDiodeDigiCollection>;
102 sch.first = &EcalDQMonitorTask::runOnCollection<EcalTrigPrimDigiCollection>;
111 sch.first = &EcalDQMonitorTask::runOnCollection<EcalUncalibratedRecHitCollection>;
118 sch.first = &EcalDQMonitorTask::runOnCollection<EcalRecHitCollection>;
123 sch.first = &EcalDQMonitorTask::runOnCollection<edm::View<reco::CaloCluster> >;
128 sch.first = &EcalDQMonitorTask::runOnCollection<reco::SuperClusterCollection>;
131 throw cms::Exception(
"InvalidConfiguration") <<
"Undefined collection " << *colItr;
134 sch.second = *colItr;
T getUntrackedParameter(std::string const &, T const &) const
void formSchedule(std::vector< ecaldqm::Collections > const &, edm::ParameterSet const &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetToken collectionTokens_[ecaldqm::nCollections]
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::string const collectionName[nCollections]
void runOnCollection(edm::Event const &, ecaldqm::Collections, std::set< ecaldqm::DQWorker * > const &)
std::string const moduleName_
void executeOnWorkers_(FuncOnWorker, std::string const &, std::string const &="", int=1)
std::vector< std::pair< Processor, ecaldqm::Collections > > schedule_
T const * product() const
bool allowMissingCollections_