ATLAS Offline Software
Loading...
Searching...
No Matches
ActsEMBremCollectionBuilder.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 EGAMMAALGS_ACTSEMBREMCOLLECTIONBUILDER_H
6#define EGAMMAALGS_ACTSEMBREMCOLLECTIONBUILDER_H
7
8
10#include "GaudiKernel/EventContext.h"
11#include "GaudiKernel/ToolHandle.h"
20
43 public:
44 ActsEMBremCollectionBuilder(const std::string& name,
45 ISvcLocator* pSvcLocator);
46
47 virtual StatusCode initialize() override final;
48 virtual StatusCode finalize() override final;
49 virtual StatusCode execute(const EventContext& ctx) const override final;
50
51 private:
52 StatusCode refitActsTracks(
53 const EventContext& ctx,
55 ActsTrk::MutableTrackContainer& trackContainer,
56 std::vector<const xAOD::TrackParticle*>& originals,
57 const InDet::BeamSpotData* beamSpotData) const;
58
59 StatusCode convertTracks(
60 const EventContext& ctx,
61 const ActsTrk::TrackContainer& actsContainer,
62 const std::vector<const xAOD::TrackParticle*>& originals,
63 const xAOD::TrackParticleContainer& originalTPs,
65 const InDet::BeamSpotData* beamSpotData) const;
66
68 Gaudi::Property<int> m_MinNoSiHits{this, "minNoSiHits", 4,
69 "Minimum number of silicon hits on track "
70 "before it is allowed to be refitted"};
71
72 ToolHandle<ActsTrk::IFitterTool> m_actsFitter{this, "ActsFitter", "",
73 "Acts Fitter"};
74
75 ToolHandle<ActsTrk::ITrackToTrackParticleCnvTool> m_cnvTool{
76 this, "TrackToTrackParticleCnvTool", "",
77 "Tool to convert Acts tracks to xAOD::TrackParticles"};
78
80 this, "ActsTrackLink", "actsTrack", "Link to Acts track"};
81
85 this, "SelectedTrackParticleContainerName",
86 "egammaSelectedTrackParticles", "Input of Selected TrackParticles"};
87
88 PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{
89 this, "TrackingGeometryTool", ""};
90
92
94 this, "RefittedTracksLocation", "",
95 "Ambiguity resolved output track collection"};
96
98 this, "TrackParticleContainerName", "InDetTrackParticles",
99 "Input TrackParticles for originalTrackParticle link"};
100
102 this, "TrackParticlesOutKey", "GSFTrackParticles",
103 "Output xAOD::TrackParticle container"};
104
106 this, "ActsTrackOutLink", "actsTrack",
107 "Decoration: link from xAOD particle back to Acts track"};
108
109 SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey{this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"};
110
111 mutable std::atomic_uint m_nInputTracks{0};
112 mutable std::atomic_uint m_nRefittedTracks{0};
113};
114#endif //
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Handle class for reading a decoration on an object.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandle< ActsTrk::ITrackToTrackParticleCnvTool > m_cnvTool
Gaudi::Property< int > m_MinNoSiHits
@Cut on minimum silicon hits
ActsEMBremCollectionBuilder(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override final
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_actsTrackOutLinkKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_refittedTracksKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerKey
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTrackParticlesKey
StatusCode refitActsTracks(const EventContext &ctx, const xAOD::TrackParticleContainer &input, ActsTrk::MutableTrackContainer &trackContainer, std::vector< const xAOD::TrackParticle * > &originals, const InDet::BeamSpotData *beamSpotData) const
ActsTrk::MutableTrackContainerHandlesHelper m_refittedTracksBackendHandles
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
StatusCode convertTracks(const EventContext &ctx, const ActsTrk::TrackContainer &actsContainer, const std::vector< const xAOD::TrackParticle * > &originals, const xAOD::TrackParticleContainer &originalTPs, xAOD::TrackParticleContainer &outputTPs, const InDet::BeamSpotData *beamSpotData) const
virtual StatusCode initialize() override final
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_actsTrackLinkKey
virtual StatusCode finalize() override final
ToolHandle< ActsTrk::IFitterTool > m_actsFitter
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_selectedTrackParticleContainerKey
Names of input output collections.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".