ATLAS Offline Software
Loading...
Searching...
No Matches
PoorMansIpAugmenterAlg.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#ifndef POOR_MANS_TRACK_AUGMENTER_ALG_HH
6#define POOR_MANS_TRACK_AUGMENTER_ALG_HH
7
9#include "GaudiKernel/ToolHandle.h"
17
18namespace FlavorTagDiscriminants {
19
20
22 public:
23 PoorMansIpAugmenterAlg(const std::string& name,
24 ISvcLocator* pSvcLocator );
25
26 virtual StatusCode initialize() override;
27 virtual StatusCode execute(const EventContext& ) const override;
28 virtual StatusCode finalize() override;
29
30
31 private:
33
34 private:
35
36 // Input Containers
38 this,"trackContainer","InDetTrackParticles",
39 "Key for the input track collection"};
41 this,"primaryVertexContainer","",
42 "Key for the input vertex collection, (empty to use beamspot)"};
43
45 this, "eventInfo", "EventInfo", "Key for EventInfo"};
46
47 // Decorators for tracks
48 Gaudi::Property< std::string > m_prefix{this,"prefix","poboyIp_",""};
49
51 this, "d0Uncertainty", "d0Uncertainty", "d0Uncertainty of tracks"};
53 this, "z0SinThetaUncertainty", "z0SinThetaUncertainty",
54 "z0SinThetaUncertainty of tracks"};
55
57 this, "trackDisplacement","trackDisplacement",
58 "trackDisplacement of tracks" };
60 this, "trackMomentum","trackMomentum","trackMomentum of tracks" };
61
63 this, "invalidIp", "invalidIp", "flag for invalid impact parameter"
64 };
65
66 // accessors for beam spot uncertainty
68 this, "beamspotSigmaX", m_eventInfoKey, "beamPosSigmaX",
69 "Beam spot position sigma in X"
70 };
72 this, "beamspotSigmaY", m_eventInfoKey, "beamPosSigmaY",
73 "Beam spot position sigma in Y"
74 };
76 this, "beamspotSigmaZ", m_eventInfoKey, "beamPosSigmaZ",
77 "Beam spot position sigma in Z"
78 };
79 // note that this last entry is a covariance: the units are mm^2,
80 // whereas the above have units of mm
82 this, "beamspotCovarianceXY", m_eventInfoKey, "beamPosSigmaXY",
83 "Beam spot covariance in XY"
84 };
85 };
86
87}
88
89#endif
Base class for elements of a container that can have aux data.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beam_cov_xy
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackContainerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_pos
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_z0_sigma
const xAOD::Vertex * getPrimaryVertex(const xAOD::VertexContainer &) const
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beam_sigma_x
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_track_mom
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beam_sigma_z
virtual StatusCode execute(const EventContext &) const override
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_beam_sigma_y
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_invalid
PoorMansIpAugmenterAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_d0_sigma
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.