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

MinimizerContainerItem: add ordered list

parent 87b1a19e
No related branches found
No related tags found
1 merge request!1004Fit: catalogize algorithms, not minimizers
...@@ -33,21 +33,38 @@ const QMap<QString, QString> minimizer_names_map = { ...@@ -33,21 +33,38 @@ const QMap<QString, QString> minimizer_names_map = {
const QString default_minimizer = minimizer_names_map.key(MinuitMinimizerItem::M_TYPE); const QString default_minimizer = minimizer_names_map.key(MinuitMinimizerItem::M_TYPE);
QMap<QString/*algorithm*/, QString/*minimizer*/> algorithm_minimizer_map; QMap<QString/*algorithm*/, QString/*minimizer*/> algorithm_minimizer_map;
QStringList common_algorithms_list;
void create_algorithm_minimizer_map() void create_algorithm_minimizer_map()
{ {
QStringList minuit2Algorithms = MinimizerItemCatalog::algorithmNames(MinuitMinimizerItem::M_TYPE); QString name = "_wrong_name_";
for(QString algorithm : minuit2Algorithms)
algorithm_minimizer_map.insert(algorithm + " (ROOT Minuit2)", GSLMultiMinimizerItem::M_TYPE); 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);
}
QStringList multiMinAlgorithms = MinimizerItemCatalog::algorithmNames(GSLMultiMinimizerItem::M_TYPE); QStringList multiMinAlgorithms = MinimizerItemCatalog::algorithmNames(GSLMultiMinimizerItem::M_TYPE);
for(QString algorithm : multiMinAlgorithms) for(QString algorithm : multiMinAlgorithms) {
algorithm_minimizer_map.insert(algorithm + " (GSL)", GSLMultiMinimizerItem::M_TYPE); name = algorithm + " (GSL)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, GSLMultiMinimizerItem::M_TYPE);
}
name = "Genetic (ROOT TMVA)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, GeneticMinimizerItem::M_TYPE);
name = "Simulated Annealing (GSL)";
common_algorithms_list.append(name);
algorithm_minimizer_map.insert(name, SimAnMinimizerItem::M_TYPE);
algorithm_minimizer_map.insert("Genetic (ROOT TMVA)", GeneticMinimizerItem::M_TYPE); name = "Levenberg-Marquardt (GSL)";
algorithm_minimizer_map.insert("Simulated Annealing (GSL)", SimAnMinimizerItem::M_TYPE); common_algorithms_list.append(name);
algorithm_minimizer_map.insert("Levenberg-Marquardt (GSL)", GSLLMAMinimizerItem::M_TYPE); algorithm_minimizer_map.insert(name, GSLLMAMinimizerItem::M_TYPE);
} }
const QString default_common_algorithm = MinimizerItemCatalog::algorithmNames(MinuitMinimizerItem::M_TYPE).first(); const QString default_common_algorithm = common_algorithms_list.first();
} // namespace } // namespace
...@@ -69,9 +86,14 @@ MinimizerContainerItem::MinimizerContainerItem() ...@@ -69,9 +86,14 @@ MinimizerContainerItem::MinimizerContainerItem()
addProperty<GSLLMAMinimizerItem>(GSLLMAMinimizerItem::M_TYPE); addProperty<GSLLMAMinimizerItem>(GSLLMAMinimizerItem::M_TYPE);
#ifdef ALGORITHM_LIST #ifdef ALGORITHM_LIST
qInfo() << algorithm_minimizer_map.keys();
qInfo() << algorithm_minimizer_map.values();
qInfo() << "----\n init \n ---";
create_algorithm_minimizer_map(); create_algorithm_minimizer_map();
qInfo() << algorithm_minimizer_map.keys();
qInfo() << algorithm_minimizer_map.values();
ComboProperty common_algorithm_combo = ComboProperty common_algorithm_combo =
ComboProperty::fromList(algorithm_minimizer_map.keys(), default_common_algorithm); ComboProperty::fromList(common_algorithms_list, default_common_algorithm);
addProperty(P_COMMON_ALGORITHMS, common_algorithm_combo.variant()); addProperty(P_COMMON_ALGORITHMS, common_algorithm_combo.variant());
#endif #endif
......
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