ATLAS Offline Software
MdtDataPreparator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_MDTDATAPREPARATOR_H
6 #define TRIGL2MUONSA_MDTDATAPREPARATOR_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 
19 
20 #include "MdtData.h"
21 #include "MdtRegionDefiner.h"
22 
23 #include "RpcFitResult.h"
24 #include "TgcFitResult.h"
25 #include <unordered_set>
26 
27 namespace MuonGM{
28  class MdtReadoutElement;
29  class MuonStation;
30 }
31 
32 // --------------------------------------------------------------------------------
33 // --------------------------------------------------------------------------------
34 
35 namespace TrigL2MuonSA {
36 
38  {
39  public:
40 
41  static const InterfaceID& interfaceID();
42 
44 
45  virtual StatusCode initialize() override;
46 
47  StatusCode prepareData(const EventContext& ctx,
48  const TrigRoiDescriptor* p_roids,
49  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
50  TrigL2MuonSA::MuonRoad& muonRoad,
51  TrigL2MuonSA::MdtRegion& mdtRegion,
52  TrigL2MuonSA::MdtHits& mdtHits) const;
53 
54  StatusCode prepareData(const EventContext& ctx,
55  const TrigRoiDescriptor* p_roids,
56  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
57  TrigL2MuonSA::MuonRoad& muonRoad,
58  TrigL2MuonSA::MdtRegion& mdtRegion,
59  TrigL2MuonSA::MdtHits& mdtHits) const;
60 
61  void setRpcGeometry(bool use_rpc) {m_mdtRegionDefiner->setRpcGeometry(use_rpc);};
62  void setRoIBasedDataAccess(bool use_RoIBasedDataAccess){m_use_RoIBasedDataAccess = use_RoIBasedDataAccess;};
63 
64  private:
65 
67  const EventContext& ctx,
68  const TrigRoiDescriptor* p_roids,
69  TrigL2MuonSA::MuonRoad& muonRoad,
70  TrigL2MuonSA::MdtHits& mdtHits) const;
71 
72  StatusCode collectMdtHitsFromPrepData(const EventContext& ctx,
73  const std::vector<IdentifierHash>& v_idHash,
74  TrigL2MuonSA::MdtHits& mdtHits,
75  const TrigL2MuonSA::MuonRoad& muonRoad) const;
76 
77  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
78 
79  // Geometry Services
80  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
81 
82  // Region Selector
83  ToolHandle<IRegSelTool> m_regionSelector{this, "RegSel_MDT", "RegSelTool/RegSelTool_MDT"};
84 
85  // MdtRegionDefiner
86  ToolHandle<MdtRegionDefiner> m_mdtRegionDefiner {
87  this, "MdtRegionDefiner", "TrigL2MuonSA::MdtRegionDefiner"};
88 
89  // handles to data access
91  this, "MDTPrepDataContainer","MDT_DriftCircles", "Name of the MDTContainer to read in"};
92 
93  Gaudi::Property<bool> m_isPhase2{this, "isPhase2", false, "if the phase 2 geometry is setup"};
94  Gaudi::Property<bool> m_use_RoIBasedDataAccess{this, "use_RoIBasedDataAccess", false};
95 
96  int m_BMGid{0};
97  std::unordered_set<Identifier> m_DeadChannels{};
98  };
99 
100 } // namespace TrigL2MuonSA
101 
102 #endif //
MdtRegionDefiner.h
IRegSelTool.h
TrigL2MuonSA::MdtDataPreparator::prepareData
StatusCode prepareData(const EventContext &ctx, const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MdtHits &mdtHits) const
Definition: MdtDataPreparator.cxx:74
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TrigL2MuonSA::MdtDataPreparator::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition: MdtDataPreparator.h:61
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
MdtData.h
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:56
TrigL2MuonSA::MdtDataPreparator::m_mdtRegionDefiner
ToolHandle< MdtRegionDefiner > m_mdtRegionDefiner
Definition: MdtDataPreparator.h:86
TrigL2MuonSA::MdtDataPreparator::m_isPhase2
Gaudi::Property< bool > m_isPhase2
Definition: MdtDataPreparator.h:93
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TrigL2MuonSA::MdtDataPreparator::m_mdtPrepContainerKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepContainerKey
Definition: MdtDataPreparator.h:90
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:15
TrigL2MuonSA::MdtDataPreparator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtDataPreparator.h:80
TrigL2MuonSA::MdtDataPreparator::getMdtHits
StatusCode getMdtHits(const EventContext &ctx, const TrigRoiDescriptor *p_roids, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtHits &mdtHits) const
Definition: MdtDataPreparator.cxx:113
TrigL2MuonSA::MdtDataPreparator::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: MdtDataPreparator.h:83
TrigL2MuonSA::MdtDataPreparator::setRoIBasedDataAccess
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
Definition: MdtDataPreparator.h:62
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
IMuonRdoToPrepDataTool.h
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
TrigL2MuonSA::MdtDataPreparator::m_use_RoIBasedDataAccess
Gaudi::Property< bool > m_use_RoIBasedDataAccess
Definition: MdtDataPreparator.h:94
MuonMDT_CablingMap.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
RpcFitResult.h
TgcFitResult.h
TrigL2MuonSA::MdtDataPreparator::m_DeadChannels
std::unordered_set< Identifier > m_DeadChannels
Definition: MdtDataPreparator.h:97
TrigL2MuonSA::MdtDataPreparator::initialize
virtual StatusCode initialize() override
Definition: MdtDataPreparator.cxx:32
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TrigL2MuonSA::MdtDataPreparator::initDeadChannels
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
Definition: MdtDataPreparator.cxx:295
TrigL2MuonSA::MdtDataPreparator::collectMdtHitsFromPrepData
StatusCode collectMdtHitsFromPrepData(const EventContext &ctx, const std::vector< IdentifierHash > &v_idHash, TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::MuonRoad &muonRoad) const
Definition: MdtDataPreparator.cxx:146
IdentifierHash.h
TrigL2MuonSA::MdtDataPreparator::m_BMGid
int m_BMGid
Definition: MdtDataPreparator.h:96
MuonDetectorManager.h
TrigL2MuonSA::MdtDataPreparator::interfaceID
static const InterfaceID & interfaceID()
TrigL2MuonSA::MdtDataPreparator
Definition: MdtDataPreparator.h:38
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >