CMS 3D CMS Logo

DeterministicAnnealing.h
Go to the documentation of this file.
1 #ifndef DeterministicAnnealing_H
2 #define DeterministicAnnealing_H
3 
5 #include <vector>
6 
8 public:
16  DeterministicAnnealing(float cutoff = 3.0);
17  DeterministicAnnealing(const std::vector<float>& sched, float cutoff = 3.0);
18 
19  void anneal() override; //< One annealing step. theT *= theRatio.
20  void resetAnnealing() override; //< theT = theT0.
21 
25  double phi(double chi2) const override;
26 
30  double weight(double chi2) const override;
31 
35  bool isAnnealed() const override;
36 
37  void debug() const override;
38 
42  // double weight ( double chi2, const vector < double > & chi2s ) const;
43 
44  double cutoff() const override;
45  double currentTemp() const override;
46  double initialTemp() const override;
47 
48  DeterministicAnnealing* clone() const override { return new DeterministicAnnealing(*this); };
49 
50 private:
51  std::vector<float> theTemperatures;
52  unsigned int theIndex;
53  double theChi2cut;
55 };
56 
57 #endif
DeterministicAnnealing::cutoff
double cutoff() const override
Definition: DeterministicAnnealing.cc:48
DeterministicAnnealing::clone
DeterministicAnnealing * clone() const override
Definition: DeterministicAnnealing.h:48
DeterministicAnnealing::weight
double weight(double chi2) const override
Definition: DeterministicAnnealing.cc:24
DeterministicAnnealing::theIsAnnealed
bool theIsAnnealed
Definition: DeterministicAnnealing.h:54
DeterministicAnnealing::anneal
void anneal() override
Definition: DeterministicAnnealing.cc:16
DeterministicAnnealing
Definition: DeterministicAnnealing.h:7
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
DeterministicAnnealing::DeterministicAnnealing
DeterministicAnnealing(float cutoff=3.0)
Definition: DeterministicAnnealing.cc:10
DeterministicAnnealing::isAnnealed
bool isAnnealed() const override
Definition: DeterministicAnnealing.cc:54
DeterministicAnnealing::theTemperatures
std::vector< float > theTemperatures
Definition: DeterministicAnnealing.h:48
DeterministicAnnealing::initialTemp
double initialTemp() const override
Definition: DeterministicAnnealing.cc:52
AnnealingSchedule.h
DeterministicAnnealing::debug
void debug() const override
Definition: DeterministicAnnealing.cc:56
AnnealingSchedule
Definition: AnnealingSchedule.h:6
DeterministicAnnealing::theIndex
unsigned int theIndex
Definition: DeterministicAnnealing.h:52
DeterministicAnnealing::currentTemp
double currentTemp() const override
Definition: DeterministicAnnealing.cc:50
DeterministicAnnealing::phi
double phi(double chi2) const override
Definition: DeterministicAnnealing.cc:46
DeterministicAnnealing::theChi2cut
double theChi2cut
Definition: DeterministicAnnealing.h:53
DeterministicAnnealing::resetAnnealing
void resetAnnealing() override
Definition: DeterministicAnnealing.cc:41