File indexing completed on 2024-04-06 12:07:31
0001 #include "DQM/HcalCommon/interface/TrigTowerQuantity.h"
0002
0003 namespace hcaldqm {
0004 namespace quantity {
0005 int getValue_TTiphi(HcalTrigTowerDetId const &tid) { return tid.iphi(); }
0006
0007 int getValue_TTieta(HcalTrigTowerDetId const &tid) { return tid.ieta() < 0 ? tid.ieta() + 41 : tid.ieta() + 40; }
0008
0009 int getValue_TTdepth(HcalTrigTowerDetId const &tid) { return tid.depth(); }
0010
0011 int getValue_TTSubdet(HcalTrigTowerDetId const &tid) { return tid.ietaAbs() < 29 ? 0 : 1; }
0012
0013 int getValue_TTSubdetPM(HcalTrigTowerDetId const &tid) {
0014 int x = tid.ietaAbs() < 29 ? 0 : 2;
0015 return tid.ieta() > 0 ? x + 1 : x;
0016 }
0017
0018 int getValue_TTieta2x3(HcalTrigTowerDetId const &tid) {
0019 return tid.ieta() < 0 ? tid.ieta() + 32 : tid.ieta() - 29 + 4;
0020 }
0021
0022 uint32_t getBin_TTiphi(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTiphi(tid)); }
0023
0024 uint32_t getBin_TTieta(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTieta(tid) + 1); }
0025
0026 uint32_t getBin_TTdepth(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTdepth(tid) + 1); }
0027
0028 uint32_t getBin_TTSubdet(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTSubdet(tid) + 1); }
0029
0030 uint32_t getBin_TTSubdetPM(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTSubdetPM(tid) + 1); }
0031
0032 uint32_t getBin_TTieta2x3(HcalTrigTowerDetId const &tid) { return (uint32_t)(getValue_TTieta2x3(tid) + 1); }
0033
0034 HcalTrigTowerDetId getTid_TTiphi(int v) { return HcalTrigTowerDetId(1, v); }
0035
0036 HcalTrigTowerDetId getTid_TTieta(int v) { return HcalTrigTowerDetId(v < 41 ? v - 41 : v - 40, 1); }
0037
0038 HcalTrigTowerDetId getTid_TTdepth(int v) { return HcalTrigTowerDetId(1, 1, v); }
0039
0040 HcalTrigTowerDetId getTid_TTSubdet(int v) { return HcalTrigTowerDetId(v == 0 ? 1 : 29, 1); }
0041
0042 HcalTrigTowerDetId getTid_TTSubdetPM(int v) {
0043 return HcalTrigTowerDetId(v % 2 == 0 ? -(v >= 2 ? 29 : 1) : (v >= 2 ? 29 : 1), 1);
0044 }
0045
0046 HcalTrigTowerDetId getTid_TTieta2x3(int v) {
0047
0048
0049
0050 return HcalTrigTowerDetId(v < 4 ? -(3 - v + 29) : (v - 4) + 29, 1);
0051 }
0052
0053 std::vector<std::string> getLabels_TTiphi() { return std::vector<std::string>(); }
0054 std::vector<std::string> getLabels_TTieta() {
0055 char name[10];
0056 std::vector<std::string> labels;
0057 for (int i = 0; i < 82; i++) {
0058 sprintf(name, "%d", getTid_TTieta(i).ieta());
0059 labels.push_back(name);
0060 }
0061 return labels;
0062 }
0063
0064 std::vector<std::string> getLabels_TTieta2x3() {
0065 char name[10];
0066 std::vector<std::string> labels;
0067 for (int i = 0; i < 8; i++) {
0068 sprintf(name, "%d", getTid_TTieta2x3(i).ieta());
0069 labels.push_back(name);
0070 }
0071 return labels;
0072 }
0073
0074 std::vector<std::string> getLabels_TTdepth() { return std::vector<std::string>(); }
0075
0076 std::vector<std::string> getLabels_TTSubdet() {
0077 std::vector<std::string> labels;
0078 labels.reserve(2);
0079 for (int i = 0; i < 2; i++)
0080 labels.push_back(constants::TPSUBDET_NAME[getTid_TTSubdet(i).ietaAbs() < 29 ? 0 : 1]);
0081 return labels;
0082 }
0083
0084 std::vector<std::string> getLabels_TTSubdetPM() {
0085 std::vector<std::string> labels;
0086 for (int i = 0; i < 4; i++) {
0087 HcalTrigTowerDetId tid = getTid_TTSubdetPM(i);
0088 int x = tid.ietaAbs() < 29 ? 0 : 2;
0089 labels.push_back(constants::TPSUBDETPM_NAME[tid.ieta() > 0 ? x + 1 : x]);
0090 return labels;
0091 }
0092 return labels;
0093 }
0094 }
0095 }