Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-11 03:34:04

0001 #ifndef MESetDet2D_H
0002 #define MESetDet2D_H
0003 
0004 #include "MESetEcal.h"
0005 
0006 namespace ecaldqm {
0007   /* class MESetDet2D
0008    channel ID-based MonitorElement wrapper
0009    channel id <-> 2D cell
0010 */
0011   class MESetDet2D : public MESetEcal {
0012   public:
0013     MESetDet2D(std::string const &,
0014                binning::ObjectType,
0015                binning::BinningType,
0016                MonitorElement::Kind,
0017                binning::AxisSpecs const * = nullptr);
0018     MESetDet2D(MESetDet2D const &);
0019     ~MESetDet2D() override;
0020 
0021     MESet *clone(std::string const & = "") const override;
0022 
0023     void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override;
0024 
0025     void fill(EcalDQMSetupObjects const, DetId const &, double = 1., double = 0., double = 0.) override;
0026     void fill(EcalDQMSetupObjects const, EcalElectronicsId const &, double = 1., double = 0., double = 0.) override;
0027     void fill(EcalDQMSetupObjects const, int, double = 1., double = 1., double = 1.) override;
0028 
0029     using MESetEcal::setBinContent;
0030     void setBinContent(EcalDQMSetupObjects const, DetId const &, double) override;
0031     void setBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, double) override;
0032     void setBinContent(EcalDQMSetupObjects const, int, double) override;
0033 
0034     using MESetEcal::setBinError;
0035     void setBinError(EcalDQMSetupObjects const, DetId const &, double) override;
0036     void setBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, double) override;
0037     void setBinError(EcalDQMSetupObjects const, int, double) override;
0038 
0039     using MESetEcal::setBinEntries;
0040     void setBinEntries(EcalDQMSetupObjects const, DetId const &, double) override;
0041     void setBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, double) override;
0042     void setBinEntries(EcalDQMSetupObjects const, int, double) override;
0043 
0044     using MESetEcal::getBinContent;
0045     double getBinContent(EcalDQMSetupObjects const, DetId const &, int = 0) const override;
0046     double getBinContent(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const override;
0047     double getBinContent(EcalDQMSetupObjects const, int, int = 0) const override;
0048 
0049     using MESetEcal::getBinError;
0050     double getBinError(EcalDQMSetupObjects const, DetId const &, int = 0) const override;
0051     double getBinError(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const override;
0052     double getBinError(EcalDQMSetupObjects const, int, int = 0) const override;
0053 
0054     using MESetEcal::getBinEntries;
0055     double getBinEntries(EcalDQMSetupObjects const, DetId const &, int = 0) const override;
0056     double getBinEntries(EcalDQMSetupObjects const, EcalElectronicsId const &, int = 0) const override;
0057     double getBinEntries(EcalDQMSetupObjects const, int, int) const override;
0058 
0059     using MESetEcal::findBin;
0060     int findBin(EcalDQMSetupObjects const, DetId const &) const;
0061     int findBin(EcalDQMSetupObjects const, EcalElectronicsId const &) const;
0062 
0063     void reset(EcalElectronicsMapping const *, double = 0., double = 0., double = 0.) override;
0064 
0065   protected:
0066     void fill_(unsigned, int, double) override;
0067     void fill_(unsigned, int, double, double) override;
0068     void fill_(unsigned, double, double, double) override;
0069 
0070   private:
0071     using ecaldqm::MESetEcal::operator=;
0072   };
0073 }  // namespace ecaldqm
0074 
0075 #endif