CMS 3D CMS Logo

HGCalCoarseTriggerCellMapping.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalCoarseTriggerCellMapping_h__
2 #define __L1Trigger_L1THGCal_HGCalCoarseTriggerCellMapping_h__
3 
8 
10 public:
11  HGCalCoarseTriggerCellMapping(const std::vector<unsigned>& ctcSize);
12  uint32_t getRepresentativeDetId(uint32_t tcid) const;
13  std::vector<uint32_t> getConstituentTriggerCells(uint32_t ctcId) const;
14  GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const;
15  uint32_t getCoarseTriggerCellId(uint32_t detid) const;
16  void checkSizeValidity(int ctcSize) const;
18 
19  static constexpr int kCTCsizeCoarse_ = 16;
20  static constexpr int kCTCsizeMid_ = 8;
21  static constexpr int kCTCsizeFine_ = 4;
22  static constexpr int kCTCsizeVeryFine_ = 2;
24 
25 private:
26  static const std::map<int, int> kSplit_;
27  static const std::map<int, int> kSplit_v9_;
28  static const std::map<int, int> kSplit_v9_Scin_;
29  static constexpr int kSTCidMaskInv_ = ~0x3f;
30  static constexpr int kSTCidMaskInv_v9_ = ~0xf;
31  static constexpr int kSplit_v8_Coarse_ = 0x30;
32  static constexpr int kSplit_v8_Mid_ = 0x38;
33  static constexpr int kSplit_v8_Fine_ = 0x3a;
34  static constexpr int kSplit_v8_VeryFine_ = 0x3e;
35  static constexpr int kSplit_v8_Individual_ = 0x3f;
36  static constexpr int kNThicknesses_ = 4;
37  static constexpr int kNHGCalLayersMax_ = 52;
38  static constexpr int kSplit_v9_Coarse_ = 0;
39  static constexpr int kSplit_v9_Mid_ = 0x2;
40  static constexpr int kSplit_v9_Fine_ = 0xa;
41  static constexpr int kSplit_v9_VeryFine_ = 0xb;
42  static constexpr int kSplit_v9_Individual_ = 0xf;
43 
44  static constexpr int kSplit_v9_Scin_Coarse_ = 0x1f9fc;
45  static constexpr int kSplit_v9_Scin_Mid_ = 0x1fdfc;
46  static constexpr int kSplit_v9_Scin_Fine_ = 0x1fdfe;
47  static constexpr int kSplit_v9_Scin_VeryFine_ = 0x1fffe;
48  static constexpr int kSplit_v9_Scin_Individual_ = 0x1ffff;
49 
50  //For coarse TCs
51  static constexpr int kRocShift_ = 4;
52  static constexpr int kRocMask_ = 0xf;
53  static constexpr int kRotate4_ = 4;
54  static constexpr int kRotate7_ = 7;
55  static constexpr int kUShift_ = 2;
56  static constexpr int kVShift_ = 0;
57  static constexpr int kUMask_ = 0x3;
58  static constexpr int kVMask_ = 0x3;
59  static constexpr int kHGCalCellMaskV9Inv_ = ~0xff;
60  static constexpr int kHGCalScinCellMaskInv_ = ~0x1ffff;
61 
62  static constexpr int kRoc0deg_ = 1;
63  static constexpr int kRoc120deg_ = 2;
64  static constexpr int kRoc240deg_ = 3;
65 
68  std::vector<unsigned> ctcSize_;
69 };
70 
71 #endif
static const std::map< int, int > kSplit_
void eventSetup(const edm::EventSetup &)
void eventSetup(const edm::EventSetup &es)
static const std::map< int, int > kSplit_v9_
uint32_t getCoarseTriggerCellId(uint32_t detid) const
static const std::map< int, int > kSplit_v9_Scin_
uint32_t getRepresentativeDetId(uint32_t tcid) const
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
HGCalCoarseTriggerCellMapping(const std::vector< unsigned > &ctcSize)
#define constexpr