ATLAS Offline Software
Loading...
Searching...
No Matches
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
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
AthAlgTool.h
MuonContainer.h
Muon.h
TrackParticle.h
IAugmentationTool.h
IExtrapolator.h
TrackParameters.h
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::initialize
virtual StatusCode initialize()
Definition
MuonExtrapolationTool.cxx:26
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMaximumRadius
Gaudi::Property< double > m_endcapPivotPlaneMaximumRadius
Definition
MuonExtrapolationTool.h:51
DerivationFramework::MuonExtrapolationTool::m_muonContainerName
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerName
Definition
MuonExtrapolationTool.h:44
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneRadius
Gaudi::Property< double > m_barrelPivotPlaneRadius
Definition
MuonExtrapolationTool.h:52
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMinimumRadius
Gaudi::Property< double > m_endcapPivotPlaneMinimumRadius
Definition
MuonExtrapolationTool.h:50
DerivationFramework::MuonExtrapolationTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const
Definition
MuonExtrapolationTool.cxx:89
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
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneZ
Gaudi::Property< double > m_endcapPivotPlaneZ
Definition
MuonExtrapolationTool.h:49
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneHalfLength
Gaudi::Property< double > m_barrelPivotPlaneHalfLength
Definition
MuonExtrapolationTool.h:53
DerivationFramework::MuonExtrapolationTool::m_extrapolator
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
Definition
MuonExtrapolationTool.h:45
DerivationFramework::MuonExtrapolationTool::extrapolateAndDecorateTrackParticle
bool extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle *particle, float &eta, float &phi, const EventContext &ctx) const
Definition
MuonExtrapolationTool.cxx:36
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
DerivationFramework
THE reconstruction tool.
Definition
ParticleSortingAlg.h:24
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
Generated on
for ATLAS Offline Software by
1.14.0