ATLAS Offline Software
Loading...
Searching...
No Matches
TrackParametersKVU.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/*
6 Decorates the vertex constrained track parameters to the track container.
7 The vertex fit is performed with a track and the nearest vertex.
8 The updated the perigee paramters, chi2 of the vertex fit, and covariance matrix of the perigee parameters are decorated, but d0 and z0 should be 0.
9 The nDoF of the vertex fit is always 2. (5 track parameters + 3 vertex parameters - 3 track parameters - 3 vertex parameters)
10
11 user specifies...
12
13 TrackParticleContainerName: track particle container.
14 VertexContainerName: vertex container.
15*/
16
17#ifndef DERIVATIONFRAMEWORK_TRACKPARAMETERSATPV_H
18#define DERIVATIONFRAMEWORK_TRACKPARAMETERSATPV_H
19
20#include<string>
21
22// Gaudi & Athena basics
24#include "GaudiKernel/ToolHandle.h"
25
26
31#include "TrkTrack/Track.h"
32
33// DerivationFramework includes
35
42
43namespace DerivationFramework {
44
45
53 class TrackParametersKVU : public extends<AthAlgTool, IAugmentationTool> {
54
55 public:
56
57 using base_class::base_class;
58
59 // Athena algtool's Hooks
60 virtual StatusCode initialize() override;
61
63 virtual StatusCode addBranches(const EventContext& ctx) const override;
64
65 private:
67 this, "TrackParticleContainerName", "InDetDisappearingTrackParticles"};
69 this, "VertexContainerName", "PrimaryVertices"};
86
87 ToolHandle< Trk::IVertexTrackUpdator > m_vertexTrackUpdator {
88 this, "VertexTrackUpdator", "Trk::KalmanVertexTrackUpdator"};
89 ToolHandle< Trk::IExtrapolator > m_extrapolator {
90 this, "TrackExtrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
91 ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory {
92 this, "LinearizedTrackFactory", "Trk::FullLinearizedTrackFactory/FullLinearizedTrackFactory"};
93 ToolHandle< Trk::ITrackToVertexIPEstimator> m_IPEstimator {
94 this, "IPEstimator", "Trk::TrackToVertexIPEstimator/TrackToVertexIPEstimator"};
95 };
96
97}
98
99#endif
the code used in this implementation is kindly stolen from: atlasoff:: ISF/ISF_Core/ISF_Tools
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUCovMatKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUd0Key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUChi2Key
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUz0Key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUqOverPKey
ToolHandle< Trk::IVertexTrackUpdator > m_vertexTrackUpdator
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerKey
virtual StatusCode addBranches(const EventContext &ctx) const override
Check that the current event passes this filter.
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUphiKey
virtual StatusCode initialize() override
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUusedPVKey
ToolHandle< Trk::ITrackToVertexIPEstimator > m_IPEstimator
ToolHandle< Trk::IExtrapolator > m_extrapolator
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUthetaKey
THE reconstruction tool.