ATLAS Offline Software
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 
15 class MsgStream;
16 class TrackCnv_p4;
18 
19 namespace Trk {
20 
31 class TrackInfo
32 {
33 public:
39  {
41  Unknown = 0,
42 
45 
47  xKalman = 2,
48 
51 
54 
57 
60 
63 
66 
69 
72  };
73 
75  {
76 
78  BremFit = 1,
79 
82 
85 
88 
91 
94 
97  };
98 
100  {
103 
106 
109 
112 
115 
117  Muonboy = 5,
118 
121 
123  STACO = 7,
124 
127 
129  MuTag = 9,
130 
133 
136 
139 
141  TrigTRTxK = 13,
142 
145 
147  Fatras = 15,
148 
151 
154 
157 
160 
163 
166 
169 
172 
174  MuidComb = 24,
175 
177  Moore = 25,
178 
181 
184 
186  MuGirl = 28,
187 
189  iPatRec = 29,
190 
193 
196 
209 
218 
227 
230 
234 
237 
242 
244  strategyA = 43,
245  strategyB = 44,
246  strategyC = 45,
247 
249  FTK = 46,
250 
253 
257 
260 
263 
266 
269  };
270 
274  TrackInfo(const TrackFitter fitter, const ParticleHypothesis partHyp);
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 
308 
312  void setParticleHypothesis(const ParticleHypothesis& hypothesis);
313 
317  const TrackFitter& trackFitter() const;
318 
322  bool trackProperties(const TrackProperties& property) const;
323 
328 
334 
339  void addPatternReco(const TrackInfo&);
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 
359 private:
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 
391 MsgStream&
392 operator<<(MsgStream& sl, const TrackInfo& track);
393 
397 std::ostream&
398 operator<<(std::ostream& sl, const TrackInfo& track);
399 
400 } // end of namespace Trk
401 
402 #include "TrkTrack/TrackInfo.icc"
403 #endif
404 
TrackParticleBaseCnv_p1
Convertor for Trk::TrackParticleBase.
Definition: TrackParticleBaseCnv_p1.h:37
Trk::TrackInfo::NumberOfTrackRecoInfo
@ NumberOfTrackRecoInfo
Maximum number of enums.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:268
Trk::GlobalChi2Fitter
Definition: GlobalChi2Fitter.h:156
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
LArSamples::FitterData::fitter
const ShapeFitter * fitter
Definition: ShapeFitter.cxx:23
Trk::TrackInfo::MuidCombined
@ MuidCombined
MuidCombined.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:180
Trk::TrackInfo
Contains information about the 'fitter' of this track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:32
Trk::TrackInfo::m_properties
std::bitset< NumberOfTrackProperties > m_properties
A bitset providing information on the properties of the track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:378
Trk::TrackInfo::GaussianSumFilter
@ GaussianSumFilter
Tracks from Gaussian Sum Filter.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:53
Trk::TrackInfo::KalmanDNAFitter
@ KalmanDNAFitter
Kalman DNA Fitter.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:65
Trk::TrackInfo::clone
TrackInfo * clone() const
Trk::TrackInfo::TrackInfo
TrackInfo(TrackInfo &&)=default
Trk::TrackInfo::DeterministicAnnealingFilter
@ DeterministicAnnealingFilter
Adpative track fitter with fuzzy hit assignment.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:62
Trk::TrackInfo::Pseudotracking
@ Pseudotracking
Pseudo-tracking flag.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:265
Trk::TrackInfo::TrackInfo
TrackInfo()=default
Rule of 6 : default ctor, copy/move ctor copy/move assignment.
Trk::TrackInfo::iPatTrackFitter
@ iPatTrackFitter
tracks produced by iPat
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:44
TrackFitter
Definition: EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/TrackFitter.h:25
Trk::TrackInfo::TrigTRTxK
@ TrigTRTxK
TrigInDetTracks produced by TrigTRTxK, running at trigger LVL2.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:141
Trk::TrackInfo::BremFitSuccessful
@ BremFitSuccessful
A brem fit was performed on this track and this fit was successful.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:81
Trk::TrackInfo::strategyA
@ strategyA
L2Star strategies.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:244
Trk::TrackInfo::SiSPSeededFinderSimple
@ SiSPSeededFinderSimple
for tracks processed by the trigger version of the SiSPSeededFinder
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:256
Trk::TrackInfo::MuidStandAlone
@ MuidStandAlone
MuidStandalone.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:165
Trk::TrackInfo::~TrackInfo
~TrackInfo()=default
Trk::TrackInfo::MuidStandaloneRefit
@ MuidStandaloneRefit
Standalone muon that was obtained by refitting a combined muon using the calorimeter information of t...
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:233
Trk::TrackInfo::LowPtTrack
@ LowPtTrack
A LowPt track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:93
Trk::SimpleAmbiguityProcessorTool
Definition: SimpleAmbiguityProcessorTool.h:39
Trk::TrackInfo::iPatLegacyCnv
@ iPatLegacyCnv
Added because of compilation problems.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:150
Trk::TrackInfo::Muonboy
@ Muonboy
Tracks from MuonBoy.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:117
Trk::TrackInfo::FTK
@ FTK
for tracks from FTK
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:249
Trk::TrackInfo::MuonNotHittingTileVolume
@ MuonNotHittingTileVolume
Track which (physically) does not intersect the ID or Calo.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:217
Trk::TrackInfo::SiSpacePointsSeedMaker_LargeD0
@ SiSpacePointsSeedMaker_LargeD0
Large d0 for displaced vertex searches.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:259
Trk::undefined
@ undefined
Definition: ParticleHypothesis.h:38
Trk::TrackInfo::InDetAmbiTrackSelectionTool
@ InDetAmbiTrackSelectionTool
Added because of compilation problems.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:159
Trk::TrackInfo::TRTSeededSingleSpTrackFinder
@ TRTSeededSingleSpTrackFinder
TRTSeededSingleSpTrackFinder.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:168
Trk::TrackInfo::SiSpacePointsSeedMaker_VeryLowMomentum
@ SiSpacePointsSeedMaker_VeryLowMomentum
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:226
Trk::TrackInfo::StraightTrack
@ StraightTrack
A straight track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:84
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::TrackInfo::SlimmedTrack
@ SlimmedTrack
A slimmed track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:87
Trk::TrackInfo::addPatternRecoAndProperties
void addPatternRecoAndProperties(const TrackInfo &)
Method merging pattern recognition and track properties information from different Track infos.
Trk::TrackInfo::addPatternReco
void addPatternReco(const TrackInfo &)
A method adding just pattern recognition info without adding the actual properties.
Trk::TrackInfo::operator=
TrackInfo & operator=(const TrackInfo &)=default
Trk::TrackInfo::dumpBitsPatternRecoInfo
std::string dumpBitsPatternRecoInfo() const
Trk::TrackInfo::ReverseOrderedTrack
@ ReverseOrderedTrack
Track which has its hits behind it, e.g.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:208
Trk::DistributedKalmanFilter
Definition: DistributedKalmanFilter.h:46
Trk::TrackInfo::m_patternRecognition
std::bitset< NumberOfTrackRecoInfo > m_patternRecognition
A bitset providing information on the actual pattern recognition algotithm.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:384
Trk::TrackInfo::strategyC
@ strategyC
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:246
Trk::TrackInfo::m_particleHypo
ParticleHypothesis m_particleHypo
This is an enum, which stores the particle hypothesis (if any) used for the track fitting.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:372
Trk::TrackInfo::patternRecoInfo
bool patternRecoInfo(const TrackPatternRecoInfo &pattern) const
Access method for pattern recognition algorithm.
Trk::TrackInfo::SiSpacePointsSeedMaker_LowMomentum
@ SiSpacePointsSeedMaker_LowMomentum
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:224
Trk::TrackInfo::MuGirlUnrefitted
@ MuGirlUnrefitted
Tracks from MuGirl not refitted with iPat.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:120
Trk::TrackInfo::setTrackFitter
void setTrackFitter(const TrackFitter &fitter)
Method for re-setting a track fitter.
Trk::TrackInfo::MuidVertexAssociator
@ MuidVertexAssociator
MuidVertexAssociator.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:183
Trk::TrackInfo::MuGirlLowBeta
@ MuGirlLowBeta
MuGirlLowBeta.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:192
Trk::TrackInfo::InDetExtensionProcessor
@ InDetExtensionProcessor
Tracks with InDetExtensionProcessor used.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:111
Trk::TrackInfo::properties
const std::bitset< NumberOfTrackProperties > & properties() const
Trk::TrackInfo::MooreToTrackTool
@ MooreToTrackTool
Tracks produced by Moore.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:132
Trk::TrackInfo::SiSpacePointsSeedMaker_Cosmic
@ SiSpacePointsSeedMaker_Cosmic
Entries allowing to distinguish different seed makers.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:222
Trk::TrackInfo::SiSpacePointsSeedMaker_BeamGas
@ SiSpacePointsSeedMaker_BeamGas
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:225
Trk::TrackInfo::STACO
@ STACO
Tracks produced by STACO.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:123
Trk::TrackInfo::BremFit
@ BremFit
A brem fit was performed on this track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:78
Trk::TrackInfo::FatrasSimulation
@ FatrasSimulation
Fatras Simulation.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:195
Trk::TrackInfo::TrackInCaloROI
@ TrackInCaloROI
A track in a CaloROI.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:236
ParticleHypothesis.h
Trk::TrackInfo::setTrackProperties
void setTrackProperties(const TrackProperties &properties)
Methods setting the properties of track.
Trk::TrackInfo::InDetAmbiguitySolver
@ InDetAmbiguitySolver
Tracks with InDetAmbiguitySolver used.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:108
Trk::TrackInfo::TrigTRTLUT
@ TrigTRTLUT
TrigInDetTracks produced by TrigTRTLUT, running at trigger LVL2.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:144
Trk::TrackInfo::patternRecognition
const std::bitset< NumberOfTrackRecoInfo > & patternRecognition() const
Trk::TrackInfo::SiSpacePointsSeedMaker_HeavyIon
@ SiSpacePointsSeedMaker_HeavyIon
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:223
Trk::TrackInfo::iPatRec
@ iPatRec
iPatRec
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:189
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackInfo::m_fitter
TrackFitter m_fitter
This is an enum, which stores the identity of where the track was created.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:366
Trk::TrackInfo::MuonboyFitter
@ MuonboyFitter
Track produced with Muonboy's internal fitter.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:68
Trk::TrackInfo::TrigIDSCAN
@ TrigIDSCAN
TrigInDetTracks produced by TrigIDSCAN, running at trigger LVL2.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:135
Trk::TrackInfo::TRTSeededTrackFinder
@ TRTSeededTrackFinder
Tracks from TRT Seeded Track finder.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:114
Trk::TrackInfo::HardScatterOrKink
@ HardScatterOrKink
A track with a kink or a hard scatter.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:90
Trk::TrackInfo::dumpInfo
std::string dumpInfo() const
Returns a string with the name of the fitter of this track (i.e.
Definition: Tracking/TrkEvent/TrkTrack/src/TrackInfo.cxx:45
Trk::TrackInfo::strategyB
@ strategyB
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:245
Trk::TrackInfo::operator=
TrackInfo & operator=(TrackInfo &&)=default
TrackCnv_p4
Definition: TrackCnv_p4.h:26
Trk::TrackInfo::Moore
@ Moore
Moore (MoMu)
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:177
Trk::TrackInfo::KalmanFitter
@ KalmanFitter
tracks produced by the Kalman Fitter
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:50
Trk::TrackInfo::SiSPSeededFinder
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:102
Trk::TrackInfo::StacoLowPt
@ StacoLowPt
Tracks produced by StacoLowpt.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:126
Trk::TrackInfo::FastTrackFinderSeed
@ FastTrackFinderSeed
for tracks seeded by the FastTrackFinder
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:252
Trk::TrackInfo::SiSpacePointsSeedMaker_ForwardTracks
@ SiSpacePointsSeedMaker_ForwardTracks
Entries allowing to distinguish different seed makers.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:241
Trk::TrackInfo::dumpBitsProperties
std::string dumpBitsProperties() const
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::TrackInfo::SiCTBTracking
@ SiCTBTracking
Tracks from SiCTBTracking.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:105
Trk::TrackInfo::MooreLegacyCnv
@ MooreLegacyCnv
Back compatibility with old type of ESD.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:171
TrackInfo.icc
Trk::TrackInfo::MuidMuonRecoveryTool
@ MuidMuonRecoveryTool
Muons found by the ID seeded muon recovery.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:229
Trk::TrackInfo::MuTag
@ MuTag
Tracks produced by MuTag.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:129
Trk::TrackInfo::setParticleHypothesis
void setParticleHypothesis(const ParticleHypothesis &hypothesis)
Method re-setting the ParticleHypothesis.
Trk::TrackInfo::MuGirl
@ MuGirl
MuGirl.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:186
Trk::TrackInfo::Fatras
@ Fatras
Track from FATRAS.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:147
Trk::TrackInfo::TrackInfo
TrackInfo(const TrackInfo &)=default
Trk::TrackInfo::TrigSiTrack
@ TrigSiTrack
TrigInDetTracks produced by TrigSiTrack, running at trigger LVL2.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:138
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::TrackInfo::setPatternRecognitionInfo
void setPatternRecognitionInfo(const TrackPatternRecoInfo &patternReco)
Method setting the pattern recognition algorithm.
Trk::TrackInfo::xKalmanLegacyCnv
@ xKalmanLegacyCnv
Added because of compilation problems.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:153
Trk::TrackInfo::TrackProperties
TrackProperties
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:75
Trk::TrackInfo::trackFitter
const TrackFitter & trackFitter() const
Access methods for track fitter.
Trk::TrackInfo::NumberOfTrackFitters
@ NumberOfTrackFitters
maximum number of enums
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:71
Trk::TrackInfo::trackProperties
bool trackProperties(const TrackProperties &property) const
Access methods for track properties.
Trk::TrackInfo::TrackPatternRecoInfo
TrackPatternRecoInfo
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:100
Trk::TrackInfo::NumberOfTrackProperties
@ NumberOfTrackProperties
maximum number of enums
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:96
Trk::TrackInfo::SiSpacePointsSeedMaker_ITkConversionTracks
@ SiSpacePointsSeedMaker_ITkConversionTracks
ITkConversion Track flag.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:262
Trk::TrackInfo::particleHypothesis
ParticleHypothesis particleHypothesis() const
Returns the particle hypothesis used for Track fitting.
Trk::TrackInfo::xKalman
@ xKalman
tracks produced by xKalman
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:47
Trk::TrackInfo::MuidComb
@ MuidComb
Back compatibility with older ESD versions.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:174
Trk::TrackInfo::TRTStandalone
@ TRTStandalone
TRT Standalone.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:162
Trk::TrackInfo::Unknown
@ Unknown
Track fitter not defined.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/TrackInfo.h:41