ATLAS Offline Software
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 
33 namespace Trk {
34 
35  class Track;
37  {
38 
39  public:
40  AlignTrackPreProcessor(const std::string & type, const std::string & name, const IInterface * parent);
41 
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 
Trk::AlignTrackPreProcessor::initialize
StatusCode initialize()
Definition: AlignTrackPreProcessor.cxx:29
IAlignTrackPreProcessor.h
Trk::AlignTrackPreProcessor::m_refitTracks
BooleanProperty m_refitTracks
Definition: AlignTrackPreProcessor.h:63
Trk::AlignTrackPreProcessor::m_selectTracks
BooleanProperty m_selectTracks
Definition: AlignTrackPreProcessor.h:77
Trk::AlignTrackPreProcessor
Definition: AlignTrackPreProcessor.h:37
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
Trk::AlignTrackPreProcessor::m_selectHits
BooleanProperty m_selectHits
Definition: AlignTrackPreProcessor.h:79
Trk::AlignTrackPreProcessor::performSiliconHitSelection
Track * performSiliconHitSelection(const Track *, const ToolHandle< Trk::IGlobalTrackFitter > &)
select silicon hits by quality.
Definition: AlignTrackPreProcessor.cxx:196
Trk::AlignTrackPreProcessor::AlignTrackPreProcessor
AlignTrackPreProcessor(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AlignTrackPreProcessor.cxx:20
IInDetAlignHitQualSelTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::AlignTrackPreProcessor::m_useSingleFitter
BooleanProperty m_useSingleFitter
Definition: AlignTrackPreProcessor.h:74
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk::AlignTrackPreProcessor::m_trackSelectorTool
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelectorTool
Definition: AlignTrackPreProcessor.h:55
Trk::AlignTrackPreProcessor::processTrackCollection
DataVector< Track > * processTrackCollection(const DataVector< Track > *trks)
creates AlignTrack containing all TSOS on track
Definition: AlignTrackPreProcessor.cxx:84
Trk::AlignTrackPreProcessor::m_trackFitterTool
ToolHandle< IGlobalTrackFitter > m_trackFitterTool
Definition: AlignTrackPreProcessor.h:50
Trk::AlignTrackPreProcessor::m_particleHypothesis
IntegerProperty m_particleHypothesis
Definition: AlignTrackPreProcessor.h:70
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
IInDetTrackSelectionTool.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::AlignTrackPreProcessor::m_runOutlierRemoval
BooleanProperty m_runOutlierRemoval
Definition: AlignTrackPreProcessor.h:68
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:28
Trk::AlignTrackPreProcessor::m_storeFitMatricesAfterRefit
BooleanProperty m_storeFitMatricesAfterRefit
Definition: AlignTrackPreProcessor.h:64
Trk::AlignTrackPreProcessor::m_fixMomentum
BooleanProperty m_fixMomentum
Definition: AlignTrackPreProcessor.h:81
Trk::AlignTrackPreProcessor::m_hitQualityTool
ToolHandle< IInDetAlignHitQualSelTool > m_hitQualityTool
Definition: AlignTrackPreProcessor.h:57
Trk::AlignTrackPreProcessor::m_SLTrackFitterTool
ToolHandle< IGlobalTrackFitter > m_SLTrackFitterTool
Definition: AlignTrackPreProcessor.h:52
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::AlignTrackPreProcessor::finalize
StatusCode finalize()
Definition: AlignTrackPreProcessor.cxx:78
AthAlgTool
Definition: AthAlgTool.h:26
Trk::IAlignTrackPreProcessor
Definition: IAlignTrackPreProcessor.h:36
IGlobalTrackFitter.h