Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:27

0001 #ifndef ContainerSingle2D_h
0002 #define ContainerSingle2D_h
0003 
0004 /*
0005  *      file:                   ContainerSignle2D.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/Quantity.h"
0015 #include "DQM/HcalCommon/interface/ValueQuantity.h"
0016 
0017 #include <string>
0018 
0019 namespace hcaldqm {
0020   class ContainerSingle2D : public Container {
0021   public:
0022     ContainerSingle2D();
0023     ContainerSingle2D(std::string const &folder,
0024                       quantity::Quantity *,
0025                       quantity::Quantity *,
0026                       quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fN));
0027     ContainerSingle2D(std::string const &folder,
0028                       std::string const &,
0029                       quantity::Quantity *,
0030                       quantity::Quantity *,
0031                       quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fN),
0032                       int debug = 0);
0033     ContainerSingle2D(ContainerSingle2D const &);
0034     ~ContainerSingle2D() override;
0035 
0036     virtual void initialize(std::string const &folder,
0037                             quantity::Quantity *,
0038                             quantity::Quantity *,
0039                             quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fN),
0040                             int debug = 0);
0041 
0042     virtual void initialize(std::string const &folder,
0043                             std::string const &,
0044                             quantity::Quantity *,
0045                             quantity::Quantity *,
0046                             quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fN),
0047                             int debug = 0);
0048     using Container::initialize;
0049     //  booking
0050     virtual void book(DQMStore::IBooker &, std::string subsystem = "Hcal", std::string aux = "");
0051     //  filling
0052     virtual void fill(int, int);
0053     virtual void fill(int, double);
0054     virtual void fill(int, double, double);
0055     virtual void fill(int, int, int);
0056     virtual void fill(int, int, double);
0057     virtual void fill(double, int);
0058     virtual void fill(double, double);
0059     virtual void fill(double, double, double);
0060 
0061     virtual double getBinContent(int, int);
0062     virtual double getBinContent(int, double);
0063     virtual double getBinContent(double, int);
0064     virtual double getBinContent(double, double);
0065     virtual double getBinEntries(int, int);
0066     virtual double getBinEntries(int, double);
0067     virtual double getBinEntries(double, int);
0068     virtual double getBinEntries(double, double);
0069 
0070     virtual void setBinContent(int, int, int);
0071     virtual void setBinContent(int, double, int);
0072     virtual void setBinContent(double, int, int);
0073     virtual void setBinContent(double, double, int);
0074     virtual void setBinContent(int, int, double);
0075     virtual void setBinContent(int, double, double);
0076     virtual void setBinContent(double, int, double);
0077     virtual void setBinContent(double, double, double);
0078 
0079     virtual void fill(HcalDetId const &);
0080     virtual void fill(HcalDetId const &, int);
0081     virtual void fill(HcalDetId const &, double);
0082     virtual void fill(HcalDetId const &, int, int);
0083     virtual void fill(HcalDetId const &, int, double);
0084     virtual void fill(HcalDetId const &, double, double);
0085 
0086     virtual double getBinContent(HcalDetId const &);
0087     virtual double getBinContent(HcalDetId const &, int);
0088     virtual double getBinContent(HcalDetId const &, double);
0089     virtual double getBinEntries(HcalDetId const &);
0090     virtual double getBinEntries(HcalDetId const &, int);
0091     virtual double getBinEntries(HcalDetId const &, double);
0092 
0093     virtual void setBinContent(HcalDetId const &, int);
0094     virtual void setBinContent(HcalDetId const &, double);
0095     virtual void setBinContent(HcalDetId const &, int, int);
0096     virtual void setBinContent(HcalDetId const &, int, double);
0097     virtual void setBinContent(HcalDetId const &, double, int);
0098     virtual void setBinContent(HcalDetId const &, double, double);
0099 
0100     virtual void fill(HcalElectronicsId const &);
0101     virtual void fill(HcalElectronicsId const &, int);
0102     virtual void fill(HcalElectronicsId const &, double);
0103     virtual void fill(HcalElectronicsId const &, int, int);
0104     virtual void fill(HcalElectronicsId const &, int, double);
0105     virtual void fill(HcalElectronicsId const &, double, double);
0106 
0107     virtual void fill(HcalDetId const &, HcalElectronicsId const &);
0108     virtual void fill(HcalDetId const &, HcalElectronicsId const &, double);
0109 
0110     virtual double getBinContent(HcalElectronicsId const &);
0111     virtual double getBinContent(HcalElectronicsId const &, int);
0112     virtual double getBinContent(HcalElectronicsId const &, double);
0113     virtual double getBinEntries(HcalElectronicsId const &);
0114     virtual double getBinEntries(HcalElectronicsId const &, int);
0115     virtual double getBinEntries(HcalElectronicsId const &, double);
0116 
0117     virtual void setBinContent(HcalElectronicsId const &, int);
0118     virtual void setBinContent(HcalElectronicsId const &, double);
0119     virtual void setBinContent(HcalElectronicsId const &, int, int);
0120     virtual void setBinContent(HcalElectronicsId const &, int, double);
0121     virtual void setBinContent(HcalElectronicsId const &, double, int);
0122     virtual void setBinContent(HcalElectronicsId const &, double, double);
0123 
0124     virtual void fill(HcalTrigTowerDetId const &);
0125     virtual void fill(HcalTrigTowerDetId const &, int);
0126     virtual void fill(HcalTrigTowerDetId const &, double);
0127     virtual void fill(HcalTrigTowerDetId const &, int, int);
0128     virtual void fill(HcalTrigTowerDetId const &, int, double);
0129     virtual void fill(HcalTrigTowerDetId const &, double, double);
0130 
0131     virtual double getBinContent(HcalTrigTowerDetId const &);
0132     virtual double getBinContent(HcalTrigTowerDetId const &, int);
0133     virtual double getBinContent(HcalTrigTowerDetId const &, double);
0134     virtual double getBinEntries(HcalTrigTowerDetId const &);
0135     virtual double getBinEntries(HcalTrigTowerDetId const &, int);
0136     virtual double getBinEntries(HcalTrigTowerDetId const &, double);
0137 
0138     virtual void setBinContent(HcalTrigTowerDetId const &, int);
0139     virtual void setBinContent(HcalTrigTowerDetId const &, double);
0140     virtual void setBinContent(HcalTrigTowerDetId const &, int, int);
0141     virtual void setBinContent(HcalTrigTowerDetId const &, int, double);
0142     virtual void setBinContent(HcalTrigTowerDetId const &, double, int);
0143     virtual void setBinContent(HcalTrigTowerDetId const &, double, double);
0144 
0145     virtual void reset() { _me->Reset(); }
0146     virtual void print() { std::cout << _qname << std::endl; }
0147 
0148     virtual void load(DQMStore::IGetter &, std::string subsystem = "Hcal", std::string aux = "");
0149 
0150     virtual void extendAxisRange(int);
0151 
0152     void showOverflowZ(bool showOverflow);
0153 
0154   protected:
0155     MonitorElement *_me;
0156     quantity::Quantity *_qx;
0157     quantity::Quantity *_qy;
0158     quantity::Quantity *_qz;
0159 
0160     virtual void customize();
0161   };
0162 }  // namespace hcaldqm
0163 
0164 #endif