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
EcalElectronicsMapping
Definition: EcalElectronicsMapping.h:28
ecaldqm::MESetTrend::shiftAxis_
bool shiftAxis_
Definition: MESetTrend.h:52
ecaldqm::MESetTrend::isVariableBinning
bool isVariableBinning() const override
Definition: MESetTrend.h:39
ecaldqm
Definition: DQWorker.h:37
ecaldqm::MESetTrend::isMinutely
bool isMinutely() const
Definition: MESetTrend.h:44
ecaldqm::MESetEcal
Definition: MESetEcal.h:15
ecaldqm::MESetTrend::shift_
bool shift_(unsigned)
Definition: MESetTrend.cc:186
DetId
Definition: DetId.h:17
ecaldqm::MESetTrend
Definition: MESetTrend.h:12
MESetEcal.h
EcalElectronicsId
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
Definition: EcalElectronicsId.h:18
ecaldqm::binning::ObjectType
ObjectType
Definition: MESetBinningUtils.h:18
ecaldqm::MESetTrend::book
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
Definition: MESetTrend.cc:51
ecaldqm::EcalDQMSetupObjects
Definition: MESet.h:33
ecaldqm::MESetTrend::MESetTrend
MESetTrend(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr)
Definition: MESetTrend.cc:7
MonitorElementData::Kind
Kind
Definition: MonitorElementCollection.h:129
ecaldqm::MESetTrend::canShiftAxis
bool canShiftAxis() const
Definition: MESetTrend.h:45
ecaldqm::MESetTrend::clone
MESet * clone(std::string const &="") const override
Definition: MESetTrend.cc:42
ecaldqm::binning::AxisSpecs
Definition: MESetBinningUtils.h:73
ecaldqm::MESetTrend::setShiftAxis
void setShiftAxis()
Definition: MESetTrend.h:42
ecaldqm::MESetTrend::findBin
int findBin(EcalDQMSetupObjects const, DetId const &, double, double=0.) const override
Definition: MESetTrend.cc:138
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ecaldqm::MESetTrend::isCumulative
bool isCumulative() const
Definition: MESetTrend.h:46
ecaldqm::MESetTrend::setCumulative
void setCumulative()
Definition: MESetTrend.cc:180
ecaldqm::MESetTrend::minutely_
bool minutely_
Definition: MESetTrend.h:51
ecaldqm::MESetTrend::currentBin_
int currentBin_
Definition: MESetTrend.h:53
dqm::implementation::IBooker
Definition: DQMStore.h:43
ecaldqm::MESetTrend::fill
void fill(EcalDQMSetupObjects const, DetId const &, double, double=1., double=1.) override
Definition: MESetTrend.cc:89
ecaldqm::binning::BinningType
BinningType
Definition: MESetBinningUtils.h:41
ecaldqm::MESetTrend::~MESetTrend
~MESetTrend() override
Definition: MESetTrend.h:21
ecaldqm::MESetTrend::operator=
MESet & operator=(MESet const &) override
Definition: MESetTrend.cc:31
ecaldqm::MESetTrend::setMinutely
void setMinutely()
Definition: MESetTrend.h:41
ecaldqm::MESet
Definition: MESet.h:42