ATLAS Offline Software
TrigT1TGCRecRoiTool.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 TRIGT1TGCRECROITOOL_H
6 #define TRIGT1TGCRECROITOOL_H
7 
10 
11 class TGCIdBase;
12 class Identifier;
13 class ITGCcablingSvc;
14 namespace Muon{
15  class IMuonIdHelperSvc;
16 }
17 namespace MuonGM{
18  class MuonDetectorManager;
19 }
20 
21 namespace LVL1 {
22 
23  class TrigT1TGCRecRoiTool: public extends<AthAlgTool, ITrigT1MuonRecRoiTool> {
24  public:
25  TrigT1TGCRecRoiTool(const std::string& type,
26  const std::string& name,
27  const IInterface* parent);
28  virtual ~TrigT1TGCRecRoiTool();
29  virtual StatusCode initialize() override;
30 
31  virtual StatusCode roiData(const unsigned int& roiWord, TrigT1MuonRecRoiData& data) const override;
32 
33  virtual StatusCode RoIsize(const unsigned int& roiWord,
34  double& etaMin, double& etaMax,
35  double& phiMin, double& phiMax) const override;
36 
37  virtual bool dumpRoiMap(const std::string& filename) const override;
38 
39  // does not exists for TGCs
40  bool etaDimLow (const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
41  bool etaDimHigh(const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
42 
43  private:
44 
45  enum EdgeType {NonEdge=-1,
50  enum DummyOffset {DummyOffset=-9999};
51 
52  bool getSLBparameters(const unsigned int & roIWord,
53  TGCIdBase & tgcIdBase,
54  unsigned int & sectorID,
55  unsigned int & roiNumber,
56  unsigned int & r,
57  unsigned int & phi,
58  int & wireSLBId,
59  int & block ) const;
60 
61  std::unique_ptr<TGCIdBase> getWireASDOut(const TGCIdBase& tgcIdBase,
62  unsigned int sectorID,
63  int wireSLBId,
64  int block,
65  int phi ,
66  int offset) const;
67 
68  std::unique_ptr<TGCIdBase> getStripASDOut(const TGCIdBase& tgcIdBase,
69  unsigned int sectorID,
70  int wireSLBId,
71  int block,
72  int phi,
73  int wireOffset,
74  int stripOffset=DummyOffset) const;
75 
76  void getWireInfo(double& eta, double& phi,
77  Identifier & wireId,
78  std::unique_ptr<TGCIdBase> w_asdout,
79  EdgeType edge=NonEdge) const;
80 
81  void getStripInfo(double& eta, double& phi,
82  Identifier & stripId,
83  std::unique_ptr<TGCIdBase> s_asdout,
84  EdgeType edge=NonEdge) const;
85 
86 
87  BooleanProperty m_useRun3Config{this,"UseRun3Config",false,"use Run 3 config"};
88  BooleanProperty m_patchForRoIWord{this,"PatchForRoIWord",false,"apply a patch to RoI word"};
89  BooleanProperty m_useConditionData{this,"UseConditionData",true,"use condition data"};
90  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
91  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey {this, "DetectorManagerKey","MuonDetectorManager","Key of input MuonDetectorManager condition data"};
92  const ITGCcablingSvc* m_cabling{nullptr};
93 
94  }; // end of TrigT1TGCRecRoiTool
95 } // namespace LVL1
96 
97 
98 #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:90
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
LVL1::TrigT1TGCRecRoiTool::LowerREdge
@ LowerREdge
Definition: TrigT1TGCRecRoiTool.h:46
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
ITGCcablingSvc
Definition: ITGCcablingSvc.h:31
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1::TrigT1TGCRecRoiTool::TrigT1TGCRecRoiTool
TrigT1TGCRecRoiTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigT1TGCRecRoiTool.cxx:17
LVL1::TrigT1TGCRecRoiTool::initialize
virtual StatusCode initialize() override
Definition: TrigT1TGCRecRoiTool.cxx:24
LVL1::TrigT1TGCRecRoiTool::getWireInfo
void getWireInfo(double &eta, double &phi, Identifier &wireId, std::unique_ptr< TGCIdBase > w_asdout, EdgeType edge=NonEdge) const
Definition: TrigT1TGCRecRoiTool.cxx:269
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TrigT1TGCRecRoiTool::m_cabling
const ITGCcablingSvc * m_cabling
Definition: TrigT1TGCRecRoiTool.h:92
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
LVL1::TrigT1TGCRecRoiTool::m_useRun3Config
BooleanProperty m_useRun3Config
Definition: TrigT1TGCRecRoiTool.h:87
LVL1::TrigT1TGCRecRoiTool::~TrigT1TGCRecRoiTool
virtual ~TrigT1TGCRecRoiTool()
Definition: TrigT1TGCRecRoiTool.cxx:21
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
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:41
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::TrigT1TGCRecRoiTool::UpperREdge
@ UpperREdge
Definition: TrigT1TGCRecRoiTool.h:47
LVL1::TrigT1TGCRecRoiTool::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: TrigT1TGCRecRoiTool.h:91
ITrigT1MuonRecRoiTool.h
LVL1::TrigT1TGCRecRoiTool::UpperPhiEdge
@ UpperPhiEdge
Definition: TrigT1TGCRecRoiTool.h:49
TrigConf::name
Definition: HLTChainList.h:35
LVL1::TrigT1TGCRecRoiTool::LowerPhiEdge
@ LowerPhiEdge
Definition: TrigT1TGCRecRoiTool.h:48
LVL1::TrigT1TGCRecRoiTool::m_useConditionData
BooleanProperty m_useConditionData
Definition: TrigT1TGCRecRoiTool.h:89
LVL1::TrigT1TGCRecRoiTool::getStripInfo
void getStripInfo(double &eta, double &phi, Identifier &stripId, std::unique_ptr< TGCIdBase > s_asdout, EdgeType edge=NonEdge) const
Definition: TrigT1TGCRecRoiTool.cxx:318
LVL1::TrigT1TGCRecRoiTool
Definition: TrigT1TGCRecRoiTool.h:23
xAOD::roiNumber
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
Definition: L2StandAloneMuon_v1.cxx:339
LVL1::TrigT1TGCRecRoiTool::DummyOffset
DummyOffset
Definition: TrigT1TGCRecRoiTool.h:50
TGCIdBase
Definition: TGCIdBase.h:18
LVL1::TrigT1TGCRecRoiTool::m_patchForRoIWord
BooleanProperty m_patchForRoIWord
Definition: TrigT1TGCRecRoiTool.h:88
LVL1::TrigT1TGCRecRoiTool::RoIsize
virtual StatusCode RoIsize(const unsigned int &roiWord, double &etaMin, double &etaMax, double &phiMin, double &phiMax) const override
Definition: TrigT1TGCRecRoiTool.cxx:373
LVL1::TrigT1TGCRecRoiTool::EdgeType
EdgeType
Definition: TrigT1TGCRecRoiTool.h:45
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
LVL1::TrigT1TGCRecRoiTool::NonEdge
@ NonEdge
Definition: TrigT1TGCRecRoiTool.h:45
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LVL1::TrigT1TGCRecRoiTool::getSLBparameters
bool getSLBparameters(const unsigned int &roIWord, TGCIdBase &tgcIdBase, unsigned int &sectorID, unsigned int &roiNumber, unsigned int &r, unsigned int &phi, int &wireSLBId, int &block) const
Definition: TrigT1TGCRecRoiTool.cxx:101
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
LVL1::TrigT1TGCRecRoiTool::getWireASDOut
std::unique_ptr< TGCIdBase > getWireASDOut(const TGCIdBase &tgcIdBase, unsigned int sectorID, int wireSLBId, int block, int phi, int offset) const
Definition: TrigT1TGCRecRoiTool.cxx:206
LVL1::TrigT1TGCRecRoiTool::roiData
virtual StatusCode roiData(const unsigned int &roiWord, TrigT1MuonRecRoiData &data) const override
Definition: TrigT1TGCRecRoiTool.cxx:37
LVL1::TrigT1TGCRecRoiTool::etaDimLow
bool etaDimLow(const TrigT1MuonRecRoiData &, double &, double &) const override
Definition: TrigT1TGCRecRoiTool.h:40
LVL1::TrigT1TGCRecRoiTool::getStripASDOut
std::unique_ptr< TGCIdBase > getStripASDOut(const TGCIdBase &tgcIdBase, unsigned int sectorID, int wireSLBId, int block, int phi, int wireOffset, int stripOffset=DummyOffset) const
Definition: TrigT1TGCRecRoiTool.cxx:228
LVL1::TrigT1TGCRecRoiTool::dumpRoiMap
virtual bool dumpRoiMap(const std::string &filename) const override
Definition: TrigT1TGCRecRoiTool.cxx:458
ServiceHandle< Muon::IMuonIdHelperSvc >