30namespace TestStatistics {
46 throw std::logic_error(
"RooAbsL::isExtendedHelper got an unknown extended value!");
55 : pdf_(std::
move(pdf)),
59 extended_(isExtendedHelper(pdf_.get(),
extended))
64 <<
"in RooAbsL ctor: p.d.f. provides expected number of events, including extended term in likelihood."
108 N_events_(
other.N_events_),
109 N_components_(
other.N_components_),
110 extended_(
other.extended_),
111 sim_count_(
other.sim_count_)
116 if ((
pdf_.use_count() > 1) && (
data_.use_count() > 1)) {
132 if (
pdf_->getAttribute(
"BinnedLikelihood")) {
133 pdf_->setAttribute(
"BinnedLikelihoodActive");
141 normSet_ = std::make_unique<RooArgSet>();
176 <<
realReal->getMin() <<
") is smaller than that of " << arg->GetName()
177 <<
" in the dataset (" <<
datReal->getMin() <<
")" << std::endl;
184 <<
"RooAbsL: ERROR maximum of FUNC observable " << arg->GetName() <<
" is larger than that of "
185 << arg->GetName() <<
" in the dataset" << std::endl;
230 data_->setDirtyProp(
false);
235 return std::unique_ptr<RooArgSet>{
pdf_->getParameters(*
data_)};
240 std::string output(
"likelihood of pdf ");
241 output.append(
pdf_->GetName());
247 std::string output(
"likelihood of pdf ");
248 output.append(
pdf_->GetTitle());
254 return static_cast<std::size_t
>(
data_->numEntries());
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Abstract base class for binned and unbinned datasets.
Abstract interface for all probability density functions.
virtual ExtendMode extendMode() const
Returns ability of PDF to provide extended likelihood terms.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
static void softAbort()
Soft abort function that interrupts macro execution but doesn't kill ROOT.
Convenience wrapper class used to distinguish between pdf/data owning and non-owning constructors.
std::shared_ptr< RooAbsData > data_
static bool isExtendedHelper(RooAbsPdf *pdf, Extended extended)
virtual std::string GetName() const
virtual std::string GetTitle() const
std::unique_ptr< RooArgSet > normSet_
Pointer to set with observables used for normalization.
void initClones(RooAbsPdf &inpdf, RooAbsData &indata)
virtual std::unique_ptr< RooArgSet > getParameters()
RooAbsL(std::shared_ptr< RooAbsPdf > pdf, std::shared_ptr< RooAbsData > data, std::size_t N_events, std::size_t N_components, Extended extended)
After handling cloning (or not) of the pdf and dataset, the public constructors call this private con...
virtual std::size_t numDataEntries() const
Number of dataset entries.
std::shared_ptr< RooAbsPdf > pdf_
Variable that can be changed from the outside.
const char * GetName() const override
Returns name of object.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...