ATLAS Offline Software
ClusterRoadDefiner.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_CLUSTERROADDEFINER_H
6 #define TRIGL2MUONSA_CLUSTERROADDEFINER_H
7 
8 #include <string>
9 #include <vector>
10 
12 
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
15 
17 
19 
20 #include "ClusterPatFinder.h"
21 #include "MuonRoad.h"
22 #include "RpcFitResult.h"
24 #include "xAODTrigger/MuonRoI.h"
25 
27 
28 namespace TrigL2MuonSA {
29 
30 // --------------------------------------------------------------------------------
31 // --------------------------------------------------------------------------------
32 
34 {
35  public:
36  ClusterRoadDefiner(const std::string& type,
37  const std::string& name,
38  const IInterface* parent);
39 
40  virtual StatusCode initialize() override;
41  public:
43  std::vector<TrigL2MuonSA::MuonRoad>& clusterRoad,
44  TrigL2MuonSA::RpcLayerClusters& rpcLayerClusters,
45  const ToolHandle<ClusterPatFinder>* clusterPatFinder,
46  std::vector<TrigL2MuonSA::RpcFitResult>& clusterFitResults,
47  double roiEtaMinLow,
48  double roiEtaMaxLow,
49  double roiEtaMinHigh,
50  double roiEtaMaxHigh) const;
51  StatusCode defineRoad(const xAOD::MuonRoI* p_roi,
52  std::vector<TrigL2MuonSA::MuonRoad>& clusterRoad,
53  TrigL2MuonSA::RpcLayerClusters& rpcLayerClusters,
54  const ToolHandle<ClusterPatFinder>* clusterPatFinder,
55  std::vector<TrigL2MuonSA::RpcFitResult>& clusterFitResults,
56  double roiEtaMinLow,
57  double roiEtaMaxLow,
58  double roiEtaMinHigh,
59  double roiEtaMaxHigh) const;
60 
61  void setRoadWidthForFailure(double rWidth_RPC_Failed){ m_rWidth_RPC_Failed = rWidth_RPC_Failed; };
62  void setRpcGeometry(bool use_rpc){ m_use_rpc = use_rpc; };
63 
64  private:
66  bool m_use_rpc{true};
67 
68  ToolHandle<IRegSelTool> m_regionSelector{this, "RegionSelectionTool", "RegSelTool/RegSelTool_MDT", "MDT Region Selector Tool"};
69  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHleperSvc/MuonIdHelperSvc"};
70 };
71 
72 // --------------------------------------------------------------------------------
73 // --------------------------------------------------------------------------------
74 
75 }
76 #endif // TRIGL2MUONSA_CLUSTERROADDEFINER_H
IRegSelTool.h
MuonRoad.h
TrigL2MuonSA::ClusterRoadDefiner::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: ClusterRoadDefiner.h:68
ITrigMuonBackExtrapolator.h
TrigL2MuonSA::ClusterRoadDefiner
Definition: ClusterRoadDefiner.h:34
TrigL2MuonSA::ClusterRoadDefiner::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: ClusterRoadDefiner.h:69
TrigL2MuonSA::ClusterRoadDefiner::m_use_rpc
bool m_use_rpc
Definition: ClusterRoadDefiner.h:66
RecMuonRoI.h
TrigL2MuonSA::ClusterRoadDefiner::initialize
virtual StatusCode initialize() override
Definition: ClusterRoadDefiner.cxx:23
LVL1::RecMuonRoI
This class defines the reconstructed Muon ROI.
Definition: RecMuonRoI.h:60
TrigL2MuonSA::ClusterRoadDefiner::ClusterRoadDefiner
ClusterRoadDefiner(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ClusterRoadDefiner.cxx:13
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:33
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigL2MuonSA::RpcLayerClusters
Definition: ClusterPatFinder.h:58
RpcFitResult.h
ClusterPatFinder.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::ClusterRoadDefiner::setRoadWidthForFailure
void setRoadWidthForFailure(double rWidth_RPC_Failed)
Definition: ClusterRoadDefiner.h:61
TrigL2MuonSA::ClusterRoadDefiner::defineRoad
StatusCode defineRoad(const LVL1::RecMuonRoI *p_roi, std::vector< TrigL2MuonSA::MuonRoad > &clusterRoad, TrigL2MuonSA::RpcLayerClusters &rpcLayerClusters, const ToolHandle< ClusterPatFinder > *clusterPatFinder, std::vector< TrigL2MuonSA::RpcFitResult > &clusterFitResults, double roiEtaMinLow, double roiEtaMaxLow, double roiEtaMinHigh, double roiEtaMaxHigh) const
Definition: ClusterRoadDefiner.cxx:35
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonRoI.h
TrigL2MuonSA::ClusterRoadDefiner::m_rWidth_RPC_Failed
double m_rWidth_RPC_Failed
Definition: ClusterRoadDefiner.h:65
TrigL2MuonSA::ClusterRoadDefiner::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition: ClusterRoadDefiner.h:62
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >