CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EcalDQMonitorTask.h
Go to the documentation of this file.
1 #ifndef EcalDQMonitorTask_H
2 #define EcalDQMonitorTask_H
3 
6 
7 #include "DQWorkerTask.h"
8 #include "Collections.h"
9 
10 #include <set>
11 #include <map>
12 
13 namespace edm {
14  class InputTag;
16 } // namespace edm
17 
18 class EcalDQMonitorTask : public DQMOneEDAnalyzer<edm::LuminosityBlockCache<ecaldqm::EcalLSCache>>,
19  public ecaldqm::EcalDQMonitor {
20 public:
22  ~EcalDQMonitorTask() override {}
23 
25 
26  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
27  void dqmBeginRun(edm::Run const&, edm::EventSetup const&) override;
28 
29 private:
30  void dqmEndRun(edm::Run const&, edm::EventSetup const&) override;
31  std::shared_ptr<ecaldqm::EcalLSCache> globalBeginLuminosityBlock(edm::LuminosityBlock const&,
32  edm::EventSetup const&) const override;
34  void analyze(edm::Event const&, edm::EventSetup const&) override;
35 
38  std::set<ecaldqm::DQWorker*> const&);
39 
40  template <typename CollectionClass>
41  void runOnCollection(edm::Event const&, ecaldqm::Collections, std::set<ecaldqm::DQWorker*> const&);
42 
43  void formSchedule(std::vector<ecaldqm::Collections> const&, edm::ParameterSet const&);
44 
45  /* DATA MEMBERS */
46 
48  std::vector<std::pair<Processor, ecaldqm::Collections>> schedule_; // schedule of collections to run
49 
50  std::vector<std::string> skipCollections_; // list of collections to explicitly remove from schedule
51  // note: skipping a collection here will result in
52  // EcalDQMonitorTask not consuming it, which may lead the
53  // module producing the collection to not run at all
54 
55  bool allowMissingCollections_; // when true (default), skip missing collections and log as warning
56  // note: collections skipped by the parameter skipCollections will
57  // bypass this check and not issue warnings
58 
60 
61  /* TASK TIME PROFILING */
64 };
65 
66 #endif
std::shared_ptr< ecaldqm::EcalLSCache > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const override
~EcalDQMonitorTask() override
void formSchedule(std::vector< ecaldqm::Collections > const &, edm::ParameterSet const &)
edm::EDGetToken collectionTokens_[ecaldqm::nCollections]
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
void analyze(edm::Event const &, edm::EventSetup const &) override
void(EcalDQMonitorTask::* Processor)(edm::Event const &, ecaldqm::Collections, std::set< ecaldqm::DQWorker *> const &)
void dqmEndRun(edm::Run const &, edm::EventSetup const &) override
std::vector< std::pair< Processor, ecaldqm::Collections > > schedule_
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
void runOnCollection(edm::Event const &, ecaldqm::Collections, std::set< ecaldqm::DQWorker *> const &)
HLT enums.
EcalDQMonitorTask(edm::ParameterSet const &)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
static void fillDescriptions(edm::ConfigurationDescriptions &)
std::vector< std::string > skipCollections_
Definition: Run.h:45
void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override