13#ifndef RooFit_RooNormalizedPdf_h
14#define RooFit_RooNormalizedPdf_h
22 :
_pdf(
"numerator",
"numerator", this, pdf),
24 "denominator",
"denominator", this,
50 const char *rangeName =
nullptr)
const override
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
void SetName(const char *name) override
Set the name of the TNamed.
virtual double expectedEvents(const RooArgSet *nset) const
Return expected number of events to be used in calculation of extended likelihood.
const char * normRange() const
virtual std::unique_ptr< RooAbsReal > createExpectedEventsFunc(const RooArgSet *nset) const
Returns an object that represents the expected number of events for a given normalization set,...
double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Analytical integral with normalization (see RooAbsReal::analyticalIntegralWN() for further informatio...
double normalizeWithNaNPacking(double rawVal, double normVal) const
virtual ExtendMode extendMode() const
Returns ability of PDF to provide extended likelihood terms.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
virtual Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=nullptr) const
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
RooFit::OwningPtr< RooAbsReal > createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables std::liste...
const RooNumIntConfig * getIntegratorConfig() const
Return the numeric integration configuration used for this object.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
A RooNormalizedPdf wraps a pdf divided by its integral for a given normalization set into a new self-...
double analyticalIntegralWN(Int_t code, const RooArgSet *, const char *rangeName=0) const override
Forward calculation of analytical integrals to input p.d.f.
std::unique_ptr< RooAbsReal > createExpectedEventsFunc(const RooArgSet *) const override
Returns an object that represents the expected number of events for a given normalization set,...
RooRealProxy _normIntegral
RooNormalizedPdf(RooAbsPdf &pdf, RooArgSet const &normSet)
bool selfNormalized() const override
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
double expectedEvents(const RooArgSet *) const override
Return expected number of events to be used in calculation of extended likelihood.
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *, const char *rangeName=nullptr) const override
Forward determination of analytical integration capabilities to input p.d.f.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
bool canComputeBatchWithCuda() const override
RooTemplateProxy< RooAbsPdf > _pdf
void computeBatch(cudaStream_t *, double *output, size_t size, RooFit::Detail::DataMap const &) const override
Base function for computing multiple values of a RooAbsReal.
double getValV(const RooArgSet *) const override
Return current value, normalized by integrating over the observables in nset.
TObject * clone(const char *newname) const override
ExtendMode extendMode() const override
Returns ability of PDF to provide extended likelihood terms.
bool forceAnalyticalInt(const RooAbsArg &) const override
RooNormalizedPdf(const RooNormalizedPdf &other, const char *name)
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
const char * GetName() const override
Returns name of object.
Mother of all ROOT objects.