ATLAS Offline Software
TGCEIFICoincidenceMap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigT1TGC_TGCEIFICoincidenceMap_hh
6 #define TrigT1TGC_TGCEIFICoincidenceMap_hh
7 
10 #include "TrigT1TGC/TGCArguments.h"
11 
14 
16 
17 #include <string>
18 #include <bitset>
19 
20 namespace LVL1TGC {
21 
23 {
24  public:
27  const std::string& version, int sideId=0);
28 
31 
33  const unsigned int ssc,
34  const unsigned int sec) const;
35  int getFlagPT(const unsigned int pt,
36  const unsigned int ssc,
37  const unsigned int sec) const;
38 
39  int getFlagROI(const unsigned int roi,
40  const unsigned int ssc,
41  const unsigned int sec) const;
42 
43  int getTriggerBit(const int slot,
44  const int ssc,
45  const int sec,
46  const int reg,
47  const int read,
48  const int bit) const;
49 
50  const std::string& getVersion() const { return m_verName; }
51  int getSideId() const { return m_side; }
52  bool isFullCW() const { return m_fullCW; }
53  void setFullCW( bool val) { m_fullCW = val; }
54 
55  bool readMap();
56  void dumpMap() const;
57 
58  const LVL1TGCTrigger::TGCArguments* tgcArgs() const { return m_tgcArgs; }
60 
61  protected:
62  static constexpr unsigned int N_INNER_SECTORS = 4;
63 
64  private:
65  // The flagPT is a flag whether each pT is applied the coincidence or not.
66  // In each bit (of kNThresholdsR2 bits), 1 applies the coincidence, and 0 is not.
67  // The LSB is the lowest pT threshold, and MSB is the highest pT threshold.
68  std::bitset<kNThresholdsR2> m_flagPT[kNMaxSSC][kNEndcapTrigSector];
69 
70  int m_flagROI[kNRoiInSSC][kNMaxSSC][kNEndcapTrigSector];
71  // 1 use; 0: not use; -1: not used for Trigger
72 
74 
75  std::string m_verName;
76  int m_side;
77  bool m_fullCW;
78 
80 
82 };
83 
84 
85 inline
87  const unsigned int ssc,
88  const unsigned int sec) const
89 {
90  if (input >= N_INNER_SECTORS) return 0;
91  if (ssc >= kNMaxSSC) return 0;
92  if (sec >= kNEndcapTrigSector) return 0;
93 
94  return &(m_map[input][ssc][sec]);
95 }
96 
97 } //end of namespace bracket
98 
99 #endif
100 
101 
read
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)
Definition: openCoraCool.cxx:569
TGCInnerTrackletSlot.h
LVL1TGC::TGCEIFICoincidenceMap::m_verName
std::string m_verName
Definition: TGCEIFICoincidenceMap.h:75
test_pyathena.pt
pt
Definition: test_pyathena.py:11
LVL1TGC::TGCEIFICoincidenceMap::getFlagPT
int getFlagPT(const unsigned int pt, const unsigned int ssc, const unsigned int sec) const
Definition: TGCEIFICoincidenceMap.cxx:250
LVL1TGC::TGCEIFICoincidenceMap::getVersion
const std::string & getVersion() const
Definition: TGCEIFICoincidenceMap.h:50
LVL1TGC::TGCEIFICoincidenceMap
Definition: TGCEIFICoincidenceMap.h:23
ReadCondHandle.h
LVL1TGC::TGCEIFICoincidenceMap::getSideId
int getSideId() const
Definition: TGCEIFICoincidenceMap.h:51
LVL1TGC::TGCEIFICoincidenceMap::setFullCW
void setFullCW(bool val)
Definition: TGCEIFICoincidenceMap.h:53
LVL1TGC::TGCEIFICoincidenceMap::getInnerTrackletMask
const LVL1TGCTrigger::TGCInnerTrackletSlot * getInnerTrackletMask(const unsigned int input, const unsigned int ssc, const unsigned int sec) const
Definition: TGCEIFICoincidenceMap.h:86
LVL1TGC::TGCEIFICoincidenceMap::m_flagPT
std::bitset< kNThresholdsR2 > m_flagPT[kNMaxSSC][kNEndcapTrigSector]
Definition: TGCEIFICoincidenceMap.h:68
LVL1TGC::TGCEIFICoincidenceMap::readMap
bool readMap()
Definition: TGCEIFICoincidenceMap.cxx:153
LVL1TGC::TGCEIFICoincidenceMap::dumpMap
void dumpMap() const
Definition: TGCEIFICoincidenceMap.cxx:227
LVL1TGC::TGCEIFICoincidenceMap::m_flagROI
int m_flagROI[kNRoiInSSC][kNMaxSSC][kNEndcapTrigSector]
Definition: TGCEIFICoincidenceMap.h:70
LVL1TGC::TGCEIFICoincidenceMap::m_map
LVL1TGCTrigger::TGCInnerTrackletSlot m_map[N_INNER_SECTORS][kNMaxSSC][kNEndcapTrigSector]
Definition: TGCEIFICoincidenceMap.h:73
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
LVL1TGC
Definition: BigWheelCoincidenceLUT.cxx:20
LVL1TGC::TGCEIFICoincidenceMap::operator=
TGCEIFICoincidenceMap & operator=(const TGCEIFICoincidenceMap &right)
Definition: TGCEIFICoincidenceMap.cxx:127
LVL1TGC::TGCEIFICoincidenceMap::m_tgcArgs
LVL1TGCTrigger::TGCArguments * m_tgcArgs
Definition: TGCEIFICoincidenceMap.h:79
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LVL1TGC::TGCEIFICoincidenceMap::TGCEIFICoincidenceMap
TGCEIFICoincidenceMap(LVL1TGCTrigger::TGCArguments *, const SG::ReadCondHandleKey< TGCTriggerData > &readCondKey)
Definition: TGCEIFICoincidenceMap.cxx:18
LVL1TGC::TGCEIFICoincidenceMap::m_side
int m_side
Definition: TGCEIFICoincidenceMap.h:76
LVL1TGC::TGCEIFICoincidenceMap::getFlagROI
int getFlagROI(const unsigned int roi, const unsigned int ssc, const unsigned int sec) const
Definition: TGCEIFICoincidenceMap.cxx:267
LVL1TGC::TGCEIFICoincidenceMap::N_INNER_SECTORS
static constexpr unsigned int N_INNER_SECTORS
Definition: TGCEIFICoincidenceMap.h:62
TGCNumbering.h
LVL1TGC::TGCEIFICoincidenceMap::getTriggerBit
int getTriggerBit(const int slot, const int ssc, const int sec, const int reg, const int read, const int bit) const
Definition: TGCEIFICoincidenceMap.cxx:284
LVL1TGC::TGCEIFICoincidenceMap::m_readCondKey
const SG::ReadCondHandleKey< TGCTriggerData > & m_readCondKey
Definition: TGCEIFICoincidenceMap.h:81
LVL1TGC::TGCEIFICoincidenceMap::tgcArgs
LVL1TGCTrigger::TGCArguments * tgcArgs()
Definition: TGCEIFICoincidenceMap.h:59
LVL1TGCTrigger::TGCArguments
Definition: TGCArguments.h:12
SG::ReadCondHandleKey< TGCTriggerData >
get_generator_info.version
version
Definition: get_generator_info.py:33
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
AthMessaging.h
LVL1TGC::TGCEIFICoincidenceMap::isFullCW
bool isFullCW() const
Definition: TGCEIFICoincidenceMap.h:52
TGCArguments.h
LVL1TGC::TGCEIFICoincidenceMap::tgcArgs
const LVL1TGCTrigger::TGCArguments * tgcArgs() const
Definition: TGCEIFICoincidenceMap.h:58
LVL1TGCTrigger::TGCInnerTrackletSlot
Definition: TGCInnerTrackletSlot.h:11
LVL1TGC::TGCEIFICoincidenceMap::m_fullCW
bool m_fullCW
Definition: TGCEIFICoincidenceMap.h:77
TGCTriggerData.h