ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooCacheManager<vector<double> >

class RooCacheManager<vector<double> >: public RooAbsCache



Template class RooCacheManager manages the storage of any type of data indexed on the choice of normalization and optionally the set of integrated observables. The purpose of this class is to faciliate storage of intermediate results in operator p.d.f.s whose value and inner working are often highly dependent on the user provided choice of normalization in getVal(). For efficiency reasons these normalization set pointer are derefenced as little as possible. This class contains a lookup table for RooArgSet pointer pairs -> normalization lists. Distinct pointer pairs that represent the same normalization/projection are recognized and will all point to the same normalization list. Lists for up to 'maxSize' different normalization/ projection configurations can be cached.


Function Members (Methods)

public:
virtual~RooCacheManager<vector<double,allocator<double> > >()
Int_tcacheSize() const
static TClass*Class()
virtual voidRooAbsCache::findConstantNodes(const RooArgSet&, RooArgSet&, RooLinkedList&)
vector<double,allocator<double> >*getObj(const RooArgSet* nset, Int_t* sterileIndex = 0, const TNamed* isetRangeName = 0)
vector<double,allocator<double> >*getObj(const RooArgSet* nset, const RooArgSet* iset, Int_t* sterileIdx, const char* isetRangeName)
vector<double,allocator<double> >*getObj(const RooArgSet* nset, const RooArgSet* iset, Int_t* sterileIdx = 0, const TNamed* isetRangeName = 0)
vector<double,allocator<double> >*getObjByIndex(Int_t index) const
virtual voidinsertObjectHook(vector<double,allocator<double> >&)
virtual TClass*IsA() const
Int_tlastIndex() const
const RooNameSet*nameSet1ByIndex(Int_t index) const
const RooNameSet*nameSet2ByIndex(Int_t index) const
RooCacheManager<vector<double,allocator<double> > >&operator=(const RooCacheManager<vector<double,allocator<double> > >&)
virtual voidoperModeHook()
virtual voidRooAbsCache::optimizeCacheMode(const RooArgSet&, RooArgSet&, RooLinkedList&)
virtual voidprintCompactTreeHook(ostream&, const char*)
virtual Bool_tredirectServersHook(const RooAbsCollection&, Bool_t, Bool_t, Bool_t)
voidreset()
RooCacheManager<vector<double,allocator<double> > >(Int_t maxSize = 2)
RooCacheManager<vector<double,allocator<double> > >(RooAbsArg* owner, Int_t maxSize = 2)
RooCacheManager<vector<double,allocator<double> > >(const RooCacheManager<vector<double,allocator<double> > >& other, RooAbsArg* owner = 0)
Int_tsetObj(const RooArgSet* nset, vector<double,allocator<double> >* obj, const TNamed* isetRangeName = 0)
Int_tsetObj(const RooArgSet* nset, const RooArgSet* iset, vector<double,allocator<double> >* obj, const TNamed* isetRangeName = 0)
virtual voidShowMembers(TMemberInspector&)
virtual voidsterilize()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidwireCache()

Data Members

protected:
Int_t_lastIndex! Last slot accessed
Int_t_maxSize! Maximum size
vector<RooNormSetCache>_nsetCache! Normalization/Integration set manager
vector<vector<double,allocator<double> >*>_object! Payload
RooAbsArg*RooAbsCache::_ownerPointer to owning RooAbsArg
Int_t_size! Actual use
Bool_t_wired! In wired mode, there is a single payload which is returned always

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

T* getObj(const RooArgSet* nset, Int_t* sterileIndex = 0, const TNamed* isetRangeName = 0)
 Getter function without integration set
return getObj(nset,0,sterileIndex,isetRangeName)
Int_t setObj(const RooArgSet* nset, vector<double,allocator<double> >* obj, const TNamed* isetRangeName = 0)
 Setter function without integration set
return setObj(const RooArgSet* nset, const RooArgSet* iset, vector<double,allocator<double> >* obj, const TNamed* isetRangeName = 0)
T* getObj(const RooArgSet* nset, const RooArgSet* iset, Int_t* sterileIdx, const char* isetRangeName)
void reset()
void sterilize()
Int_t lastIndex() const
 Return index of slot used in last get or set operation
Int_t cacheSize() const
 Return size of cache
Bool_t redirectServersHook(const RooAbsCollection& , Bool_t , Bool_t , Bool_t )
 Interface function to intercept server redirects
void operModeHook()
 Interface function to intercept cache operation mode changes
void printCompactTreeHook(ostream& , const char* )
 Interface function to cache add contents to output in tree printing mode
T* getObjByIndex(Int_t index) const
const RooNameSet* nameSet1ByIndex(Int_t index) const
const RooNameSet* nameSet2ByIndex(Int_t index) const
void insertObjectHook(vector<double,allocator<double> >& )
 Interface function to perform post-insert operations on cached object
void wireCache()