ATLAS Offline Software
ITrackFitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ITrackFitter.h
7 // Header file for interface of Track Fitters
9 // (c) ATLAS Detector software
11 
12 #ifndef TRK_ITRACKFITTER_H
13 #define TRK_ITRACKFITTER_H
14 
15 #include "GaudiKernel/EventContext.h"
16 #include "GaudiKernel/IAlgTool.h"
21 #include "TrkTrack/Track.h"
22 namespace Trk {
23 
24 static const InterfaceID IID_ITrackFitter("ITrackFitter", 1, 0);
25 
41 class ITrackFitter : virtual public IAlgTool
42 {
43 
44 public:
45  static const InterfaceID& interfaceID()
46  {
47  return IID_ITrackFitter;
48  }
49 
51  virtual std::unique_ptr<Track> fit(
52  const EventContext& ctx,
53  const Track& track,
54  const RunOutlierRemoval runOutlier = false,
55  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
56 
61  virtual std::unique_ptr<Track> fit(
62  const EventContext& ctx,
63  const Track& track,
64  const PrepRawDataSet& prepRawSet,
65  const RunOutlierRemoval runOutlier = false,
66  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
67 
76  virtual std::unique_ptr<Track> fit(
77  const EventContext& ctx,
78  const PrepRawDataSet& prepRawSet,
79  const TrackParameters& params,
80  const RunOutlierRemoval runOutlier = false,
81  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
82 
88  virtual std::unique_ptr<Track> fit(
89  const EventContext& ctx,
90  const Track& track,
91  const MeasurementSet& measSet,
92  const RunOutlierRemoval runOutlier = false,
93  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
94 
99  virtual std::unique_ptr<Track> fit(
100  const EventContext& ctx,
101  const MeasurementSet& measSet,
102  const TrackParameters& params,
103  const RunOutlierRemoval runOutlier = false,
104  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
105 
111  virtual std::unique_ptr<Track> fit(
112  const EventContext& ctx,
113  const Track& track1,
114  const Track& track2,
115  const RunOutlierRemoval runOutlier = false,
116  const ParticleHypothesis matEffects = Trk::nonInteracting) const = 0;
117 
118 }; // end of class
119 } // end of namespace
120 
121 #endif // TRK_ITRACKFITTER_H
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track, const MeasurementSet &measSet, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
RE-FIT A TRACK, ADDING A FITTABLE MEASUREMENT SET.
Trk::PrepRawDataSet
std::vector< const PrepRawData * > PrepRawDataSet
vector of clusters and drift circles
Definition: FitterTypes.h:26
TrackParameters.h
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const MeasurementSet &measSet, const TrackParameters &params, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
FIT A TRACK TO A SET OF MEASUREMENTBASE.
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track, const PrepRawDataSet &prepRawSet, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
RE-FIT A TRACK, ADDING A PRD SET.
FitterTypes.h
Trk::ITrackFitter::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackFitter.h:45
Trk::ITrackFitter
Definition: ITrackFitter.h:42
Trk::RunOutlierRemoval
bool RunOutlierRemoval
switch to toggle quality processing after fit
Definition: FitterTypes.h:22
Track.h
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
FitterStatusCode.h
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track1, const Track &track2, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
COMBINE TWO TRACKS BY REFITTING.
ParticleHypothesis.h
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const PrepRawDataSet &prepRawSet, const TrackParameters &params, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
FIT A TRACK TO A SET OF PrepRawData.
Trk::MeasurementSet
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition: FitterTypes.h:30
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:25
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::ITrackFitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const Track &track, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const =0
RE-FIT A TRACK.
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
PowhegControl_ttFCNC_NLO.params
params
Definition: PowhegControl_ttFCNC_NLO.py:226