diff --git a/math/minuit2/CMakeLists.txt b/math/minuit2/CMakeLists.txt index 36246377a34cb..c204e61b78ae7 100644 --- a/math/minuit2/CMakeLists.txt +++ b/math/minuit2/CMakeLists.txt @@ -44,7 +44,6 @@ if(CMAKE_PROJECT_NAME STREQUAL ROOT) Minuit2/GradientCalculator.h Minuit2/HessianGradientCalculator.h Minuit2/InitialGradientCalculator.h - Minuit2/MPIProcess.h Minuit2/MinimumBuilder.h Minuit2/MinimumError.h Minuit2/MinimumErrorUpdator.h @@ -91,7 +90,6 @@ if(CMAKE_PROJECT_NAME STREQUAL ROOT) Minuit2/MnUserParameterState.h Minuit2/MnUserParameters.h Minuit2/MnUserTransformation.h - Minuit2/MnVectorTransform.h Minuit2/ModularFunctionMinimizer.h Minuit2/NegativeG2LineSearch.h Minuit2/Numerical2PGradientCalculator.h diff --git a/math/minuit2/inc/Minuit2/MnUserFcn.h b/math/minuit2/inc/Minuit2/MnUserFcn.h index d1495e711e5e7..890d24e3e4433 100644 --- a/math/minuit2/inc/Minuit2/MnUserFcn.h +++ b/math/minuit2/inc/Minuit2/MnUserFcn.h @@ -32,8 +32,6 @@ class MnUserFcn : public MnFcn { { } - ~MnUserFcn() override {} - double operator()(const MnAlgebraicVector &) const override; // Access the parameter transformations. diff --git a/math/minuit2/inc/Minuit2/MnVectorTransform.h b/math/minuit2/inc/Minuit2/MnVectorTransform.h deleted file mode 100644 index 67ee8c41a747e..0000000000000 --- a/math/minuit2/inc/Minuit2/MnVectorTransform.h +++ /dev/null @@ -1,45 +0,0 @@ -// @(#)root/minuit2:$Id$ -// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 - -/********************************************************************** - * * - * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * - * * - **********************************************************************/ - -#ifndef ROOT_Minuit2_MnVectorTransform -#define ROOT_Minuit2_MnVectorTransform - -#include "Minuit2/MnMatrix.h" - -#include - -namespace ROOT { - -namespace Minuit2 { - -class MnVectorTransform { - -public: - MnVectorTransform() {} - - ~MnVectorTransform() {} - - std::vector operator()(const MnAlgebraicVector &avec) const - { - - std::vector result; - result.reserve(avec.size()); - - for (unsigned int i = 0; i < avec.size(); i++) - result.push_back(avec(i)); - - return result; - } -}; - -} // namespace Minuit2 - -} // namespace ROOT - -#endif // ROOT_Minuit2_MnVectorTransform diff --git a/math/minuit2/src/CMakeLists.txt b/math/minuit2/src/CMakeLists.txt index aec6a92dd6f4e..630750baf233b 100644 --- a/math/minuit2/src/CMakeLists.txt +++ b/math/minuit2/src/CMakeLists.txt @@ -34,7 +34,6 @@ set(MINUIT2_HEADERS GradientCalculator.h HessianGradientCalculator.h InitialGradientCalculator.h - MPIProcess.h MinimumBuilder.h MinimumError.h MinimumErrorUpdator.h @@ -81,7 +80,6 @@ set(MINUIT2_HEADERS MnUserParameterState.h MnUserParameters.h MnUserTransformation.h - MnVectorTransform.h ModularFunctionMinimizer.h NegativeG2LineSearch.h Numerical2PGradientCalculator.h diff --git a/math/minuit2/src/HessianGradientCalculator.cxx b/math/minuit2/src/HessianGradientCalculator.cxx index 9de4fccbcf9b9..c743369b1be50 100644 --- a/math/minuit2/src/HessianGradientCalculator.cxx +++ b/math/minuit2/src/HessianGradientCalculator.cxx @@ -16,7 +16,8 @@ #include "Minuit2/FunctionGradient.h" #include "Minuit2/MnStrategy.h" #include "Minuit2/MnPrint.h" -#include "Minuit2/MPIProcess.h" + +#include "./MPIProcess.h" #include #include diff --git a/math/minuit2/src/MPIProcess.cxx b/math/minuit2/src/MPIProcess.cxx index eefdf86c278b7..b5d63522c843b 100644 --- a/math/minuit2/src/MPIProcess.cxx +++ b/math/minuit2/src/MPIProcess.cxx @@ -8,7 +8,7 @@ * Copyright: (C) 2008 by Universita' and INFN, Milan * ***************************************************************************/ -#include "Minuit2/MPIProcess.h" +#include "./MPIProcess.h" #include diff --git a/math/minuit2/inc/Minuit2/MPIProcess.h b/math/minuit2/src/MPIProcess.h similarity index 100% rename from math/minuit2/inc/Minuit2/MPIProcess.h rename to math/minuit2/src/MPIProcess.h diff --git a/math/minuit2/src/MnFcn.cxx b/math/minuit2/src/MnFcn.cxx index dc5b353a95e28..0aaae9198116c 100644 --- a/math/minuit2/src/MnFcn.cxx +++ b/math/minuit2/src/MnFcn.cxx @@ -9,7 +9,6 @@ #include "Minuit2/MnFcn.h" #include "Minuit2/FCNBase.h" -#include "Minuit2/MnVectorTransform.h" namespace ROOT { @@ -24,7 +23,7 @@ double MnFcn::operator()(const MnAlgebraicVector &v) const { // evaluate FCN converting from from MnAlgebraicVector to std::vector fNumCall++; - return fFCN(MnVectorTransform()(v)); + return fFCN(std::vector{v.Data(), v.Data() + v.size()}); } // double MnFcn::operator()(const std::vector& par) const { diff --git a/math/minuit2/src/MnHesse.cxx b/math/minuit2/src/MnHesse.cxx index 653f9df313c50..a339b8c03e089 100644 --- a/math/minuit2/src/MnHesse.cxx +++ b/math/minuit2/src/MnHesse.cxx @@ -21,8 +21,8 @@ #include "Minuit2/VariableMetricEDMEstimator.h" #include "Minuit2/FunctionMinimum.h" #include "Minuit2/MnPrint.h" -#include "Minuit2/MPIProcess.h" +#include "./MPIProcess.h" #include "./MnFcnCaller.h" namespace ROOT { diff --git a/math/minuit2/src/Numerical2PGradientCalculator.cxx b/math/minuit2/src/Numerical2PGradientCalculator.cxx index 9391ce120b27c..a511ccc09c7b6 100644 --- a/math/minuit2/src/Numerical2PGradientCalculator.cxx +++ b/math/minuit2/src/Numerical2PGradientCalculator.cxx @@ -17,6 +17,9 @@ #include "Minuit2/MnStrategy.h" #include "Minuit2/MnPrint.h" +#include "./MPIProcess.h" +#include "./MnFcnCaller.h" + #ifdef _OPENMP #include #endif @@ -25,10 +28,6 @@ #include #include -#include "Minuit2/MPIProcess.h" - -#include "./MnFcnCaller.h" - namespace ROOT { namespace Minuit2 { diff --git a/math/minuit2/src/ParametricFunction.cxx b/math/minuit2/src/ParametricFunction.cxx index a4e1d6b6987de..e885c066d7ec3 100644 --- a/math/minuit2/src/ParametricFunction.cxx +++ b/math/minuit2/src/ParametricFunction.cxx @@ -13,7 +13,6 @@ #include "Minuit2/MnUserParameterState.h" #include "Minuit2/Numerical2PGradientCalculator.h" #include "Minuit2/FunctionGradient.h" -#include "Minuit2/MnVectorTransform.h" #include "Minuit2/MinimumParameters.h" namespace ROOT { @@ -40,9 +39,8 @@ std::vector ParametricFunction::GetGradient(std::vector const &x FunctionGradient g = gc(MinimumParameters{xVec, mfcn(xVec)}); const MnAlgebraicVector &grad = g.Vec(); assert(grad.size() == x.size()); - MnVectorTransform vt; // std::cout << "Param Function Gradient " << grad << std::endl; - return vt(grad); + return {grad.Data(), grad.Data() + grad.size()}; } } // namespace Minuit2