ATLAS Offline Software
Loading...
Searching...
No Matches
SiCombinatorialTrackFinderData_xk.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
8// Header file for class SiCombinatorialTrackFinderData_xk
10
11#ifndef SiCombinatorialTrackFinderData_xk_H
12#define SiCombinatorialTrackFinderData_xk_H
13
16#include "TrkTrack/TrackInfo.h"
17
18#include <list>
19
20namespace Trk {
21 class Track;
22}
23
24namespace InDet {
25
33
35
36 public:
41
46
47 //enum used in Track Maker tools for summary statistics table
55
77
81
86 const Trk::IPatternParametersUpdator* updatorTool,
87 const Trk::IRIO_OnTrackCreator* rioTool,
88 const IInDetConditionsTool* pixCondTool,
89 const IInDetConditionsTool* sctCondTool,
90 const Trk::MagneticFieldProperties* fieldProp,
91 const Trk::IBoundaryCheckTool* boundaryCheckTool);
92
93 void setTools(const IInDetConditionsTool* pixCondTool,
94 const IInDetConditionsTool* sctCondTool) {
95 m_tools.setTools(pixCondTool,
96 sctCondTool);
97 }
98
102 void setFieldCondObj(const AtlasFieldCacheCondObj* fieldCondObj)
103 {m_tools.setFieldCondObj(fieldCondObj);}
104
108 void setPixContainer(const InDet::PixelClusterContainer* pixcont)
109 {m_pixcontainer = pixcont;}
110
113 void setSctContainer(const InDet::SCT_ClusterContainer* sctcont)
114 {m_sctcontainer = sctcont;}
115
117 const InDet::SiDetectorElementStatus* pixelDetElStatus) {
118 m_tools.setPixelDetectorElementStatus(pixelDetElStatus);
119 }
121 const InDet::SiDetectorElementStatus* sctDetElStatus) {
122 m_tools.setSCTDetectorElementStatus(sctDetElStatus);
123 }
124
128 void setResultCode(const ResultCode code) {m_resultCode = code;}
129
133 void setFlagToReturnFailedTrack(const bool);
134
135 void setHeavyIon(bool);
136 void setITkGeometry(bool);
137 void setFastTracking(bool);
138
139 void setCosmicTrack(int value) {m_cosmicTrack = value;}
140 void setNclusmin(int value) {m_nclusmin = value;}
141 void setNclusminb(int value) {m_nclusminb = value;}
142 void setNwclusmin(int value) {m_nwclusmin = value;}
143 void setNholesmax(int value) {m_nholesmax = value;}
144 void setDholesmax(int value) {m_dholesmax = value;}
145 void setSimpleTrack(bool value){m_simpleTrack = value;}
146
147 void setPTmin(double value) {m_pTmin = value;}
148 void setPTminBrem(double value) {m_pTminBrem = value;}
149 void setXi2max(double value) {m_xi2max = value;}
150 void setXi2maxNoAdd(double value){m_xi2maxNoAdd = value;}
151 void setXi2maxlink(double value) {m_xi2maxlink = value;}
152
156
157
161 const InDet::PixelClusterContainer* pixContainer() const
162 {return m_pixcontainer;}
163
166 const InDet::SCT_ClusterContainer* sctContainer() const
167 {return m_sctcontainer;}
168
173 {return m_tools.PRDtoTrackMap();}
174
178 bool isInitialized() const {return m_initialized;}
179
180 // flag to tell whether to return tracks even in case fit is un-successful (for disappearing track trigger)
182 // code to tell the fit result (code includes non-succesful cases for disappearing track trigger)
184
185 bool heavyIon() const {return m_heavyIon;}
186 bool isITkGeometry() const {return m_ITkGeometry;}
187 bool useFastTracking() const {return m_doFastTracking;}
188
189 int cosmicTrack() const {return m_cosmicTrack;}
190 int nclusmin() const {return m_nclusmin;}
191 int nclusminb() const {return m_nclusminb;}
192 int nwclusmin() const {return m_nwclusmin;}
193 int nholesmax() const {return m_nholesmax;}
194 int dholesmax() const {return m_dholesmax;}
195 bool simpleTrack() const {return m_simpleTrack;}
196
197 double pTmin() const {return m_pTmin;}
198 double pTminBrem() const {return m_pTminBrem;}
199 double xi2max() const {return m_xi2max;}
200 double xi2maxNoAdd() const {return m_xi2maxNoAdd;}
201 double xi2maxlink() const {return m_xi2maxlink;}
202
210 std::list<Trk::Track*>& tracks(){return m_tracks;}
211
212 int& nprint() {return m_nprint;}
213 int& inputseeds() {return m_inputseeds;}
214 int& goodseeds() {return m_goodseeds;}
215 int& findtracks() {return m_findtracks;}
216 int& inittracks() {return m_inittracks;}
217 int& roadbug() {return m_roadbug;}
218 std::array<bool,kNCombStats>& statistic() {return m_statistic;}
219
221
229
230 protected:
234 void setPRDtoTrackMap(const Trk::PRDtoTrackMap* prd_to_track_map)
235 {m_tools.setPRDtoTrackMap(prd_to_track_map);}
236
237 private:
238
240 bool m_initialized{false};
248 std::list<Trk::Track*> m_tracks;
250 int m_nprint{0};
260 int m_roadbug{0};
262 std::array<bool,kNCombStats> m_statistic{};
263 // Heavy ion flag
264 bool m_heavyIon{false};
278 bool m_simpleTrack{false};
284 double m_pTmin{0.};
286 double m_pTminBrem{0.};
288 double m_xi2max{0.};
290 double m_xi2maxNoAdd{0.};
292 double m_xi2maxlink{0.};
293 // Is ITk geometry
294 bool m_ITkGeometry{false};
295 // Do Fast Tracking setup
296 bool m_doFastTracking{false};
297
299 std::map<Trk::Track*, InDet::PatternHoleSearchOutcome> m_holeSearchOutcomes;
300
302 const InDet::PixelClusterContainer* m_pixcontainer{nullptr};
304 const InDet::SCT_ClusterContainer* m_sctcontainer{nullptr};
305
306 };
307
308} // end of name space
309
310#endif // SiCombinatorialTrackFinderData_xk_H
Interface class for service providing summary of status of a detector element.
void setTools(const Trk::IPatternParametersPropagator *propTool, const Trk::IPatternParametersUpdator *updatorTool, const Trk::IRIO_OnTrackCreator *rioTool, const IInDetConditionsTool *pixCondTool, const IInDetConditionsTool *sctCondTool, const Trk::MagneticFieldProperties *fieldProp, const Trk::IBoundaryCheckTool *boundaryCheckTool)
Set tools, service and magnetic field properties.
const InDet::SCT_ClusterContainer * sctContainer() const
Get cached pointer to SCT cluster collection in StoreGate.
bool isInitialized() const
Check if this object is initialized by the setTools method.
std::array< bool, kNCombStats > m_statistic
Switch array.
void setPRDtoTrackMap(const Trk::PRDtoTrackMap *prd_to_track_map)
Set PRD to track map.
SiCombinatorialTrackFinderData_xk::ResultCode resultCode() const
const InDet::PixelClusterContainer * pixContainer() const
Get cached pointer to Pixel cluster collection in StoreGate.
const Trk::PRDtoTrackMap * PRDtoTrackMap() const
Get PRD to track map.
void setFieldCondObj(const AtlasFieldCacheCondObj *fieldCondObj)
Set magnetif field cache.
~SiCombinatorialTrackFinderData_xk()=default
Default destructor.
void setSCTDetectorElementStatus(const InDet::SiDetectorElementStatus *sctDetElStatus)
std::list< Trk::Track * > m_tracks
List of found tracks.
void setPixelDetectorElementStatus(const InDet::SiDetectorElementStatus *pixelDetElStatus)
bool findPatternHoleSearchOutcome(Trk::Track *theTrack, InDet::PatternHoleSearchOutcome &outcome) const
Methods used to associate the hole search outcome to tracks without having to modify the EDM.
ResultCode
enum to indicate fit result status (for disappearing track trigger that wants not only for successful...
void setPixContainer(const InDet::PixelClusterContainer *pixcont)
Set cached pointer to Pixel cluster collection in StoreGate.
ResultCode m_resultCode
Result code (to indicate fit result for disappearing track trigger)
InDet::SiTools_xk m_tools
Hold tools, service, map, etc.
const InDet::PixelClusterContainer * m_pixcontainer
cached pointer to Pixel cluster collection in StoreGate
std::map< Trk::Track *, InDet::PatternHoleSearchOutcome > m_holeSearchOutcomes
A helper map to associate hole search outcomes to tracks.
void setFlagToReturnFailedTrack(const bool)
Setter for flagToReturnFailedTrack (for disappearing track trigger)
void setResultCode(const ResultCode code)
Setter for ResultCode (for disappearing track trigger)
void addPatternHoleSearchOutcome(Trk::Track *theTrack, const InDet::PatternHoleSearchOutcome &outcome)
This is used to store the pattern hole search outcome for a given track.
void setSctContainer(const InDet::SCT_ClusterContainer *sctcont)
Set cached pointer to SCT cluster collection in StoreGate.
bool m_flagToReturnFailedTrack
Flag whether to return non-successful tracks (for disappearing track trigger)
void setTools(const IInDetConditionsTool *pixCondTool, const IInDetConditionsTool *sctCondTool)
const InDet::SCT_ClusterContainer * m_sctcontainer
cached pointer to SCT cluster collection in StoreGate
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
Interface for updating Trk::PatternTrackParameters, the fast internal representation of track paramet...
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
magnetic field properties to steer the behavior of the extrapolation
Contains information about the 'fitter' of this track.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
Helper struct for hole search results from the pattern recognition.