74 virtual TObject* clone(
const char* newname=0)
const = 0 ;
76 return clone(newname) ;
78 virtual RooAbsArg* cloneTree(
const char* newname=0)
const ;
90 return dependsOn(serverList,ignoreArg,
kTRUE) ;
94 return dependsOn(server,ignoreArg,
kTRUE) ;
102 return _clientList.MakeIterator() ;
106 return _clientListValue.MakeIterator() ;
110 return _clientListShape.MakeIterator() ;
114 return _serverList.MakeIterator() ;
128 return (
RooAbsArg*)_serverList.findArg(&arg);
132 return (
RooAbsArg*)_serverList.At(index);
136 return _clientListValue.findArg(&arg)?
kTRUE:
kFALSE ;
140 return _clientListValue.FindObject(name)?
kTRUE:
kFALSE ;
144 return _clientListShape.findArg(&arg)?
kTRUE:
kFALSE ;
148 return _clientListShape.FindObject(name)?
kTRUE:
kFALSE ;
168 virtual RooAbsArg *createFundamental(
const char* newname=0)
const = 0;
182 friend class RooAddPdfOrig ;
187 return getParameters(&data,stripDisconnected) ;
191 return getParameters(&
set,stripDisconnected) ;
196 return getObservables(&
set,valueOnly) ;
201 return getObservables(&data) ;
225 virtual void writeToStream(std::ostream& os,
Bool_t compact)
const = 0 ;
229 printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
232 virtual void printName(std::ostream& os)
const ;
233 virtual void printTitle(std::ostream& os)
const ;
234 virtual void printClassName(std::ostream& os)
const ;
235 virtual void printAddress(std::ostream& os)
const ;
236 virtual void printArgs(std::ostream& os)
const ;
239 virtual void printTree(std::ostream& os,
TString indent=
"")
const ;
251 void setStringAttribute(
const Text_t* key,
const Text_t* value) ;
252 const Text_t* getStringAttribute(
const Text_t* key)
const ;
255 return _stringAttrib ;
260 Bool_t getTransientAttribute(
const Text_t* name)
const ;
263 return _boolAttribTransient ;
280 static void verboseDirty(
Bool_t flag) ;
283 static void setDirtyInhibit(
Bool_t flag) ;
299 enum ConstOpCode { Activate=0, DeActivate=1, ConfigChange=2, ValueChange=3 } ;
305 virtual void optimizeCacheMode(
const RooArgSet& observables) ;
320 void graphVizTree(
const char* fileName,
const char* delimiter=
"\n",
bool useTitle=
false,
bool useLatex=
false) ;
321 void graphVizTree(std::ostream& os,
const char* delimiter=
"\n",
bool useTitle=
false,
bool useLatex=
false) ;
325 void printComponentTree(
const char* indent=
"",
const char* namePat=0,
Int_t nLevel=999) ;
326 void printCompactTree(
const char* indent=
"",
const char* fileName=0,
const char* namePat=0,
RooAbsArg* client=0) ;
327 void printCompactTree(std::ostream& os,
const char* indent=
"",
const char* namePat=0,
RooAbsArg* client=0) ;
328 virtual void printCompactTreeHook(std::ostream& os,
const char *ind=
"") ;
333 return isDerived()?_shapeDirty:
kFALSE ;
338 if (inhibitDirty())
return kTRUE ;
345 if (_valueDirty)
return isDerived() ;
353 if (inhibitDirty())
return kTRUE ;
373 if (inhibitDirty())
return kTRUE ;
380 if (_valueDirty || _shapeDirty) {
395 Int_t numCaches()
const ;
402 static UInt_t crc32(
const char* data);
405 static const UInt_t fnv1a32start = 2166136261u;
406 static UInt_t fnv1a32(
const char* data);
410 static ULong64_t fnv1a64(
const char* data);
422 void graphVizAddConnections(std::set<std::pair<RooAbsArg*,RooAbsArg*> >&) ;
465 void SetName(
const char* name) ;
466 void SetNameTitle(
const char *name,
const char *title) ;
513 friend class RooObjectFactory ;
516 friend class RooHistFunc2 ;
524 void setProxyNormSet(
const RooArgSet* nset) ;
525 Int_t numProxies()
const ;
532 void printAttribList(std::ostream& os)
const;
596 virtual void ioStreamerPass2() ;
597 static void ioStreamerPass2Finalize() ;
void clearValueDirty() const
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
RooAbsDataStore is the abstract base class for data collection that use a TTree as internal storage m...
TIterator * _clientShapeIter
static std::stack< RooAbsArg * > _ioReadStack
RooExpensiveObjectCache _eocache
Transient ROOT directory representation of workspace.
Class RooProjectedPdf is a RooAbsPdf implementation that represent a projection of a given input p...
void setProhibitServerRedirect(Bool_t flag)
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
RooFIter valueClientMIterator() const
RooExpensiveObjectCache is a singleton class that serves as repository for objects that are expensive...
Bool_t dependentOverlaps(const RooAbsData *dset, const RooAbsArg &testArg) const
RooProdPdf is an efficient implementation of a product of PDFs of the form.
Int_t Compare(const TObject *obj) const
Compare two TCollection objects.
Bool_t dependsOnValue(const RooAbsArg &server, const RooAbsArg *ignoreArg=0) const
const RooArgSet * ownedComponents() const
A RooRefCountList is a RooLinkedList that keeps a reference counter with each added node...
Bool_t isShapeServer(const char *name) const
std::istream & operator>>(std::istream &is, RooAbsArg &arg)
Istream operator.
Bool_t isValueOrShapeDirtyAndClear() const
RooTreeData is the abstract base class for data collection that use a TTree as internal storage mecha...
virtual Bool_t isLValue() const
TIterator * valueClientIterator() const
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
std::set< std::string > _boolAttrib
Bool_t inhibitDirty() const
Delete watch flag.
Bool_t isValueDirtyAndClear() const
RooTreeDataStore is the abstract base class for data collection that use a TTree as internal storage ...
RooAbsCache is the abstract base class for data members of RooAbsArgs that cache other (composite) Ro...
void SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title).
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache.
virtual void optimizeDirtyHook(const RooArgSet *)
Iterator abstract base class.
virtual void getParametersHook(const RooArgSet *, RooArgSet *, Bool_t) const
virtual void syncCache(const RooArgSet *set=0)
RooArgSet * _ownedComponents
void attachToStore(RooAbsDataStore &store)
TIterator * shapeClientIterator() const
virtual Bool_t isValid() const
Check if current value is valid.
RooAbsArg * findServer(const char *name) const
RooRefCountList _clientListValue
const std::set< std::string > & transientAttributes() const
virtual Bool_t inRange(const char *) const
void setValueDirty() const
RooArgSet * getParameters(const RooArgSet &set, Bool_t stripDisconnected=kTRUE) const
std::deque< RooAbsCache * > _cacheList
void clearValueAndShapeDirty() const
RooFIter serverMIterator() const
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects The class perfor...
RooAbsArg * findServer(Int_t index) const
RooRealMPFE is the multi-processor front-end for parallel calculation of RooAbsReal objects...
#define ClassDef(name, id)
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods...
void setWorkspace(RooWorkspace &ws)
The TNamed class is the base class for all named ROOT classes.
RooHistFunc implements a real-valued function sampled from a multidimensional histogram.
RooVectorDataStore is the abstract base class for data collection that use a TTree as internal storag...
RooFIter shapeClientMIterator() const
virtual void Print(Option_t *options=0) const
Print TNamed name and title.
static Bool_t _verboseDirty
virtual Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
RooArgSet * getObservables(const RooAbsData &data) const
static Bool_t _inhibitDirty
const std::map< std::string, std::string > & stringAttributes() const
virtual Bool_t IsSortable() const
RooCompositeDataStore is the abstract base class for data collection that use a TTree as internal sto...
virtual void setCacheAndTrackHints(RooArgSet &)
virtual void operModeHook()
virtual Bool_t isFundamental() const
RooHistPdf implements a probablity density function sampled from a multidimensional histogram...
Bool_t dependentOverlaps(const RooArgSet *depList, const RooAbsArg &testArg) const
virtual Bool_t importWorkspaceHook(RooWorkspace &ws)
Bool_t checkDependents(const RooArgSet *nset) const
virtual const char * cacheUniqueSuffix() const
TString cleanBranchName() const
Construct a mangled name from the actual name that is free of any math symbols that might be interpre...
virtual void serverNameChangeHook(const RooAbsArg *, const RooAbsArg *)
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
Bool_t recursiveCheckDependents(const RooArgSet *nset) const
Bool_t _isConstant
Do not persist. Pointer to global instance of string that matches object named.
RooAbsProxy is the abstact interface for proxy classes.
const std::set< std::string > & attributes() const
RooWorkspace * _myws
Prevent 'AlwaysDirty' mode for this node.
RooArgSet * getDependents(const RooArgSet &set) const
RooRefCountList _clientList
virtual void printMetaArgs(std::ostream &) const
OperMode operMode() const
virtual Bool_t hasRange(const char *) const
RooAbsData is the common abstract base class for binned and unbinned datasets.
RooRefCountList _clientListShape
void SetName(const char *name)
RooDataSet is a container class to hold unbinned data.
virtual void attachToTree(TTree &t, Int_t bufSize=32000)
Attach object to a branch of given TTree.
TIterator * serverIterator() const
RooListProxy is the concrete proxy for RooArgList objects.
Bool_t isValueServer(const char *name) const
Bool_t _localNoInhibitDirty
Cached isConstant status.
virtual void setExpensiveObjectCache(RooExpensiveObjectCache &cache)
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Bool_t hasClients() const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual void attachToVStore(RooVectorDataStore &vstore)
std::map< std::string, std::string > _stringAttrib
unsigned long long ULong64_t
RooArgSet * getDependents(const RooAbsData *set) const
RooRefCountList _serverList
TIterator * _clientValueIter
Iterator over _clientListShape.
std::ostream & operator<<(std::ostream &os, const RooAbsArg &arg)
Bool_t _prohibitServerRedirect
Set of owned component.
Bool_t isValueDirty() const
RooArgSet * getDependents(const RooArgSet *depList) const
Bool_t dependsOnValue(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0) const
Mother of all ROOT objects.
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects...
RooArgProxy is the abstact interface for RooAbsArg proxy classes.
Bool_t isShapeServer(const RooAbsArg &arg) const
RooRefArray(const RooRefArray &other)
Bool_t operator==(const TDatime &d1, const TDatime &d2)
Bool_t isValueServer(const RooAbsArg &arg) const
virtual Bool_t isDerived() const
void setShapeDirty() const
Bool_t localNoDirtyInhibit() const
RooExpensiveObjectCache & expensiveObjectCache()
RooSetProxy is the concrete proxy for RooArgSet objects.
virtual void setTreeBranchStatus(TTree &t, Bool_t active)
(De)Activate associated tree branch
virtual void getObservablesHook(const RooArgSet *, RooArgSet *) const
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
A TTree object has a header with a name and a title.
Bool_t isShapeDirty() const
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
void setLocalNoDirtyInhibit(Bool_t flag) const
static std::map< RooAbsArg *, TRefArray * > _ioEvoList
const RooAbsReal & arg() const
virtual void fillTreeBranch(TTree &t)
Fill the tree branch that associated with this object with its current value.
RooAbsArg * findServer(const RooAbsArg &arg) const
RooArgSet * getParameters(const RooAbsData &data, Bool_t stripDisconnected=kTRUE) const
const char * aggregateCacheUniqueSuffix() const
RooExpensiveObjectCache * _eocache
Prohibit server redirects – Debugging tool.
std::set< std::string > _boolAttribTransient
void clearShapeDirty() const
Bool_t isConstant() const
const TNamed * namePtr() const
The RooWorkspace is a persistable container for RooFit projects.
virtual CacheMode canNodeBeCached() const
RooMinuit is a wrapper class around TFitter/TMinuit that provides a seamless interface between the MI...
TIterator * clientIterator() const