Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef ContainerProf2D_h
0002 #define ContainerProf2D_h
0003 
0004 /*
0005  *      file:           ContainerProf2D.h
0006  *      Author:         Viktor Khristenko
0007  *
0008  *      Description:
0009  *              Container to hold TProfile or like
0010  *
0011  */
0012 
0013 #include "DQM/HcalCommon/interface/Container2D.h"
0014 
0015 #include <string>
0016 #include <vector>
0017 
0018 namespace hcaldqm {
0019   class ContainerProf2D : public Container2D {
0020   public:
0021     ContainerProf2D();
0022     ContainerProf2D(std::string const &folder,
0023                     hashfunctions::HashType,
0024                     quantity::Quantity *,
0025                     quantity::Quantity *,
0026                     quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fEnergy));
0027     ~ContainerProf2D() override {}
0028 
0029     void initialize(std::string const &folder,
0030                     hashfunctions::HashType,
0031                     quantity::Quantity *,
0032                     quantity::Quantity *,
0033                     quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fEnergy),
0034                     int debug = 0) override;
0035 
0036     void initialize(std::string const &folder,
0037                     std::string const &qname,
0038                     hashfunctions::HashType,
0039                     quantity::Quantity *,
0040                     quantity::Quantity *,
0041                     quantity::Quantity *qz = new quantity::ValueQuantity(quantity::fEnergy),
0042                     int debug = 0) override;
0043 
0044     void book(DQMStore::IBooker &,
0045               HcalElectronicsMap const *,
0046               std::string subsystem = "Hcal",
0047               std::string aux = "") override;
0048     void book(DQMStore::IBooker &,
0049               HcalElectronicsMap const *,
0050               filter::HashFilter const &,
0051               std::string subsystem = "Hcal",
0052               std::string aux = "") override;
0053 
0054     void fill(HcalDetId const &) override;
0055     void fill(HcalDetId const &, int) override;
0056     void fill(HcalDetId const &, double) override;
0057     void fill(HcalDetId const &, int, double) override;
0058     void fill(HcalDetId const &, int, int) override;
0059     void fill(HcalDetId const &, double, double) override;
0060 
0061     void fill(HcalElectronicsId const &) override;
0062     void fill(HcalElectronicsId const &, int) override;
0063     void fill(HcalElectronicsId const &, double) override;
0064     void fill(HcalElectronicsId const &, int, double) override;
0065     void fill(HcalElectronicsId const &, int, int) override;
0066     void fill(HcalElectronicsId const &, double, double) override;
0067 
0068     void fill(HcalTrigTowerDetId const &) override;
0069     void fill(HcalTrigTowerDetId const &, int) override;
0070     void fill(HcalTrigTowerDetId const &, double) override;
0071     void fill(HcalTrigTowerDetId const &, int, int) override;
0072     void fill(HcalTrigTowerDetId const &, int, double) override;
0073     void fill(HcalTrigTowerDetId const &, double, double) override;
0074 
0075     void fill(HcalDetId const &, double, double, double);
0076     void fill(HcalElectronicsId const &, double, double, double);
0077     void fill(HcalTrigTowerDetId const &, double, double, double);
0078 
0079   private:
0080     void fill(uint32_t) override{};
0081     void fill(uint32_t, int) override{};
0082     void fill(uint32_t, double) override{};
0083     void fill(uint32_t, int, double) override{};
0084     void fill(uint32_t, int, int) override{};
0085     void fill(uint32_t, double, double) override{};
0086   };
0087 }  // namespace hcaldqm
0088 
0089 #endif