ATLAS Offline Software
PhysicsAnalysis
DerivationFramework
DerivationFrameworkBPhys
DerivationFrameworkBPhys
MuonExtrapolationTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// MuonExtrapolationTool
8
#ifndef MuonExtrapolationTool_H
9
#define MuonExtrapolationTool_H
10
11
#include "
AthenaBaseComps/AthAlgTool.h
"
12
#include "
DerivationFrameworkInterfaces/IAugmentationTool.h
"
13
#include "
xAODTracking/TrackParticle.h
"
14
#include "
xAODMuon/Muon.h
"
15
#include "
TrkParameters/TrackParameters.h
"
16
#include "
TrkExInterfaces/IExtrapolator.h
"
17
18
19
namespace
DerivationFramework
{
20
class
MuonExtrapolationTool
:
public
AthAlgTool
,
public
IAugmentationTool
{
21
22
public
:
23
MuonExtrapolationTool
(
const
std::string&
t
,
const
std::string&
n
,
const
IInterface *
p
);
24
25
virtual
StatusCode
initialize
();
26
virtual
StatusCode
addBranches
()
const
;
27
28
ToolHandle<Trk::IExtrapolator>
m_extrapolator
;
29
private
:
30
32
const
Trk::TrackParameters
*
extrapolateToTriggerPivotPlane
(
const
xAOD::TrackParticle
&
track
)
const
;
33
34
// Utility method to handle extrapolation and decoration for one TrackParticle.
35
// It looks for the decoration, and, if it is missing, runs track extrapolation, decorating the result
36
// to the particle to avoid repeating the process unnecessarily.
37
// Returns success (true) or failure (false) of the procedure, fills eta and phi coordinates via reference
38
// If the extrapolation fails or the decoration is missing in AthAnalysis, it will *not* change eta and phi
39
// So you can set them to defaults before calling this guy, and they will be preserved in case of failure.
40
// Will not run outside athena, because it requires the extrapolator
41
bool
extrapolateAndDecorateTrackParticle
(
const
xAOD::TrackParticle
*
particle
,
float
& eta,
float
& phi)
const
;
42
43
// utility method: Obtains the track particle which we want to extrapolate into the MS.
44
// Works for all kinds of probes.
45
const
xAOD::TrackParticle
*
getPreferredTrackParticle
(
const
xAOD::IParticle
* probe)
const
;
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
double
m_endcapPivotPlaneZ
;
50
double
m_endcapPivotPlaneMinimumRadius
;
51
double
m_endcapPivotPlaneMaximumRadius
;
52
double
m_barrelPivotPlaneRadius
;
53
double
m_barrelPivotPlaneHalfLength
;
54
std::string
m_muonContainerName
;
55
};
56
}
57
#endif // MuonExtrapolationTool_H
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneRadius
double m_barrelPivotPlaneRadius
Definition:
MuonExtrapolationTool.h:52
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:76
TrackParameters.h
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMinimumRadius
double m_endcapPivotPlaneMinimumRadius
Definition:
MuonExtrapolationTool.h:50
Muon.h
DerivationFramework::MuonExtrapolationTool::extrapolateAndDecorateTrackParticle
bool extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle *particle, float &eta, float &phi) const
Definition:
MuonExtrapolationTool.cxx:43
DerivationFramework::MuonExtrapolationTool::m_barrelPivotPlaneHalfLength
double m_barrelPivotPlaneHalfLength
Definition:
MuonExtrapolationTool.h:53
IAugmentationTool.h
IExtrapolator.h
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneZ
double m_endcapPivotPlaneZ
Definition:
MuonExtrapolationTool.h:49
read_hist_ntuple.t
t
Definition:
read_hist_ntuple.py:5
DerivationFramework::MuonExtrapolationTool
Definition:
MuonExtrapolationTool.h:20
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
DerivationFramework::MuonExtrapolationTool::initialize
virtual StatusCode initialize()
Definition:
MuonExtrapolationTool.cxx:34
DerivationFramework::IAugmentationTool
Definition:
IAugmentationTool.h:24
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:210
DerivationFramework::MuonExtrapolationTool::m_endcapPivotPlaneMaximumRadius
double m_endcapPivotPlaneMaximumRadius
Definition:
MuonExtrapolationTool.h:51
DerivationFramework::MuonExtrapolationTool::addBranches
virtual StatusCode addBranches() const
Pass the thinning service
Definition:
MuonExtrapolationTool.cxx:96
beamspotman.n
n
Definition:
beamspotman.py:731
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::extrapolateToTriggerPivotPlane
const Trk::TrackParameters * extrapolateToTriggerPivotPlane(const xAOD::TrackParticle &track) const
run the extrapolation - only available in full athena
Definition:
MuonExtrapolationTool.cxx:114
DerivationFramework::MuonExtrapolationTool::MuonExtrapolationTool
MuonExtrapolationTool(const std::string &t, const std::string &n, const IInterface *p)
Definition:
MuonExtrapolationTool.cxx:16
DerivationFramework::MuonExtrapolationTool::getPreferredTrackParticle
const xAOD::TrackParticle * getPreferredTrackParticle(const xAOD::IParticle *probe) const
Definition:
MuonExtrapolationTool.cxx:72
TrackParticle.h
DerivationFramework::MuonExtrapolationTool::m_muonContainerName
std::string m_muonContainerName
Definition:
MuonExtrapolationTool.h:54
xAOD::track
@ track
Definition:
TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
AthAlgTool
Definition:
AthAlgTool.h:26
DerivationFramework::MuonExtrapolationTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition:
MuonExtrapolationTool.h:28
Generated on Thu Nov 7 2024 21:21:56 for ATLAS Offline Software by
1.8.18