13#ifndef RooFit_RooFitCore_RooAddHelpers_h
14#define RooFit_RooFitCore_RooAddHelpers_h
25 AddCacheElem(RooAbsPdf
const &addPdf, RooArgList
const &pdfList, RooArgList
const &coefList,
const RooArgSet *nset,
26 const RooArgSet *iset, RooArgSet
const &refCoefNormSet, std::string
const &refCoefNormRange,
31 inline double suppNormVal(std::size_t idx)
const {
return _suppNormList[idx] ? _suppNormList[idx]->getVal() : 1.0; }
33 inline bool doProjection()
const {
return !_projList.empty(); }
35 inline double projVal(std::size_t idx)
const {
return _projList[idx] ? _projList[idx]->getVal() : 1.0; }
37 inline double projSuppNormVal(std::size_t idx)
const
39 return _suppProjList[idx] ? _suppProjList[idx]->getVal() : 1.0;
42 inline double rangeProjScaleFactor(std::size_t idx)
const
44 return _rangeProjList[idx] ? _rangeProjList[idx]->getVal() : 1.0;
50 using OwningArgVector = std::vector<std::unique_ptr<RooAbsReal>>;
52 OwningArgVector _suppNormList;
53 OwningArgVector _projList;
54 OwningArgVector _suppProjList;
55 OwningArgVector _rangeProjList;
60 static void updateCoefficients(RooAbsPdf
const &addPdf, std::size_t nPdfs, std::vector<double> &coefCache,
61 bool haveLastCoef, AddCacheElem &cache,
int &coefErrCount);
Abstract base class for objects to be stored in RooAbsCache cache manager objects.
virtual RooArgList containedArgs(Action)=0
Abstract interface for all probability density functions.
RooArgSet is a container object that can hold multiple RooAbsArg objects.