CMS 3D CMS Logo

MESetEcal.h
Go to the documentation of this file.
1 #ifndef MESetEcal_H
2 #define MESetEcal_H
3 
4 #include "MESet.h"
5 
6 namespace ecaldqm {
7 
8  /* class MESetEcal
9  implements plot <-> detector part relationship
10  base class for channel-binned histograms
11  MESetEcal is only filled given an object identifier and a bin (channel id
12  does not give a bin)
13 */
14 
15  class MESetEcal : public MESet {
16  public:
17  MESetEcal(std::string const &,
21  unsigned,
22  binning::AxisSpecs const * = nullptr,
23  binning::AxisSpecs const * = nullptr,
24  binning::AxisSpecs const * = nullptr);
25  MESetEcal(MESetEcal const &);
26  ~MESetEcal() override;
27 
28  MESet &operator=(MESet const &) override;
29 
30  MESet *clone(std::string const & = "") const override;
31 
32  void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override;
33  bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string * = nullptr) const override;
34 
35  void fill(EcalDQMSetupObjects const, DetId const &, double = 1., double = 1., double = 1.) override;
36  void fill(EcalDQMSetupObjects const, EcalElectronicsId const &, double = 1., double = 1., double = 1.) override;
37  void fill(EcalDQMSetupObjects const, int, double = 1., double = 1., double = 1.) override;
38  void fill(EcalDQMSetupObjects const, double, double = 1., double = 1.) override;
39 
40  void setBinContent(EcalDQMSetupObjects const, DetId const &, int, double) override;
41  void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) override;
42  void setBinContent(EcalDQMSetupObjects const, int, int, double) override;
43 
44  void setBinError(EcalDQMSetupObjects const, DetId const &, int, double) override;
45  void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) override;
46  void setBinError(EcalDQMSetupObjects const, int, int, double) override;
47 
48  void setBinEntries(EcalDQMSetupObjects const, DetId const &, int, double) override;
49  void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int, double) override;
50  void setBinEntries(EcalDQMSetupObjects const, int, int, double) override;
51 
52  double getBinContent(EcalDQMSetupObjects const, DetId const &, int) const override;
53  double getBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int) const override;
54  double getBinContent(EcalDQMSetupObjects const, int, int) const override;
55 
56  double getBinError(EcalDQMSetupObjects const, DetId const &, int) const override;
57  double getBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int) const override;
58  double getBinError(EcalDQMSetupObjects const, int, int) const override;
59 
60  double getBinEntries(EcalDQMSetupObjects const, DetId const &, int) const override;
61  double getBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int) const override;
62  double getBinEntries(EcalDQMSetupObjects const, int, int) const override;
63 
64  virtual int findBin(EcalDQMSetupObjects const, DetId const &, double, double = 0.) const;
65  virtual int findBin(EcalDQMSetupObjects const, EcalElectronicsId const &, double, double = 0.) const;
66  virtual int findBin(EcalDQMSetupObjects const, int, double, double = 0.) const;
67 
68  bool isVariableBinning() const override;
69 
70  std::vector<std::string> generatePaths(EcalElectronicsMapping const *) const;
71 
72  protected:
77 
78  private:
79  template <class Bookable>
80  void doBook_(Bookable &);
81  };
82 
83 } // namespace ecaldqm
84 
85 #endif
EcalElectronicsMapping
Definition: EcalElectronicsMapping.h:28
ecaldqm
Definition: DQWorker.h:37
ecaldqm::MESetEcal::findBin
virtual int findBin(EcalDQMSetupObjects const, DetId const &, double, double=0.) const
Definition: MESetEcal.cc:559
ecaldqm::MESetEcal::logicalDimensions_
unsigned logicalDimensions_
Definition: MESetEcal.h:73
ecaldqm::MESetEcal::retrieve
bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string *=nullptr) const override
Definition: MESetEcal.cc:280
ecaldqm::MESetEcal
Definition: MESetEcal.h:15
ecaldqm::MESetEcal::doBook_
void doBook_(Bookable &)
MESet.h
ecaldqm::MESetEcal::isVariableBinning
bool isVariableBinning() const override
Definition: MESetEcal.cc:592
ecaldqm::MESetEcal::getBinContent
double getBinContent(EcalDQMSetupObjects const, DetId const &, int) const override
Definition: MESetEcal.cc:463
DetId
Definition: DetId.h:17
ecaldqm::MESetEcal::getBinError
double getBinError(EcalDQMSetupObjects const, DetId const &, int) const override
Definition: MESetEcal.cc:493
ecaldqm::MESetEcal::setBinError
void setBinError(EcalDQMSetupObjects const, DetId const &, int, double) override
Definition: MESetEcal.cc:394
ecaldqm::MESetEcal::operator=
MESet & operator=(MESet const &) override
Definition: MESetEcal.cc:40
ecaldqm::MESetEcal::getBinEntries
double getBinEntries(EcalDQMSetupObjects const, DetId const &, int) const override
Definition: MESetEcal.cc:523
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::EcalDQMSetupObjects
Definition: MESet.h:33
MonitorElementData::Kind
Kind
Definition: MonitorElementCollection.h:129
ecaldqm::MESetEcal::xaxis_
const binning::AxisSpecs * xaxis_
Definition: MESetEcal.h:74
ecaldqm::binning::AxisSpecs
Definition: MESetBinningUtils.h:73
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ecaldqm::MESetEcal::book
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override
Definition: MESetEcal.cc:70
ecaldqm::MESetEcal::generatePaths
std::vector< std::string > generatePaths(EcalElectronicsMapping const *) const
Definition: MESetEcal.cc:596
ecaldqm::MESetEcal::setBinEntries
void setBinEntries(EcalDQMSetupObjects const, DetId const &, int, double) override
Definition: MESetEcal.cc:424
dqm::implementation::IGetter
Definition: DQMStore.h:484
ecaldqm::MESetEcal::zaxis_
const binning::AxisSpecs * zaxis_
Definition: MESetEcal.h:76
ecaldqm::MESetEcal::clone
MESet * clone(std::string const &="") const override
Definition: MESetEcal.cc:61
dqm::implementation::IBooker
Definition: DQMStore.h:43
ecaldqm::MESetEcal::yaxis_
const binning::AxisSpecs * yaxis_
Definition: MESetEcal.h:75
ecaldqm::MESetEcal::setBinContent
void setBinContent(EcalDQMSetupObjects const, DetId const &, int, double) override
Definition: MESetEcal.cc:361
ecaldqm::MESetEcal::~MESetEcal
~MESetEcal() override
Definition: MESetEcal.cc:34
ecaldqm::binning::BinningType
BinningType
Definition: MESetBinningUtils.h:41
ecaldqm::MESetEcal::fill
void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.) override
Definition: MESetEcal.cc:312
ecaldqm::MESetEcal::MESetEcal
MESetEcal(std::string const &, binning::ObjectType, binning::BinningType, MonitorElement::Kind, unsigned, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr, binning::AxisSpecs const *=nullptr)
Definition: MESetEcal.cc:10
ecaldqm::MESet
Definition: MESet.h:42