ATLAS Offline Software
MdtDataPreparator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 #include "GaudiKernel/ToolHandle.h"
11 
22 
23 #include "TgcData.h"
24 #include "MdtData.h"
25 #include "MdtRegionDefiner.h"
26 
27 #include "RpcFitResult.h"
28 #include "TgcFitResult.h"
29 
30 namespace MuonGM{
31  class MdtReadoutElement;
32  class MuonStation;
33 }
34 
35 // --------------------------------------------------------------------------------
36 // --------------------------------------------------------------------------------
37 
38 namespace TrigL2MuonSA {
39 
41  {
42  public:
43 
44  static const InterfaceID& interfaceID();
45 
46  public:
47 
48  MdtDataPreparator(const std::string& type,
49  const std::string& name,
50  const IInterface* parent);
51 
52  virtual StatusCode initialize() override;
53 
54  public:
55 
57  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
58  TrigL2MuonSA::MuonRoad& muonRoad,
59  TrigL2MuonSA::MdtRegion& mdtRegion,
60  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
61 
63  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
64  TrigL2MuonSA::MuonRoad& muonRoad,
65  TrigL2MuonSA::MdtRegion& mdtRegion,
66  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
67 
68  void setRpcGeometry(bool use_rpc) {m_mdtRegionDefiner->setRpcGeometry(use_rpc);};
69  void setRoIBasedDataAccess(bool use_RoIBasedDataAccess){m_use_RoIBasedDataAccess = use_RoIBasedDataAccess;};
70 
71  private:
72 
74  TrigL2MuonSA::MuonRoad& muonRoad,
75  TrigL2MuonSA::MdtHits& mdtHits_normal) const;
76 
77  StatusCode collectMdtHitsFromPrepData(const std::vector<IdentifierHash>& v_idHash,
78  TrigL2MuonSA::MdtHits& mdtHits,
79  const TrigL2MuonSA::MuonRoad& muonRoad,
80  const MuonGM::MuonDetectorManager* muDetMgr) const;
81 
82  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
83 
84  private:
85 
86  // Geometry Services
87  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
89 
90  // Region Selector
91  ToolHandle<IRegSelTool> m_regionSelector;
92 
93  // MdtRegionDefiner
94  ToolHandle<MdtRegionDefiner> m_mdtRegionDefiner {
95  this, "MdtRegionDefiner", "TrigL2MuonSA::MdtRegionDefiner"};
96 
97  // handles to data access
99  this, "MDTPrepDataContainer","MDT_DriftCircles", "Name of the MDTContainer to read in"};
100  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
101 
104  int m_BMGid;
105  std::map<Identifier, std::vector<Identifier> > m_DeadChannels;
106 
107  };
108 
109 } // namespace TrigL2MuonSA
110 
111 #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:68
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:85
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
MdtData.h
IMuonRawDataProviderTool.h
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:57
TrigL2MuonSA::MdtDataPreparator::m_mdtRegionDefiner
ToolHandle< MdtRegionDefiner > m_mdtRegionDefiner
Definition: MdtDataPreparator.h:94
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::MdtDataPreparator
MdtDataPreparator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MdtDataPreparator.cxx:29
TrigL2MuonSA::MdtDataPreparator::m_mdtPrepContainerKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepContainerKey
Definition: MdtDataPreparator.h:98
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:14
TrigL2MuonSA::MdtDataPreparator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtDataPreparator.h:87
TrigL2MuonSA::MdtDataPreparator::m_BMGpresent
bool m_BMGpresent
Definition: MdtDataPreparator.h:103
TrigL2MuonSA::MdtDataPreparator::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: MdtDataPreparator.h:91
TrigL2MuonSA::MdtDataPreparator::setRoIBasedDataAccess
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
Definition: MdtDataPreparator.h:69
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
IMuonRdoToPrepDataTool.h
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
MuonMDT_CablingMap.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
RpcFitResult.h
TgcFitResult.h
TrigL2MuonSA::MdtDataPreparator::collectMdtHitsFromPrepData
StatusCode collectMdtHitsFromPrepData(const std::vector< IdentifierHash > &v_idHash, TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::MuonRoad &muonRoad, const MuonGM::MuonDetectorManager *muDetMgr) const
Definition: MdtDataPreparator.cxx:160
TrigL2MuonSA::MdtDataPreparator::initialize
virtual StatusCode initialize() override
Definition: MdtDataPreparator.cxx:43
TrigL2MuonSA::MdtDataPreparator::m_use_RoIBasedDataAccess
bool m_use_RoIBasedDataAccess
Definition: MdtDataPreparator.h:102
ReadCondHandleKey.h
TrigL2MuonSA::MdtDataPreparator::initDeadChannels
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
Definition: MdtDataPreparator.cxx:354
TrigL2MuonSA::MdtDataPreparator::m_DeadChannels
std::map< Identifier, std::vector< Identifier > > m_DeadChannels
Definition: MdtDataPreparator.h:105
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::MdtDataPreparator::m_hash_id
IdentifierHash m_hash_id
Definition: MdtDataPreparator.h:88
IdentifierHash.h
TrigL2MuonSA::MdtDataPreparator::m_BMGid
int m_BMGid
Definition: MdtDataPreparator.h:104
TrigL2MuonSA::MdtDataPreparator::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: MdtDataPreparator.h:100
TgcData.h
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
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:120
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigL2MuonSA::MdtDataPreparator
Definition: MdtDataPreparator.h:41
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
IdentifierHash
Definition: IdentifierHash.h:38
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >