13#ifndef ROOT_ROOFIT_TESTSTATISTICS_LikelihoodGradientJob
14#define ROOT_ROOFIT_TESTSTATISTICS_LikelihoodGradientJob
31 std::shared_ptr<WrapperCalculationCleanFlags> calculation_is_clean, std::size_t N_dim,
36 double *previous_gstep)
override;
77 mutable std::vector<ROOT::Minuit2::DerivatorElement>
grad_;
interface class for defining the actual work that must be done
ROOT::Minuit2::NumericalDerivator gradf_
bool usesMinuitInternalValues() override
Implement usesMinuitInternalValues to return true when you want Minuit to send this class Minuit-inte...
void update_state() override
Virtual function to update any necessary state on workers.
void update_workers_state_isCalculating()
std::vector< ROOT::Minuit2::DerivatorElement > grad_
void fillGradientWithPrevResult(double *grad, double *previous_grad, double *previous_g2, double *previous_gstep) override
void updateMinuitInternalParameterValues(const std::vector< double > &minuit_internal_x) override
Minuit passes in parameter values that may not conform to RooFit internal standards (like applying ra...
void run_derivator(unsigned int i_component) const
Calculation stuff (mostly duplicates of RooGradMinimizerFcn code):
std::size_t N_tasks_at_workers_
SharedOffset::OffsetVec offsets_previous_
void setNCycles(unsigned int ncycles) const
void send_back_task_result_from_worker(std::size_t task) override
void synchronizeWithMinimizer(const ROOT::Math::MinimizerOptions &options) override
Synchronize minimizer settings with calculators in child classes.
void fillGradient(double *grad) override
LikelihoodGradientJob(std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean, std::size_t N_dim, RooMinimizer *minimizer, SharedOffset offset)
void setStepTolerance(double step_tolerance) const
void setGradTolerance(double grad_tolerance) const
bool isCalculating() override
Reports whether or not the gradient is currently being calculated.
void setStrategy(int istrat)
void update_workers_state()
void evaluate_task(std::size_t task) override
Job overrides:
bool receive_task_result_on_master(const zmq::message_t &message) override
void synchronizeParameterSettingsImpl(const std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings) override
std::vector< double > minuit_internal_x_
void setErrorLevel(double error_level) const
LikelihoodGradientWrapper(std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean, std::size_t N_dim, RooMinimizer *minimizer, SharedOffset offset)
Wrapper class around ROOT::Math::Minimizer that provides a seamless interface between the minimizer f...
std::vector< ROOT::Math::KahanSum< double > > OffsetVec
Namespace for new RooFit test statistic calculation.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
ROOT::Minuit2::DerivatorElement grad