Serial likelihood calculation strategy implementation.
This class serves as a baseline reference implementation of the LikelihoodWrapper. It reimplements the previous RooNLLVar "BulkPartition" single CPU strategy in the new RooFit::TestStatistics framework.
Definition at line 24 of file LikelihoodSerial.h.
Public Member Functions | |
| LikelihoodSerial (std::shared_ptr< RooAbsL > _likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculation_is_clean, SharedOffset offset) | |
| double | defaultErrorLevel () const |
| virtual void | enableOffsetting (bool flag) |
| void | evaluate () override |
| Triggers (possibly asynchronous) evaluation of the likelihood. | |
| virtual std::string | GetName () const |
| ROOT::Math::KahanSum< double > | getResult () const override |
| Return the latest result of a likelihood evaluation. | |
| virtual std::string | GetTitle () const |
| void | initVars () |
| Helper function for the constructor. | |
| virtual bool | isOffsetting () const |
| void | setApplyWeightSquared (bool flag) |
| void | setOffsettingMode (OffsettingMode mode) |
| virtual void | synchronizeParameterSettings (const std::vector< ROOT::Fit::ParameterSettings > ¶meter_settings) |
| virtual void | synchronizeWithMinimizer (const ROOT::Math::MinimizerOptions &options) |
| Synchronize minimizer settings with calculators in child classes. | |
| 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 range clipping), but that the specific calculator does need. | |
Static Public Member Functions | |
| static std::unique_ptr< LikelihoodWrapper > | create (LikelihoodMode likelihoodMode, std::shared_ptr< RooAbsL > likelihood, std::shared_ptr< WrapperCalculationCleanFlags > calculationIsClean, SharedOffset offset) |
| Factory method. | |
Protected Member Functions | |
| void | calculate_offsets () |
| (Re)calculate (on each worker) all component offsets. | |
Protected Attributes | |
| std::shared_ptr< WrapperCalculationCleanFlags > | calculation_is_clean_ |
| bool | do_offset_ = false |
| std::shared_ptr< RooAbsL > | likelihood_ |
| LikelihoodType | likelihood_type_ |
| OffsettingMode | offsetting_mode_ = OffsettingMode::legacy |
| SharedOffset | shared_offset_ |
Private Attributes | |
| RooArgList | _saveVars |
| Copy of variables. | |
| RooArgList | _vars |
| Variables. | |
| ROOT::Math::KahanSum< double > | result |
#include </github/home/ROOT-CI/src/roofit/roofitcore/src/TestStatistics/LikelihoodSerial.h>
| RooFit::TestStatistics::LikelihoodSerial::LikelihoodSerial | ( | std::shared_ptr< RooAbsL > | _likelihood, |
| std::shared_ptr< WrapperCalculationCleanFlags > | calculation_is_clean, | ||
| SharedOffset | offset ) |
Definition at line 34 of file LikelihoodSerial.cxx.
|
protectedinherited |
(Re)calculate (on each worker) all component offsets.
Note that these are calculated over the full event range! This will decrease the effectiveness of offsetting proportionally to the number of splits over the event range. The alternative, however, becomes very complex to implement and maintain, so this is a compromise.
Definition at line 118 of file LikelihoodWrapper.cxx.
|
staticinherited |
Factory method.
Definition at line 207 of file LikelihoodWrapper.cxx.
|
inherited |
Definition at line 80 of file LikelihoodWrapper.cxx.
|
virtualinherited |
Reimplemented in RooFit::TestStatistics::LikelihoodJob.
Definition at line 93 of file LikelihoodWrapper.cxx.
|
overridevirtual |
Triggers (possibly asynchronous) evaluation of the likelihood.
In parallel strategies, it may be advantageous to allow a calling process to continue on with other tasks while the calculation is offloaded to another process or device, like a GPU. For this reason, evaluate() does not return the result, this is done in getResult().
Implements RooFit::TestStatistics::LikelihoodWrapper.
Definition at line 61 of file LikelihoodSerial.cxx.
|
virtualinherited |
Definition at line 84 of file LikelihoodWrapper.cxx.
|
inlineoverridevirtual |
Return the latest result of a likelihood evaluation.
Returns the result that was stored after calling evaluate(). It is up to the implementer to make sure the stored value represents the most recent evaluation call, e.g. by using a mutex.
Implements RooFit::TestStatistics::LikelihoodWrapper.
Definition at line 32 of file LikelihoodSerial.h.
|
virtualinherited |
Definition at line 88 of file LikelihoodWrapper.cxx.
| void RooFit::TestStatistics::LikelihoodSerial::initVars | ( | ) |
Helper function for the constructor.
This is a separate function (instead of just in ctor) for historical reasons.
Definition at line 45 of file LikelihoodSerial.cxx.
|
inlinevirtualinherited |
Definition at line 99 of file LikelihoodWrapper.h.
|
inherited |
Definition at line 168 of file LikelihoodWrapper.cxx.
|
inherited |
Definition at line 102 of file LikelihoodWrapper.cxx.
|
virtualinherited |
Definition at line 75 of file LikelihoodWrapper.cxx.
|
virtualinherited |
Synchronize minimizer settings with calculators in child classes.
Definition at line 73 of file LikelihoodWrapper.cxx.
|
virtualinherited |
Definition at line 203 of file LikelihoodWrapper.cxx.
|
virtualinherited |
Minuit passes in parameter values that may not conform to RooFit internal standards (like applying range clipping), but that the specific calculator does need.
This function can be implemented to receive these Minuit-internal values:
Definition at line 202 of file LikelihoodWrapper.cxx.
|
private |
Copy of variables.
Definition at line 38 of file LikelihoodSerial.h.
|
private |
Variables.
Definition at line 37 of file LikelihoodSerial.h.
|
protectedinherited |
Definition at line 107 of file LikelihoodWrapper.h.
Definition at line 109 of file LikelihoodWrapper.h.
|
protectedinherited |
Definition at line 105 of file LikelihoodWrapper.h.
|
protectedinherited |
Definition at line 106 of file LikelihoodWrapper.h.
|
protectedinherited |
Definition at line 112 of file LikelihoodWrapper.h.
|
private |
Definition at line 35 of file LikelihoodSerial.h.
|
protectedinherited |
Definition at line 110 of file LikelihoodWrapper.h.