ATLAS Offline Software
TrigT1TGCRecRoiTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1TGCRECROITOOL_H
6 #define TRIGT1TGCRECROITOOL_H
7 
11 
12 namespace MuonTGC_Cabling {
13  class TGCId;
14 }
15 class Identifier;
16 
17 namespace Muon{
18  class IMuonIdHelperSvc;
19 }
20 namespace MuonGM{
21  class MuonDetectorManager;
22 }
23 
24 namespace LVL1 {
25 
26  class TrigT1TGCRecRoiTool: public extends<AthAlgTool, ITrigT1MuonRecRoiTool> {
27  public:
28  TrigT1TGCRecRoiTool(const std::string& type,
29  const std::string& name,
30  const IInterface* parent);
31  virtual ~TrigT1TGCRecRoiTool();
32  virtual StatusCode initialize() override;
33 
34  virtual StatusCode roiData(const unsigned int& roiWord, TrigT1MuonRecRoiData& data) const override;
35 
36  virtual StatusCode RoIsize(const unsigned int& roiWord,
37  double& etaMin, double& etaMax,
38  double& phiMin, double& phiMax) const override;
39 
40  virtual bool dumpRoiMap(const std::string& filename) const override;
41 
42  // does not exists for TGCs
43  bool etaDimLow (const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
44  bool etaDimHigh(const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
45 
46  private:
47 
48  enum EdgeType {NonEdge=-1,
53  enum DummyOffset {DummyOffset=-9999};
54 
55  bool getSLBparameters(const unsigned int & roIWord,
56  MuonTGC_Cabling::TGCId & tgcId,
57  unsigned int & sectorID,
58  unsigned int & roiNumber,
59  unsigned int & r,
60  unsigned int & phi,
61  int & wireSLBId,
62  int & block ) const;
63 
64  std::unique_ptr<MuonTGC_Cabling::TGCChannelId> getWireASDOut(const MuonTGC_Cabling::TGCId& tgcId,
65  unsigned int sectorID,
66  int wireSLBId,
67  int block,
68  int phi,
69  int offset) const;
70 
71  std::unique_ptr<MuonTGC_Cabling::TGCChannelId> getStripASDOut(const MuonTGC_Cabling::TGCId& tgcId,
72  unsigned int sectorID,
73  int wireSLBId,
74  int block,
75  int phi,
76  int wireOffset,
77  int stripOffset=DummyOffset) const;
78 
79  void getWireInfo(double& eta, double& phi,
80  Identifier & wireId,
81  std::unique_ptr<MuonTGC_Cabling::TGCChannelId> w_asdout,
82  EdgeType edge=NonEdge) const;
83 
84  void getStripInfo(double& eta, double& phi,
85  Identifier & stripId,
86  std::unique_ptr<MuonTGC_Cabling::TGCChannelId> s_asdout,
87  EdgeType edge=NonEdge) const;
88 
89 
90  BooleanProperty m_useRun3Config{this,"UseRun3Config",false,"use Run 3 config"};
91  BooleanProperty m_patchForRoIWord{this,"PatchForRoIWord",false,"apply a patch to RoI word"};
92  BooleanProperty m_useConditionData{this,"UseConditionData",true,"use condition data"};
93  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
94  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey {this, "DetectorManagerKey","MuonDetectorManager","Key of input MuonDetectorManager condition data"};
95  ServiceHandle<MuonTGC_CablingSvc> m_cabling{this, "TGCCablingSvc", "MuonTGC_CablingSvc"};
96  }; // end of TrigT1TGCRecRoiTool
97 } // namespace LVL1
98 
99 
100 #endif
LVL1::TrigT1MuonRecRoiData
Definition: TrigT1MuonRecRoiData.h:10
beamspotman.r
def r
Definition: beamspotman.py:676
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LVL1::TrigT1TGCRecRoiTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TrigT1TGCRecRoiTool.h:93
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonTGC_CablingSvc.h
LVL1::TrigT1TGCRecRoiTool::LowerREdge
@ LowerREdge
Definition: TrigT1TGCRecRoiTool.h:49
LVL1::TrigT1TGCRecRoiTool::TrigT1TGCRecRoiTool
TrigT1TGCRecRoiTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigT1TGCRecRoiTool.cxx:15
LVL1::TrigT1TGCRecRoiTool::initialize
virtual StatusCode initialize() override
Definition: TrigT1TGCRecRoiTool.cxx:22
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
MuonTGC_Cabling::TGCId
Definition: TGCId.h:10
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
LVL1::TrigT1TGCRecRoiTool::getSLBparameters
bool getSLBparameters(const unsigned int &roIWord, MuonTGC_Cabling::TGCId &tgcId, unsigned int &sectorID, unsigned int &roiNumber, unsigned int &r, unsigned int &phi, int &wireSLBId, int &block) const
Definition: TrigT1TGCRecRoiTool.cxx:96
LVL1::TrigT1TGCRecRoiTool::m_useRun3Config
BooleanProperty m_useRun3Config
Definition: TrigT1TGCRecRoiTool.h:90
LVL1::TrigT1TGCRecRoiTool::~TrigT1TGCRecRoiTool
virtual ~TrigT1TGCRecRoiTool()
Definition: TrigT1TGCRecRoiTool.cxx:19
LVL1::TrigT1TGCRecRoiTool::getWireInfo
void getWireInfo(double &eta, double &phi, Identifier &wireId, std::unique_ptr< MuonTGC_Cabling::TGCChannelId > w_asdout, EdgeType edge=NonEdge) const
Definition: TrigT1TGCRecRoiTool.cxx:259
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::TrigT1TGCRecRoiTool::etaDimHigh
bool etaDimHigh(const TrigT1MuonRecRoiData &, double &, double &) const override
Definition: TrigT1TGCRecRoiTool.h:44
MuonTGC_Cabling
Definition: TGCCable.h:13
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::TrigT1TGCRecRoiTool::UpperREdge
@ UpperREdge
Definition: TrigT1TGCRecRoiTool.h:50
LVL1::TrigT1TGCRecRoiTool::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: TrigT1TGCRecRoiTool.h:94
ITrigT1MuonRecRoiTool.h
LVL1::TrigT1TGCRecRoiTool::UpperPhiEdge
@ UpperPhiEdge
Definition: TrigT1TGCRecRoiTool.h:52
TrigConf::name
Definition: HLTChainList.h:35
LVL1::TrigT1TGCRecRoiTool::LowerPhiEdge
@ LowerPhiEdge
Definition: TrigT1TGCRecRoiTool.h:51
LVL1::TrigT1TGCRecRoiTool::m_useConditionData
BooleanProperty m_useConditionData
Definition: TrigT1TGCRecRoiTool.h:92
LVL1::TrigT1TGCRecRoiTool::getStripASDOut
std::unique_ptr< MuonTGC_Cabling::TGCChannelId > getStripASDOut(const MuonTGC_Cabling::TGCId &tgcId, unsigned int sectorID, int wireSLBId, int block, int phi, int wireOffset, int stripOffset=DummyOffset) const
Definition: TrigT1TGCRecRoiTool.cxx:222
LVL1::TrigT1TGCRecRoiTool
Definition: TrigT1TGCRecRoiTool.h:26
xAOD::roiNumber
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
Definition: L2StandAloneMuon_v1.cxx:339
LVL1::TrigT1TGCRecRoiTool::DummyOffset
DummyOffset
Definition: TrigT1TGCRecRoiTool.h:53
LVL1::TrigT1TGCRecRoiTool::m_patchForRoIWord
BooleanProperty m_patchForRoIWord
Definition: TrigT1TGCRecRoiTool.h:91
LVL1::TrigT1TGCRecRoiTool::getWireASDOut
std::unique_ptr< MuonTGC_Cabling::TGCChannelId > getWireASDOut(const MuonTGC_Cabling::TGCId &tgcId, unsigned int sectorID, int wireSLBId, int block, int phi, int offset) const
Definition: TrigT1TGCRecRoiTool.cxx:201
LVL1::TrigT1TGCRecRoiTool::RoIsize
virtual StatusCode RoIsize(const unsigned int &roiWord, double &etaMin, double &etaMax, double &phiMin, double &phiMax) const override
Definition: TrigT1TGCRecRoiTool.cxx:358
LVL1::TrigT1TGCRecRoiTool::EdgeType
EdgeType
Definition: TrigT1TGCRecRoiTool.h:48
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
LVL1::TrigT1TGCRecRoiTool::m_cabling
ServiceHandle< MuonTGC_CablingSvc > m_cabling
Definition: TrigT1TGCRecRoiTool.h:95
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
LVL1::TrigT1TGCRecRoiTool::getStripInfo
void getStripInfo(double &eta, double &phi, Identifier &stripId, std::unique_ptr< MuonTGC_Cabling::TGCChannelId > s_asdout, EdgeType edge=NonEdge) const
Definition: TrigT1TGCRecRoiTool.cxx:307
LVL1::TrigT1TGCRecRoiTool::NonEdge
@ NonEdge
Definition: TrigT1TGCRecRoiTool.h:48
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
LVL1::TrigT1TGCRecRoiTool::roiData
virtual StatusCode roiData(const unsigned int &roiWord, TrigT1MuonRecRoiData &data) const override
Definition: TrigT1TGCRecRoiTool.cxx:33
LVL1::TrigT1TGCRecRoiTool::etaDimLow
bool etaDimLow(const TrigT1MuonRecRoiData &, double &, double &) const override
Definition: TrigT1TGCRecRoiTool.h:43
LVL1::TrigT1TGCRecRoiTool::dumpRoiMap
virtual bool dumpRoiMap(const std::string &filename) const override
Definition: TrigT1TGCRecRoiTool.cxx:441
ServiceHandle< Muon::IMuonIdHelperSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14