Belle II Software  release-05-01-25
TrackFitterAndDeleter.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #include <tracking/ckf/general/findlets/TrackFitterAndDeleter.h>
11 #include <tracking/trackFindingCDC/utilities/Algorithms.h>
12 #include <tracking/trackFitting/fitter/base/TrackFitter.h>
13 #include <tracking/dataobjects/RecoTrack.h>
14 
15 using namespace Belle2;
16 
17 void TrackFitterAndDeleter::apply(std::vector<RecoTrack*>& recoTracks)
18 {
19  TrackFitter trackFitter;
20  for (RecoTrack* recoTrack : recoTracks) {
21  trackFitter.fit(*recoTrack);
22  }
23 
24  // Remove all non-fitted tracks
25  const auto trackWasNotFitted = [](RecoTrack * recoTrack) {
26  return not recoTrack->wasFitSuccessful();
27  };
28  TrackFindingCDC::erase_remove_if(recoTracks, trackWasNotFitted);
29 }
Belle2::TrackFitter::fit
bool fit(RecoTrack &recoTrack, genfit::AbsTrackRep *trackRepresentation) const
Fit a reco track with a given non-default track representation.
Definition: TrackFitter.cc:109
Belle2::TrackFitter
Algorithm class to handle the fitting of RecoTrack objects.
Definition: TrackFitter.h:116
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFitterAndDeleter::apply
void apply(std::vector< RecoTrack * > &recoTracks) override
Fit the tracks and remove unfittable ones.
Definition: TrackFitterAndDeleter.cc:17