1 #ifndef RecoBTag_GhostTrackFitter_h 2 #define RecoBTag_GhostTrackFitter_h 28 const std::vector<TransientTrack> &
tracks)
const;
34 const std::vector<TransientTrack> &
tracks)
const;
38 const std::vector<TransientTrack> &
tracks)
const;
51 double &
chi2)
const = 0;
57 bool withPredError =
false)
const = 0;
68 std::vector<GhostTrackState> &states,
78 const std::vector<GhostTrackState> &states)
const;
82 std::unique_ptr<PredictionUpdater>
updater;
86 #endif // RecoBTag_GhostTrackFitter_h
virtual GhostTrackPrediction fit(const PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states, double &ndof, double &chi2)=0
virtual void contribution(const GhostTrackPrediction &pred, const GhostTrackState &state, double &ndof, double &chi2, bool withPredError=false) const =0
virtual FitterImpl * clone() const =0
void setFitterImpl(const FitterImpl &fitterImpl)
virtual PredictionUpdater * clone() const =0
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
auto const & tracks
cannot be loose
virtual GhostTrackPrediction update(const GhostTrackPrediction &pred, const GhostTrackState &state, double &ndof, double &chi2) const =0
virtual ~PredictionUpdater()
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
GhostTrack fit(const GlobalPoint &priorPosition, const GlobalError &priorError, const GlobalVector &direction, double coneRadius, const std::vector< TransientTrack > &tracks) const
std::unique_ptr< FitterImpl > fitter
virtual ~GhostTrackFitter()
std::unique_ptr< PredictionUpdater > updater