ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.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 TRKTRACK_TRACKINFO_H
6#define TRKTRACK_TRACKINFO_H
7
8#include <bitset>
9#include <iostream>
10#include <string>
11#include <vector>
12
14
15class MsgStream;
16class TrackCnv_p4;
18
19namespace Trk {
20
30
32{
33public:
73
98
100 {
103
106
109
112
115
118
121
123 STACO = 7,
124
127
129 MuTag = 9,
130
133
136
139
142
145
147 Fatras = 15,
148
151
154
157
160
163
166
169
172
175
177 Moore = 25,
178
181
184
186 MuGirl = 28,
187
190
193
196
209
218
227
230
234
237
242
247
249 FTK = 46,
250
253
257
260
263
266
269 };
270
274 TrackInfo(const TrackFitter fitter, const ParticleHypothesis partHyp);
275 TrackInfo(const TrackFitter fitter,
276 const ParticleHypothesis partHyp,
277 const std::bitset<NumberOfTrackProperties>& properties,
278 const std::bitset<NumberOfTrackRecoInfo>& patternRecognition);
279
284 TrackInfo() = default;
285 TrackInfo(const TrackInfo&) = default;
286 TrackInfo(TrackInfo&&) = default;
287 TrackInfo& operator=(const TrackInfo&) = default;
289 ~TrackInfo() = default;
290
291 TrackInfo* clone() const;
292 // Various set methods
293
298
303
307 void setTrackFitter(const TrackFitter& fitter);
308
313
317 const TrackFitter& trackFitter() const;
318
322 bool trackProperties(const TrackProperties& property) const;
323
327 bool patternRecoInfo(const TrackPatternRecoInfo& pattern) const;
328
334
340
345 std::string dumpInfo() const;
346
347 std::string dumpBitsProperties() const;
348
349 std::string dumpBitsPatternRecoInfo() const;
350
355
356 const std::bitset<NumberOfTrackProperties>& properties() const;
357 const std::bitset<NumberOfTrackRecoInfo>& patternRecognition() const;
358
359private:
360 friend class ::TrackCnv_p4;
361 friend class ::TrackParticleBaseCnv_p1;
362
367
373
378 std::bitset<NumberOfTrackProperties> m_properties;
379
384 std::bitset<NumberOfTrackRecoInfo> m_patternRecognition;
385
386}; // end of class definitions
387
391MsgStream&
392operator<<(MsgStream& sl, const TrackInfo& track);
393
397std::ostream&
398operator<<(std::ostream& sl, const TrackInfo& track);
399
400} // end of namespace Trk
401
402#include "TrkTrack/TrackInfo.icc"
403#endif
404
Convertor for Trk::TrackParticleBase.
Contains information about the 'fitter' of this track.
TrackInfo(TrackInfo &&)=default
void setTrackProperties(const TrackProperties &properties)
Methods setting the properties of track.
bool patternRecoInfo(const TrackPatternRecoInfo &pattern) const
Access method for pattern recognition algorithm.
std::string dumpInfo() const
Returns a string with the name of the fitter of this track (i.e.
TrackInfo()=default
Rule of 6 : default ctor, copy/move ctor copy/move assignment.
void setTrackFitter(const TrackFitter &fitter)
Method for re-setting a track fitter.
bool trackProperties(const TrackProperties &property) const
Access methods for track properties.
std::bitset< NumberOfTrackProperties > m_properties
A bitset providing information on the properties of the track.
std::string dumpBitsProperties() const
TrackInfo(const TrackFitter fitter, const ParticleHypothesis partHyp)
Non default Constructors.
const std::bitset< NumberOfTrackProperties > & properties() const
TrackInfo(const TrackInfo &)=default
TrackFitter
enums to identify who created this track and what propertis does it have.
@ GaussianSumFilter
Tracks from Gaussian Sum Filter.
@ KalmanFitter
tracks produced by the Kalman Fitter
@ MuonboyFitter
Track produced with Muonboy's internal fitter.
@ DeterministicAnnealingFilter
Adpative track fitter with fuzzy hit assignment.
@ DistributedKalmanFilter
Fast Kalman filter from HLT with simplified material effects.
@ GlobalChi2Fitter
Track's from Thijs' global chi^2 fitter.
std::string dumpBitsPatternRecoInfo() const
ParticleHypothesis particleHypothesis() const
Returns the particle hypothesis used for Track fitting.
const TrackFitter & trackFitter() const
Access methods for track fitter.
void addPatternReco(const TrackInfo &)
A method adding just pattern recognition info without adding the actual properties.
const std::bitset< NumberOfTrackRecoInfo > & patternRecognition() const
void setParticleHypothesis(const ParticleHypothesis &hypothesis)
Method re-setting the ParticleHypothesis.
void setPatternRecognitionInfo(const TrackPatternRecoInfo &patternReco)
Method setting the pattern recognition algorithm.
void addPatternRecoAndProperties(const TrackInfo &)
Method merging pattern recognition and track properties information from different Track infos.
~TrackInfo()=default
@ BremFit
A brem fit was performed on this track.
@ HardScatterOrKink
A track with a kink or a hard scatter.
@ BremFitSuccessful
A brem fit was performed on this track and this fit was successful.
@ SiSpacePointsSeedMaker_Cosmic
Entries allowing to distinguish different seed makers.
@ MuidStandaloneRefit
Standalone muon that was obtained by refitting a combined muon using the calorimeter information of t...
@ StacoLowPt
Tracks produced by StacoLowpt.
@ iPatLegacyCnv
Added because of compilation problems.
@ TRTSeededTrackFinder
Tracks from TRT Seeded Track finder.
@ TrigTRTxK
TrigInDetTracks produced by TrigTRTxK, running at trigger LVL2.
@ MooreLegacyCnv
Back compatibility with old type of ESD.
@ MuGirlUnrefitted
Tracks from MuGirl not refitted with iPat.
@ InDetExtensionProcessor
Tracks with InDetExtensionProcessor used.
@ SiSpacePointsSeedMaker_LargeD0
Large d0 for displaced vertex searches.
@ MuidMuonRecoveryTool
Muons found by the ID seeded muon recovery.
@ SiSpacePointsSeedMaker_ForwardTracks
Entries allowing to distinguish different seed makers.
@ MuonNotHittingTileVolume
Track which (physically) does not intersect the ID or Calo.
@ ReverseOrderedTrack
Track which has its hits behind it, e.g.
@ TrigIDSCAN
TrigInDetTracks produced by TrigIDSCAN, running at trigger LVL2.
@ InDetAmbiguitySolver
Tracks with InDetAmbiguitySolver used.
@ TrigSiTrack
TrigInDetTracks produced by TrigSiTrack, running at trigger LVL2.
@ SiSpacePointsSeedMaker_ITkConversionTracks
ITkConversion Track flag.
@ FastTrackFinderSeed
for tracks seeded by the FastTrackFinder
@ MuidComb
Back compatibility with older ESD versions.
@ SimpleAmbiguityProcessorTool
Added because of compilation problems.
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
@ InDetAmbiTrackSelectionTool
Added because of compilation problems.
@ SiSPSeededFinderSimple
for tracks processed by the trigger version of the SiSPSeededFinder
@ TRTSeededSingleSpTrackFinder
TRTSeededSingleSpTrackFinder.
@ TrigTRTLUT
TrigInDetTracks produced by TrigTRTLUT, running at trigger LVL2.
@ xKalmanLegacyCnv
Added because of compilation problems.
std::bitset< NumberOfTrackRecoInfo > m_patternRecognition
A bitset providing information on the actual pattern recognition algotithm.
TrackFitter m_fitter
This is an enum, which stores the identity of where the track was created.
TrackInfo & operator=(TrackInfo &&)=default
TrackInfo & operator=(const TrackInfo &)=default
ParticleHypothesis m_particleHypo
This is an enum, which stores the particle hypothesis (if any) used for the track fitting.
TrackInfo * clone() const
Ensure that the ATLAS eigen extensions are properly loaded.
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.