ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MuonIdentification
MuonCombinedBaseTools
src
ExtrapolateMuonToIPTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef EXTRAPOLATEMUONTOIPTOOL_H
6
#define EXTRAPOLATEMUONTOIPTOOL_H
7
8
#include <atomic>
9
10
#include "
AthenaBaseComps/AthAlgTool.h
"
11
#include "GaudiKernel/ServiceHandle.h"
12
#include "GaudiKernel/ToolHandle.h"
13
#include "
MuonRecHelperTools/IMuonEDMHelperSvc.h
"
14
#include "
MuonRecHelperTools/MuonEDMPrinterTool.h
"
15
#include "
MuonRecToolInterfaces/IMuonTrackExtrapolationTool.h
"
16
#include "
TrkExInterfaces/IExtrapolator.h
"
17
#include "
TrkToolInterfaces/ITrackSummaryTool.h
"
18
25
class
ExtrapolateMuonToIPTool
:
virtual
public
Muon::IMuonTrackExtrapolationTool
,
public
AthAlgTool
{
26
public
:
28
ExtrapolateMuonToIPTool
(
const
std::string&,
const
std::string&,
const
IInterface*);
29
31
virtual
~ExtrapolateMuonToIPTool
() =
default
;
32
34
virtual
StatusCode
initialize
()
override
;
35
37
virtual
StatusCode
finalize
()
override
;
38
43
std::unique_ptr<TrackCollection>
extrapolate
(
const
TrackCollection
& muonTracks,
const
EventContext& ctx)
const override
;
44
49
std::unique_ptr<Trk::Track>
extrapolate
(
const
Trk::Track
& muonTrack,
const
EventContext& ctx)
const override
;
50
51
private
:
53
const
Trk::TrackParameters
*
findMeasuredParametersClosestToIP
(
const
Trk::Track
& track)
const
;
54
55
std::unique_ptr<const Trk::Perigee>
createPerigee
(
const
Trk::TrackParameters
& pars,
const
EventContext& ctx)
const
;
56
57
ToolHandle<Trk::IExtrapolator>
m_extrapolator
{
58
this
,
59
"Extrapolator"
,
60
"Trk::Extrapolator/AtlasExtrapolator"
,
61
"Extrapolator"
,
62
};
63
ToolHandle<Trk::IExtrapolator>
m_muonExtrapolator
{
64
this
,
65
"MuonExtrapolator"
,
66
"Trk::Extrapolator/MuonExtrapolator"
,
67
"MuonExtrapolator"
,
68
};
69
PublicToolHandle<Muon::MuonEDMPrinterTool>
m_printer
{
70
this
,
71
"Printer"
,
72
"Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"
,
73
"muon EDM printer tool"
,
74
};
75
ToolHandle<Trk::ITrackSummaryTool>
m_trackSummary
{
76
this
,
77
"TrackSummaryTool"
,
78
"Trk::TrackSummaryTool/MuidTrackSummaryTool"
,
79
};
80
81
ServiceHandle<Muon::IMuonEDMHelperSvc>
m_edmHelperSvc
{
82
this
,
83
"edmHelper"
,
84
"Muon::MuonEDMHelperSvc/MuonEDMHelperSvc"
,
85
"Handle to the service providing the IMuonEDMHelperSvc interface"
,
86
};
87
88
mutable
std::atomic_uint
m_nextrapolations
{0};
89
mutable
std::atomic_uint
m_failedClosestPars
{0};
90
mutable
std::atomic_uint
m_failedExtrapolationLowMom
{0};
91
mutable
std::atomic_uint
m_failedExtrapolationHighMom
{0};
92
mutable
std::atomic_uint
m_failedPerigeeCreation
{0};
93
};
94
95
#endif
// EXTRAPOLATEMUONTOIPTOOL_H
AthAlgTool.h
IExtrapolator.h
IMuonEDMHelperSvc.h
IMuonTrackExtrapolationTool.h
MuonEDMPrinterTool.h
TrackCollection
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Definition
TrackCollection.h:19
ITrackSummaryTool.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
ExtrapolateMuonToIPTool::createPerigee
std::unique_ptr< const Trk::Perigee > createPerigee(const Trk::TrackParameters &pars, const EventContext &ctx) const
Definition
ExtrapolateMuonToIPTool.cxx:222
ExtrapolateMuonToIPTool::findMeasuredParametersClosestToIP
const Trk::TrackParameters * findMeasuredParametersClosestToIP(const Trk::Track &track) const
find measured parameters closest to IP to start back extrapolation
Definition
ExtrapolateMuonToIPTool.cxx:189
ExtrapolateMuonToIPTool::extrapolate
std::unique_ptr< TrackCollection > extrapolate(const TrackCollection &muonTracks, const EventContext &ctx) const override
extrapolate all tracks in the track collection to the IP
Definition
ExtrapolateMuonToIPTool.cxx:43
ExtrapolateMuonToIPTool::m_failedExtrapolationHighMom
std::atomic_uint m_failedExtrapolationHighMom
Definition
ExtrapolateMuonToIPTool.h:91
ExtrapolateMuonToIPTool::m_printer
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
muon EDM printer tool
Definition
ExtrapolateMuonToIPTool.h:69
ExtrapolateMuonToIPTool::m_trackSummary
ToolHandle< Trk::ITrackSummaryTool > m_trackSummary
Definition
ExtrapolateMuonToIPTool.h:75
ExtrapolateMuonToIPTool::m_failedPerigeeCreation
std::atomic_uint m_failedPerigeeCreation
Definition
ExtrapolateMuonToIPTool.h:92
ExtrapolateMuonToIPTool::m_failedClosestPars
std::atomic_uint m_failedClosestPars
Definition
ExtrapolateMuonToIPTool.h:89
ExtrapolateMuonToIPTool::m_failedExtrapolationLowMom
std::atomic_uint m_failedExtrapolationLowMom
Definition
ExtrapolateMuonToIPTool.h:90
ExtrapolateMuonToIPTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Extrapolator.
Definition
ExtrapolateMuonToIPTool.h:57
ExtrapolateMuonToIPTool::finalize
virtual StatusCode finalize() override
initialize
Definition
ExtrapolateMuonToIPTool.cxx:32
ExtrapolateMuonToIPTool::m_edmHelperSvc
ServiceHandle< Muon::IMuonEDMHelperSvc > m_edmHelperSvc
muon EDM helper tool
Definition
ExtrapolateMuonToIPTool.h:81
ExtrapolateMuonToIPTool::ExtrapolateMuonToIPTool
ExtrapolateMuonToIPTool(const std::string &, const std::string &, const IInterface *)
Constructors.
Definition
ExtrapolateMuonToIPTool.cxx:11
ExtrapolateMuonToIPTool::initialize
virtual StatusCode initialize() override
initialize
Definition
ExtrapolateMuonToIPTool.cxx:16
ExtrapolateMuonToIPTool::~ExtrapolateMuonToIPTool
virtual ~ExtrapolateMuonToIPTool()=default
Destructor.
ExtrapolateMuonToIPTool::m_muonExtrapolator
ToolHandle< Trk::IExtrapolator > m_muonExtrapolator
MuonExtrapolator.
Definition
ExtrapolateMuonToIPTool.h:63
ExtrapolateMuonToIPTool::m_nextrapolations
std::atomic_uint m_nextrapolations
Definition
ExtrapolateMuonToIPTool.h:88
Muon::IMuonTrackExtrapolationTool
Interface class for tools extrapolating muon tracks to a location in the atlas detector.
Definition
IMuonTrackExtrapolationTool.h:16
ServiceHandle
Definition
ClusterMakerTool.h:36
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0