13#ifndef ROOT_ROOFIT_TESTSTATISTICS_LikelihoodGradientWrapper
14#define ROOT_ROOFIT_TESTSTATISTICS_LikelihoodGradientWrapper
41 std::shared_ptr<WrapperCalculationCleanFlags> calculation_is_clean, std::size_t N_dim,
49 static std::unique_ptr<LikelihoodGradientWrapper>
51 std::shared_ptr<WrapperCalculationCleanFlags> calculationIsClean, std::size_t nDim,
RooMinimizer *minimizer,
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
virtual bool usesMinuitInternalValues()=0
Implement usesMinuitInternalValues to return true when you want Minuit to send this class Minuit-inte...
virtual bool isCalculating()=0
Reports whether or not the gradient is currently being calculated.
std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean_
virtual void synchronizeWithMinimizer(const ROOT::Math::MinimizerOptions &options)
Synchronize minimizer settings with calculators in child classes.
virtual void updateMinuitInternalParameterValues(const std::vector< double > &minuit_internal_x)
Minuit passes in parameter values that may not conform to RooFit internal standards (like applying ra...
virtual void fillGradient(double *grad)=0
std::shared_ptr< RooAbsL > likelihood_
LikelihoodGradientWrapper(const LikelihoodGradientWrapper &)=delete
RooMinimizer * minimizer_
LikelihoodGradientWrapper(std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean, std::size_t N_dim, RooMinimizer *minimizer, SharedOffset offset)
virtual void synchronizeParameterSettings(const std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings)
SharedOffset shared_offset_
LikelihoodGradientWrapper & operator=(const LikelihoodGradientWrapper &)=delete
virtual void synchronizeParameterSettingsImpl(const std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings)=0
virtual ~LikelihoodGradientWrapper()=default
static std::unique_ptr< LikelihoodGradientWrapper > create(LikelihoodGradientMode likelihoodGradientMode, std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculationIsClean, std::size_t nDim, RooMinimizer *minimizer, SharedOffset offset)
Factory method.
virtual void fillGradientWithPrevResult(double *grad, double *previous_grad, double *previous_g2, double *previous_gstep)=0
virtual void updateMinuitExternalParameterValues(const std::vector< double > &minuit_external_x)
Wrapper class around ROOT::Math::Minimizer that provides a seamless interface between the minimizer f...
Namespace for new RooFit test statistic calculation.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
For communication with wrappers, an instance of this struct must be shared between them and MinuitFcn...