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
reco::GhostTrackFitter::PredictionUpdater
Definition: GhostTrackFitter.h:42
GhostTrackFitter.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::AnnealingGhostTrackFitter::AnnealingGhostTrackFitter
AnnealingGhostTrackFitter()
Definition: AnnealingGhostTrackFitter.cc:12
reco::AnnealingGhostTrackFitter::annealing
std::unique_ptr< AnnealingSchedule > annealing
Definition: AnnealingGhostTrackFitter.h:39
AnnealingSchedule.h
reco::AnnealingGhostTrackFitter::firstStep
bool firstStep
Definition: AnnealingGhostTrackFitter.h:40
reco::AnnealingGhostTrackFitter::AnnealingGhostTrackFitter
AnnealingGhostTrackFitter(const AnnealingGhostTrackFitter &orig)
Definition: AnnealingGhostTrackFitter.h:20
SequentialGhostTrackFitter.h
reco::AnnealingGhostTrackFitter::clone
FitterImpl * clone() const override
Definition: AnnealingGhostTrackFitter.h:25
reco::AnnealingGhostTrackFitter::~AnnealingGhostTrackFitter
~AnnealingGhostTrackFitter() override
Definition: AnnealingGhostTrackFitter.h:22
reco::AnnealingGhostTrackFitter
Definition: AnnealingGhostTrackFitter.h:17
reco::SequentialGhostTrackFitter
Definition: SequentialGhostTrackFitter.h:13
reco::AnnealingGhostTrackFitter::postFit
void postFit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states) override
Definition: AnnealingGhostTrackFitter.cc:16
reco::SequentialGhostTrackFitter::stable
virtual bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const
Definition: SequentialGhostTrackFitter.cc:17
reco::AnnealingGhostTrackFitter::stable
bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const override
Definition: AnnealingGhostTrackFitter.h:27
reco::AnnealingGhostTrackFitter::reset
void reset() override
Definition: AnnealingGhostTrackFitter.h:31
reco::GhostTrackPrediction
Definition: GhostTrackPrediction.h:21