Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:10:06

0001 #ifndef ContainerSingle1D_h
0002 #define ContainerSingle1D_h
0003 
0004 /*
0005  *      file:                   ContainerSignle1D.h
0006  *      Author:                 Viktor Khristenko
0007  *
0008  *      Description:
0009  *              Container to hold a single ME - for convenience of
0010  * initialization
0011  */
0012 
0013 #include "DQM/HcalCommon/interface/Container.h"
0014 #include "DQM/HcalCommon/interface/ValueQuantity.h"
0015 
0016 #include <string>
0017 
0018 namespace hcaldqm {
0019   class ContainerSingle1D : public Container {
0020   public:
0021     ContainerSingle1D();
0022     ContainerSingle1D(std::string const &folder,
0023                       quantity::Quantity *,
0024                       quantity::Quantity *qy = new quantity::ValueQuantity(quantity::fN));
0025     ContainerSingle1D(std::string const &folder,
0026                       std::string const &,
0027                       quantity::Quantity *,
0028                       quantity::Quantity *qy = new quantity::ValueQuantity(quantity::fN));
0029     ContainerSingle1D(ContainerSingle1D const &);
0030     ~ContainerSingle1D() override;
0031 
0032     virtual void initialize(std::string const &folder,
0033                             quantity::Quantity *,
0034                             quantity::Quantity *qy = new quantity::ValueQuantity(quantity::fN),
0035                             int debug = 0);
0036 
0037     virtual void initialize(std::string const &folder,
0038                             std::string const &,
0039                             quantity::Quantity *,
0040                             quantity::Quantity *qy = new quantity::ValueQuantity(quantity::fN),
0041                             int debug = 0);
0042     using Container::initialize;
0043     //  booking
0044     virtual void book(DQMStore::IBooker &, std::string subsystem = "Hcal", std::string aux = "");
0045     //  filling
0046     virtual void fill(int);
0047     virtual void fill(double);
0048     virtual void fill(int, int);
0049     virtual void fill(int, double);
0050     virtual void fill(double, int);
0051     virtual void fill(double, double);
0052 
0053     virtual double getBinContent(int);
0054     virtual double getBinContent(double);
0055     virtual double getBinEntries(int);
0056     virtual double getBinEntries(double);
0057 
0058     virtual void setBinContent(int, int);
0059     virtual void setBinContent(int, double);
0060     virtual void setBinContent(double, int);
0061     virtual void setBinContent(double, double);
0062 
0063     virtual void fill(HcalDetId const &);
0064     virtual void fill(HcalDetId const &, double);
0065     virtual void fill(HcalDetId const &, double, double);
0066 
0067     virtual double getBinContent(HcalDetId const &);
0068     virtual double getBinEntries(HcalDetId const &);
0069 
0070     virtual void setBinContent(HcalDetId const &, int);
0071     virtual void setBinContent(HcalDetId const &, double);
0072 
0073     virtual void fill(HcalElectronicsId const &);
0074     virtual void fill(HcalElectronicsId const &, double);
0075     virtual void fill(HcalElectronicsId const &, double, double);
0076 
0077     virtual double getBinContent(HcalElectronicsId const &);
0078     virtual double getBinEntries(HcalElectronicsId const &);
0079 
0080     virtual void setBinContent(HcalElectronicsId const &, int);
0081     virtual void setBinContent(HcalElectronicsId const &, double);
0082 
0083     virtual void fill(HcalTrigTowerDetId const &);
0084     virtual void fill(HcalTrigTowerDetId const &, double);
0085     virtual void fill(HcalTrigTowerDetId const &, double, double);
0086 
0087     virtual double getBinContent(HcalTrigTowerDetId const &);
0088     virtual double getBinEntries(HcalTrigTowerDetId const &);
0089 
0090     virtual void setBinContent(HcalTrigTowerDetId const &, int);
0091     virtual void setBinContent(HcalTrigTowerDetId const &, double);
0092 
0093     virtual void reset() { _me->Reset(); }
0094     virtual void print() { std::cout << _qname << std::endl; }
0095 
0096     virtual void extendAxisRange(int);
0097 
0098     virtual void showOverflowX(bool showOverflow);
0099     virtual void showOverflowY(bool showOverflow);
0100 
0101   protected:
0102     MonitorElement *_me;
0103     quantity::Quantity *_qx;
0104     quantity::Quantity *_qy;
0105 
0106     virtual void customize();
0107   };
0108 }  // namespace hcaldqm
0109 
0110 #endif