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()),
22  firstStep(orig.firstStep) {}
24 
25  private:
26  FitterImpl *clone() const override
27  { return new AnnealingGhostTrackFitter(*this); }
28 
29  bool stable(const GhostTrackPrediction &before,
30  const GhostTrackPrediction &after) const override
31  {
32  return SequentialGhostTrackFitter::stable(before, after) &&
33  annealing->isAnnealed();
34  }
35 
36  void reset() override { annealing->resetAnnealing(); firstStep = true; }
37  void postFit(
39  const GhostTrackPrediction &pred,
40  std::vector<GhostTrackState> &states) override;
41 
42  std::unique_ptr<AnnealingSchedule> annealing;
43  bool firstStep;
44 };
45 
46 }
47 
48 #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