ATLAS Offline Software
TrackParametersKVU.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrackParametersKVU.h (c) ATLAS Detector software
8 
9 /*
10  Decorates the vertex constrained track parameters to the track container.
11  The vertex fit is performed with a track and the nearest vertex.
12  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.
13  The nDoF of the vertex fit is always 2. (5 track parameters + 3 vertex parameters - 3 track parameters - 3 vertex parameters)
14 
15  user specifies...
16 
17  TrackParticleContainerName: track particle container.
18  VertexContainerName: vertex container.
19 */
20 
21 #ifndef DERIVATIONFRAMEWORK_TRACKPARAMETERSATPV_H
22 #define DERIVATIONFRAMEWORK_TRACKPARAMETERSATPV_H
23 
24 #include<string>
25 
26 // Gaudi & Athena basics
28 #include "GaudiKernel/ToolHandle.h"
29 
30 
31 #include "VxVertex/VxContainer.h"
32 #include "VxVertex/VxCandidate.h"
35 #include "TrkTrack/Track.h"
36 
37 // DerivationFramework includes
39 
46 
47 namespace DerivationFramework {
48 
49 
57  class TrackParametersKVU : public extends<AthAlgTool, IAugmentationTool> {
58 
59  public:
61  TrackParametersKVU( const std::string& t, const std::string& n, const IInterface* p );
62 
64  virtual ~TrackParametersKVU() = default;
65 
66  // Athena algtool's Hooks
67  virtual StatusCode initialize() override;
68 
70  virtual StatusCode addBranches() const override;
71 
72  private:
74  this, "TrackParticleContainerName", "InDetDisappearingTrackParticles"};
76  this, "VertexContainerName", "PrimaryVertices"};
78  this, "KVUphiKey", ".KVUphi"};
80  this, "KVUthetaKey", ".KVUtheta"};
82  this, "KVUd0Key", ".KVUd0"};
84  this, "KVUz0Key", ".KVUz0"};
86  this, "KVUqOverPKey", ".KVUqOverP"};
88  this, "KVUChi2Key", ".KVUChi2"};
90  this, "KVUusedPVKey", ".KVUusedPV"};
92  this, "KVUCovMatKey", ".KVUCovMat"};
93 
94  ToolHandle< Trk::IVertexTrackUpdator > m_vertexTrackUpdator {
95  this, "VertexTrackUpdator", "Trk::KalmanVertexTrackUpdator"};
96  ToolHandle< Trk::IExtrapolator > m_extrapolator {
97  this, "TrackExtrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
98  ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory {
99  this, "LinearizedTrackFactory", "Trk::FullLinearizedTrackFactory/FullLinearizedTrackFactory"};
100  ToolHandle< Trk::ITrackToVertexIPEstimator> m_IPEstimator {
101  this, "IPEstimator", "Trk::TrackToVertexIPEstimator/TrackToVertexIPEstimator"};
102 
103  StringProperty m_sgName {this, "DecorationPrefix", "", "decoration prefix"};
104 
105  };
106 
107 }
108 
109 #endif
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer >
DerivationFramework::TrackParametersKVU::~TrackParametersKVU
virtual ~TrackParametersKVU()=default
Destructor.
DerivationFramework::TrackParametersKVU::initialize
virtual StatusCode initialize() override
Definition: TrackParameterKVU.cxx:22
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
IAugmentationTool.h
DerivationFramework::TrackParametersKVU::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition: TrackParametersKVU.h:75
DerivationFramework::TrackParametersKVU::addBranches
virtual StatusCode addBranches() const override
Check that the current event passes this filter.
Definition: TrackParameterKVU.cxx:62
DerivationFramework::TrackParametersKVU::TrackParametersKVU
TrackParametersKVU(const std::string &t, const std::string &n, const IInterface *p)
Constructor with parameters.
Definition: TrackParameterKVU.cxx:16
IExtrapolator.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::TrackParametersKVU::m_vertexTrackUpdator
ToolHandle< Trk::IVertexTrackUpdator > m_vertexTrackUpdator
Definition: TrackParametersKVU.h:94
DerivationFramework::TrackParametersKVU::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: TrackParametersKVU.h:96
SG::ReadHandleKey< xAOD::TrackParticleContainer >
DerivationFramework::TrackParametersKVU::m_KVUqOverPKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUqOverPKey
Definition: TrackParametersKVU.h:85
DerivationFramework::TrackParametersKVU::m_sgName
StringProperty m_sgName
Definition: TrackParametersKVU.h:103
DerivationFramework::TrackParametersKVU::m_KVUthetaKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUthetaKey
Definition: TrackParametersKVU.h:79
DerivationFramework::TrackParametersKVU::m_KVUChi2Key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUChi2Key
Definition: TrackParametersKVU.h:87
Track.h
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::TrackParametersKVU::m_KVUCovMatKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUCovMatKey
Definition: TrackParametersKVU.h:91
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::TrackParametersKVU::m_KVUphiKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUphiKey
Definition: TrackParametersKVU.h:77
AthAlgTool.h
TrackCollection.h
DerivationFramework::TrackParametersKVU::m_trackContainerKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerKey
Definition: TrackParametersKVU.h:73
VxTrackAtVertex.h
VxContainer.h
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
VxCandidate.h
DerivationFramework::TrackParametersKVU::m_KVUz0Key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUz0Key
Definition: TrackParametersKVU.h:83
VertexContainer.h
DerivationFramework::TrackParametersKVU::m_LinearizedTrackFactory
ToolHandle< Trk::IVertexLinearizedTrackFactory > m_LinearizedTrackFactory
Definition: TrackParametersKVU.h:98
DerivationFramework::TrackParametersKVU::m_KVUd0Key
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUd0Key
Definition: TrackParametersKVU.h:81
IVertexLinearizedTrackFactory.h
ITrackToVertexIPEstimator.h
DerivationFramework::TrackParametersKVU::m_IPEstimator
ToolHandle< Trk::ITrackToVertexIPEstimator > m_IPEstimator
Definition: TrackParametersKVU.h:100
DerivationFramework::TrackParametersKVU::m_KVUusedPVKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_KVUusedPVKey
Definition: TrackParametersKVU.h:89
IVertexTrackUpdator.h
DerivationFramework::TrackParametersKVU
Definition: TrackParametersKVU.h:57
TrackParticleContainer.h