Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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       //    since numbering goes as
0048       //    -32 -29 29 32
0049       //    0   3   4   7
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   }  // namespace quantity
0095 }  // namespace hcaldqm