From c43a3a6dd4d78d4973c857bda5e80bf5b5efb0a9 Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Wed, 29 Apr 2020 17:16:37 +0200 Subject: [PATCH] Beautify Fit library --- Fit/Kernel/FitOptions.cpp | 3 +- Fit/Kernel/IFunctionAdapter.cpp | 3 +- Fit/Kernel/Kernel.cpp | 2 +- Fit/Kernel/KernelTypes.h | 9 +++-- Fit/Kernel/Minimizer.cpp | 3 +- Fit/Kernel/Parameter.cpp | 5 +-- Fit/Kernel/Parameters.cpp | 37 ++++++++++--------- Fit/Kernel/PyCallback.cpp | 3 +- Fit/Minimizer/IMinimizer.h | 2 +- Fit/Minimizer/MinimizerConstants.h | 2 +- Fit/Minimizer/MinimizerFactory.cpp | 10 ++++- Fit/Minimizer/MinimizerInfo.cpp | 5 ++- Fit/Minimizer/TestMinimizer.cpp | 4 +- Fit/Minimizer/TestMinimizer.h | 4 +- .../GSLLevenbergMarquardtMinimizer.cpp | 4 +- .../GSLLevenbergMarquardtMinimizer.h | 8 +++- Fit/RootAdapter/GSLMultiMinimizer.cpp | 15 ++++---- Fit/RootAdapter/GSLMultiMinimizer.h | 8 +++- Fit/RootAdapter/GeneticMinimizer.cpp | 2 +- Fit/RootAdapter/GeneticMinimizer.h | 8 +++- Fit/RootAdapter/MinimizerResultUtils.cpp | 5 ++- Fit/RootAdapter/MinimizerResultUtils.h | 7 +++- Fit/RootAdapter/Minuit2Minimizer.h | 8 +++- Fit/RootAdapter/ResidualFunctionAdapter.cpp | 18 ++++----- Fit/RootAdapter/RootMinimizerAdapter.cpp | 9 +++-- Fit/RootAdapter/RootMinimizerAdapter.h | 18 +++++++-- Fit/RootAdapter/RootResidualFunction.h | 4 +- Fit/RootAdapter/RootScalarFunction.cpp | 4 +- Fit/RootAdapter/RootScalarFunction.h | 2 +- Fit/RootAdapter/SimAnMinimizer.h | 8 +++- Fit/Tools/AttLimits.cpp | 17 ++++++--- Fit/Tools/Attributes.h | 17 +++++---- Fit/Tools/MultiOption.cpp | 3 +- Fit/Tools/TimeInterval.cpp | 8 ++-- 34 files changed, 163 insertions(+), 102 deletions(-) diff --git a/Fit/Kernel/FitOptions.cpp b/Fit/Kernel/FitOptions.cpp index a88754dc74b..0a920876bb5 100644 --- a/Fit/Kernel/FitOptions.cpp +++ b/Fit/Kernel/FitOptions.cpp @@ -14,8 +14,7 @@ #include "FitOptions.h" -FitOptions::FitOptions() - : m_deriv_epsilon(1e-09), m_step_factor(0.01) {} +FitOptions::FitOptions() : m_deriv_epsilon(1e-09), m_step_factor(0.01) {} void FitOptions::setStepFactor(double step_factor) { diff --git a/Fit/Kernel/IFunctionAdapter.cpp b/Fit/Kernel/IFunctionAdapter.cpp index ebfd4a7f8e8..2a108cb520d 100644 --- a/Fit/Kernel/IFunctionAdapter.cpp +++ b/Fit/Kernel/IFunctionAdapter.cpp @@ -16,8 +16,7 @@ using namespace Fit; -IFunctionAdapter::IFunctionAdapter() - : m_number_of_calls(0), m_number_of_gradient_calls(0) {} +IFunctionAdapter::IFunctionAdapter() : m_number_of_calls(0), m_number_of_gradient_calls(0) {} IFunctionAdapter::~IFunctionAdapter() = default; diff --git a/Fit/Kernel/Kernel.cpp b/Fit/Kernel/Kernel.cpp index 032485c5576..bf1ed98a8f4 100644 --- a/Fit/Kernel/Kernel.cpp +++ b/Fit/Kernel/Kernel.cpp @@ -22,7 +22,7 @@ namespace { const std::string default_minimizer = "Minuit2"; const std::string default_algorithm = "Migrad"; -} +} // namespace Kernel::Kernel() { diff --git a/Fit/Kernel/KernelTypes.h b/Fit/Kernel/KernelTypes.h index a2cd0650119..1374535f8a2 100644 --- a/Fit/Kernel/KernelTypes.h +++ b/Fit/Kernel/KernelTypes.h @@ -20,12 +20,15 @@ //! Objective function types. -namespace Fit { class Parameters; } +namespace Fit +{ +class Parameters; +} using scalar_function_t = std::function<double(const std::vector<double>&)>; -using gradient_function_t - = std::function<double(const std::vector<double>&, unsigned int, std::vector<double>&)>; +using gradient_function_t = + std::function<double(const std::vector<double>&, unsigned int, std::vector<double>&)>; using root_scalar_t = std::function<double(const double*)>; diff --git a/Fit/Kernel/Minimizer.cpp b/Fit/Kernel/Minimizer.cpp index 980094e8bf3..4cfd7803083 100644 --- a/Fit/Kernel/Minimizer.cpp +++ b/Fit/Kernel/Minimizer.cpp @@ -18,8 +18,7 @@ using namespace Fit; -Minimizer::Minimizer() - : m_kernel(new Kernel) {} +Minimizer::Minimizer() : m_kernel(new Kernel) {} void Minimizer::setMinimizer(const std::string& minimizerName, const std::string& algorithmName, const std::string& options) diff --git a/Fit/Kernel/Parameter.cpp b/Fit/Kernel/Parameter.cpp index 66d406afc3b..21ce290220a 100644 --- a/Fit/Kernel/Parameter.cpp +++ b/Fit/Kernel/Parameter.cpp @@ -24,12 +24,11 @@ double step_for_value(double value) { return value == 0.0 ? default_step : std::abs(value) * step_factor; } -} +} // namespace using namespace Fit; -Parameter::Parameter() - : m_start_value(0.0), m_value(0.0), m_step(0.0), m_error(0.0) {} +Parameter::Parameter() : m_start_value(0.0), m_value(0.0), m_step(0.0), m_error(0.0) {} Parameter::Parameter(const std::string& name, double value, const AttLimits& limits, double step) : m_name(name), m_start_value(value), m_value(value), m_step(step), m_error(0.0), diff --git a/Fit/Kernel/Parameters.cpp b/Fit/Kernel/Parameters.cpp index cad67c2b277..3af36939b3e 100644 --- a/Fit/Kernel/Parameters.cpp +++ b/Fit/Kernel/Parameters.cpp @@ -13,9 +13,9 @@ // ************************************************************************** // #include "Parameters.h" -#include <stdexcept> -#include <sstream> #include <cmath> +#include <sstream> +#include <stdexcept> using namespace Fit; @@ -23,7 +23,7 @@ void Parameters::add(const Parameter& par) { if (exists(par.name())) throw std::runtime_error("Parameters::add() -> Error. Parameter with the name '" - +par.name()+"' already exists."); + + par.name() + "' already exists."); m_parameters.push_back(par); } @@ -56,7 +56,7 @@ size_t Parameters::size() const std::vector<double> Parameters::values() const { std::vector<double> result; - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) result.push_back(par.value()); return result; } @@ -66,13 +66,14 @@ void Parameters::setValues(const std::vector<double>& values) check_array_size(values); size_t index = 0; - for (auto& par: m_parameters) { + for (auto& par : m_parameters) { if (std::isnan(values[index])) throw std::runtime_error("Parameters::setValues() -> Error." - " Attempt to set nan '"+par.name() + std::string("'.")); + " Attempt to set nan '" + + par.name() + std::string("'.")); if (std::isinf(values[index])) - throw std::runtime_error("Parameters::setValues() -> Error. Attempt to set inf '"+ - par.name() + std::string("'.")); + throw std::runtime_error("Parameters::setValues() -> Error. Attempt to set inf '" + + par.name() + std::string("'.")); par.setValue(values[index]); ++index; } @@ -81,7 +82,7 @@ void Parameters::setValues(const std::vector<double>& values) std::vector<double> Parameters::errors() const { std::vector<double> result; - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) result.push_back(par.error()); return result; } @@ -90,20 +91,20 @@ void Parameters::setErrors(const std::vector<double>& errors) { check_array_size(errors); size_t index = 0; - for (auto& par: m_parameters) + for (auto& par : m_parameters) par.setError(errors[index++]); } const Parameter& Parameters::operator[](const std::string& name) const { - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) if (par.name() == name) return par; std::ostringstream ostr; ostr << "Parameters::operator[] -> Error. No parameter with name '" << name << "'. "; ostr << "Existing names:\n"; - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) ostr << par.name() << "\n"; throw std::runtime_error(ostr.str()); } @@ -120,7 +121,7 @@ Parameters::corr_matrix_t Parameters::correlationMatrix() const void Parameters::setCorrelationMatrix(const Parameters::corr_matrix_t& matrix) { - if(matrix.size() != size()) + if (matrix.size() != size()) throw std::runtime_error("Parameters::setCorrelationMatrix() -> Error. Wrong " "dimension of correlation matrix."); m_corr_matrix = matrix; @@ -131,7 +132,7 @@ void Parameters::setCorrelationMatrix(const Parameters::corr_matrix_t& matrix) size_t Parameters::freeParameterCount() const { size_t result(0); - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) if (!par.limits().isFixed()) result++; return result; @@ -139,7 +140,7 @@ size_t Parameters::freeParameterCount() const bool Parameters::exists(const std::string& name) const { - for (const auto& par: m_parameters) + for (const auto& par : m_parameters) if (par.name() == name) return true; return false; @@ -149,9 +150,9 @@ void Parameters::check_array_size(const std::vector<double>& values) const { if (values.size() != m_parameters.size()) { std::ostringstream ostr; - ostr << "Parameters::check_array_size() -> Error. Size of input array " - << values.size() << " doesn't mach number of fit parameters " - << m_parameters.size() << "." << std::endl; + ostr << "Parameters::check_array_size() -> Error. Size of input array " << values.size() + << " doesn't mach number of fit parameters " << m_parameters.size() << "." + << std::endl; throw std::runtime_error(ostr.str()); } } diff --git a/Fit/Kernel/PyCallback.cpp b/Fit/Kernel/PyCallback.cpp index e4bf742902c..bb511ac5b64 100644 --- a/Fit/Kernel/PyCallback.cpp +++ b/Fit/Kernel/PyCallback.cpp @@ -14,8 +14,7 @@ #include "PyCallback.h" -PyCallback::PyCallback(PyCallback::CallbackType callback_type) - : m_callback_type(callback_type) {} +PyCallback::PyCallback(PyCallback::CallbackType callback_type) : m_callback_type(callback_type) {} PyCallback::CallbackType PyCallback::callback_type() const { diff --git a/Fit/Minimizer/IMinimizer.h b/Fit/Minimizer/IMinimizer.h index b77642898ec..6f3af83806c 100644 --- a/Fit/Minimizer/IMinimizer.h +++ b/Fit/Minimizer/IMinimizer.h @@ -59,7 +59,7 @@ public: #ifndef SWIG //! Returns true if minimizer computations are residual-based, false otherwise virtual bool requiresResiduals() { return false; } -#endif //SWIG +#endif // SWIG }; #endif // IMINIMIZER_H diff --git a/Fit/Minimizer/MinimizerConstants.h b/Fit/Minimizer/MinimizerConstants.h index 290c6166531..f12230156cf 100644 --- a/Fit/Minimizer/MinimizerConstants.h +++ b/Fit/Minimizer/MinimizerConstants.h @@ -72,6 +72,6 @@ const std::string BoltzmannInitT = "t_init"; const std::string BoltzmannMu = "mu"; const std::string BoltzmannTmin = "t_min"; -} // namespace OptionsNames +} // namespace OptionNames #endif // MINIMIZERCONSTANTS_H diff --git a/Fit/Minimizer/MinimizerFactory.cpp b/Fit/Minimizer/MinimizerFactory.cpp index 0a2f64f71fc..e59faf7aba1 100644 --- a/Fit/Minimizer/MinimizerFactory.cpp +++ b/Fit/Minimizer/MinimizerFactory.cpp @@ -73,12 +73,18 @@ IMinimizer* MinimizerFactory::createMinimizer(const std::string& minimizerName, return result; } -void MinimizerFactory::printCatalogue() { std::cout << catalogueToString() << std::endl; } +void MinimizerFactory::printCatalogue() +{ + std::cout << catalogueToString() << std::endl; +} //! Returns multi-line string representing catalogue content: minimizer names and list of their //! algorithms. -std::string MinimizerFactory::catalogueToString() { return catalogue().toString(); } +std::string MinimizerFactory::catalogueToString() +{ + return catalogue().toString(); +} //! Returns multi-line string representing detailed catalogue content: //! minimizer names, list of their algorithms and description, list of minimizer options. diff --git a/Fit/Minimizer/MinimizerInfo.cpp b/Fit/Minimizer/MinimizerInfo.cpp index cba06cfcf9d..33d1ca726cc 100644 --- a/Fit/Minimizer/MinimizerInfo.cpp +++ b/Fit/Minimizer/MinimizerInfo.cpp @@ -62,7 +62,10 @@ void MinimizerInfo::setAlgorithmName(const std::string& algorithmName) throw std::runtime_error(msg.str()); } -std::string MinimizerInfo::algorithmName() const { return m_current_algorithm; } +std::string MinimizerInfo::algorithmName() const +{ + return m_current_algorithm; +} //! Return list of defined algorithm names. diff --git a/Fit/Minimizer/TestMinimizer.cpp b/Fit/Minimizer/TestMinimizer.cpp index c34a8d9ee5f..5b26d7c93fc 100644 --- a/Fit/Minimizer/TestMinimizer.cpp +++ b/Fit/Minimizer/TestMinimizer.cpp @@ -38,8 +38,8 @@ MinimizerResult TestMinimizer::minimize_scalar(fcn_scalar_t fcn, Fit::Parameters result.setMinValue(min_value); std::ostringstream report; - report << "TestMinimizer::printOutcome() -> Done. Objective function value = " - << min_value << std::endl; + report << "TestMinimizer::printOutcome() -> Done. Objective function value = " << min_value + << std::endl; result.setReport(report.str()); result.setNumberOfCalls(1); diff --git a/Fit/Minimizer/TestMinimizer.h b/Fit/Minimizer/TestMinimizer.h index dc32d106c81..3835610511c 100644 --- a/Fit/Minimizer/TestMinimizer.h +++ b/Fit/Minimizer/TestMinimizer.h @@ -21,7 +21,7 @@ class BA_CORE_API_ TestMinimizer : public IMinimizer { - public: +public: TestMinimizer(); ~TestMinimizer() override; @@ -30,7 +30,7 @@ class BA_CORE_API_ TestMinimizer : public IMinimizer Fit::MinimizerResult minimize_scalar(fcn_scalar_t fcn, Fit::Parameters parameters) override; - private: +private: std::vector<double> m_parameter_values; scalar_function_t m_fcn; }; diff --git a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.cpp b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.cpp index d162e8967e9..cd47bd3f498 100644 --- a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.cpp +++ b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.cpp @@ -13,10 +13,10 @@ // ************************************************************************** // #include "GSLLevenbergMarquardtMinimizer.h" +#include "AttLimits.h" #include "GSLMultiMinimizer.h" #include "MinimizerUtils.h" #include "StringUtils.h" -#include "AttLimits.h" #include <stdexcept> #ifdef _WIN32 @@ -115,7 +115,7 @@ const RootMinimizerAdapter::root_minimizer_t* GSLLevenbergMarquardtMinimizer::ro void GSLLevenbergMarquardtMinimizer::setParameter(unsigned int index, const Fit::Parameter& par) { auto limits = par.limits(); - if (!limits.isLimitless() && !limits.isFixed() ) + if (!limits.isLimitless() && !limits.isFixed()) throw std::runtime_error("GSLLMA minimizer can't handle limited parameters." "Please make them free"); RootMinimizerAdapter::setParameter(index, par); diff --git a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h index 2d0c3d9bea3..b7d496cd4b8 100644 --- a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h +++ b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h @@ -17,7 +17,13 @@ #include "RootMinimizerAdapter.h" -namespace ROOT { namespace Math { class GSLNLSMinimizer; } } +namespace ROOT +{ +namespace Math +{ +class GSLNLSMinimizer; +} +} // namespace ROOT //! It's a facade to ROOT::Math::GSLNLSMinimizer which, in turn, is a facade to the //! actual GSL's gsl_multifit_fdfsolver_type diff --git a/Fit/RootAdapter/GSLMultiMinimizer.cpp b/Fit/RootAdapter/GSLMultiMinimizer.cpp index 92de5b2826c..59c923bb5c8 100644 --- a/Fit/RootAdapter/GSLMultiMinimizer.cpp +++ b/Fit/RootAdapter/GSLMultiMinimizer.cpp @@ -17,10 +17,10 @@ #include <string> #ifdef _WIN32 -#pragma warning ( push ) -#pragma warning ( disable: 4267 ) +#pragma warning(push) +#pragma warning(disable : 4267) #include "Math/GSLMinimizer.h" -#pragma warning ( pop ) +#pragma warning(pop) #else #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" @@ -28,10 +28,9 @@ #pragma GCC diagnostic pop #endif - -GSLMultiMinimizer::GSLMultiMinimizer(const std::string &algorithmName) - : RootMinimizerAdapter(MinimizerInfo::buildGSLMultiMinInfo(algorithmName)) - , m_gsl_minimizer(new ROOT::Math::GSLMinimizer(algorithmName.c_str())) +GSLMultiMinimizer::GSLMultiMinimizer(const std::string& algorithmName) + : RootMinimizerAdapter(MinimizerInfo::buildGSLMultiMinInfo(algorithmName)), + m_gsl_minimizer(new ROOT::Math::GSLMinimizer(algorithmName.c_str())) { addOption(OptionNames::PrintLevel, 0, "Minimizer internal print level"); addOption(OptionNames::MaxIterations, 0, "Maximum number of iterations"); @@ -70,7 +69,7 @@ void GSLMultiMinimizer::propagateOptions() m_gsl_minimizer->SetMaxIterations(static_cast<unsigned int>(maxIterations())); } -const RootMinimizerAdapter::root_minimizer_t *GSLMultiMinimizer::rootMinimizer() const +const RootMinimizerAdapter::root_minimizer_t* GSLMultiMinimizer::rootMinimizer() const { return m_gsl_minimizer.get(); } diff --git a/Fit/RootAdapter/GSLMultiMinimizer.h b/Fit/RootAdapter/GSLMultiMinimizer.h index 939b76e6fa4..a49b2d66b25 100644 --- a/Fit/RootAdapter/GSLMultiMinimizer.h +++ b/Fit/RootAdapter/GSLMultiMinimizer.h @@ -18,7 +18,13 @@ #include "MinimizerConstants.h" #include "RootMinimizerAdapter.h" -namespace ROOT { namespace Math { class GSLMinimizer; } } +namespace ROOT +{ +namespace Math +{ +class GSLMinimizer; +} +} // namespace ROOT //! Wrapper for the CERN ROOT facade of the GSL multi minimizer family (gradient descent based). //! @ingroup fitting_internal diff --git a/Fit/RootAdapter/GeneticMinimizer.cpp b/Fit/RootAdapter/GeneticMinimizer.cpp index b7160f52a72..95a7961b702 100644 --- a/Fit/RootAdapter/GeneticMinimizer.cpp +++ b/Fit/RootAdapter/GeneticMinimizer.cpp @@ -27,7 +27,7 @@ std::map<int, std::string> statusDescription() result[1] = std::string("Maximum number of iterations reached"); return result; } -} +} // namespace GeneticMinimizer::GeneticMinimizer() : RootMinimizerAdapter(MinimizerInfo::buildGeneticInfo()), diff --git a/Fit/RootAdapter/GeneticMinimizer.h b/Fit/RootAdapter/GeneticMinimizer.h index 12f2ad532ed..4fd1790816f 100644 --- a/Fit/RootAdapter/GeneticMinimizer.h +++ b/Fit/RootAdapter/GeneticMinimizer.h @@ -17,7 +17,13 @@ #include "RootMinimizerAdapter.h" -namespace ROOT { namespace Math { class GeneticMinimizer; } } +namespace ROOT +{ +namespace Math +{ +class GeneticMinimizer; +} +} // namespace ROOT //! Wrapper for the CERN ROOT Genetic minimizer. //! @ingroup fitting_internal diff --git a/Fit/RootAdapter/MinimizerResultUtils.cpp b/Fit/RootAdapter/MinimizerResultUtils.cpp index 33630b3810f..0eddb770039 100644 --- a/Fit/RootAdapter/MinimizerResultUtils.cpp +++ b/Fit/RootAdapter/MinimizerResultUtils.cpp @@ -80,7 +80,8 @@ std::string MinimizerResultUtils::reportParameters(const Fit::Parameters& parame return result.str(); } -namespace { +namespace +{ std::string reportDescription(const RootMinimizerAdapter& minimizer) { @@ -120,4 +121,4 @@ std::string reportStatus(const RootMinimizerAdapter& minimizer) return result.str(); } -} +} // namespace diff --git a/Fit/RootAdapter/MinimizerResultUtils.h b/Fit/RootAdapter/MinimizerResultUtils.h index 12e4b6eb010..a7e8c2111f5 100644 --- a/Fit/RootAdapter/MinimizerResultUtils.h +++ b/Fit/RootAdapter/MinimizerResultUtils.h @@ -19,7 +19,10 @@ #include <string> class RootMinimizerAdapter; -namespace Fit { class Parameters; } +namespace Fit +{ +class Parameters; +} //! Utility functions to generate reports @@ -32,6 +35,6 @@ BA_CORE_API_ std::string reportToString(const RootMinimizerAdapter& minimizer); //! Reports fit parameters settings and final results std::string reportParameters(const Fit::Parameters& parameters); -}; +}; // namespace MinimizerResultUtils #endif // MINIMIZERRESULTSHELPER_H diff --git a/Fit/RootAdapter/Minuit2Minimizer.h b/Fit/RootAdapter/Minuit2Minimizer.h index 6a34198a412..03e8c31d60d 100644 --- a/Fit/RootAdapter/Minuit2Minimizer.h +++ b/Fit/RootAdapter/Minuit2Minimizer.h @@ -19,7 +19,13 @@ #include "RootMinimizerAdapter.h" #include <memory> -namespace ROOT { namespace Minuit2 { class Minuit2Minimizer; } } +namespace ROOT +{ +namespace Minuit2 +{ +class Minuit2Minimizer; +} +} // namespace ROOT //! Wrapper for the CERN ROOT facade of the Minuit2 minimizer. //! See Minuit2 user manual https://root.cern.ch/root/htmldoc/guides/minuit2/Minuit2.pdf. diff --git a/Fit/RootAdapter/ResidualFunctionAdapter.cpp b/Fit/RootAdapter/ResidualFunctionAdapter.cpp index 0fa7fa1df01..213f4e19c5b 100644 --- a/Fit/RootAdapter/ResidualFunctionAdapter.cpp +++ b/Fit/RootAdapter/ResidualFunctionAdapter.cpp @@ -21,7 +21,7 @@ namespace { // step size of derivative calculations const double kEps = 1.0E-9; -} +} // namespace using namespace Fit; @@ -36,13 +36,12 @@ ResidualFunctionAdapter::ResidualFunctionAdapter(fcn_residual_t func, const RootResidualFunction* ResidualFunctionAdapter::rootResidualFunction() { - gradient_function_t gradient_fun - = [&](const std::vector<double>& pars, unsigned int index, std::vector<double>& gradients) { - return element_residual(pars, index, gradients); - }; + gradient_function_t gradient_fun = [&](const std::vector<double>& pars, unsigned int index, + std::vector<double>& gradients) { + return element_residual(pars, index, gradients); + }; - scalar_function_t objective_fun - = [&](const std::vector<double>& pars) { return chi2(pars); }; + scalar_function_t objective_fun = [&](const std::vector<double>& pars) { return chi2(pars); }; m_root_objective.reset( new RootResidualFunction(objective_fun, gradient_fun, m_parameters.size(), m_datasize)); @@ -127,10 +126,9 @@ double ResidualFunctionAdapter::chi2(const std::vector<double>& pars) for (auto x : get_residuals(pars)) result += x * x; - int fnorm = static_cast<int>(m_datasize) - - static_cast<int>(m_parameters.freeParameterCount()); + int fnorm = static_cast<int>(m_datasize) - static_cast<int>(m_parameters.freeParameterCount()); if (fnorm <= 0) throw std::runtime_error("ResidualFunctionAdapter::chi2() -> Error. Normalization is 0"); - return result/fnorm; + return result / fnorm; } diff --git a/Fit/RootAdapter/RootMinimizerAdapter.cpp b/Fit/RootAdapter/RootMinimizerAdapter.cpp index 8d103d281ba..117f2654b43 100644 --- a/Fit/RootAdapter/RootMinimizerAdapter.cpp +++ b/Fit/RootAdapter/RootMinimizerAdapter.cpp @@ -25,9 +25,7 @@ using namespace Fit; RootMinimizerAdapter::RootMinimizerAdapter(const MinimizerInfo& minimizerInfo) - : m_minimizerInfo(minimizerInfo) - , m_adapter(new Fit::ObjectiveFunctionAdapter) - , m_status(false) + : m_minimizerInfo(minimizerInfo), m_adapter(new Fit::ObjectiveFunctionAdapter), m_status(false) { } @@ -82,7 +80,10 @@ void RootMinimizerAdapter::setParameters(const Fit::Parameters& parameters) setParameter(index++, par); } -double RootMinimizerAdapter::minValue() const { return rootMinimizer()->MinValue(); } +double RootMinimizerAdapter::minValue() const +{ + return rootMinimizer()->MinValue(); +} std::string RootMinimizerAdapter::statusToString() const { diff --git a/Fit/RootAdapter/RootMinimizerAdapter.h b/Fit/RootAdapter/RootMinimizerAdapter.h index 08e2ea8b7f9..bc76e24bee1 100644 --- a/Fit/RootAdapter/RootMinimizerAdapter.h +++ b/Fit/RootAdapter/RootMinimizerAdapter.h @@ -21,11 +21,21 @@ #include <memory> #include <string> -namespace Fit { - class Parameters; class Parameter; class ObjectiveFunctionAdapter; class MinimizerResult; -} +namespace Fit +{ +class Parameters; +class Parameter; +class ObjectiveFunctionAdapter; +class MinimizerResult; +} // namespace Fit -namespace ROOT { namespace Math { class Minimizer; } } +namespace ROOT +{ +namespace Math +{ +class Minimizer; +} +} // namespace ROOT //! Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer. //! @ingroup fitting_internal diff --git a/Fit/RootAdapter/RootResidualFunction.h b/Fit/RootAdapter/RootResidualFunction.h index fb4e10510b6..14162f92316 100644 --- a/Fit/RootAdapter/RootResidualFunction.h +++ b/Fit/RootAdapter/RootResidualFunction.h @@ -53,8 +53,8 @@ private: //! evaluation of chi2 double DoEval(const double* pars) const override; - scalar_function_t m_objective_fun; //!< User function to get value to minimizer. - gradient_function_t m_gradient_fun; //!< User function to get residual and gradients. + scalar_function_t m_objective_fun; //!< User function to get value to minimizer. + gradient_function_t m_gradient_fun; //!< User function to get residual and gradients. size_t m_npars; size_t m_datasize; }; diff --git a/Fit/RootAdapter/RootScalarFunction.cpp b/Fit/RootAdapter/RootScalarFunction.cpp index c52a09d5815..ad2eeb249e8 100644 --- a/Fit/RootAdapter/RootScalarFunction.cpp +++ b/Fit/RootAdapter/RootScalarFunction.cpp @@ -15,4 +15,6 @@ #include "RootScalarFunction.h" RootScalarFunction::RootScalarFunction(root_scalar_t fcn, int ndims) - : ROOT::Math::Functor(fcn, static_cast<unsigned int>(ndims)) {} + : ROOT::Math::Functor(fcn, static_cast<unsigned int>(ndims)) +{ +} diff --git a/Fit/RootAdapter/RootScalarFunction.h b/Fit/RootAdapter/RootScalarFunction.h index 544976a263f..170c0624fdb 100644 --- a/Fit/RootAdapter/RootScalarFunction.h +++ b/Fit/RootAdapter/RootScalarFunction.h @@ -31,7 +31,7 @@ class RootScalarFunction : public ROOT::Math::Functor { - public: +public: RootScalarFunction(root_scalar_t fcn, int ndims); }; diff --git a/Fit/RootAdapter/SimAnMinimizer.h b/Fit/RootAdapter/SimAnMinimizer.h index 5bbb2ae8807..3a722d143a0 100644 --- a/Fit/RootAdapter/SimAnMinimizer.h +++ b/Fit/RootAdapter/SimAnMinimizer.h @@ -17,7 +17,13 @@ #include "RootMinimizerAdapter.h" -namespace ROOT { namespace Math { class GSLSimAnMinimizer; } } +namespace ROOT +{ +namespace Math +{ +class GSLSimAnMinimizer; +} +} // namespace ROOT //! Wrapper for the CERN ROOT facade of the GSL simmulated annealing minimizer. //! @ingroup fitting_internal diff --git a/Fit/Tools/AttLimits.cpp b/Fit/Tools/AttLimits.cpp index cd474d2297b..c2abe4ebbc3 100644 --- a/Fit/Tools/AttLimits.cpp +++ b/Fit/Tools/AttLimits.cpp @@ -16,11 +16,12 @@ #include <iomanip> #include <sstream> -AttLimits::AttLimits() - : m_limits(RealLimits::limitless()), m_att_fixed(Attributes::free()) {} +AttLimits::AttLimits() : m_limits(RealLimits::limitless()), m_att_fixed(Attributes::free()) {} AttLimits::AttLimits(const RealLimits& limits, const Attributes& fixedAttr) - : m_limits(limits), m_att_fixed(fixedAttr) { } + : m_limits(limits), m_att_fixed(fixedAttr) +{ +} AttLimits AttLimits::limitless() { @@ -57,7 +58,10 @@ AttLimits AttLimits::fixed() return AttLimits(RealLimits::limitless(), Attributes::fixed()); } -bool AttLimits::isFixed() const { return m_att_fixed.isFixed(); } +bool AttLimits::isFixed() const +{ + return m_att_fixed.isFixed(); +} bool AttLimits::isLimited() const { @@ -100,7 +104,10 @@ bool AttLimits::operator==(const AttLimits& other) const return m_limits == other.m_limits && m_att_fixed == other.m_att_fixed; } -bool AttLimits::operator!=(const AttLimits& other) const { return !(*this == other); } +bool AttLimits::operator!=(const AttLimits& other) const +{ + return !(*this == other); +} std::string AttLimits::toString() const { diff --git a/Fit/Tools/Attributes.h b/Fit/Tools/Attributes.h index c1689b6b0bd..ba169ea6195 100644 --- a/Fit/Tools/Attributes.h +++ b/Fit/Tools/Attributes.h @@ -23,7 +23,7 @@ class BA_CORE_API_ Attributes { - public: +public: Attributes() : m_is_fixed(false) {} //! Creates a fixed value object static Attributes fixed() { return Attributes(true); } @@ -33,13 +33,16 @@ class BA_CORE_API_ Attributes bool isFixed() const { return m_is_fixed; } bool isFree() const { return !isFixed(); } - friend std::ostream& operator<<(std::ostream& ostr, const Attributes& m) { - m.print(ostr); return ostr; } + friend std::ostream& operator<<(std::ostream& ostr, const Attributes& m) + { + m.print(ostr); + return ostr; + } - bool operator==(const Attributes &other) const { return isFixed()==other.isFixed(); } - bool operator!=(const Attributes &other) const { return !(*this == other); } + bool operator==(const Attributes& other) const { return isFixed() == other.isFixed(); } + bool operator!=(const Attributes& other) const { return !(*this == other); } - protected: +protected: Attributes(bool is_fixed) : m_is_fixed(is_fixed) {} bool m_is_fixed; //! parameter is fixed @@ -50,7 +53,7 @@ class BA_CORE_API_ Attributes //! Prints class inline void Attributes::print(std::ostream& ostr) const { - if(isFixed()) + if (isFixed()) ostr << "fixed"; else ostr << "free"; diff --git a/Fit/Tools/MultiOption.cpp b/Fit/Tools/MultiOption.cpp index 73f809a594a..a53e2e4ba1c 100644 --- a/Fit/Tools/MultiOption.cpp +++ b/Fit/Tools/MultiOption.cpp @@ -15,8 +15,7 @@ #include "MultiOption.h" #include <boost/lexical_cast.hpp> -MultiOption::MultiOption(const std::string& name) - : m_name(name) {} +MultiOption::MultiOption(const std::string& name) : m_name(name) {} std::string MultiOption::name() const { diff --git a/Fit/Tools/TimeInterval.cpp b/Fit/Tools/TimeInterval.cpp index d066a9d955f..6bf76e8ad07 100644 --- a/Fit/Tools/TimeInterval.cpp +++ b/Fit/Tools/TimeInterval.cpp @@ -45,10 +45,10 @@ void TimeInterval::stop() double TimeInterval::runTime() const { - duration_unit diff - = m_imp->m_is_running - ? std::chrono::duration_cast<duration_unit>(clock_used::now() - m_imp->m_start_time) - : std::chrono::duration_cast<duration_unit>(m_imp->m_end_time - m_imp->m_start_time); + duration_unit diff = + m_imp->m_is_running + ? std::chrono::duration_cast<duration_unit>(clock_used::now() - m_imp->m_start_time) + : std::chrono::duration_cast<duration_unit>(m_imp->m_end_time - m_imp->m_start_time); return diff.count() / 1000.; } -- GitLab