ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAlgorithms
TrigL2MuonSA
src
RpcRoadDefiner.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_RPCROADDEFINER_H
6
#define TRIGL2MUONSA_RPCROADDEFINER_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "GaudiKernel/ServiceHandle.h"
10
#include "GaudiKernel/ToolHandle.h"
11
12
#include "
TrigMuonToolInterfaces/ITrigMuonBackExtrapolator.h
"
13
#include "
RpcData.h
"
14
#include "
RpcPatFinder.h
"
15
#include "
MuonRoad.h
"
16
#include "
RpcFitResult.h
"
17
#include "
BarrelRoadData.h
"
18
#include "
TrigT1Interfaces/RecMuonRoI.h
"
19
#include "
xAODTrigger/MuonRoI.h
"
20
#include "
IRegionSelector/IRegSelTool.h
"
21
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
22
23
#include <string>
24
25
namespace
TrigL2MuonSA
{
26
27
// --------------------------------------------------------------------------------
28
// --------------------------------------------------------------------------------
29
30
class
RpcRoadDefiner
:
public
AthAlgTool
31
{
32
public
:
33
using
AthAlgTool::AthAlgTool
;
34
35
virtual
StatusCode
initialize
()
override
;
36
37
public
:
38
StatusCode
defineRoad
(
const
EventContext& ctx,
39
const
xAOD::MuonRoI
* p_roi,
40
const
bool
insideOut,
41
TrigL2MuonSA::MuonRoad
& muonRoad,
42
const
TrigL2MuonSA::RpcLayerHits
& rpcLayerHits,
43
const
ToolHandle<RpcPatFinder>* rpcPatFinder,
44
TrigL2MuonSA::RpcFitResult
& rpcFitResult,
45
const
double
roiEtaMinLow,
46
const
double
roiEtaMaxLow,
47
const
double
roiEtaMinHigh,
48
const
double
roiEtaMaxHigh)
const
;
49
50
void
setRoadWidthForFailure
(
double
rWidth_RPC_Failed){
m_rWidth_RPC_Failed
= rWidth_RPC_Failed; };
51
void
setRpcGeometry
(
bool
use_rpc){
m_use_rpc
= use_rpc; };
52
53
protected
:
54
float
f
(
float
x
,
float
c0,
float
c1,
float
c2,
float
c3)
const
;
55
float
fp
(
float
x
,
float
c33,
float
c22,
float
c1)
const
;
56
57
private
:
58
double
m_rWidth_RPC_Failed
{0};
59
bool
m_use_rpc
{
true
};
60
61
ToolHandle<IRegSelTool>
m_regionSelector
{
this
,
"RegionSelectionTool"
,
"RegSelTool/RegSelTool_MDT"
,
"MDT Region Selector Tool"
};
62
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
63
};
64
65
// --------------------------------------------------------------------------------
66
// --------------------------------------------------------------------------------
67
68
inline
float
TrigL2MuonSA::RpcRoadDefiner::f
(
float
x
,
float
c0,
float
c1,
float
c2,
float
c3)
const
69
{
70
return
c0 +
x
* (c1 +
x
* (c2 +
x
* c3));
// faster
71
}
72
73
// --------------------------------------------------------------------------------
74
// --------------------------------------------------------------------------------
75
inline
float
TrigL2MuonSA::RpcRoadDefiner::fp
(
float
x
,
float
c33,
float
c22,
float
c1)
const
76
{
77
return
c1 +
x
* (c22 +
x
* c33);
// faster
78
}
79
80
// --------------------------------------------------------------------------------
81
// --------------------------------------------------------------------------------
82
}
83
84
#endif
// TRIGL2MUONSA_RPCROADDEFINER_H
AthAlgTool.h
BarrelRoadData.h
IMuonIdHelperSvc.h
IRegSelTool.h
ITrigMuonBackExtrapolator.h
MuonRoI.h
MuonRoad.h
RecMuonRoI.h
RpcData.h
RpcFitResult.h
RpcPatFinder.h
x
#define x
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
ServiceHandle
Definition
ClusterMakerTool.h:36
TrigL2MuonSA::MuonRoad
Definition
MuonRoad.h:20
TrigL2MuonSA::RpcFitResult
Definition
RpcFitResult.h:14
TrigL2MuonSA::RpcRoadDefiner
Definition
RpcRoadDefiner.h:31
TrigL2MuonSA::RpcRoadDefiner::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
TrigL2MuonSA::RpcRoadDefiner::fp
float fp(float x, float c33, float c22, float c1) const
Definition
RpcRoadDefiner.h:75
TrigL2MuonSA::RpcRoadDefiner::defineRoad
StatusCode defineRoad(const EventContext &ctx, const xAOD::MuonRoI *p_roi, const bool insideOut, TrigL2MuonSA::MuonRoad &muonRoad, const TrigL2MuonSA::RpcLayerHits &rpcLayerHits, const ToolHandle< RpcPatFinder > *rpcPatFinder, TrigL2MuonSA::RpcFitResult &rpcFitResult, const double roiEtaMinLow, const double roiEtaMaxLow, const double roiEtaMinHigh, const double roiEtaMaxHigh) const
Definition
RpcRoadDefiner.cxx:29
TrigL2MuonSA::RpcRoadDefiner::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition
RpcRoadDefiner.h:61
TrigL2MuonSA::RpcRoadDefiner::initialize
virtual StatusCode initialize() override
Definition
RpcRoadDefiner.cxx:16
TrigL2MuonSA::RpcRoadDefiner::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition
RpcRoadDefiner.h:51
TrigL2MuonSA::RpcRoadDefiner::setRoadWidthForFailure
void setRoadWidthForFailure(double rWidth_RPC_Failed)
Definition
RpcRoadDefiner.h:50
TrigL2MuonSA::RpcRoadDefiner::f
float f(float x, float c0, float c1, float c2, float c3) const
Definition
RpcRoadDefiner.h:68
TrigL2MuonSA::RpcRoadDefiner::m_rWidth_RPC_Failed
double m_rWidth_RPC_Failed
Definition
RpcRoadDefiner.h:58
TrigL2MuonSA::RpcRoadDefiner::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
RpcRoadDefiner.h:62
TrigL2MuonSA::RpcRoadDefiner::m_use_rpc
bool m_use_rpc
Definition
RpcRoadDefiner.h:59
TrigL2MuonSA
Definition
AlignmentBarrelLUT.h:13
xAOD::MuonRoI
MuonRoI_v1 MuonRoI
Definition
MuonRoI.h:15
TrigL2MuonSA::RpcLayerHits
Definition
RpcPatFinder.h:21
Generated on
for ATLAS Offline Software by
1.17.0