Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TrackToVertex.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrackToVertex.h, (c) ATLAS Detector software 2005
8 
9 
10 #ifndef RECOTOOLS_TRACKTOVERTEX_H
11 #define RECOTOOLS_TRACKTOVERTEX_H
12 
13 // Gaudi
15 #include "GaudiKernel/ToolHandle.h"
16 // Trk
19 #include "TrkTrack/Track.h"
23 
24 namespace Trk {
25  class StraightLineSurface;
26 }
27 
37 namespace Reco {
38 
39  class TrackToVertex : public extends <AthAlgTool, ITrackToVertex>
40  {
41  public:
42 
44  TrackToVertex(const std::string&,const std::string&,const IInterface*);
45 
47  virtual ~TrackToVertex() = default;
48 
50  virtual StatusCode initialize() override final;
51 
53  virtual std::unique_ptr<Trk::StraightLineSurface> GetBeamLine(
54  const InDet::BeamSpotData*)
55  const override final;
56 
59  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
60  const EventContext& ctx,
62  const Amg::Vector3D& gp) const override final;
63 
66  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
67  const EventContext& ctx,
68  const xAOD::TrackParticle& tp) const override final;
69 
71  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
72  const EventContext& ctx,
73  const Trk::Track& trk,
74  const Amg::Vector3D& gp) const override final;
75 
77  virtual std::unique_ptr<Trk::Perigee> perigeeAtBeamline(
78  const EventContext& ctx,
79  const Trk::Track& trk,
80  const InDet::BeamSpotData*) const override final;
81 
84  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
85  const EventContext& ctx,
87  const InDet::BeamSpotData*) const override final;
88 
91  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
92  const EventContext& ctx,
93  const Trk::Track& trk,
94  const Trk::StraightLineSurface* beamline) const override final;
95 
98  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
99  const EventContext& ctx,
100  const Trk::TrackParameters& tpars,
101  const Trk::StraightLineSurface* beamline) const override final;
102 
103  private:
104  inline bool startAtOriginalPerigee(const Trk::Track& track) const {
105  return m_startTRTSAAtPerigee.value() &&
106  track.info().patternRecognition().test(
108  track.perigeeParameters();
109  }
110 
111  ToolHandle<Trk::IExtrapolator> m_extrapolator{
112  this, "Extrapolator",
113  "Trk::Extrapolator/AtlasExtrapolator"};
114  Gaudi::Property<bool> m_startTRTSAAtPerigee{
116  this, "StartTRTStandaloneTracksAtOriginalPerigee", false,
117  "When extrapolating TRT standalone start at their original perigee "
118  "which may have a more realistic covariance"};
119 
120  const static Amg::Vector3D s_origin;
121  };
122 
123 } // end of namespace
124 
125 
126 #endif // RECOTOOLS_TRACKTOVERTEX_H
127 
TrackParameters.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
Reco::TrackToVertex::m_startTRTSAAtPerigee
Gaudi::Property< bool > m_startTRTSAAtPerigee
Definition: TrackToVertex.h:115
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Reco::TrackToVertex::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
ToolHandle for Extrapolator.
Definition: TrackToVertex.h:111
IExtrapolator.h
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
xAOD::TrackParameters
TrackParameters_v1 TrackParameters
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParameters.h:11
Reco::TrackToVertex::startAtOriginalPerigee
bool startAtOriginalPerigee(const Trk::Track &track) const
Definition: TrackToVertex.h:104
Track.h
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
GeoPrimitives.h
Reco::TrackToVertex::s_origin
static const Amg::Vector3D s_origin
static origin
Definition: TrackToVertex.h:120
Reco::TrackToVertex::initialize
virtual StatusCode initialize() override final
AlgTool initailize method.
Definition: TrackToVertex.cxx:29
Reco::TrackToVertex::trackAtBeamline
virtual std::unique_ptr< Trk::TrackParameters > trackAtBeamline(const EventContext &ctx, const xAOD::TrackParticle &tp, const InDet::BeamSpotData *) const override final
Interface method for use with TrackParticle and the beamline from the BeamSpotSvc - xAOD.
Definition: TrackToVertex.cxx:168
Reco::TrackToVertex
Definition: TrackToVertex.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
ITrackToVertex.h
Reco::TrackToVertex::perigeeAtBeamline
virtual std::unique_ptr< Trk::Perigee > perigeeAtBeamline(const EventContext &ctx, const Trk::Track &trk, const InDet::BeamSpotData *) const override final
Interface method for use with Track and the beamline.
Definition: TrackToVertex.cxx:104
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Reco
Definition: TrackCounting.h:24
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Reco::TrackToVertex::GetBeamLine
virtual std::unique_ptr< Trk::StraightLineSurface > GetBeamLine(const InDet::BeamSpotData *) const override final
Use this for MT Coding.
Definition: TrackToVertex.cxx:35
Reco::TrackToVertex::perigeeAtVertex
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const xAOD::TrackParticle &tp, const Amg::Vector3D &gp) const override final
Interface method for use with xAOD::Trackparticle and given vertex position.
Definition: TrackToVertex.cxx:50
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
BeamSpotData.h
Reco::TrackToVertex::TrackToVertex
TrackToVertex(const std::string &, const std::string &, const IInterface *)
AlgTool like constructor.
Definition: TrackToVertex.cxx:23
Reco::TrackToVertex::~TrackToVertex
virtual ~TrackToVertex()=default
Virtual destructor.
Trk::TrackInfo::TRTStandalone
@ TRTStandalone
TRT Standalone.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:162