72 RooAbsArg(
const char *name,
const char *title);
74 virtual TObject*
clone(
const char* newname=0)
const = 0 ;
76 return clone(newname) ;
232 virtual void printName(std::ostream& os)
const ;
233 virtual void printTitle(std::ostream& os)
const ;
236 virtual void printArgs(std::ostream& os)
const ;
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) ;
405 static const UInt_t fnv1a32start = 2166136261u;
463 void SetName(
const char* name) ;
464 void SetNameTitle(
const char *name,
const char *title) ;
virtual void printMetaArgs(std::ostream &) const
void setAttribute(const Text_t *name, Bool_t value=kTRUE)
Set (default) or clear a named boolean attribute of this object.
virtual TObject * clone(const char *newname=0) const =0
const std::set< std::string > & attributes() const
void unRegisterProxy(RooArgProxy &proxy)
Remove proxy from proxy list.
const char * aggregateCacheUniqueSuffix() const
void setShapeDirty() const
TIterator * _clientShapeIter
TIterator * valueClientIterator() const
Bool_t checkDependents(const RooArgSet *nset) const
virtual Bool_t isDerived() const
static std::stack< RooAbsArg * > _ioReadStack
TIterator * serverIterator() const
virtual void getParametersHook(const RooArgSet *, RooArgSet *, Bool_t) const
void setProhibitServerRedirect(Bool_t flag)
static void ioStreamerPass2Finalize()
Method called by workspace container to finalize schema evolution issues that cannot be handled in a ...
friend class RooAddPdfOrig
virtual void printClassName(std::ostream &os) const
Print object class name.
virtual void optimizeCacheMode(const RooArgSet &observables)
Activate cache mode optimization with given definition of observables.
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
TString cleanBranchName() const
Construct a mangled name from the actual name that is free of any math symbols that might be interpre...
void printAttribList(std::ostream &os) const
Transient boolean attributes (not copied in ctor)
friend std::ostream & operator<<(std::ostream &os, const RooAbsArg &arg)
Bool_t isValueOrShapeDirtyAndClear() const
void registerProxy(RooArgProxy &proxy)
Register an RooArgProxy in the proxy list.
virtual const char * cacheUniqueSuffix() const
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
Bool_t recursiveCheckDependents(const RooArgSet *nset) const
void addParameters(RooArgSet ¶ms, const RooArgSet *nset=0, Bool_t stripDisconnected=kTRUE) const
INTERNAL helper function for getParameters()
virtual Bool_t isFundamental() const
std::istream & operator>>(std::istream &is, RooAbsArg &arg)
Istream operator.
virtual RooAbsArg * cloneTree(const char *newname=0) const
Clone tree expression of objects.
Bool_t getTransientAttribute(const Text_t *name) const
Check if a named attribute is set.
RooFIter shapeClientMIterator() const
RooAbsArg * findServer(Int_t index) const
RooAbsArg * findArg(const RooAbsArg *) const
Return pointer to object with given name in collection.
RooAbsArg()
Default constructor.
void leafNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with all leaf nodes of the arg tree, starting with ourself as top node...
std::set< std::string > _boolAttrib
virtual void printTree(std::ostream &os, TString indent="") const
Print object tree structure.
virtual void fillTreeBranch(TTree &t)=0
void setProxyNormSet(const RooArgSet *nset)
Forward a change in the cached normalization argset to all the registered proxies.
Bool_t localNoDirtyInhibit() const
Bool_t addOwnedComponents(const RooArgSet &comps)
Take ownership of the contents of 'comps'.
Bool_t isValueDirtyAndClear() const
RooAbsArg * findServer(const RooAbsArg &arg) const
const std::set< std::string > & transientAttributes() const
RooExpensiveObjectCache & expensiveObjectCache() const
void replaceServer(RooAbsArg &oldServer, RooAbsArg &newServer, Bool_t valueProp, Bool_t shapeProp)
Replace 'oldServer' with 'newServer'.
RooAbsProxy * getProxy(Int_t index) const
Return the nth proxy from the proxy list.
RooArgSet * getDependents(const RooArgSet *depList) const
Bool_t getAttribute(const Text_t *name) const
Check if a named attribute is set. By default, all attributes are unset.
void SetNameTitle(const char *name, const char *title)
Change (i.e. set) all the TNamed parameters (name and title).
virtual StyleOption defaultPrintStyle(Option_t *opt) const
virtual Bool_t readFromStream(std::istream &is, Bool_t compact, Bool_t verbose=kFALSE)=0
void attachDataSet(const RooAbsData &set)
Replace server nodes with names matching the dataset variable names with those data set variables...
virtual void getObservablesHook(const RooArgSet *, RooArgSet *) const
virtual void optimizeDirtyHook(const RooArgSet *)
Iterator abstract base class.
const RooAbsReal & arg() const
Bool_t dependentOverlaps(const RooArgSet *depList, const RooAbsArg &testArg) const
void attachToStore(RooAbsDataStore &store)
RooArgSet * _ownedComponents
virtual void attachToTree(TTree &t, Int_t bufSize=32000)=0
Overloadable function for derived classes to implement attachment as branch to a TTree.
RooRefCountList _clientListValue
void registerCache(RooAbsCache &cache)
Register RooAbsCache with this object.
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Implement multi-line detailed printing.
virtual void syncCache(const RooArgSet *nset=0)=0
const Text_t * getStringAttribute(const Text_t *key) const
Get string attribute mapped under key 'key'.
void setStringAttribute(const Text_t *key, const Text_t *value)
Associate string 'value' to this object under key 'key'.
RooArgSet * getDependents(const RooAbsData *set) const
std::deque< RooAbsCache * > _cacheList
#define ClassDef(name, id)
void printCompactTree(const char *indent="", const char *fileName=0, const char *namePat=0, RooAbsArg *client=0)
Print tree structure of expression tree on stdout, or to file if filename is specified.
virtual void Print(Option_t *options=0) const
Print TNamed name and title.
The TNamed class is the base class for all named ROOT classes.
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
Bool_t isShapeDirty() const
virtual void attachToVStore(RooVectorDataStore &vstore)=0
const TNamed * namePtr() const
Bool_t hasClients() const
friend std::istream & operator>>(std::istream &is, RooAbsArg &arg)
Istream operator.
static Bool_t _verboseDirty
virtual Bool_t checkObservables(const RooArgSet *nset) const
Overloadable function in which derived classes can implement consistency checks of the variables...
Int_t numCaches() const
Return number of registered caches.
virtual Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
Bool_t dependsOnValue(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0) const
TIterator * MakeIterator(Bool_t dir=kTRUE) const
Return an iterator over this list.
static Bool_t _inhibitDirty
void graphVizTree(const char *fileName, const char *delimiter="\n", bool useTitle=false, bool useLatex=false)
Create a GraphViz .dot file visualizing the expression tree headed by this RooAbsArg object...
RooArgSet * getObservables(const RooAbsData &data) const
void printDirty(Bool_t depth=kTRUE) const
Print information about current value dirty state information.
virtual Bool_t isIdentical(const RooAbsArg &other, Bool_t assumeSameType=kFALSE)=0
void clearShapeDirty() const
virtual void setCacheAndTrackHints(RooArgSet &)
virtual RooAbsArg * createFundamental(const char *newname=0) const =0
virtual void operModeHook()
RooArgSet * getParameters(const RooAbsData *data, Bool_t stripDisconnected=kTRUE) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
virtual void printAddress(std::ostream &os) const
Print class name of object.
static ULong64_t fnv1a64(const char *data)
static void verboseDirty(Bool_t flag)
Activate verbose messaging related to dirty flag propagation.
virtual void setTreeBranchStatus(TTree &t, Bool_t active)=0
void addServerList(RooAbsCollection &serverList, Bool_t valueProp=kTRUE, Bool_t shapeProp=kFALSE)
Register a list of RooAbsArg as servers to us by calls addServer() for each arg in the list...
virtual void printArgs(std::ostream &os) const
Print object arguments, ie its proxies.
void unRegisterCache(RooAbsCache &cache)
Unregister a RooAbsCache. Called from the RooAbsCache destructor.
TIterator * clientIterator() const
virtual void serverNameChangeHook(const RooAbsArg *, const RooAbsArg *)
Int_t numProxies() const
Return the number of registered proxies.
Bool_t isShapeServer(const RooAbsArg &arg) const
void setTransientAttribute(const Text_t *name, Bool_t value=kTRUE)
Set (default) or clear a named boolean attribute of this object.
RooArgSet * getParameters(const RooAbsData &data, Bool_t stripDisconnected=kTRUE) const
Bool_t isShapeServer(const char *name) const
Bool_t _isConstant
Do not persist. Pointer to global instance of string that matches object named.
virtual ~RooAbsArg()
Destructor.
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)=0
void printComponentTree(const char *indent="", const char *namePat=0, Int_t nLevel=999)
Print tree structure of expression tree on given ostream, only branch nodes are printed.
void SetName(const char *name)
Change (i.e.
RooRefCountList _clientList
static UInt_t crc32(const char *data)
virtual void printName(std::ostream &os) const
Print object name.
void attachDataStore(const RooAbsDataStore &set)
Replace server nodes with names matching the dataset variable names with those data set variables...
virtual Bool_t inRange(const char *) const
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
void branchNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with all branch nodes of the arg tree starting with ourself as top node...
RooRefCountList _clientListShape
static void indent(ostringstream &buf, int indent_level)
void changeServer(RooAbsArg &server, Bool_t valueProp, Bool_t shapeProp)
Change dirty flag propagation mask for specified server.
Bool_t dependentOverlaps(const RooAbsData *dset, const RooAbsArg &testArg) const
RooArgSet * getParameters(const RooArgSet &set, Bool_t stripDisconnected=kTRUE) const
virtual void writeToStream(std::ostream &os, Bool_t compact) const =0
virtual Bool_t hasRange(const char *) const
static void setDirtyInhibit(Bool_t flag)
Control global dirty inhibit mode.
Bool_t isConstant() const
Bool_t dependsOnValue(const RooAbsArg &server, const RooAbsArg *ignoreArg=0) const
Int_t Compare(const TObject *other) const
Utility function used by TCollection::Sort to compare contained TObjects We implement comparison by n...
Bool_t _localNoInhibitDirty
Cached isConstant status.
virtual Bool_t IsSortable() const
virtual void setExpensiveObjectCache(RooExpensiveObjectCache &cache)
static std::ostream & defaultPrintStream(std::ostream *os=0)
Return a reference to the current default stream to use in Print().
void treeNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=0, Bool_t doBranch=kTRUE, Bool_t doLeaf=kTRUE, Bool_t valueOnly=kFALSE, Bool_t recurseNonDerived=kFALSE) const
Fill supplied list with nodes of the arg tree, following all server links, starting with ourself as t...
Bool_t overlaps(const RooAbsArg &testArg, Bool_t valueOnly=kFALSE) const
Test if any of the nodes of tree are shared with that of the given tree.
RooArgSet * getDependents(const RooArgSet &set) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooFIter fwdIterator() const
std::map< std::string, std::string > _stringAttrib
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
unsigned long long ULong64_t
RooRefCountList _serverList
TObject * At(Int_t index) const
Return object stored in sequential position given by index.
void setValueDirty() const
TIterator * _clientValueIter
Iterator over _clientListShape.
std::ostream & operator<<(std::ostream &os, const RooAbsArg &arg)
RooFIter serverMIterator() const
friend class RooHistFunc2
virtual CacheMode canNodeBeCached() const
Bool_t findConstantNodes(const RooArgSet &observables, RooArgSet &cacheList)
Find branch nodes with all-constant parameters, and add them to the list of nodes that can be cached ...
Bool_t _prohibitServerRedirect
Set of owned component.
RooArgSet * getComponents() const
RooFIter valueClientMIterator() const
Bool_t isValueServer(const RooAbsArg &arg) const
virtual Bool_t isValid() const
WVE (08/21/01) Probably obsolete now.
Mother of all ROOT objects.
friend class RooObjectFactory
virtual void printTitle(std::ostream &os) const
Print object title.
RooRefArray(const RooRefArray &other)
const std::map< std::string, std::string > & stringAttributes() const
Bool_t observableOverlaps(const RooAbsData *dset, const RooAbsArg &testArg) const
Test if any of the dependents of the arg tree (as determined by getObservables) overlaps with those o...
RooAbsArg * findNewServer(const RooAbsCollection &newSet, Bool_t nameChange) const
Find the new server in the specified set that matches the old server.
virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlsoTrackingOpt=kTRUE)
Interface function signaling a request to perform constant term optimization.
RooLinkedList getCloningAncestors() const
Return ancestors in cloning chain of this RooAbsArg.
OperMode operMode() const
virtual Bool_t importWorkspaceHook(RooWorkspace &)
Bool_t isValueDirty() const
Bool_t dependsOn(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0, Bool_t valueOnly=kFALSE) const
Test whether we depend on (ie, are served by) any object in the specified collection.
Bool_t inhibitDirty() const
Delete watch flag.
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE)
Change cache operation mode to given mode.
virtual Int_t defaultPrintContents(Option_t *opt) const
Define default contents to print.
Bool_t isCloneOf(const RooAbsArg &other) const
Check if this object was created as a clone of 'other'.
TIterator * shapeClientIterator() const
A TTree object has a header with a name and a title.
Bool_t isValueServer(const char *name) const
void clearValueDirty() const
Bool_t recursiveCheckObservables(const RooArgSet *nset) const
Recursively call checkObservables on all nodes in the expression tree.
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
static std::map< RooAbsArg *, TRefArray * > _ioEvoList
void addServer(RooAbsArg &server, Bool_t valueProp=kTRUE, Bool_t shapeProp=kFALSE)
Register another RooAbsArg as a server to us, ie, declare that we depend on it.
Bool_t recursiveRedirectServers(const RooAbsCollection &newServerList, Bool_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t recurseInNewSet=kTRUE)
virtual void printCompactTreeHook(std::ostream &os, const char *ind="")
Hook function interface for object to insert additional information when printed in the context of a ...
virtual void ioStreamerPass2()
Prevent 'AlwaysDirty' mode for this node.
Bool_t redirectServers(const RooAbsCollection &newServerList, Bool_t mustReplaceAll=kFALSE, Bool_t nameChange=kFALSE, Bool_t isRecursionStep=kFALSE)
Iterator over _clientListValue.
void removeServer(RooAbsArg &server, Bool_t force=kFALSE)
Unregister another RooAbsArg as a server to us, ie, declare that we no longer depend on its value and...
RooAbsCache * getCache(Int_t index) const
Return registered cache object by index.
void clearValueAndShapeDirty() const
RooExpensiveObjectCache * _eocache
Prohibit server redirects – Debugging tool.
void setLocalNoDirtyInhibit(Bool_t flag) const
const RooArgSet * ownedComponents() const
std::set< std::string > _boolAttribTransient
static UInt_t fnv1a32(const char *data)
virtual Bool_t isLValue() const
RooAbsArg * findServer(const char *name) const
void graphVizAddConnections(std::set< std::pair< RooAbsArg *, RooAbsArg * > > &)
Utility function that inserts all point-to-point client-server connections between any two RooAbsArgs...
virtual Bool_t operator==(const RooAbsArg &other)=0