ATLAS Offline Software
PhysicsAnalysis
DerivationFramework
DerivationFrameworkBPhys
src
MuonExtrapolationTool.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 MuonExtrapolationTool_H
6
#define MuonExtrapolationTool_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
DerivationFrameworkInterfaces/IAugmentationTool.h
"
10
#include "
xAODTracking/TrackParticle.h
"
11
#include "
xAODMuon/MuonContainer.h
"
12
#include "
xAODMuon/Muon.h
"
13
#include "
TrkParameters/TrackParameters.h
"
14
#include "
TrkExInterfaces/IExtrapolator.h
"
15
16
17
namespace
DerivationFramework
{
18
class
MuonExtrapolationTool
:
public
extends<AthAlgTool, IAugmentationTool> {
19
20
public
:
21
MuonExtrapolationTool
(
const
std::string&
t
,
const
std::string&
n
,
const
IInterface *
p
);
22
23
virtual
StatusCode
initialize
();
24
virtual
StatusCode
addBranches
(
const
EventContext& ctx)
const
;
25
26
private
:
27
29
const
Trk::TrackParameters
*
extrapolateToTriggerPivotPlane
(
const
xAOD::TrackParticle
&
track
,
const
EventContext& ctx)
const
;
30
31
// Utility method to handle extrapolation and decoration for one TrackParticle.
32
// It looks for the decoration, and, if it is missing, runs track extrapolation, decorating the result
33
// to the particle to avoid repeating the process unnecessarily.
34
// Returns success (true) or failure (false) of the procedure, fills eta and phi coordinates via reference
35
// If the extrapolation fails or the decoration is missing in AthAnalysis, it will *not* change eta and phi
36
// So you can set them to defaults before calling this guy, and they will be preserved in case of failure.
37
// Will not run outside athena, because it requires the extrapolator
38
bool
extrapolateAndDecorateTrackParticle
(
const
xAOD::TrackParticle
*
particle
,
float
&
eta
,
float
&
phi
,
const
EventContext& ctx)
const
;
39
40
// utility method: Obtains the track particle which we want to extrapolate into the MS.
41
// Works for all kinds of probes.
42
const
xAOD::TrackParticle
*
getPreferredTrackParticle
(
const
xAOD::IParticle
* probe)
const
;
43
44
SG::ReadHandleKey<xAOD::MuonContainer>
m_muonContainerName
{
this
,
"MuonCollection"
,
"Muons"
};
45
PublicToolHandle<Trk::IExtrapolator>
m_extrapolator
{
this
,
"Extrapolator"
,
"Trk::Extrapolator/AtlasExtrapolator"
};
46
47
// these define the surfaces that we extrapolate to.
48
// We approximate the pivot plane in the form of a cylinder surface and two disks
49
Gaudi::Property<double>
m_endcapPivotPlaneZ
{
this
,
"EndcapPivotPlaneZ"
, 15525.,
"z position of pivot plane in endcap region"
};
50
Gaudi::Property<double>
m_endcapPivotPlaneMinimumRadius
{
this
,
"EndcapPivotPlaneMinimumRadius"
, 0.,
"minimum radius of pivot plane in endcap region"
};
51
Gaudi::Property<double>
m_endcapPivotPlaneMaximumRadius
{
this
,
"EndcapPivotPlaneMaximumRadius"
, 11977.,
"maximum radius of pivot plane in endcap region"
};
52
Gaudi::Property<double>
m_barrelPivotPlaneRadius
{
this
,
"BarrelPivotPlaneRadius"
, 8000.,
"radius of pivot plane in barrel region"
};
53
Gaudi::Property<double>
m_barrelPivotPlaneHalfLength
{
this
,
"BarrelPivotPlaneHalfLength"
, 9700.,
"half length of pivot plane in barrel region"
};
54
};
55
}
56
#endif // MuonExtrapolationTool_H
DerivationFramework::MuonExtrapolationTool::m_extrapolator
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
Definition:
MuonExtrapolationTool.h:45
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:79
TrackParameters.h
phi
Scalar phi() const
phi method
Definition:
AmgMatrixBasePlugin.h:67
Muon.h
eta
Scalar eta() const
pseudorapidity method
Definition:
AmgMatrixBasePlugin.h:83
IAugmentationTool.h
DerivationFramework::MuonExtrapolationTool::extrapolateToTriggerPivotPlane
const Trk::TrackParameters * extrapolateToTriggerPivotPlane(const xAOD::TrackParticle &track, const EventContext &ctx) const
run the extrapolation - only available in full athena
Definition:
MuonExtrapolationTool.cxx:110
IExtrapolator.h
read_hist_ntuple.t
t
Definition:
read_hist_ntuple.py:5
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMinimumRadius
Gaudi::Property< double > m_endcapPivotPlaneMinimumRadius
Definition:
MuonExtrapolationTool.h:50
DerivationFramework::MuonExtrapolationTool
Definition:
MuonExtrapolationTool.h:18
SG::ReadHandleKey< xAOD::MuonContainer >
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
DerivationFramework::MuonExtrapolationTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const
Definition:
MuonExtrapolationTool.cxx:89
DerivationFramework::MuonExtrapolationTool::initialize
virtual StatusCode initialize()
Definition:
MuonExtrapolationTool.cxx:26
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneRadius
Gaudi::Property< double > m_barrelPivotPlaneRadius
Definition:
MuonExtrapolationTool.h:52
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:209
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneHalfLength
Gaudi::Property< double > m_barrelPivotPlaneHalfLength
Definition:
MuonExtrapolationTool.h:53
beamspotman.n
n
Definition:
beamspotman.py:727
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::ParametersBase
Definition:
ParametersBase.h:55
DerivationFramework
THE reconstruction tool.
Definition:
ParticleSortingAlg.h:24
DerivationFramework::MuonExtrapolationTool::MuonExtrapolationTool
MuonExtrapolationTool(const std::string &t, const std::string &n, const IInterface *p)
Definition:
MuonExtrapolationTool.cxx:17
DerivationFramework::MuonExtrapolationTool::getPreferredTrackParticle
const xAOD::TrackParticle * getPreferredTrackParticle(const xAOD::IParticle *probe) const
Definition:
MuonExtrapolationTool.cxx:65
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMaximumRadius
Gaudi::Property< double > m_endcapPivotPlaneMaximumRadius
Definition:
MuonExtrapolationTool.h:51
MuonContainer.h
TrackParticle.h
DerivationFramework::MuonExtrapolationTool::m_muonContainerName
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerName
Definition:
MuonExtrapolationTool.h:44
xAOD::track
@ track
Definition:
TrackingPrimitives.h:513
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:44
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneZ
Gaudi::Property< double > m_endcapPivotPlaneZ
Definition:
MuonExtrapolationTool.h:49
DerivationFramework::MuonExtrapolationTool::extrapolateAndDecorateTrackParticle
bool extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle *particle, float &eta, float &phi, const EventContext &ctx) const
Definition:
MuonExtrapolationTool.cxx:36
Generated on Tue Oct 28 2025 21:15:44 for ATLAS Offline Software by
1.8.18