CMS 3D CMS Logo

AnnealingGhostTrackFitter.h
Go to the documentation of this file.
1 #ifndef RecoBTag_AnnealingGhostTrackFitter_h
2 #define RecoBTag_AnnealingGhostTrackFitter_h
3 
4 #include <vector>
5 #include <memory>
6 
8 
11 
12 namespace reco {
13 
14  class GhostTrackPrediction;
15  class GhostTrackState;
16 
18  public:
21  : annealing(orig.annealing->clone()), firstStep(orig.firstStep) {}
23 
24  private:
25  FitterImpl *clone() const override { return new AnnealingGhostTrackFitter(*this); }
26 
27  bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const override {
28  return SequentialGhostTrackFitter::stable(before, after) && annealing->isAnnealed();
29  }
30 
31  void reset() override {
32  annealing->resetAnnealing();
33  firstStep = true;
34  }
35  void postFit(const GhostTrackFitter::PredictionUpdater &updater,
36  const GhostTrackPrediction &pred,
37  std::vector<GhostTrackState> &states) override;
38 
39  std::unique_ptr<AnnealingSchedule> annealing;
40  bool firstStep;
41  };
42 
43 } // namespace reco
44 
45 #endif // RecoBTag_AnnealingGhostTrackFitter_h
std::unique_ptr< AnnealingSchedule > annealing
bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const override
AnnealingGhostTrackFitter(const AnnealingGhostTrackFitter &orig)
virtual bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const
void postFit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states) override
FitterImpl * clone() const override
fixed size matrix