13#ifndef ROOT_ROOFIT_TESTSTATISTICS_LikelihoodWrapper
14#define ROOT_ROOFIT_TESTSTATISTICS_LikelihoodWrapper
32namespace TestStatistics {
64 std::shared_ptr<WrapperCalculationCleanFlags> calculation_is_clean,
SharedOffset offset);
71 static std::unique_ptr<LikelihoodWrapper>
create(
LikelihoodMode likelihoodMode, std::shared_ptr<RooAbsL> likelihood,
72 std::shared_ptr<WrapperCalculationCleanFlags> calculationIsClean,
99 virtual std::string
GetName()
const;
100 virtual std::string
GetTitle()
const;
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
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char mode
The Kahan summation is a compensated summation algorithm, which significantly reduces numerical error...
Virtual base class for implementation of likelihood calculation strategies.
virtual bool isOffsetting() const
virtual void synchronizeParameterSettings(const std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings)
std::shared_ptr< RooAbsL > likelihood_
void constOptimizeTestStatistic(RooAbsArg::ConstOpCode opcode, bool doAlsoTrackingOpt)
SharedOffset shared_offset_
LikelihoodWrapper & operator=(const LikelihoodWrapper &)=delete
virtual std::string GetTitle() const
void setOffsettingMode(OffsettingMode mode)
virtual std::string GetName() const
LikelihoodWrapper(const LikelihoodWrapper &)=delete
virtual void enableOffsetting(bool flag)
virtual ~LikelihoodWrapper()=default
OffsettingMode offsetting_mode_
double defaultErrorLevel() const
virtual void updateMinuitExternalParameterValues(const std::vector< double > &minuit_external_x)
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...
void calculate_offsets()
(Re)calculate (on each worker) all component offsets.
static std::unique_ptr< LikelihoodWrapper > create(LikelihoodMode likelihoodMode, std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculationIsClean, SharedOffset offset)
Factory method.
virtual void evaluate()=0
Triggers (possibly asynchronous) evaluation of the likelihood.
virtual ROOT::Math::KahanSum< double > getResult() const =0
Return the latest result of a likelihood evaluation.
virtual void synchronizeWithMinimizer(const ROOT::Math::MinimizerOptions &options)
Synchronize minimizer settings with calculators in child classes.
void setApplyWeightSquared(bool flag)
std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean_
LikelihoodType likelihood_type_
Wrapper class around ROOT::Math::Minimizer that provides a seamless interface between the minimizer f...
OffsettingMode
Previously, offsetting was only implemented for RooNLLVar components of a likelihood,...
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...