ATLAS Offline Software
TGCTriggerData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TGCTRIGGERDATA_H
6 #define TGCTRIGGERDATA_H
7 
10 #include <string>
11 #include <map>
12 #include <vector>
13 
14 
102 {
103  friend class TGCTriggerDbAlg;
104 
105  public:
107  static constexpr uint8_t SIDE_MASK = 0x1;
109  static constexpr uint8_t SIDE_SHIFT = 29;
111  static constexpr uint8_t OCTANT_MASK = 0x7;
113  static constexpr uint8_t OCTANT_SHIFT = 26;
115  static constexpr uint8_t TYPE_MASK = 0x7;
117  static constexpr uint8_t TYPE_SHIFT = 26;
119  static constexpr uint8_t PHIMOD2_MASK = 0x1;
121  static constexpr uint8_t PHIMOD2_SHIFT = 22;
123  static constexpr uint8_t MODULE_MASK = 0xf;
125  static constexpr uint8_t MODULE_SHIFT = 18;
127  static constexpr uint8_t ROI_MASK = 0xff;
129  static constexpr uint8_t ROI_SHIFT = 10;
131  static constexpr uint8_t DR_MASK = 0x1f;
133  static constexpr uint8_t DR_SHIFT = 4;
135  static constexpr uint8_t DPHI_MASK = 0xf;
137  static constexpr uint8_t DPHI_SHIFT = 0;
139  static constexpr uint8_t PT_MASK = 0x7;
140 
142  static constexpr uint8_t DR_HIGH_RANGE = 15;
144  static constexpr uint8_t DR_LOW_RANGE = 7;
146  static constexpr uint8_t DPHI_HIGH_RANGE = 7;
148  static constexpr uint8_t DPHI_LOW_RANGE = 3;
150  static constexpr uint8_t SECTOR_MASK = 0x3f;
152  static constexpr uint8_t SSC_MASK = 0x1f;
154  static constexpr uint8_t ADDR_SIDE_SHIFT = 11;
156  static constexpr uint8_t ADDR_SECTOR_SHIFT = 5;
158  static constexpr uint8_t EIFI_TRIGBIT_SHIFT = 2;
159 
160  enum {CW_BW=0, CW_EIFI=1, CW_TILE=2, CW_NUM=3};
161  enum {N_PT_THRESH=6,
172  enum {COIN_HH=0x0, COIN_HL=0x1, COIN_LH=0x2, COIN_LL=0x3};
173 
174  TGCTriggerData();
175  virtual ~TGCTriggerData();
176 
177  std::string getType(int cwtype) const;
178  bool isActive(int cwtype) const;
179 
180  int8_t getTYPE(const int16_t lDR, const int16_t hDR, const int16_t lDPhi, const int16_t hDPhi) const;
181 
182  uint8_t getBigWheelPt(const uint32_t addr) const;
183 
184  unsigned short getTrigBitEifi(int side, int slot, int ssc, int sectorId) const;
185  unsigned char getFlagPtEifi(int side, int ssc, int sectorId) const;
186  unsigned char getFlagRoiEifi(int side, int ssc, int sectorId) const;
187 
188  unsigned short getTrigMaskTile(int ssc, int sectorId, int side) const;
189  unsigned char getFlagPtTile(int ssc, int sectorId, int side) const;
190  uint8_t getFlagRoiTile(int ssc, int sectorId, int side) const;
191 
192  private:
193  std::string m_type[CW_NUM];
194  bool m_active[CW_NUM]{};
195 
197  std::unordered_map<uint32_t, uint8_t> m_ptmap_bw;
198 
199  // Run-2 EIFI-CW LUT map
200  std::unordered_map<uint16_t, uint8_t> m_flagpt_eifi;
201  std::unordered_map<uint16_t, uint8_t> m_flagroi_eifi;
202  std::unordered_map<uint16_t, uint16_t> m_trigbit_eifi;
203 
204  //Run-2 Tile-CW LUT map
205  std::unordered_map<uint16_t, uint8_t> m_flagpt_tile;
206  std::unordered_map<uint16_t, uint8_t> m_flagroi_tile;
207  std::unordered_map<uint16_t, uint16_t> m_trigbit_tile;
208 };
209 
210 CLASS_DEF(TGCTriggerData, 72345188, 3)
211 
212 #include "AthenaKernel/CondCont.h"
214 
215 #endif // TGCTRIGGERDATA_H
TGCTriggerData::N_EIFI_TRIGBIT
@ N_EIFI_TRIGBIT
Definition: TGCTriggerData.h:170
TGCTriggerData::ROI_SHIFT
static constexpr uint8_t ROI_SHIFT
Bit position of the module number bits in the GLOBALADDR.
Definition: TGCTriggerData.h:129
TGCTriggerData::SECTOR_MASK
static constexpr uint8_t SECTOR_MASK
Mask for trigger sector for the (EIFI/TILE) ADDR.
Definition: TGCTriggerData.h:150
TGCTriggerData::CW_BW
@ CW_BW
Definition: TGCTriggerData.h:160
TGCTriggerData::CW_TILE
@ CW_TILE
Definition: TGCTriggerData.h:160
TGCTriggerData::ADDR_SECTOR_SHIFT
static constexpr uint8_t ADDR_SECTOR_SHIFT
Bit position of the trigger sector bit in the (EIFI/TILE) ADDR.
Definition: TGCTriggerData.h:156
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
TGCTriggerData::DR_LOW_RANGE
static constexpr uint8_t DR_LOW_RANGE
Range of DR in the BW coincidence window for 2-station.
Definition: TGCTriggerData.h:144
TGCTriggerData::N_OCTANT
@ N_OCTANT
Definition: TGCTriggerData.h:163
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TGCTriggerData::N_ENDCAP_SSC
@ N_ENDCAP_SSC
Definition: TGCTriggerData.h:164
TGCTriggerData::m_trigbit_tile
std::unordered_map< uint16_t, uint16_t > m_trigbit_tile
Definition: TGCTriggerData.h:207
TGCTriggerData::ADDR_SIDE_SHIFT
static constexpr uint8_t ADDR_SIDE_SHIFT
Bit position of the side bit in the (EIFI/TILE) ADDR.
Definition: TGCTriggerData.h:154
TGCTriggerData::DPHI_MASK
static constexpr uint8_t DPHI_MASK
Mask for extracting the deltaPhi from the GLOBALADDR.
Definition: TGCTriggerData.h:135
TGCTriggerData::CW_EIFI
@ CW_EIFI
Definition: TGCTriggerData.h:160
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
TGCTriggerData::TGCTriggerData
TGCTriggerData()
Definition: TGCTriggerData.cxx:8
TGCTriggerData::N_EIFI_INPUT
@ N_EIFI_INPUT
Definition: TGCTriggerData.h:167
TGCTriggerData::EIFI_TRIGBIT_SHIFT
static constexpr uint8_t EIFI_TRIGBIT_SHIFT
Special bit shift for the EIFI Trigger bit.
Definition: TGCTriggerData.h:158
TGCTriggerData::CW_NUM
@ CW_NUM
Definition: TGCTriggerData.h:160
TRT::Hit::side
@ side
Definition: HitInfo.h:83
TGCTriggerData::DPHI_HIGH_RANGE
static constexpr uint8_t DPHI_HIGH_RANGE
Range of DPhi in the BW coincidence window for 3-station.
Definition: TGCTriggerData.h:146
TGCTriggerData::getBigWheelPt
uint8_t getBigWheelPt(const uint32_t addr) const
Definition: TGCTriggerData.cxx:36
TGCTriggerData::N_ROI_IN_SSC
@ N_ROI_IN_SSC
Definition: TGCTriggerData.h:166
TGCTriggerData::N_TILE_INPUT
@ N_TILE_INPUT
Definition: TGCTriggerData.h:171
TGCTriggerData::SSC_MASK
static constexpr uint8_t SSC_MASK
Mask for SSC for the (EIFI/TILE) ADDR.
Definition: TGCTriggerData.h:152
BaseInfo.h
Provide an interface for finding inheritance information at run time.
TGCTriggerData::getTrigBitEifi
unsigned short getTrigBitEifi(int side, int slot, int ssc, int sectorId) const
Definition: TGCTriggerData.cxx:43
TGCTriggerData::getFlagRoiTile
uint8_t getFlagRoiTile(int ssc, int sectorId, int side) const
Definition: TGCTriggerData.cxx:97
TGCTriggerData::getTrigMaskTile
unsigned short getTrigMaskTile(int ssc, int sectorId, int side) const
Definition: TGCTriggerData.cxx:77
TGCTriggerData::m_flagpt_tile
std::unordered_map< uint16_t, uint8_t > m_flagpt_tile
Definition: TGCTriggerData.h:205
TGCTriggerData::N_EIFI_READOUT
@ N_EIFI_READOUT
Definition: TGCTriggerData.h:169
TGCTriggerData::N_EIFI_REGION
@ N_EIFI_REGION
Definition: TGCTriggerData.h:168
TGCTriggerDbAlg
Definition: TGCTriggerDbAlg.h:15
TGCTriggerData::MODULE_SHIFT
static constexpr uint8_t MODULE_SHIFT
Bit position of the module number bits in the GLOBALADDR.
Definition: TGCTriggerData.h:125
TGCTriggerData::MODULE_MASK
static constexpr uint8_t MODULE_MASK
Mask for extracting the module number from the GLOBALADDR.
Definition: TGCTriggerData.h:123
TGCTriggerData::isActive
bool isActive(int cwtype) const
Definition: TGCTriggerData.cxx:19
TGCTriggerData::PHIMOD2_SHIFT
static constexpr uint8_t PHIMOD2_SHIFT
Bit position of the module number bits in the GLOBALADDR.
Definition: TGCTriggerData.h:121
TGCTriggerData::m_ptmap_bw
std::unordered_map< uint32_t, uint8_t > m_ptmap_bw
Run-2 BW-CW LUT map.
Definition: TGCTriggerData.h:197
TGCTriggerData::m_active
bool m_active[CW_NUM]
Definition: TGCTriggerData.h:194
TGCTriggerData::getType
std::string getType(int cwtype) const
Definition: TGCTriggerData.cxx:14
TGCTriggerData::COIN_LH
@ COIN_LH
Definition: TGCTriggerData.h:172
TGCTriggerData::PHIMOD2_MASK
static constexpr uint8_t PHIMOD2_MASK
Mask for extracting the phi(F or B) from the GLOBALADDR.
Definition: TGCTriggerData.h:119
TGCTriggerData::N_PT_THRESH
@ N_PT_THRESH
Definition: TGCTriggerData.h:161
TGCTriggerData::OCTANT_SHIFT
static constexpr uint8_t OCTANT_SHIFT
Bit position of the octant bits in the GLOBALADDR.
Definition: TGCTriggerData.h:113
TGCTriggerData::COIN_HL
@ COIN_HL
Definition: TGCTriggerData.h:172
TGCTriggerData::SIDE_MASK
static constexpr uint8_t SIDE_MASK
Mask for extracting the side from the GLOBALADDR.
Definition: TGCTriggerData.h:107
TGCTriggerData::DR_HIGH_RANGE
static constexpr uint8_t DR_HIGH_RANGE
Range of DR in the BW coincidence window for 3-station.
Definition: TGCTriggerData.h:142
TGCTriggerData::m_trigbit_eifi
std::unordered_map< uint16_t, uint16_t > m_trigbit_eifi
Definition: TGCTriggerData.h:202
TGCTriggerData::m_flagroi_eifi
std::unordered_map< uint16_t, uint8_t > m_flagroi_eifi
Definition: TGCTriggerData.h:201
TGCTriggerData::getFlagPtEifi
unsigned char getFlagPtEifi(int side, int ssc, int sectorId) const
Definition: TGCTriggerData.cxx:55
TGCTriggerData::OCTANT_MASK
static constexpr uint8_t OCTANT_MASK
Mask for extracting the octant from the GLOBALADDR.
Definition: TGCTriggerData.h:111
CondCont< TGCTriggerData >
TGCTriggerData::m_flagpt_eifi
std::unordered_map< uint16_t, uint8_t > m_flagpt_eifi
Definition: TGCTriggerData.h:200
TGCTriggerData::getTYPE
int8_t getTYPE(const int16_t lDR, const int16_t hDR, const int16_t lDPhi, const int16_t hDPhi) const
Definition: TGCTriggerData.cxx:24
TGCTriggerData::DPHI_SHIFT
static constexpr uint8_t DPHI_SHIFT
Bit position of the deltaPhi bits in the GLOBALADDR.
Definition: TGCTriggerData.h:137
TGCTriggerData::~TGCTriggerData
virtual ~TGCTriggerData()
Definition: TGCTriggerData.cxx:11
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TGCTriggerData::m_flagroi_tile
std::unordered_map< uint16_t, uint8_t > m_flagroi_tile
Definition: TGCTriggerData.h:206
TGCTriggerData::COIN_LL
@ COIN_LL
Definition: TGCTriggerData.h:172
TGCTriggerData::DR_SHIFT
static constexpr uint8_t DR_SHIFT
Bit position of the deltaR bits in the GLOBALADDR.
Definition: TGCTriggerData.h:133
TGCTriggerData::getFlagPtTile
unsigned char getFlagPtTile(int ssc, int sectorId, int side) const
Definition: TGCTriggerData.cxx:87
TGCTriggerData::TYPE_SHIFT
static constexpr uint8_t TYPE_SHIFT
Bit position of the octant bits in the GLOBALADDR.
Definition: TGCTriggerData.h:117
TGCTriggerData::SIDE_SHIFT
static constexpr uint8_t SIDE_SHIFT
Bit position of the side bit in the GLOBALADDR.
Definition: TGCTriggerData.h:109
TGCTriggerData::DR_MASK
static constexpr uint8_t DR_MASK
Mask for extracting the deltaR from the GLOBALADDR.
Definition: TGCTriggerData.h:131
TGCTriggerData
Definition: TGCTriggerData.h:102
TGCTriggerData::COIN_HH
@ COIN_HH
Definition: TGCTriggerData.h:172
TGCTriggerData::PT_MASK
static constexpr uint8_t PT_MASK
Mask for pT value for Run-2.
Definition: TGCTriggerData.h:139
TGCTriggerData::N_ENDCAP_SECTOR
@ N_ENDCAP_SECTOR
Definition: TGCTriggerData.h:165
TGCTriggerData::TYPE_MASK
static constexpr uint8_t TYPE_MASK
Mask for extracting the octant from the GLOBALADDR.
Definition: TGCTriggerData.h:115
TGCTriggerData::m_type
std::string m_type[CW_NUM]
Definition: TGCTriggerData.h:193
TGCTriggerData::N_SIDE
@ N_SIDE
Definition: TGCTriggerData.h:162
CLASS_DEF.h
macros to associate a CLID to a type
TGCTriggerData::DPHI_LOW_RANGE
static constexpr uint8_t DPHI_LOW_RANGE
Range of DPhi in the BW coincidence window for 2-station.
Definition: TGCTriggerData.h:148
TGCTriggerData::ROI_MASK
static constexpr uint8_t ROI_MASK
Mask for extracting the module number from the GLOBALADDR.
Definition: TGCTriggerData.h:127
TGCTriggerData::getFlagRoiEifi
unsigned char getFlagRoiEifi(int side, int ssc, int sectorId) const
Definition: TGCTriggerData.cxx:66