ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
Muon
L0MuonMDT
src
MDTSimulation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef L0MuonMDT_MDTSIMULATION_H
6
#define L0MuonMDT_MDTSIMULATION_H
7
8
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
9
#include "
StoreGate/ReadHandleKey.h
"
10
#include "
IRegionSelector/IRegSelTool.h
"
11
#include "
xAODMuonPrepData/MdtDriftCircleContainer.h
"
12
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
13
#include "
xAODL0MuonCand/RPCCandData.h
"
14
#include "
xAODL0MuonCand/RPCCandDataContainer.h
"
15
#include "
L0MuonMDTTools/IL0MDTSegmentFinderTool.h
"
16
#include "
StoreGate/ReadCondHandleKey.h
"
17
#include "
MuonReadoutGeometryR4/MdtReadoutElement.h
"
18
#include "
ActsGeometryInterfaces/GeometryContext.h
"
19
#include "GaudiKernel/ServiceHandle.h"
20
#include "
L0MuonMDTTools/IPtEstimationTool.h
"
21
22
23
24
namespace
L0Muon
{
25
26
class
MDTSimulation
:
public
AthReentrantAlgorithm
{
27
public
:
28
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
29
virtual
~MDTSimulation
() =
default
;
30
virtual
StatusCode
initialize
()
override
;
31
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
32
33
34
private
:
35
36
37
38
// helper functions
39
bool
fitRPC
(
const
xAOD::RPCCandData
& cand,
40
float
& m,
float
& b,
41
std::vector<float>& z_positions,
42
std::vector<float>& r_positions)
const
;
43
44
45
56
StatusCode
collectMDTHits
(
const
EventContext& ctx,
57
const
ActsTrk::GeometryContext
& gctx,
58
float
eta
,
59
float
phi
,
60
std::vector<const xAOD::MdtDriftCircle*>& hits,
61
float
m,
62
float
b)
const
;
63
68
float
computeResidual
(
const
Amg::Vector3D
& gpos,
float
m,
float
b)
const
;
69
70
// Tools
71
ToolHandle<IRegSelTool>
m_regionSelector
{
this
,
"RegSel_MDT"
,
"RegSelTool/RegSelTool_MDT"
};
72
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
73
74
ToolHandle<L0MDT::IL0MDTSegmentFinderTool>
m_csfSegmentFinder
{
this
,
"CSFSegmentFinder"
,
"L0MDT::CompactSegmentFinderTool"
};
75
ToolHandle<L0MDT::IL0MDTSegmentFinderTool>
m_legendreSegmentFinder
{
this
,
"LegendreSegmentFinder"
,
"L0MDT::LegendreSegmentFinderTool"
};
76
ToolHandle<L0MDT::IPtEstimationTool>
m_ptEstimationTool
{
this
,
"PtEstimationTool"
,
"L0MDT::PtEstimationTool/PtEstimationTool"
,
"Tool to estimate pT from CSF segments"
};
77
78
SG::ReadHandleKey<ActsTrk::GeometryContext>
m_geoCtxKey
{
this
,
"AlignmentKey"
,
"ActsAlignment"
,
"cond handle key"
};
79
SG::ReadHandleKey<xAOD::MdtDriftCircleContainer>
m_mdtDriftCircleKey
{
this
,
"MdtDriftCircles"
,
"xMdtDriftCircles"
};
80
SG::ReadHandleKey<xAOD::RPCCandDataContainer>
m_barrelCandidateKey
{
this
,
"RPCCandKey"
,
"RPCCandData"
};
81
82
};
83
}
// namespace L0Muon
84
85
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
AthReentrantAlgorithm.h
GeometryContext.h
IL0MDTSegmentFinderTool.h
IMuonIdHelperSvc.h
IPtEstimationTool.h
IRegSelTool.h
MdtDriftCircleContainer.h
MdtReadoutElement.h
RPCCandDataContainer.h
RPCCandData.h
ReadCondHandleKey.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ActsTrk::GeometryContext
Definition
GeometryContext.h:30
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
L0Muon::MDTSimulation
Definition
MDTSimulation.h:26
L0Muon::MDTSimulation::m_legendreSegmentFinder
ToolHandle< L0MDT::IL0MDTSegmentFinderTool > m_legendreSegmentFinder
Definition
MDTSimulation.h:75
L0Muon::MDTSimulation::~MDTSimulation
virtual ~MDTSimulation()=default
L0Muon::MDTSimulation::m_barrelCandidateKey
SG::ReadHandleKey< xAOD::RPCCandDataContainer > m_barrelCandidateKey
Definition
MDTSimulation.h:80
L0Muon::MDTSimulation::initialize
virtual StatusCode initialize() override
Definition
MDTSimulation.cxx:15
L0Muon::MDTSimulation::computeResidual
float computeResidual(const Amg::Vector3D &gpos, float m, float b) const
Compute the residual between a MDT hit global position and the fit line.
Definition
MDTSimulation.cxx:249
L0Muon::MDTSimulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
MDTSimulation.cxx:29
L0Muon::MDTSimulation::fitRPC
bool fitRPC(const xAOD::RPCCandData &cand, float &m, float &b, std::vector< float > &z_positions, std::vector< float > &r_positions) const
Definition
MDTSimulation.cxx:151
L0Muon::MDTSimulation::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition
MDTSimulation.h:71
L0Muon::MDTSimulation::collectMDTHits
StatusCode collectMDTHits(const EventContext &ctx, const ActsTrk::GeometryContext &gctx, float eta, float phi, std::vector< const xAOD::MdtDriftCircle * > &hits, float m, float b) const
Collect MDT hits within a RoI around (eta, phi), keeping only those whose residual from the RPC fit l...
Definition
MDTSimulation.cxx:194
L0Muon::MDTSimulation::m_geoCtxKey
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
Definition
MDTSimulation.h:78
L0Muon::MDTSimulation::m_csfSegmentFinder
ToolHandle< L0MDT::IL0MDTSegmentFinderTool > m_csfSegmentFinder
Definition
MDTSimulation.h:74
L0Muon::MDTSimulation::m_mdtDriftCircleKey
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_mdtDriftCircleKey
Definition
MDTSimulation.h:79
L0Muon::MDTSimulation::m_ptEstimationTool
ToolHandle< L0MDT::IPtEstimationTool > m_ptEstimationTool
Definition
MDTSimulation.h:76
L0Muon::MDTSimulation::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
MDTSimulation.h:72
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
L0Muon
Definition
NSWTPBits.h:7
xAOD::RPCCandData
RPCCandData_v1 RPCCandData
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODL0MuonCand/xAODL0MuonCand/RPCCandData.h:12
Generated on
for ATLAS Offline Software by
1.17.0