13#ifndef RooFit_RooNormalizedPdf_h
14#define RooFit_RooNormalizedPdf_h
22 :
_pdf(
"numerator",
"numerator", this, pdf),
45 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)
Set the name of the TNamed.
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return expected number of events to be used in calculation of extended likelihood.
double normalizeWithNaNPacking(double rawVal, double normVal) const
virtual ExtendMode extendMode() const
Returns ability of PDF to provide extended likelihood terms.
virtual Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=0) const
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
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 listed in ...
virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
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-...
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.
Bool_t forceAnalyticalInt(const RooAbsArg &) const override
RooArgSet const & _normSet
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_t analyticalIntegralWN(Int_t code, const RooArgSet *, const char *rangeName=0) const override
Forward calculation of analytical integrals to input p.d.f.
Double_t expectedEvents(const RooArgSet *nset) const override
Return expected number of events to be used in calculation of extended likelihood.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
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.
RooNormalizedPdf(const RooNormalizedPdf &other, const char *name)
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual const char * GetName() const
Returns name of object.
Mother of all ROOT objects.
static void output(int code)