ATLAS Offline Software
TGCNSWCoincidenceMap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef TGCNSWCoincidenceMap_h
6 #define TGCNSWCoincidenceMap_h
7 
8 #include <vector>
9 #include <map>
10 #include <string>
11 
13 #include "GaudiKernel/ToolHandle.h"
14 #include "TrigT1TGC/TGCNumbering.h"
15 
16 class ITGCTriggerDbTool;
17 
18 namespace LVL1TGC {
19 class NSWTrigOut;
20 }
21 
22 namespace LVL1TGCTrigger {
23 
24 class TGCArguments;
25 
27 
28 private:
29  TGCNSWCoincidenceMap() = delete;// hide default constructor
30  enum {N_dEta=64,N_dPhi=16,N_Dtheta=32,N_PT_THRESH=15};//6bit eta,4bit phi,5bit Dtheta, 4bit pT
32  std::map<TGCRegionType,int> m_NumberOfEtaRaw = {{TGCRegionType::ENDCAP,37}, {TGCRegionType::FORWARD,16}};
33  std::map<TGCRegionType,int> m_NumberOfRoI = {{TGCRegionType::ENDCAP, LVL1TGC::kNumberOfEndcapRoI}, {TGCRegionType::FORWARD,64}};
34 
35 public:
36  TGCNSWCoincidenceMap(TGCArguments* tgcargs,const std::string& version,int side,int oct,int mod);
37  ~TGCNSWCoincidenceMap() = default;
38 
39  bool isForward( int module );
40 
41  int TGCNSW_pTcalcu_EtaPhi(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const;
42  int TGCNSW_pTcalcu_EtaDtheta(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const;
43 
44  const std::string& getVersion() const;
45  int getSideId() const;
46  int getOctantId() const;
47 
48 
49  // copy and assignment operator
51  bool readMap(const std::string& moduleName, ReadCW_Type cw_type);
52  bool readShift();
54  const TGCArguments* tgcArgs() const { return m_tgcArgs;}
55 
56 private:
57  std::vector<short int> m_EtaPhi_CW[N_dEta][N_dPhi];
58  std::vector<short int> m_EtaDtheta_CW[N_dEta][N_Dtheta];
59  std::vector<short int> m_Offset_Eta;
60  std::vector<short int> m_Offset_Phi;
61 
62 
63  std::string m_verName;
64  int m_side;
65  int m_octant;
66  int m_module;
67  int m_sector;
69  bool m_fullCW;
70 
71 
72 
73  ToolHandle<ITGCTriggerDbTool> m_condDbTool;
75 };
76 
77 
78 
79 } // end of namespace
80 
81 #endif // TGCNSWCoincidenceMap_hh
82 
83 
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
LVL1TGCTrigger::TGCNSWCoincidenceMap::EtaPhi_CW
@ EtaPhi_CW
Definition: TGCNSWCoincidenceMap.h:31
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_verName
std::string m_verName
Definition: TGCNSWCoincidenceMap.h:63
LVL1TGCTrigger::TGCNSWCoincidenceMap
Definition: TGCNSWCoincidenceMap.h:26
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaPhi_CW
std::vector< short int > m_EtaPhi_CW[N_dEta][N_dPhi]
Definition: TGCNSWCoincidenceMap.h:57
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Phi
std::vector< short int > m_Offset_Phi
Definition: TGCNSWCoincidenceMap.h:60
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_dPhi
@ N_dPhi
Definition: TGCNSWCoincidenceMap.h:30
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_Dtheta
@ N_Dtheta
Definition: TGCNSWCoincidenceMap.h:30
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::TGCNSWCoincidenceMap::isForward
bool isForward(int module)
Definition: TGCNSWCoincidenceMap.cxx:86
LVL1TGCTrigger::TGCNSWCoincidenceMap::ReadCW_Type
ReadCW_Type
Definition: TGCNSWCoincidenceMap.h:31
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_fullCW
bool m_fullCW
Definition: TGCNSWCoincidenceMap.h:69
ITGCTriggerDbTool
Definition: ITGCTriggerDbTool.h:16
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_PT_THRESH
@ N_PT_THRESH
Definition: TGCNSWCoincidenceMap.h:30
LVL1TGCTrigger::TGCNSWCoincidenceMap::~TGCNSWCoincidenceMap
~TGCNSWCoincidenceMap()=default
TRT::Hit::side
@ side
Definition: HitInfo.h:83
python.PyAthena.module
module
Definition: PyAthena.py:131
LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs
const TGCArguments * tgcArgs() const
Definition: TGCNSWCoincidenceMap.h:54
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap
TGCNSWCoincidenceMap(const TGCNSWCoincidenceMap &right)
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_NumberOfRoI
std::map< TGCRegionType, int > m_NumberOfRoI
Definition: TGCNSWCoincidenceMap.h:33
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_module
int m_module
Definition: TGCNSWCoincidenceMap.h:66
LVL1TGCTrigger::TGCNSWCoincidenceMap::EtaDtheta_CW
@ EtaDtheta_CW
Definition: TGCNSWCoincidenceMap.h:31
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_tgcArgs
TGCArguments * m_tgcArgs
Definition: TGCNSWCoincidenceMap.h:74
LVL1TGC
Definition: BigWheelCoincidenceLUT.cxx:20
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_sector
int m_sector
Definition: TGCNSWCoincidenceMap.h:67
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LVL1TGCTrigger::TGCNSWCoincidenceMap::readMap
bool readMap(const std::string &moduleName, ReadCW_Type cw_type)
Definition: TGCNSWCoincidenceMap.cxx:132
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_Offset_Eta
std::vector< short int > m_Offset_Eta
Definition: TGCNSWCoincidenceMap.h:59
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_condDbTool
ToolHandle< ITGCTriggerDbTool > m_condDbTool
Definition: TGCNSWCoincidenceMap.h:73
LVL1TGCTrigger
Definition: LVL1TGCTrigger.cxx:47
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_NumberOfEtaRaw
std::map< TGCRegionType, int > m_NumberOfEtaRaw
Definition: TGCNSWCoincidenceMap.h:32
LVL1TGCTrigger::TGCNSWCoincidenceMap::tgcArgs
TGCArguments * tgcArgs()
Definition: TGCNSWCoincidenceMap.h:53
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaPhi
int TGCNSW_pTcalcu_EtaPhi(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const
Definition: TGCNSWCoincidenceMap.cxx:91
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSWCoincidenceMap
TGCNSWCoincidenceMap()=delete
LVL1TGCTrigger::TGCNSWCoincidenceMap::TGCNSW_pTcalcu_EtaDtheta
int TGCNSW_pTcalcu_EtaDtheta(const LVL1TGC::NSWTrigOut *nswOut, int RoI) const
Definition: TGCNSWCoincidenceMap.cxx:113
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_region
TGCRegionType m_region
Definition: TGCNSWCoincidenceMap.h:68
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_octant
int m_octant
Definition: TGCNSWCoincidenceMap.h:65
TGCNumbering.h
LVL1TGCTrigger::TGCNSWCoincidenceMap::getSideId
int getSideId() const
LVL1TGCTrigger::TGCArguments
Definition: TGCArguments.h:12
get_generator_info.version
version
Definition: get_generator_info.py:33
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_EtaDtheta_CW
std::vector< short int > m_EtaDtheta_CW[N_dEta][N_Dtheta]
Definition: TGCNSWCoincidenceMap.h:58
LVL1TGCTrigger::TGCNSWCoincidenceMap::getOctantId
int getOctantId() const
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition: TGCNumbering.h:49
LVL1TGCTrigger::TGCNSWCoincidenceMap::m_side
int m_side
Definition: TGCNSWCoincidenceMap.h:64
AthMessaging.h
LVL1TGCTrigger::TGCNSWCoincidenceMap::readShift
bool readShift()
Definition: TGCNSWCoincidenceMap.cxx:198
LVL1TGCTrigger::TGCNSWCoincidenceMap::N_dEta
@ N_dEta
Definition: TGCNSWCoincidenceMap.h:30
LVL1TGC::NSWTrigOut
Definition: NSWTrigOut.h:16
LVL1TGCTrigger::TGCNSWCoincidenceMap::getVersion
const std::string & getVersion() const