Definition at line 29 of file LikelihoodGradientJob.h.
#include </github/home/ROOT-CI/src/roofit/roofitcore/src/TestStatistics/LikelihoodGradientJob.h>
◆ GradientCalculatorMode
◆ LikelihoodGradientJob()
◆ calculate_all()
| void RooFit::TestStatistics::LikelihoodGradientJob::calculate_all |
( |
| ) |
|
|
private |
◆ create()
◆ evaluate_task()
| void RooFit::TestStatistics::LikelihoodGradientJob::evaluate_task |
( |
std::size_t | task | ) |
|
|
overrideprivatevirtual |
◆ fillGradient()
| void RooFit::TestStatistics::LikelihoodGradientJob::fillGradient |
( |
double * | grad | ) |
|
|
overridevirtual |
◆ fillGradientWithPrevResult()
| void RooFit::TestStatistics::LikelihoodGradientJob::fillGradientWithPrevResult |
( |
double * | grad, |
|
|
double * | previous_grad, |
|
|
double * | previous_g2, |
|
|
double * | previous_gstep, |
|
|
double | fValAtX ) |
|
overridevirtual |
◆ gather_worker_results()
| void RooFit::MultiProcess::Job::gather_worker_results |
( |
| ) |
|
|
inherited |
Wait for all tasks to be retrieved for the current Job.
Definition at line 126 of file Job.cxx.
◆ get_manager()
| JobManager * RooFit::MultiProcess::Job::get_manager |
( |
| ) |
|
|
protectedinherited |
Get JobManager instance; create and activate if necessary.
Child classes should refrain from direct access to the JobManager instance (through JobManager::instance), but rather use the here provided Job::get_manager(). This function starts the worker_loop on the worker when first called, meaning that the workers will not be running before they are needed.
Definition at line 112 of file Job.cxx.
◆ get_state_id()
| std::size_t RooFit::MultiProcess::Job::get_state_id |
( |
| ) |
|
|
inherited |
Get the current state identifier.
Definition at line 141 of file Job.cxx.
◆ isCalculating()
| bool RooFit::TestStatistics::LikelihoodGradientJob::isCalculating |
( |
| ) |
|
|
inlineoverridevirtual |
◆ receive_task_result_on_master()
◆ run_derivator()
| void RooFit::TestStatistics::LikelihoodGradientJob::run_derivator |
( |
unsigned int | i_component | ) |
const |
|
private |
◆ send_back_task_result_from_worker()
| void RooFit::TestStatistics::LikelihoodGradientJob::send_back_task_result_from_worker |
( |
std::size_t | task | ) |
|
|
overrideprivatevirtual |
◆ setErrorLevel()
| void RooFit::TestStatistics::LikelihoodGradientJob::setErrorLevel |
( |
double | error_level | ) |
const |
|
private |
◆ setGradTolerance()
| void RooFit::TestStatistics::LikelihoodGradientJob::setGradTolerance |
( |
double | grad_tolerance | ) |
const |
|
private |
◆ setNCycles()
| void RooFit::TestStatistics::LikelihoodGradientJob::setNCycles |
( |
unsigned int | ncycles | ) |
const |
|
private |
◆ setStepTolerance()
| void RooFit::TestStatistics::LikelihoodGradientJob::setStepTolerance |
( |
double | step_tolerance | ) |
const |
|
private |
◆ setStrategy()
| void RooFit::TestStatistics::LikelihoodGradientJob::setStrategy |
( |
int | istrat | ) |
|
|
private |
◆ synchronizeParameterSettings()
◆ synchronizeParameterSettingsImpl()
◆ synchronizeWithMinimizer()
◆ update_state()
| void RooFit::TestStatistics::LikelihoodGradientJob::update_state |
( |
| ) |
|
|
overridevirtual |
Virtual function to update any necessary state on workers.
This function is called from the worker loop when a state update message from the master process is received. Thus, we can update, for instance, parameter values on the worker that were updated since the last call on the master side.
- Note
- Implementers: make sure to also update the state_id_ member.
Reimplemented from RooFit::MultiProcess::Job.
Definition at line 149 of file LikelihoodGradientJob.cxx.
◆ update_workers_state()
| void RooFit::TestStatistics::LikelihoodGradientJob::update_workers_state |
( |
| ) |
|
|
private |
◆ update_workers_state_isCalculating()
| void RooFit::TestStatistics::LikelihoodGradientJob::update_workers_state_isCalculating |
( |
| ) |
|
|
private |
◆ updateMinuitExternalParameterValues()
| void RooFit::TestStatistics::LikelihoodGradientWrapper::updateMinuitExternalParameterValues |
( |
const std::vector< double > & | minuit_external_x | ) |
|
|
virtualinherited |
◆ updateMinuitInternalParameterValues()
| void RooFit::TestStatistics::LikelihoodGradientJob::updateMinuitInternalParameterValues |
( |
const std::vector< double > & | minuit_internal_x | ) |
|
|
overrideprivatevirtual |
◆ usesMinuitInternalValues()
| bool RooFit::TestStatistics::LikelihoodGradientJob::usesMinuitInternalValues |
( |
| ) |
|
|
overrideprivatevirtual |
Implement usesMinuitInternalValues to return true when you want Minuit to send this class Minuit-internal values, or return false when you want "regular" Minuit-external values.
Minuit internally uses a transformed parameter space to graciously handle externally mandated parameter range boundaries. Transformation from Minuit-internal to external (i.e. "regular") parameters is done using trigonometric functions that in some cases can cause a few bits of precision loss with respect to the original parameter values. To circumvent this, Minuit also allows external gradient providers (like LikelihoodGradientWrapper) to take the Minuit-internal parameter values directly, without transformation. This way, the gradient provider (e.g. the implementation of this class) can handle transformation manually, possibly with higher precision.
Implements RooFit::TestStatistics::LikelihoodGradientWrapper.
Definition at line 299 of file LikelihoodGradientJob.cxx.
◆ _manager
| JobManager* RooFit::MultiProcess::Job::_manager = nullptr |
|
privateinherited |
Definition at line 51 of file Job.h.
◆ calculation_is_clean_
◆ fval_at_x_
Function value at minuit_internal_x_ as known by the master (NaN when unknown); broadcast to workers so their NumericalDerivator setup can skip the central-point evaluation.
Definition at line 86 of file LikelihoodGradientJob.h.
◆ grad_
◆ gradf_
◆ id_
| std::size_t RooFit::MultiProcess::Job::id_ |
|
protectedinherited |
Definition at line 46 of file Job.h.
◆ isCalculating_
| bool RooFit::TestStatistics::LikelihoodGradientJob::isCalculating_ = false |
|
mutableprivate |
◆ likelihood_
| std::shared_ptr<RooAbsL> RooFit::TestStatistics::LikelihoodGradientWrapper::likelihood_ |
|
protectedinherited |
◆ minimizer_
| RooMinimizer* RooFit::TestStatistics::LikelihoodGradientWrapper::minimizer_ |
|
protectedinherited |
◆ minuit_internal_x_
| std::vector<double> RooFit::TestStatistics::LikelihoodGradientJob::minuit_internal_x_ |
|
private |
◆ N_tasks_
| std::size_t RooFit::TestStatistics::LikelihoodGradientJob::N_tasks_ = 0 |
|
private |
◆ N_tasks_at_workers_
| std::size_t RooFit::TestStatistics::LikelihoodGradientJob::N_tasks_at_workers_ = 0 |
|
private |
◆ offsets_previous_
◆ shared_offset_
| SharedOffset RooFit::TestStatistics::LikelihoodGradientWrapper::shared_offset_ |
|
protectedinherited |
◆ state_id_
| std::size_t RooFit::MultiProcess::Job::state_id_ = 0 |
|
protectedinherited |
Definition at line 47 of file Job.h.
roofit/roofitcore/src/TestStatistics/LikelihoodGradientJob.h
roofit/roofitcore/src/TestStatistics/LikelihoodGradientJob.cxx