CMS 3D CMS Logo

TrigTowerQuantity.h
Go to the documentation of this file.
1 #ifndef TrigTowerQuantity_h
2 #define TrigTowerQuantity_h
3 
10 
11 namespace hcaldqm {
12  namespace quantity {
14  fTTiphi = 0,
15  fTTieta = 1,
16  fTTdepth = 2,
17  fTTSubdet = 3,
21  };
22 
29  uint32_t getBin_TTiphi(HcalTrigTowerDetId const &);
30  uint32_t getBin_TTieta(HcalTrigTowerDetId const &);
31  uint32_t getBin_TTdepth(HcalTrigTowerDetId const &);
32  uint32_t getBin_TTSubdet(HcalTrigTowerDetId const &);
33  uint32_t getBin_TTSubdetPM(HcalTrigTowerDetId const &);
34  uint32_t getBin_TTieta2x3(HcalTrigTowerDetId const &);
41  std::vector<std::string> getLabels_TTiphi();
42  std::vector<std::string> getLabels_TTieta();
43  std::vector<std::string> getLabels_TTdepth();
44  std::vector<std::string> getLabels_TTSubdet();
45  std::vector<std::string> getLabels_TTSubdetPM();
46  std::vector<std::string> getLabels_TTieta2x3();
47 
49  typedef uint32_t (*getBinType_tid)(HcalTrigTowerDetId const &);
51  typedef std::vector<std::string> (*getLabels_tid)();
65  "TTiphi", "TTieta", "TTdepth", "TTSubdet", "TTSubdetPM", "TTieta"};
66  double const min_tid[nTrigTowerQuantityType] = {0.5, 0, -0.5, 0, 0, 0};
67  double const max_tid[nTrigTowerQuantityType] = {72.5, 82, 0.5, 2, 4, 8};
68  int const nbins_tid[nTrigTowerQuantityType] = {72, 82, 1, 2, 4, 8};
69 
70  class TrigTowerQuantity : public Quantity {
71  public:
74  : Quantity(name_tid[type], isLog), _type(type) {}
75  ~TrigTowerQuantity() override {}
77 
78  int getValue(HcalTrigTowerDetId const &tid) override { return getValue_functions_tid[_type](tid); }
79  uint32_t getBin(HcalTrigTowerDetId const &tid) override { return getBin_functions_tid[_type](tid); }
80 
81  QuantityType type() override { return fTrigTowerQuantity; }
82  int nbins() override { return nbins_tid[_type]; }
83  double min() override { return min_tid[_type]; }
84  double max() override { return max_tid[_type]; }
85  bool isCoordinate() override { return true; }
86  std::vector<std::string> getLabels() override { return getLabels_functions_tid[_type](); }
87 
88  protected:
90  };
91  } // namespace quantity
92 } // namespace hcaldqm
93 
94 #endif
type
Definition: HCALResponse.h:21
uint32_t getBin_TTieta2x3(HcalTrigTowerDetId const &)
int getValue_TTdepth(HcalTrigTowerDetId const &)
int(* getValueType_tid)(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTdepth(int)
std::vector< std::string > getLabels() override
HcalTrigTowerDetId(* getTid_tid)(int)
double const max_tid[nTrigTowerQuantityType]
TrigTowerQuantity * makeCopy() override
uint32_t getBin_TTiphi(HcalTrigTowerDetId const &)
std::vector< std::string > getLabels_TTieta()
uint32_t getBin_TTdepth(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTSubdetPM(int)
std::vector< std::string > getLabels_TTdepth()
HcalTrigTowerDetId getTid_TTiphi(int)
HcalTrigTowerDetId getTid_TTieta(int)
std::vector< std::string > getLabels_TTiphi()
int getValue_TTSubdet(HcalTrigTowerDetId const &)
uint32_t getBin_TTieta(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTSubdet(int)
TrigTowerQuantity(TrigTowerQuantityType type, bool isLog=false)
std::vector< std::string > getLabels_TTSubdet()
int getValue_TTSubdetPM(HcalTrigTowerDetId const &)
getBinType_tid const getBin_functions_tid[nTrigTowerQuantityType]
uint32_t getBin_TTSubdet(HcalTrigTowerDetId const &)
int getValue_TTiphi(HcalTrigTowerDetId const &)
getLabels_tid const getLabels_functions_tid[nTrigTowerQuantityType]
std::string const name_tid[nTrigTowerQuantityType]
std::vector< std::string > getLabels_TTSubdetPM()
int getValue_TTieta2x3(HcalTrigTowerDetId const &)
virtual bool isLog()
Definition: Quantity.h:35
int const nbins_tid[nTrigTowerQuantityType]
getTid_tid const getTid_functions_tid[nTrigTowerQuantityType]
uint32_t getBin(HcalTrigTowerDetId const &tid) override
int getValue(HcalTrigTowerDetId const &tid) override
uint32_t(* getBinType_tid)(HcalTrigTowerDetId const &)
HcalTrigTowerDetId getTid_TTieta2x3(int)
double const min_tid[nTrigTowerQuantityType]
int getValue_TTieta(HcalTrigTowerDetId const &)
getValueType_tid const getValue_functions_tid[nTrigTowerQuantityType]
uint32_t getBin_TTSubdetPM(HcalTrigTowerDetId const &)
std::vector< std::string > getLabels_TTieta2x3()
std::vector< std::string >(* getLabels_tid)()