ATLAS Offline Software
Loading...
Searching...
No Matches
AlignTrackPreProcessor.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 TRKALIGNGENTOOLS_ALIGNTRACKPREPROCESSOR_H
6#define TRKALIGNGENTOOLS_ALIGNTRACKPREPROCESSOR_H
7
8
9#include "GaudiKernel/ToolHandle.h"
11
16
17#include <vector>
18
31
32
33namespace Trk {
34
35 class Track;
37 {
38
39 public:
40 AlignTrackPreProcessor(const std::string & type, const std::string & name, const IInterface * parent);
41
42 StatusCode initialize();
43 StatusCode finalize();
44
47
48
49 private:
50 ToolHandle<IGlobalTrackFitter> m_trackFitterTool{
51 this, "TrackFitterTool", "Trk::GlobalChi2Fitter/InDetTrackFitter"};
52 ToolHandle<IGlobalTrackFitter> m_SLTrackFitterTool{
53 this, "SLTrackFitterTool", ""};
54
55 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectorTool{
56 this, "TrackSelectorTool", ""};
57 ToolHandle<IInDetAlignHitQualSelTool> m_hitQualityTool{
58 this, "HitQualityTool", ""};
59
61 Track * performSiliconHitSelection(const Track *, const ToolHandle<Trk::IGlobalTrackFitter> &);
62
63 BooleanProperty m_refitTracks{this, "RefitTracks", true, "flag to refit tracks"};
65 this, "StoreFitMatricesAfterRefit", true,
66 "flag to store derivative and covariance matrices after refit"};
67
68 BooleanProperty m_runOutlierRemoval{this, "RunOutlierRemoval", false,
69 "run outlier removal in track refit"};
70 IntegerProperty m_particleHypothesis{
71 this, "ParticleHypothesis", Trk::nonInteracting,
72 "particle hypothesis in track refit"};
73
74 BooleanProperty m_useSingleFitter{this, "UseSingleFitter", false,
75 "only use 1 fitter for refitting track"};
76
77 BooleanProperty m_selectTracks{this, "SelectTracks", false,
78 "do the track selection"};
79 BooleanProperty m_selectHits{this, "SelectHits", false,
80 "perform the hit InnerDetector selection"};
81 BooleanProperty m_fixMomentum{this, "FixMomentum", false,
82 "Fix the momentum of the track so it is not refitted"};
83
84 }; // end class
85
86} // end namespace
87
88
89
90#endif // TRKALIGNGENTOOLS_ALIGNTRACKPREPROCESSOR_H
91
92
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Derived DataVector<T>.
Definition DataVector.h:795
Track * performSiliconHitSelection(const Track *, const ToolHandle< Trk::IGlobalTrackFitter > &)
select silicon hits by quality.
ToolHandle< IGlobalTrackFitter > m_SLTrackFitterTool
AlignTrackPreProcessor(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelectorTool
DataVector< Track > * processTrackCollection(const DataVector< Track > *trks)
creates AlignTrack containing all TSOS on track
ToolHandle< IInDetAlignHitQualSelTool > m_hitQualityTool
ToolHandle< IGlobalTrackFitter > m_trackFitterTool
Ensure that the ATLAS eigen extensions are properly loaded.