ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_SegmentToTrackTool.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
22
23#ifndef TRT_SegmentToTrackTool_H
24#define TRT_SegmentToTrackTool_H
25
27//
29#include "GaudiKernel/ToolHandle.h"
30//
35//Extrapolator tool
37//Scoring tool
39
42// MagField cache
46
47#include <string>
48
49class MsgStream;
50class TRT_ID;
51
52namespace Trk {
53 class Track;
54 class TrackSegment;
55 class IExtrapolator;
57}
58
59namespace InDet {
60
61 //class TrackSegment;
62
64 virtual public ITRT_SegmentToTrackTool,
65 public AthAlgTool
66 {
67
68 public:
69
70 //constructor
71 TRT_SegmentToTrackTool(const std::string& type,
72 const std::string& name,
73 const IInterface* parent );
74
76
77 virtual StatusCode initialize() override;
78 virtual StatusCode finalize() override;
79
80 virtual Trk::Track* segToTrack(const EventContext& ctx, const Trk::TrackSegment&) const override;
82 virtual bool segIsUsed(const Trk::TrackSegment&,
83 const Trk::PRDtoTrackMap *prd_to_track_map) const override;
84 virtual bool toLower(const Trk::TrackSegment&) const override;
85
87 virtual void addNewTrack(Trk::Track*,
88 ITRT_SegmentToTrackTool::EventData &event_data) const override;
90 virtual TrackCollection* resolveTracks(const Trk::PRDtoTrackMap *prd_to_track_map,
91 ITRT_SegmentToTrackTool::EventData &event_data) const override;
92
93 virtual MsgStream& dump (MsgStream& out) const override;
94 virtual std::ostream& dump(std::ostream& out) const override;
95
96 private:
97 BooleanProperty m_doRefit{this, "FinalRefit", false,
98 "Do final careful refit of tracks"};
99 static constexpr double m_fieldUnitConversion = 1000.;
100 DoubleProperty m_sharedFrac{this, "MaxSharedHitsFraction", 0.3,
101 "Maximum fraction of shared TRT drift circles"};
102 BooleanProperty m_suppressHoleSearch{this, "SuppressHoleSearch", false,
103 "Suppress hole search during the track summary creation"};
104
105 ToolHandle<Trk::IExtrapolator> m_extrapolator
106 {this, "Extrapolator", "Trk::Extrapolator/InDetExtrapolator"};
107
108 ToolHandle<Trk::ITrackFitter> m_fitterTool{ this, "RefitterTool", "" };
109 ToolHandle<Trk::IPRDtoTrackMapTool> m_assoTool{
110 this,
111 "AssociationTool",
112 "InDet::InDetPRDtoTrackMapToolGangedPixels"
113 };
114 ToolHandle<Trk::IExtendedTrackSummaryTool> m_trackSummaryTool{
115 this,
116 "TrackSummaryTool",
117 "InDetTrackSummaryToolNoHoleSearch"
118 };
119
120 ToolHandle<Trk::ITrackScoringTool> m_scoringTool
121 {this, "ScoringTool", "Trk::TrackScoringTool/TrackScoringTool"};
122
124 // Read handle for conditions object to get the field cache
125 SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj",
126 "Name of the Magnetic Field conditions object key"};
127
128
129
131 const TRT_ID* m_trtId = nullptr;
132
135 static MsgStream& dumpevent (MsgStream& out) ;
136 MsgStream& dumpconditions (MsgStream& out) const;
137
138 };
139
141 // Overload of << operator for MsgStream and std::ostream
143
144 MsgStream& operator << (MsgStream& ,const ITRT_SegmentToTrackTool&);
145 std::ostream& operator << (std::ostream&,const ITRT_SegmentToTrackTool&);
146
148 // Inline methods
150
152 // Overload of << operator MsgStream
154
155 inline MsgStream& operator << (MsgStream& sl,const ITRT_SegmentToTrackTool& se)
156 {
157 return se.dump(sl);
158 }
159
160 // Overload of << operator std::ostream
162
163 inline std::ostream& operator << (std::ostream& sl,const ITRT_SegmentToTrackTool& se)
164 {
165 return se.dump(sl);
166 }
167
168}
169
170#endif //TRT_SegmentToTrackTool_H
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
virtual Trk::Track * segToTrack(const EventContext &ctx, const Trk::TrackSegment &) const override
virtual StatusCode initialize() override
ToolHandle< Trk::IExtrapolator > m_extrapolator
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
static constexpr double m_fieldUnitConversion
virtual TrackCollection * resolveTracks(const Trk::PRDtoTrackMap *prd_to_track_map, ITRT_SegmentToTrackTool::EventData &event_data) const override
Resolve the standalone TRT tracks based on the number of shared TRT hits.
virtual bool segIsUsed(const Trk::TrackSegment &, const Trk::PRDtoTrackMap *prd_to_track_map) const override
Check if the TRT segment has already been assigned a Si extension.
static MsgStream & dumpevent(MsgStream &out)
Tracks that will be passed out of AmbiProcessor.
TRT_SegmentToTrackTool(const std::string &type, const std::string &name, const IInterface *parent)
const TRT_ID * m_trtId
ID TRT helper.
virtual StatusCode finalize() override
ToolHandle< Trk::ITrackScoringTool > m_scoringTool
ToolHandle< Trk::IPRDtoTrackMapTool > m_assoTool
ToolHandle< Trk::ITrackFitter > m_fitterTool
virtual bool toLower(const Trk::TrackSegment &) const override
MsgStream & dumpconditions(MsgStream &out) const
virtual void addNewTrack(Trk::Track *, ITRT_SegmentToTrackTool::EventData &event_data) const override
Add track into the track-score multimap.
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
Interface for tool to return a score from a given track.
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file