16#ifndef ROO_OBJ_CACHE_MANAGER
17#define ROO_OBJ_CACHE_MANAGER
int Int_t
Signed integer 4 bytes (int).
#define ClassDefOverride(name, id)
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for objects to be stored in RooAbsCache cache manager objects.
Abstract container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooCacheManager(Int_t maxSize=2)
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
void operModeHook() override
Intercept changes to cache operation mode and forward to cache elements.
static void doClearObsList(bool flag)
RooObjCacheManager(RooAbsArg *owner=nullptr, Int_t maxSize=2, bool clearCacheOnServerRedirect=true, bool allowOptimize=false)
Constructor of object cache manager for given owner.
~RooObjCacheManager() override
Destructor.
void insertObjectHook(RooAbsCacheElement &) override
Set owner link on all object inserted into cache.
void printCompactTreeHook(std::ostream &, const char *) override
Add details on cache contents when printing in tree mode.
static bool clearObsList()
bool redirectServersHook(const RooAbsCollection &, bool, bool, bool) override
Intercept server redirect calls.
static bool _clearObsList
Clear obslist on sterilize?
void setClearOnRedirect(bool flag)
void findConstantNodes(const RooArgSet &, RooArgSet &, RooLinkedList &) override
If clearOnRedirect is false, forward constant term optimization calls to cache elements.
RooArgSet * _optCacheObservables
! current optCacheObservables
void sterilize() override
Clear the cache payload but retain slot mapping w.r.t to normalization and integration sets.
void optimizeCacheMode(const RooArgSet &, RooArgSet &, RooLinkedList &) override
Intercept calls to perform automatic optimization of cache mode operation.