41 ClassImp(RooAbsSelfCachedPdf);
48 RooAbsSelfCachedPdf::RooAbsSelfCachedPdf(
const char *name,
const char *title, Int_t ipOrder) :
49 RooAbsCachedPdf(name,title,ipOrder)
58 RooAbsSelfCachedPdf::RooAbsSelfCachedPdf(
const RooAbsSelfCachedPdf& other,
const char* name) :
59 RooAbsCachedPdf(other,name)
68 RooAbsSelfCachedPdf::~RooAbsSelfCachedPdf()
77 void RooAbsSelfCachedPdf::fillCacheObject(RooAbsCachedPdf::PdfCacheElem& cache)
const
79 RooDataHist& cacheHist = *cache.hist() ;
82 RooArgSet* cloneSet = (RooArgSet*) RooArgSet(*this).snapshot(kTRUE) ;
83 RooAbsSelfCachedPdf* clone2 = (RooAbsSelfCachedPdf*) cloneSet->find(GetName()) ;
84 clone2->disableCache(kTRUE) ;
85 clone2->attachDataSet(cacheHist) ;
88 for (Int_t i=0 ; i<cacheHist.numEntries() ; i++) {
89 const RooArgSet* obs = cacheHist.get(i) ;
90 Double_t wgt = clone2->getVal(obs) ;
94 cache.pdf()->setUnitNorm(kTRUE) ;
105 RooArgSet* RooAbsSelfCachedPdf::actualObservables(
const RooArgSet& )
const
108 RooArgSet *serverSet =
new RooArgSet;
110 for (
auto server : _serverList) {
111 serverSet->add(*server) ;
125 RooArgSet* RooAbsSelfCachedPdf::actualParameters(
const RooArgSet& nset)
const
127 RooArgSet *serverSet =
new RooArgSet;
129 for (
auto server : _serverList) {
130 serverSet->add(*server) ;
134 serverSet->remove(nset,kTRUE,kTRUE);