Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
43  public:
44 
46 
47  virtual StatusCode initialize() override;
48 
49  public:
50 
52  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
53  TrigL2MuonSA::MuonRoad& muonRoad,
54  TrigL2MuonSA::MdtRegion& mdtRegion,
55  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
56 
58  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
59  TrigL2MuonSA::MuonRoad& muonRoad,
60  TrigL2MuonSA::MdtRegion& mdtRegion,
61  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
62 
63  void setRpcGeometry(bool use_rpc) {m_mdtRegionDefiner->setRpcGeometry(use_rpc);};
64  void setRoIBasedDataAccess(bool use_RoIBasedDataAccess){m_use_RoIBasedDataAccess = use_RoIBasedDataAccess;};
65 
66  private:
67 
69  const TrigRoiDescriptor* p_roids,
70  TrigL2MuonSA::MuonRoad& muonRoad,
71  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
72 
73  StatusCode collectMdtHitsFromPrepData(const EventContext& ctx,
74  const std::vector<IdentifierHash>& v_idHash,
75  TrigL2MuonSA::MdtHits& mdtHits,
76  const TrigL2MuonSA::MuonRoad& muonRoad) const;
77 
78  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
79 
80  private:
81 
82  // Geometry Services
83  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
84 
85  // Region Selector
86  ToolHandle<IRegSelTool> m_regionSelector{this, "RegSel_MDT", "RegSelTool/RegSelTool_MDT"};
87 
88  // MdtRegionDefiner
89  ToolHandle<MdtRegionDefiner> m_mdtRegionDefiner {
90  this, "MdtRegionDefiner", "TrigL2MuonSA::MdtRegionDefiner"};
91 
92  // handles to data access
94  this, "MDTPrepDataContainer","MDT_DriftCircles", "Name of the MDTContainer to read in"};
95 
96  Gaudi::Property<bool> m_isPhase2{this, "isPhase2", false, "if the phase 2 geometry is setup"};
97  Gaudi::Property<bool> m_use_RoIBasedDataAccess{this, "use_RoIBasedDataAccess", false};
98 
99  int m_BMGid{0};
100  std::unordered_set<Identifier> m_DeadChannels{};
101  };
102 
103 } // namespace TrigL2MuonSA
104 
105 #endif //
MdtRegionDefiner.h
IRegSelTool.h
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TrigL2MuonSA::MdtDataPreparator::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition: MdtDataPreparator.h:63
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
TrigL2MuonSA::MdtDataPreparator::prepareData
StatusCode prepareData(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MdtHits &mdtHits_normal) const
Definition: MdtDataPreparator.cxx:74
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
MdtData.h
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:57
TrigL2MuonSA::MdtDataPreparator::m_mdtRegionDefiner
ToolHandle< MdtRegionDefiner > m_mdtRegionDefiner
Definition: MdtDataPreparator.h:89
TrigL2MuonSA::MdtDataPreparator::m_isPhase2
Gaudi::Property< bool > m_isPhase2
Definition: MdtDataPreparator.h:96
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:93
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:14
TrigL2MuonSA::MdtDataPreparator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtDataPreparator.h:83
TrigL2MuonSA::MdtDataPreparator::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: MdtDataPreparator.h:86
TrigL2MuonSA::MdtDataPreparator::setRoIBasedDataAccess
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
Definition: MdtDataPreparator.h:64
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:97
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:100
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:333
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:152
IdentifierHash.h
TrigL2MuonSA::MdtDataPreparator::m_BMGid
int m_BMGid
Definition: MdtDataPreparator.h:99
MuonDetectorManager.h
TrigL2MuonSA::MdtDataPreparator::interfaceID
static const InterfaceID & interfaceID()
TrigL2MuonSA::MdtDataPreparator::getMdtHits
StatusCode getMdtHits(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtHits &mdtHits_normal) const
Definition: MdtDataPreparator.cxx:111
TrigL2MuonSA::MdtDataPreparator
Definition: MdtDataPreparator.h:38
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >