ATLAS Offline Software
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 
14 #include "xAODMuon/Muon.h"
17 
18 
19 namespace DerivationFramework {
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 
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.
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
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
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrackParameters.h
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
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
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
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:40
DerivationFramework::MuonExtrapolationTool::initialize
virtual StatusCode initialize()
Definition: MuonExtrapolationTool.cxx:34
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
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