CMS 3D CMS Logo

MESetTrend.h
Go to the documentation of this file.
1 #ifndef MESetTrend_H
2 #define MESetTrend_H
3 
4 #include "MESetEcal.h"
5 
6 namespace ecaldqm {
7  /* class MESetTrend
8  time on xaxis
9  channel id is used to identify the plot
10 */
11 
12  class MESetTrend : public MESetEcal {
13  public:
14  MESetTrend(std::string const &,
18  binning::AxisSpecs const * = nullptr,
19  binning::AxisSpecs const * = nullptr);
20  MESetTrend(MESetTrend const &);
21  ~MESetTrend() override {}
22 
23  MESet &operator=(MESet const &) override;
24 
25  MESet *clone(std::string const & = "") const override;
26 
27  void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override;
28 
29  void fill(EcalDQMSetupObjects const, DetId const &, double, double = 1., double = 1.) override;
30  void fill(EcalDQMSetupObjects const, EcalElectronicsId const &, double, double = 1., double = 1.) override;
31  void fill(EcalDQMSetupObjects const, int, double, double = 1., double = 1.) override;
32  void fill(EcalDQMSetupObjects const, double, double = 1., double = 1.) override;
33 
34  int findBin(EcalDQMSetupObjects const, DetId const &, double, double = 0.) const override;
35  int findBin(EcalDQMSetupObjects const, EcalElectronicsId const &, double, double = 0.) const override;
36  int findBin(EcalDQMSetupObjects const, int, double, double = 0.) const override;
37  int findBin(EcalDQMSetupObjects const, double, double = 0.) const;
38 
39  bool isVariableBinning() const override { return true; }
40 
41  void setMinutely() { minutely_ = true; }
42  void setShiftAxis() { shiftAxis_ = true; }
43  void setCumulative();
44  bool isMinutely() const { return minutely_; }
45  bool canShiftAxis() const { return shiftAxis_; }
46  bool isCumulative() const { return currentBin_ > 0; }
47 
48  private:
49  bool shift_(unsigned);
50 
51  bool minutely_; // if true, bins in minutes instead of lumis
52  bool shiftAxis_; // if true, shift x values
53  int currentBin_; // only used for cumulative case
54  };
55 } // namespace ecaldqm
56 
57 #endif
MESet * clone(std::string const &="") const override
Definition: MESetTrend.cc:42
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
bool canShiftAxis() const
Definition: MESetTrend.h:45
bool shift_(unsigned)
Definition: MESetTrend.cc:186
bool isMinutely() const
Definition: MESetTrend.h:44
void fill(EcalDQMSetupObjects const, DetId const &, double, double=1., double=1.) override
Definition: MESetTrend.cc:89
int findBin(EcalDQMSetupObjects const, DetId const &, double, double=0.) const override
Definition: MESetTrend.cc:138
Definition: DetId.h:17
~MESetTrend() override
Definition: MESetTrend.h:21
MESetTrend(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr)
Definition: MESetTrend.cc:7
MESet & operator=(MESet const &) override
Definition: MESetTrend.cc:31
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
Definition: MESetTrend.cc:51
bool isVariableBinning() const override
Definition: MESetTrend.h:39
bool isCumulative() const
Definition: MESetTrend.h:46