24 fitter = std::make_unique<AnnealingGhostTrackFitter>();
25 updater = std::make_unique<KalmanGhostTrackUpdater>();
34 const std::vector<TransientTrack> &
tracks)
const {
43 const std::vector<TransientTrack> &
tracks)
const {
50 const std::vector<TransientTrack> &
tracks)
const {
53 std::vector<GhostTrackState> states;
54 for (std::vector<TransientTrack>::const_iterator iter =
tracks.begin(); iter !=
tracks.end(); ++iter) {
57 states.push_back(
state);
61 return fit(actualFitter,
prior, states);
65 std::vector<GhostTrackState> states;
66 for (std::vector<TransientTrack>::const_iterator iter =
tracks.begin(); iter !=
tracks.end(); ++iter) {
69 states.push_back(
state);
77 const std::vector<GhostTrackState> &states_)
const {
78 std::vector<GhostTrackState> states = states_;
virtual GhostTrackPrediction fit(const PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states, double &ndof, double &chi2)=0
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
auto const & tracks
cannot be loose
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