Skip to content
Snippets Groups Projects
Commit 1227039a authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

MinimizerContainerItem: fix

parent 6451a04e
No related branches found
No related tags found
1 merge request!1004Fit: catalogize algorithms, not minimizers
......@@ -32,39 +32,42 @@ const QMap<QString, QString> minimizer_names_map = {
{"GSL Levenberg-Marquardt", GSLLMAMinimizerItem::M_TYPE}};
const QString default_minimizer = minimizer_names_map.key(MinuitMinimizerItem::M_TYPE);
#ifdef ALGORITHM_LIST
QMap<QString/*algorithm*/, QString/*minimizer*/> algorithm_minimizer_map;
QStringList common_algorithms_list;
void create_algorithm_minimizer_map()
QStringList create_algorithm_minimizer_map()
{
QString name = "_wrong_name_";
QStringList common_algorithms_list;
QStringList minuit2Algorithms = MinimizerItemCatalog::algorithmNames(MinuitMinimizerItem::M_TYPE);
for(QString algorithm : minuit2Algorithms) {
name = algorithm + " (ROOT Minuit2)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, MinuitMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert(name, minimizer_names_map.key(MinuitMinimizerItem::M_TYPE));
}
QStringList multiMinAlgorithms = MinimizerItemCatalog::algorithmNames(GSLMultiMinimizerItem::M_TYPE);
for(QString algorithm : multiMinAlgorithms) {
name = algorithm + " (GSL)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, GSLMultiMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert(name, minimizer_names_map.key(GSLMultiMinimizerItem::M_TYPE));
}
name = "Genetic (ROOT TMVA)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, GeneticMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert(name, minimizer_names_map.key(GeneticMinimizerItem::M_TYPE));
name = "Simulated Annealing (GSL)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, SimAnMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert(name, minimizer_names_map.key(SimAnMinimizerItem::M_TYPE));
name = "Levenberg-Marquardt (GSL)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, GSLLMAMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert(name, minimizer_names_map.key(GSLLMAMinimizerItem::M_TYPE));
return common_algorithms_list;
}
const QString default_common_algorithm = common_algorithms_list.first();
#endif
} // namespace
......@@ -86,12 +89,8 @@ MinimizerContainerItem::MinimizerContainerItem()
addProperty<GSLLMAMinimizerItem>(GSLLMAMinimizerItem::M_TYPE);
#ifdef ALGORITHM_LIST
qInfo() << algorithm_minimizer_map.keys();
qInfo() << algorithm_minimizer_map.values();
qInfo() << "----\n init \n ---";
create_algorithm_minimizer_map();
qInfo() << algorithm_minimizer_map.keys();
qInfo() << algorithm_minimizer_map.values();
const QStringList common_algorithms_list = create_algorithm_minimizer_map();
const QString default_common_algorithm = common_algorithms_list.first();
ComboProperty common_algorithm_combo =
ComboProperty::fromList(common_algorithms_list, default_common_algorithm);
addProperty(P_COMMON_ALGORITHMS, common_algorithm_combo.variant());
......@@ -169,6 +168,9 @@ void MinimizerContainerItem::setCurrentCommonAlgorithm(const QString &name)
combo.setCurrentValue(name);
setItemValue(P_COMMON_ALGORITHMS, combo.variant());
qInfo() << "setCurrentCommonAlgorithm" << name;
qInfo() << "minimizer changed to" << algorithm_minimizer_map.value(name);
qInfo() << algorithm_minimizer_map.values();
setCurrentMinimizer(algorithm_minimizer_map.value(name));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment