CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalDQMonitorTask.h
Go to the documentation of this file.
1 #ifndef EcalDQMonitorTask_H
2 #define EcalDQMonitorTask_H
3 
4 #include <map>
5 
8 
10 
11 namespace edm{
12  class ParameterSet;
13  class Run;
14  class LuminosityBlock;
15  class Event;
16  class EventSetup;
18 }
19 
20 namespace ecaldqm{
21  class DQWorkerTask;
22 }
23 
25  public:
28 
30 
31  private:
32  void beginRun(const edm::Run&, const edm::EventSetup&);
33  void endRun(const edm::Run&, const edm::EventSetup&);
34 
37 
38  void analyze(const edm::Event&, const edm::EventSetup&);
39 
41 
42  template <class C> void runOnCollection(const edm::Event&, ecaldqm::Collections);
43 
44  void formSchedule_(const std::vector<ecaldqm::Collections>&, const std::multimap<ecaldqm::Collections, ecaldqm::Collections>&);
45 
46  int ievt_;
47  // list of workers
48  std::vector<ecaldqm::DQWorkerTask*> workers_;
49  // list of InputTags
51  // schedule of collections to run
52  std::vector<std::pair<Processor, ecaldqm::Collections> > schedule_;
53  // which worker runs on each collection? this information is static within a job
54  std::vector<ecaldqm::DQWorkerTask*> taskLists_[ecaldqm::nCollections];
55  // which worker is enabled for this event?
56  std::map<ecaldqm::DQWorkerTask*, bool> enabled_;
57 
58  std::map<ecaldqm::DQWorkerTask*, double> taskTimes_;
60 
62 };
63 
64 #endif
std::vector< ecaldqm::DQWorkerTask * > workers_
std::map< ecaldqm::DQWorkerTask *, bool > enabled_
void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
EcalDQMonitorTask(const edm::ParameterSet &)
void beginRun(const edm::Run &, const edm::EventSetup &)
void analyze(const edm::Event &, const edm::EventSetup &)
void(EcalDQMonitorTask::* Processor)(const edm::Event &, ecaldqm::Collections)
void formSchedule_(const std::vector< ecaldqm::Collections > &, const std::multimap< ecaldqm::Collections, ecaldqm::Collections > &)
std::map< ecaldqm::DQWorkerTask *, double > taskTimes_
void endRun(const edm::Run &, const edm::EventSetup &)
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
std::vector< std::pair< Processor, ecaldqm::Collections > > schedule_
std::vector< ecaldqm::DQWorkerTask * > taskLists_[ecaldqm::nCollections]
edm::InputTag collectionTags_[ecaldqm::nCollections]
static void fillDescriptions(edm::ConfigurationDescriptions &)
void runOnCollection(const edm::Event &, ecaldqm::Collections)
Definition: Run.h:33