Explicit passing of MnStrategy during minimizer initialization

This patch fixes compilation errors that arise with recent ROOT versions (e.g., 6.34.02),
which require a ROOT::Minuit2::MnStrategy object to be passed when initializing the
ROOT::Minuit2::MnX (X = Migrad, Simplex, Minimize) minimizers (i.e., instead of the integer
representing the "strategy").
This commit is contained in:
Ryan M. L. McFadden 2025-01-09 11:38:33 -08:00 committed by Andreas Suter
parent df0c5ec545
commit bfade6f4b8

View File

@ -59,6 +59,7 @@
#include "Minuit2/MnPrint.h"
#include "Minuit2/MnScan.h"
#include "Minuit2/MnSimplex.h"
#include "Minuit2/MnStrategy.h"
#include "Minuit2/MnUserParameterState.h"
#include "Minuit2/MinosError.h"
@ -1867,7 +1868,7 @@ Bool_t PFitter::ExecuteMigrad()
fcn = fFitterFcnDKS.get();
else
fcn = fFitterFcn.get();
ROOT::Minuit2::MnMigrad migrad((*fcn), fMnUserParams, fStrategy);
ROOT::Minuit2::MnMigrad migrad((*fcn), fMnUserParams, ROOT::Minuit2::MnStrategy{fStrategy});
// minimize
// maxfcn is MINUIT2 Default maxfcn
@ -1952,7 +1953,7 @@ Bool_t PFitter::ExecuteMinimize()
fcn = fFitterFcnDKS.get();
else
fcn = fFitterFcn.get();
ROOT::Minuit2::MnMinimize minimize((*fcn), fMnUserParams, fStrategy);
ROOT::Minuit2::MnMinimize minimize((*fcn), fMnUserParams, ROOT::Minuit2::MnStrategy{fStrategy});
// minimize
// maxfcn is MINUIT2 Default maxfcn
@ -2827,7 +2828,7 @@ Bool_t PFitter::ExecuteSimplex()
fcn = fFitterFcnDKS.get();
else
fcn = fFitterFcn.get();
ROOT::Minuit2::MnSimplex simplex((*fcn), fMnUserParams, fStrategy);
ROOT::Minuit2::MnSimplex simplex((*fcn), fMnUserParams, ROOT::Minuit2::MnStrategy{fStrategy});
// minimize
// maxfcn is 10*MINUIT2 Default maxfcn