CMS 3D CMS Logo

DQWorkerClient.h
Go to the documentation of this file.
1 #ifndef DQWorkerClient_H
2 #define DQWorkerClient_H
3 
4 #include <utility>
5 
7 
8 class DetId;
9 
10 namespace ecaldqm {
11  class StatusManager;
12 
13  class DQWorkerClient : public DQWorker {
14  public:
16 
18  ~DQWorkerClient() override {}
19 
21 
22  void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
23  void resetPerLumi();
24 
25  void bookMEs(DQMStore::IBooker&) override;
26  void releaseMEs() override;
27 
28  void releaseSource();
30 
31  bool runsOn(ProcessType _type) const { return _type == kJob || hasLumiPlots_; }
32  virtual void resetMEs();
33  virtual void producePlots(ProcessType) = 0;
34 
35  void setStatusManager(StatusManager const& _manager) { statusManager_ = &_manager; }
36 
37  enum Quality { kBad = 0, kGood = 1, kUnknown = 2, kMBad = 3, kMGood = 4, kMUnknown = 5 };
38 
39  protected:
40  void setME(edm::ParameterSet const& _ps) final;
41  void setSource(edm::ParameterSet const&) override;
42 
43  bool using_(std::string const& _name, ProcessType _type = kJob) const {
44  MESetCollection::const_iterator itr(sources_.find(_name));
45  if (itr == sources_.end())
46  return false;
47  if (_type == kJob)
48  return true;
49  else
50  return itr->second->getLumiFlag();
51  }
52 
53  void towerAverage_(MESet&, MESet const&, float);
54 
56  std::set<std::string> qualitySummaries_;
57 
59 
61  };
62 } // namespace ecaldqm
63 #endif
void towerAverage_(MESet &, MESet const &, float)
void setStatusManager(StatusManager const &_manager)
bool using_(std::string const &_name, ProcessType _type=kJob) const
bool retrieveSource(DQMStore::IGetter &, ProcessType)
virtual void producePlots(ProcessType)=0
std::set< std::string > qualitySummaries_
static void fillDescriptions(edm::ParameterSetDescription &)
StatusManager const * statusManager_
boost::ptr_map< std::string, MESet > MESetCollection
Definition: MESet.h:349
MESetCollection sources_
Definition: DetId.h:17
void releaseMEs() override
bool runsOn(ProcessType _type) const
void setSource(edm::ParameterSet const &) override
void bookMEs(DQMStore::IBooker &) override
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void setME(edm::ParameterSet const &_ps) final