#define ClassDefOverride(name, id)
RooAICRegistry is a utility class for operator p.d.f classes that keeps track of analytical integrati...
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager o...
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAddGenContext is an efficient implementation of the generator context specific for RooAddPdf PDFs.
RooArgList _rangeProjList
Range integrals to be multiplied with coefficients (target range)
RooArgList _refRangeProjList
Range integrals to be multiplied with coefficients (reference range)
RooArgList _projList
Projection integrals to be multiplied with coefficients.
RooArgList _suppNormList
Supplemental normalization list.
RooArgList _suppProjList
Projection integrals to be multiplied with coefficients for supplemental normalization terms.
bool _needSupNorm
Does the above list contain any non-unit entries?
RooArgList containedArgs(Action) override
List all RooAbsArg derived contents in this cache element.
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
RooListProxy _coefList
List of coefficients.
RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, bool verbose=false) const override
Return specialized context to efficiently generate toy events from RooAddPdfs return RooAbsPdf::genCo...
RooArgList * _snormList
! List of supplemental normalization factors
bool _allExtendable
Flag indicating if all PDF components are extendable.
RooAICRegistry _codeReg
! Registry of component analytical integration codes
RooFit::UniqueId< RooArgSet >::Value_t _idOfLastUsedNormSet
!
const char * getCoefRange() const
std::pair< const RooArgSet *, CacheElem * > getNormAndCache(const RooArgSet *nset) const
Look up projection cache and per-PDF norm sets.
std::unique_ptr< const RooArgSet > _copyOfLastNormSet
!
TObject * clone(const char *newname) const override
Int_t _coefErrCount
! Coefficient error counter
bool canComputeBatchWithCuda() const override
bool _haveLastCoef
Flag indicating if last PDFs coefficient was supplied in the ctor.
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &numVars, const RooArgSet *normSet, const char *rangeName=0) const override
Determine which part (if any) of given integral can be performed analytically.
void updateCoefficients(CacheElem &cache, const RooArgSet *nset) const
Update the coefficient values in the given cache element: calculate new remainder fraction,...
void printMetaArgs(std::ostream &os) const override
Customized printing of arguments of a RooAddPdf to more intuitively reflect the contents of the produ...
CacheElem * getProjCache(const RooArgSet *nset, const RooArgSet *iset=0, const char *rangeName=0) const
Manager of cache with coefficient projections and transformations.
void selectNormalization(const RooArgSet *depSet=0, bool force=false) override
Interface function used by test statistics to freeze choice of observables for interpretation of frac...
void finalizeConstruction()
void setCacheAndTrackHints(RooArgSet &) override
Label OK'ed components of a RooAddPdf with cache-and-track.
const RooArgList & coefList() const
bool _recursive
Flag indicating is fractions are treated recursively.
RooObjCacheManager _projCacheMgr
bool checkObservables(const RooArgSet *nset) const override
Check if PDF is valid for given normalization set.
void selectNormalizationRange(const char *rangeName=0, bool force=false) override
Interface function used by test statistics to freeze choice of range for interpretation of fraction c...
bool selfNormalized() const override
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
void fixCoefNormalization(const RooArgSet &refCoefNorm)
By default the interpretation of the fraction coefficients is performed in the contextual choice of o...
RooSetProxy _refCoefNorm
Reference observable set for coefficient interpretation.
void resetErrorCounters(Int_t resetValue=10) override
Reset error counter to given value, limiting the number of future error messages for this pdf to 'res...
ExtendMode extendMode() const override
Returns ability of PDF to provide extended likelihood terms.
bool forceAnalyticalInt(const RooAbsArg &) const override
Force RooRealIntegral to offer all observables for internal integration.
double expectedEvents(const RooArgSet *nset) const override
Return expected number of events for extended likelihood calculation, which is the sum of all coeffic...
double getValV(const RooArgSet *set=nullptr) const override
Calculate and return the current value.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
void fixCoefRange(const char *rangeName)
By default, fraction coefficients are assumed to refer to the default fit range.
CacheMode canNodeBeCached() const override
std::list< double > * plotSamplingHint(RooAbsRealLValue &obs, double xlo, double xhi) const override
Loop over components for plot sampling hints and merge them if there are multiple.
RooListProxy _pdfList
List of component PDFs.
TNamed * _refCoefRangeName
Reference range name for coefficient interpreation.
const RooArgList & pdfList() const
void computeBatch(cudaStream_t *, double *output, size_t nEvents, RooFit::Detail::DataMap const &) const override
Compute addition of PDFs in batches.
bool isBinnedDistribution(const RooArgSet &obs) const override
If all components that depend on obs are binned, so is their sum.
bool redirectServersHook(const RooAbsCollection &, bool, bool, bool) override
Function that is called at the end of redirectServers().
double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const override
Return analytical integral defined by given scenario code.
bool _projectCoefs
If true coefficients need to be projected for use in evaluate()
std::vector< double > _coefCache
! Transient cache with transformed values of coefficients
const RooArgSet & getCoefNormalization() const
std::list< double > * binBoundaries(RooAbsRealLValue &, double, double) const override
Loop over components for plot sampling hints and merge them if there are multiple.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooDataSet is a container class to hold unbinned data.
static const char * str(const TNamed *ptr)
Return C++ string corresponding to given TNamed pointer.
Class RooObjCacheManager is an implementation of class RooCacheManager<RooAbsCacheElement> and specia...
The TNamed class is the base class for all named ROOT classes.
Mother of all ROOT objects.
A UniqueId can be added as a class member to enhance any class with a unique identifier for each inst...