ATLAS Offline Software
BTagTrackAugmenterAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BTAGGING_TRACK_AUGMENTER_ALG_HH
6 #define BTAGGING_TRACK_AUGMENTER_ALG_HH
7 
9 #include "GaudiKernel/ToolHandle.h"
15 
16 namespace Analysis {
17 
18 
20  public:
21  BTagTrackAugmenterAlg(const std::string& name,
22  ISvcLocator* pSvcLocator );
23 
24  StatusCode initialize() override final;
25  StatusCode execute(const EventContext& ctx) const override final;
26 
27  private:
29 
30  private:
31  ToolHandle< Trk::ITrackToVertexIPEstimator > m_track_to_vx {this,"TrackToVertexIPEstimator","Trk::TrackToVertexIPEstimator",""};
32  ToolHandle< Trk::IExtrapolator > m_extrapolator {this,"Extrapolator","Trk::Extrapolator",""};
33 
34  // Input Containers
35  SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackContainerKey {this,"TrackContainer","InDetTrackParticles","Key for the input track collection"};
36  SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey {this,"PrimaryVertexContainer","PrimaryVertices","Key for the input vertex collection"};
37 
38  // Decorators for tracks
39  // Decorator keys will be modified at run-time to conform to the correct container name
40  // For the run-time update to work, the decoration key name properties must start with a period (".")
41  Gaudi::Property< std::string > m_prefix{this,"prefix","btagIp_",""};
42 
44  SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_z0 {this, "z0SinTheta", "z0SinTheta", "z0SinTheta of tracks"};
45  SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_d0_sigma {this, "d0Uncertainty", "d0Uncertainty", "d0Uncertainty of tracks"};
46  SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_z0_sigma {this, "z0SinThetaUncertainty", "z0SinThetaUncertainty", "z0SinThetaUncertainty of tracks"};
47 
48  SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_pos {this, "trackDisplacement","trackDisplacement","trackDisplacement of tracks" };
49  SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_mom {this, "trackMomentum","trackMomentum","trackMomentum of tracks" };
50 
52  this, "invalidIp", "invalidIp", "flag for invalid impact parameter"
53  };
54  };
55 
56 }
57 
58 #endif
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer >
Analysis::BTagTrackAugmenterAlg::m_dec_invalid
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_invalid
Definition: BTagTrackAugmenterAlg.h:51
Analysis::BTagTrackAugmenterAlg::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: BTagTrackAugmenterAlg.cxx:68
Analysis::BTagTrackAugmenterAlg::m_dec_z0
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_z0
Definition: BTagTrackAugmenterAlg.h:44
Analysis::BTagTrackAugmenterAlg::m_prefix
Gaudi::Property< std::string > m_prefix
Definition: BTagTrackAugmenterAlg.h:41
Analysis::BTagTrackAugmenterAlg::m_VertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey
Definition: BTagTrackAugmenterAlg.h:36
Analysis::BTagTrackAugmenterAlg::m_TrackContainerKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackContainerKey
Definition: BTagTrackAugmenterAlg.h:35
IExtrapolator.h
SG::ReadHandleKey< xAOD::TrackParticleContainer >
Analysis::BTagTrackAugmenterAlg::BTagTrackAugmenterAlg
BTagTrackAugmenterAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: BTagTrackAugmenterAlg.cxx:12
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Analysis::BTagTrackAugmenterAlg::m_dec_track_pos
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_pos
Definition: BTagTrackAugmenterAlg.h:48
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::BTagTrackAugmenterAlg::m_dec_track_mom
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_mom
Definition: BTagTrackAugmenterAlg.h:49
Analysis::BTagTrackAugmenterAlg
Definition: BTagTrackAugmenterAlg.h:19
WriteDecorHandle.h
Handle class for adding a decoration to an object.
Analysis::BTagTrackAugmenterAlg::m_dec_d0
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_d0
Definition: BTagTrackAugmenterAlg.h:43
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Analysis::BTagTrackAugmenterAlg::m_dec_d0_sigma
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_d0_sigma
Definition: BTagTrackAugmenterAlg.h:45
AthReentrantAlgorithm.h
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Analysis::BTagTrackAugmenterAlg::m_track_to_vx
ToolHandle< Trk::ITrackToVertexIPEstimator > m_track_to_vx
Definition: BTagTrackAugmenterAlg.h:31
VertexContainer.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Analysis::BTagTrackAugmenterAlg::getPrimaryVertex
const xAOD::Vertex * getPrimaryVertex(const xAOD::VertexContainer &) const
Definition: BTagTrackAugmenterAlg.cxx:172
ITrackToVertexIPEstimator.h
Analysis::BTagTrackAugmenterAlg::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: BTagTrackAugmenterAlg.h:32
Analysis::BTagTrackAugmenterAlg::initialize
StatusCode initialize() override final
Definition: BTagTrackAugmenterAlg.cxx:15
Analysis::BTagTrackAugmenterAlg::m_dec_z0_sigma
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_z0_sigma
Definition: BTagTrackAugmenterAlg.h:46
TrackParticleContainer.h