ATLAS Offline Software
RpcDataPreparator.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_RPCDATAPREPARATOR_H
6 #define TRIGL2MUONSA_RPCDATAPREPARATOR_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
11 
14 
15 #include "RpcData.h"
16 #include "RpcFitResult.h"
17 #include "RpcPatFinder.h"
18 #include "RecMuonRoIUtils.h"
19 #include "RpcClusterPreparator.h"
21 
24 
26 
28 
29 // --------------------------------------------------------------------------------
30 // --------------------------------------------------------------------------------
31 
32 namespace TrigL2MuonSA {
33 
35 {
36  public:
37 
38  RpcDataPreparator(const std::string& type,
39  const std::string& name,
40  const IInterface* parent);
41 
42  virtual StatusCode initialize() override;
43 
45  TrigL2MuonSA::RpcHits& rpcHits,
46  TrigL2MuonSA::RpcLayerHits& rpcLayerHits,
47  const ToolHandle<RpcPatFinder>* rpcPatFinder,
48  const bool dynamicDeltaRpc) const;
49 
50  //for multi-track SA mode
52  TrigL2MuonSA::RpcLayerClusters& rpcLayerClusters,
53  const ToolHandle<ClusterPatFinder>* clusterPatFinder,
54  const bool dynamicDeltaRpc) const;
55 
56  void setRoIBasedDataAccess(bool use_RoIBasedDataAccess);
57 
58  private:
59  ToolHandle<IRegSelTool> m_regionSelector{this,"RegSel_RPC","RegSelTool/RegSelTool_RPC"};
60  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
61 
62  ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recRPCRoiTool{ this, "TrigT1RPCRecRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"};
63 
64  // handles to the RoI driven data access
66  this, "RpcPrepDataContainer", "RPC_Measurements", "Name of the RPCContainer to read in"};
67 
68  //for multi-track SA mode
69  ToolHandle<RpcClusterPreparator> m_clusterPreparator{this, "RpcClusterPreparator", "TrigL2MuonSA::RpcClusterPreparator"};
70 
71  // Declare the keys used to access the data: one for reading and one
72  // for writing.
74 
75  Gaudi::Property< bool > m_emulateNoRpcHit { this, "EmulateNoRpcHit", false, "Flag for emulation of no RPC hit events" };
76 };
77 
78 } // namespace TrigL2MuonSA
79 
80 #endif // TRIGL2MUONSA_RPCDATAPREPARATOR_H
TrigL2MuonSA::RpcDataPreparator::m_use_RoIBasedDataAccess
bool m_use_RoIBasedDataAccess
Definition: RpcDataPreparator.h:73
IRegSelTool.h
TrigL2MuonSA::RpcDataPreparator::setRoIBasedDataAccess
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
Definition: RpcDataPreparator.cxx:47
RpcPatFinder.h
TrigL2MuonSA::RpcHits
std::vector< RpcHitData > RpcHits
Definition: RpcData.h:57
TrigL2MuonSA::RpcDataPreparator::RpcDataPreparator
RpcDataPreparator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: RpcDataPreparator.cxx:16
TrigL2MuonSA::RpcDataPreparator::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: RpcDataPreparator.h:59
RecMuonRoI.h
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
RpcPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
RpcData.h
TrigL2MuonSA::RpcDataPreparator::m_emulateNoRpcHit
Gaudi::Property< bool > m_emulateNoRpcHit
Definition: RpcDataPreparator.h:75
RecMuonRoIUtils.h
TrigL2MuonSA::RpcDataPreparator::m_rpcPrepContainerKey
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_rpcPrepContainerKey
Definition: RpcDataPreparator.h:65
TrigL2MuonSA::RpcDataPreparator::initialize
virtual StatusCode initialize() override
Definition: RpcDataPreparator.cxx:25
RpcClusterPreparator.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
TrigL2MuonSA::RpcLayerClusters
Definition: ClusterPatFinder.h:58
RpcFitResult.h
TrigL2MuonSA::RpcDataPreparator
Definition: RpcDataPreparator.h:35
ITrigT1MuonRecRoiTool.h
TrigL2MuonSA::RpcDataPreparator::m_clusterPreparator
ToolHandle< RpcClusterPreparator > m_clusterPreparator
Definition: RpcDataPreparator.h:69
TrigL2MuonSA::RpcDataPreparator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcDataPreparator.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::RpcLayerHits
Definition: RpcPatFinder.h:20
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IMuonCombinePatternTool.h
TrigRoiDescriptor.h
TrigL2MuonSA::RpcDataPreparator::prepareData
StatusCode prepareData(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::RpcHits &rpcHits, TrigL2MuonSA::RpcLayerHits &rpcLayerHits, const ToolHandle< RpcPatFinder > *rpcPatFinder, const bool dynamicDeltaRpc) const
Definition: RpcDataPreparator.cxx:55
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::RpcDataPreparator::m_recRPCRoiTool
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recRPCRoiTool
Definition: RpcDataPreparator.h:62
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >