13#ifndef ROOT_ROOFIT_TESTSTATISTICS_RooAbsL
14#define ROOT_ROOFIT_TESTSTATISTICS_RooAbsL
30namespace TestStatistics {
44 RooAbsL(std::shared_ptr<RooAbsPdf> pdf, std::shared_ptr<RooAbsData> data, std::size_t N_events,
45 std::size_t N_components,
Extended extended);
61 throw std::domain_error(
"Invalid input values for section; begin must be >= 0, end <= 1 and begin < end.");
67 std::size_t
begin(std::size_t N_total)
const {
return static_cast<std::size_t
>(N_total *
begin_fraction); }
69 std::size_t
end(std::size_t N_total)
const
107 virtual std::string
GetName()
const;
108 virtual std::string
GetTitle()
const;
129 std::shared_ptr<RooAbsPdf>
pdf_;
The Kahan summation is a compensated summation algorithm, which significantly reduces numerical error...
RooAbsData is the common abstract base class for binned and unbinned datasets.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual double defaultErrorLevel() const
std::shared_ptr< RooAbsData > data_
std::size_t getNComponents() const
std::size_t N_components_
virtual ROOT::Math::KahanSum< double > evaluatePartition(Section events, std::size_t components_begin, std::size_t components_end)=0
virtual ~RooAbsL()=default
static bool isExtendedHelper(RooAbsPdf *pdf, Extended extended)
virtual std::string GetName() const
virtual std::string GetTitle() const
std::unique_ptr< RooArgSet > normSet_
void initClones(RooAbsPdf &inpdf, RooAbsData &indata)
virtual void constOptimizeTestStatistic(RooAbsArg::ConstOpCode opcode, bool doAlsoTrackingOpt)
Interface function signaling a request to perform constant term optimization.
void setSimCount(std::size_t value)
virtual RooArgSet * getParameters()
virtual std::size_t numDataEntries() const
Number of dataset entries.
std::size_t getNEvents() const
std::shared_ptr< RooAbsPdf > pdf_
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Convenience wrapper class used to distinguish between pdf/data owning and non-owning constructors.
A part of some range delimited by two fractional points between 0 and 1 (inclusive).
std::size_t begin(std::size_t N_total) const
Section(const Section §ion)=default
std::size_t end(std::size_t N_total) const
Section(double begin, double end)