10 string type =
m.getParameter<
string>(
"annealing");
12 if (
type ==
"below") {
13 edm::LogError(
"ConfigurableAnnealing") <<
"below one annealing employed!";
15 double final =
m.getParameter<
double>(
"Tfinal");
16 sched.push_back(256.);
21 sched.push_back(
final);
23 }
else if (
type ==
"geom") {
25 m.getParameter<
double>(
"sigmacut"),
m.getParameter<
double>(
"Tini"),
m.getParameter<
double>(
"ratio"));
27 edm::LogError(
"ConfigurableAnnealing") <<
"annealing type " <<
type <<
" is not known.";
virtual bool isAnnealed() const =0
double initialTemp() const override
double weight(double chi2) const override
virtual double initialTemp() const =0
Log< level::Error, false > LogError
bool isAnnealed() const override
double phi(double chi2) const override
virtual double phi(double chi2) const =0
double currentTemp() const override
~ConfigurableAnnealing() override
virtual void debug() const =0
double cutoff() const override
virtual double currentTemp() const =0
void debug() const override
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
ConfigurableAnnealing(const edm::ParameterSet &)
AnnealingSchedule * theImpl
ConfigurableAnnealing * clone() const override
virtual void resetAnnealing()=0
virtual double cutoff() const =0
virtual double weight(double chi2) const =0
void resetAnnealing() override