File indexing completed on 2024-04-06 12:29:06
0001 #ifndef ConfigurableAnnealing_H
0002 #define ConfigurableAnnealing_H
0003
0004 #include "RecoVertex/VertexTools/interface/AnnealingSchedule.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include <vector>
0007
0008 class ConfigurableAnnealing : public AnnealingSchedule {
0009
0010
0011
0012
0013
0014 public:
0015 ConfigurableAnnealing(const edm::ParameterSet&);
0016 ~ConfigurableAnnealing() override;
0017 ConfigurableAnnealing(const ConfigurableAnnealing&);
0018 void anneal() override;
0019 void resetAnnealing() override;
0020 double phi(double chi2) const override;
0021 double weight(double chi2) const override;
0022 double cutoff() const override;
0023 double currentTemp() const override;
0024 double initialTemp() const override;
0025 bool isAnnealed() const override;
0026 void debug() const override;
0027
0028 ConfigurableAnnealing* clone() const override;
0029
0030 private:
0031 AnnealingSchedule* theImpl;
0032 };
0033
0034 #endif