Likelihood class that sums over multiple -log components.
The likelihood is often a product of components, for instance when fitting simultaneous pdfs, but also when using subsidiary pdfs. Hence, the negative log likelihood that we, in fact, calculate is often a sum over these components. This sum is implemented by this class.
Public Member Functions | |
RooSumL (RooAbsPdf *pdf, RooAbsData *data, std::vector< std::unique_ptr< RooAbsL > > components, RooAbsL::Extended extended=RooAbsL::Extended::Auto) | |
void | constOptimizeTestStatistic (RooAbsArg::ConstOpCode opcode, bool doAlsoTrackingOpt) override |
Interface function signaling a request to perform constant term optimization. | |
ROOT::Math::KahanSum< double > | evaluatePartition (Section events, std::size_t components_begin, std::size_t components_end) override |
std::string | GetClassName () const override |
const std::vector< std::unique_ptr< RooAbsL > > & | GetComponents () const |
ROOT::Math::KahanSum< double > | getSubsidiaryValue () |
Public Member Functions inherited from RooFit::TestStatistics::RooAbsL | |
RooAbsL (ClonePdfData in, std::size_t N_events, std::size_t N_components, Extended extended=Extended::Auto) | |
Constructor that clones the pdf/data and owns those cloned copies. | |
RooAbsL (const RooAbsL &other) | |
RooAbsL (RooAbsPdf *pdf, RooAbsData *data, std::size_t N_events, std::size_t N_components, Extended extended=Extended::Auto) | |
Constructor that does not clone pdf/data and uses the shared_ptr aliasing constructor to make it non-owning. | |
virtual | ~RooAbsL ()=default |
virtual double | defaultErrorLevel () const |
virtual std::string | GetInfo () const |
virtual std::string | GetName () const |
std::size_t | getNComponents () const |
std::size_t | getNEvents () const |
virtual std::unique_ptr< RooArgSet > | getParameters () |
virtual std::string | GetTitle () const |
void | initClones (RooAbsPdf &inpdf, RooAbsData &indata) |
bool | isExtended () const |
virtual std::size_t | numDataEntries () const |
Number of dataset entries. | |
void | setSimCount (std::size_t value) |
Private Attributes | |
std::vector< std::unique_ptr< RooAbsL > > | components_ |
Additional Inherited Members | |
Public Types inherited from RooFit::TestStatistics::RooAbsL | |
enum class | Extended { Auto , Yes , No } |
Static Public Member Functions inherited from RooFit::TestStatistics::RooAbsL | |
static bool | isExtendedHelper (RooAbsPdf *pdf, Extended extended) |
Protected Attributes inherited from RooFit::TestStatistics::RooAbsL | |
std::shared_ptr< RooAbsData > | data_ |
bool | extended_ = false |
std::size_t | N_components_ = 1 |
std::size_t | N_events_ = 1 |
std::unique_ptr< RooArgSet > | normSet_ |
Pointer to set with observables used for normalization. | |
std::shared_ptr< RooAbsPdf > | pdf_ |
std::size_t | sim_count_ = 1 |
#include <RooFit/TestStatistics/RooSumL.h>
RooFit::TestStatistics::RooSumL::RooSumL | ( | RooAbsPdf * | pdf, |
RooAbsData * | data, | ||
std::vector< std::unique_ptr< RooAbsL > > | components, | ||
RooAbsL::Extended | extended = RooAbsL::Extended::Auto |
||
) |
[in] | Raw pointer to the pdf; will not be cloned in this object. | |
[in] | data | Raw pointer to the dataset; will not be cloned in this object. |
[in] | components | The component likelihoods. |
extended | Set extended term calculation on, off or use Extended::Auto to determine automatically based on the pdf whether to activate or not. |
Definition at line 43 of file RooSumL.cxx.
|
overridevirtual |
Interface function signaling a request to perform constant term optimization.
The default implementation takes no action other than to forward the calls to all servers. May be overridden in likelihood classes without a cached dataset, like RooSubsidiaryL.
Reimplemented from RooFit::TestStatistics::RooAbsL.
Definition at line 123 of file RooSumL.cxx.
|
overridevirtual |
Implements RooFit::TestStatistics::RooAbsL.
Definition at line 92 of file RooSumL.cxx.
|
inlineoverridevirtual |
Implements RooFit::TestStatistics::RooAbsL.
|
inline |
ROOT::Math::KahanSum< double > RooFit::TestStatistics::RooSumL::getSubsidiaryValue | ( | ) |
Definition at line 112 of file RooSumL.cxx.
|
private |