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
52 return _pdf->getAnalyticalIntegralWN(allVars, analVars, &
_normSet, rangeName);
57 return _pdf->analyticalIntegralWN(code, &
_normSet, rangeName);
RooArgSet * _normSet
Pointer to set with observables used for normalization.
RooTemplateProxy< RooAbsReal > RooRealProxy
Compatibility typedef replacing the old RooRealProxy class.
void SetName(const char *name) override
Set the name of the TNamed.
RooAbsArg()
Default constructor.
const char * normRange() const
double normalizeWithNaNPacking(double rawVal, double normVal) const
RooAbsPdf()
Default constructor.
const RooNumIntConfig * getIntegratorConfig() const
Return the numeric integration configuration used for this object.
RooFit::OwningPtr< RooAbsReal > createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
Create an object that represents the integral of the function over one or more observables listed in ...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
A class to maintain the context for squashing of RooFit models into code.
std::unique_ptr< RooAbsReal > createExpectedEventsFunc(const RooArgSet *) const override
Returns an object that represents the expected number of events for a given normalization set,...
void translate(RooFit::Detail::CodeSquashContext &ctx) const override
This function defines a translation for each RooAbsReal based object that can be used to express the ...
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 analyticalIntegralWN(Int_t code, const RooArgSet *, const char *rangeName=nullptr) const override
Forward calculation of analytical integrals 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
void doEval(RooFit::EvalContext &) const override
Base function for computing multiple values of a RooAbsReal.
RooTemplateProxy< RooAbsPdf > _pdf
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.
Mother of all ROOT objects.