13#ifndef ROOT_ROOFIT_TESTSTATISTICS_LikelihoodWrapper
14#define ROOT_ROOFIT_TESTSTATISTICS_LikelihoodWrapper
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;
The Kahan summation is a compensated summation algorithm, which significantly reduces numerical error...
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.
LikelihoodWrapper(std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean, SharedOffset offset)
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...
Namespace for new RooFit test statistic calculation.
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...
static uint64_t sum(uint64_t i)