library: libRooFit
#include "RooAbsArg.h"

RooAbsArg


class description - header file - source file - inheritance tree (.pdf)

class RooAbsArg : public TNamed, public RooPrintable

Inheritance Chart:
TObject
<-
TNamed
RooPrintable
<-
RooAbsArg
<-
RooAbsCategory
<-
RooAbsCategoryLValue
<-
RooCategory
RooSuperCategory
RooGenCategory
RooMappedCategory
RooMultiCategory
RooThresholdCategory
RooAbsReal
<-
RooAbsGoodnessOfFit
 [more...]
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

    private:
void setShapeDirty(const RooAbsArg* source) const void setValueDirty(const RooAbsArg* source) const protected:
void addServer(RooAbsArg& server, Bool_t valueProp = kTRUE, Bool_t shapeProp = kFALSE) void addServerList(RooAbsCollection& serverList, Bool_t valueProp = kTRUE, Bool_t shapeProp = kFALSE) virtual void attachToTree(TTree& t, Int_t bufSize = 32000) void changeServer(RooAbsArg& server, Bool_t valueProp, Bool_t shapeProp) TString cleanBranchName() const void clearShapeDirty() const void clearValueDirty() const virtual void copyCache(const RooAbsArg* source) UInt_t crc32(const char* data) const virtual void fillTreeBranch(TTree& t) RooAbsArg* findNewServer(const RooAbsCollection& newSet, Bool_t nameChange) const virtual void getObservablesHook(const RooArgSet*, RooArgSet*) const virtual void getParametersHook(const RooArgSet*, RooArgSet*) const RooAbsProxy* getProxy(Int_t index) const Bool_t isShapeDirty() const virtual Bool_t isValid() const Bool_t isValueDirty() const Int_t numProxies() const RooAbsArg::OperMode operMode() const virtual void operModeHook() void printAttribList(ostream& os) const Bool_t recursiveRedirectServers(const RooAbsCollection& newServerList, Bool_t mustReplaceAll = kFALSE, Bool_t nameChange = kFALSE) Bool_t redirectServers(const RooAbsCollection& newServerList, Bool_t mustReplaceAll = kFALSE, Bool_t nameChange = kFALSE, Bool_t isRecursionStep = kFALSE) virtual Bool_t redirectServersHook(const RooAbsCollection&, Bool_t, Bool_t, Bool_t) void registerProxy(RooArgProxy& proxy) void registerProxy(RooSetProxy& proxy) void registerProxy(RooListProxy& proxy) void removeServer(RooAbsArg& server, Bool_t force = kFALSE) void replaceServer(RooAbsArg& oldServer, RooAbsArg& newServer, Bool_t valueProp, Bool_t shapeProp) virtual void serverNameChangeHook(const RooAbsArg*, const RooAbsArg*) void setOperMode(RooAbsArg::OperMode mode, Bool_t recurseADirty = kTRUE) void setProxyNormSet(const RooArgSet* nset) void setShapeDirty() const virtual void setTreeBranchStatus(TTree& t, Bool_t active) void setValueDirty() const virtual void syncCache(const RooArgSet* nset = 0) void unRegisterProxy(RooArgProxy& proxy) void unRegisterProxy(RooSetProxy& proxy) void unRegisterProxy(RooListProxy& proxy) public:
virtual ~RooAbsArg() void attachDataSet(const RooAbsData& set) TIterator* attribIterator() const void branchNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0) const Bool_t checkDependents(const RooArgSet* nset) const virtual Bool_t checkObservables(const RooArgSet* nset) const static TClass* Class() TIterator* clientIterator() const virtual TObject* clone(const char* newname) const virtual TObject* Clone(const char* newname = "0") const virtual Int_t Compare(const TObject* other) const virtual void constOptimize(RooAbsArg::ConstOpCode opcode) static void copyList(TList& dest, const TList& source) virtual RooAbsArg* createFundamental(const char* newname = "0") const Bool_t deleteWatch() const Bool_t dependentOverlaps(const RooAbsData* dset, const RooAbsArg& testArg) const Bool_t dependentOverlaps(const RooArgSet* depList, const RooAbsArg& testArg) const Bool_t dependsOn(const RooAbsCollection& serverList, const RooAbsArg* ignoreArg = 0) const Bool_t dependsOn(const RooAbsArg& server, const RooAbsArg* ignoreArg = 0) const RooAbsArg* findServer(const char* name) const RooAbsArg* findServer(const RooAbsArg& arg) const RooAbsArg* findServer(Int_t index) const Bool_t getAttribute(const Text_t* name) const RooLinkedList getCloningAncestors() const RooArgSet* getComponents() const RooArgSet* getDependents(const RooArgSet& set) const RooArgSet* getDependents(const RooAbsData* set) const RooArgSet* getDependents(const RooArgSet* depList) const RooArgSet* getObservables(const RooArgSet& set) const RooArgSet* getObservables(const RooAbsData* data) const RooArgSet* getObservables(const RooAbsData& data) const virtual RooArgSet* getObservables(const RooArgSet* depList) const RooArgSet* getParameters(const RooAbsData* data) const RooArgSet* getParameters(const RooAbsData& data) const RooArgSet* getParameters(const RooArgSet& set) const virtual RooArgSet* getParameters(const RooArgSet* depList) const RooArgSet* getVariables() const virtual Bool_t hasRange(const char*) const virtual Bool_t inRange(const char*) const virtual TClass* IsA() const Bool_t isCloneOf(const RooAbsArg& other) const Bool_t isConstant() const virtual Bool_t isDerived() const virtual Bool_t isFundamental() const virtual Bool_t isLValue() const Bool_t isShapeServer(const RooAbsArg& arg) const Bool_t isShapeServer(const char* name) const virtual Bool_t IsSortable() const Bool_t isValueServer(const RooAbsArg& arg) const Bool_t isValueServer(const char* name) const void leafNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0) const static void nameFieldLength(Int_t newLen) Bool_t observableOverlaps(const RooAbsData* dset, const RooAbsArg& testArg) const Bool_t observableOverlaps(const RooArgSet* depList, const RooAbsArg& testArg) const virtual Bool_t operator==(const RooAbsArg& other) Bool_t overlaps(const RooAbsArg& testArg) const virtual void Print(Option_t* options = "0") const void printCompactTree(const char* indent = "", const char* fileName = "0", const char* namePat = "0") void printCompactTree(ostream& os, const char* indent = "", const char* namePat = "0") virtual void printCompactTreeHook(ostream& os, const char* ind = "") void printDirty(Bool_t depth = kTRUE) const virtual void printToStream(ostream& os, RooPrintable::PrintOption opt = Standard, TString indent = ) const virtual Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose = kFALSE) Bool_t recursiveCheckDependents(const RooArgSet* nset) const Bool_t recursiveCheckObservables(const RooArgSet* nset) const TIterator* serverIterator() const void setAttribute(const Text_t* name, Bool_t value = kTRUE) void setDeleteWatch(Bool_t flag = kTRUE) static void setDirtyInhibit(Bool_t flag) TIterator* shapeClientIterator() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) void treeNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0, Bool_t doBranch = kTRUE, Bool_t doLeaf = kTRUE, Bool_t valueOnly = kFALSE) const TIterator* valueClientIterator() const static void verboseDirty(Bool_t flag) virtual void writeToStream(ostream& os, Bool_t compact) const

Data Members

    private:
Bool_t _valueDirty Flag set if value needs recalculating because input values modified Bool_t _shapeDirty Flag set if value needs recalculating because input shapes modified RooAbsArg::OperMode _operMode Dirty state propagation mode protected:
RooRefCountList _serverList ! list of server objects RooRefCountList _clientList ! list of client objects RooRefCountList _clientListShape ! subset of clients that requested shape dirty flag propagation RooRefCountList _clientListValue ! subset of clients that requested value dirty flag propagation TList _proxyList ! list of proxies TIterator* _clientShapeIter ! Iterator over _clientListShape TIterator* _clientValueIter ! Iterator over _clientListValue THashList _attribList List of string attributes static Bool_t _verboseDirty Static flag controlling verbose messaging for dirty state changes static Bool_t _inhibitDirty Static flag controlling global inhibit of dirty state propagation Bool_t _deleteWatch ! Delete watch flag static Int_t _nameLength public:
static const RooAbsArg::ConstOpCode Activate static const RooAbsArg::ConstOpCode DeActivate static const RooAbsArg::ConstOpCode ConfigChange static const RooAbsArg::ConstOpCode ValueChange static const RooAbsArg::OperMode Auto static const RooAbsArg::OperMode AClean static const RooAbsArg::OperMode ADirty

Class Description

~RooAbsArg()
 Destructor notifies its servers that they no longer need to serve us and
 notifies its clients that they are now in limbo (!)
Bool_t isCloneOf(const RooAbsArg& other)
 Check if this object was created as a clone of 'other'
void setAttribute(const Text_t* name, Bool_t value)
 Set (default) or clear a named boolean attribute of this object.
Bool_t getAttribute(const Text_t* name)
 Check if a named attribute is set. By default, all attributes
 are unset.
void addServer(RooAbsArg& server, Bool_t valueProp, Bool_t shapeProp)
 Register another RooAbsArg as a server to us, ie, declare that
 we depend on it. In addition to the basic client-server relationship,
 we can declare dependence on the server's value and/or shape.
void addServerList(RooAbsCollection& serverList, Bool_t valueProp, Bool_t shapeProp)
 Register a list of RooAbsArg as servers to us by calls addServer() for each
 arg in the list
void removeServer(RooAbsArg& server, Bool_t force)
 Unregister another RooAbsArg as a server to us, ie, declare that
 we no longer depend on its value and shape.
void replaceServer(RooAbsArg& oldServer, RooAbsArg& newServer, Bool_t propValue, Bool_t propShape)
void changeServer(RooAbsArg& server, Bool_t valueProp, Bool_t shapeProp)
 Change dirty flag propagation mask for specified server
void leafNodeServerList(RooAbsCollection* list, const RooAbsArg* arg)
 Fill supplied list with all leaf nodes of the arg tree, starting with
 ourself as top node. A leaf node is node that has no servers declared.
void branchNodeServerList(RooAbsCollection* list, const RooAbsArg* arg)
 Fill supplied list with all branch nodes of the arg tree starting with
 ourself as top node. A branch node is node that has one or more servers declared.
void treeNodeServerList(RooAbsCollection* list, const RooAbsArg* arg, Bool_t doBranch, Bool_t doLeaf, Bool_t valueOnly)
 Fill supplied list with nodes of the arg tree, following all server links,
 starting with ourself as top node.
RooArgSet* getParameters(const RooAbsData* set)
 Create a list of leaf nodes in the arg tree starting with
 ourself as top node that don't match any of the names of the variable list
 of the supplied data set (the dependents). The caller of this
 function is responsible for deleting the returned argset.
 The complement of this function is getObservables()
RooArgSet* getParameters(const RooArgSet* nset)
 Create a list of leaf nodes in the arg tree starting with
 ourself as top node that don't match any of the names the args in the
 supplied argset. The caller of this function is responsible
 for deleting the returned argset. The complement of this function
 is getObservables()
RooArgSet* getObservables(const RooAbsData* set)
 Create a list of leaf nodes in the arg tree starting with
 ourself as top node that match any of the names of the variable list
 of the supplied data set (the dependents). The caller of this
 function is responsible for deleting the returned argset.
 The complement of this function is getObservables()
RooArgSet* getObservables(const RooArgSet* dataList)
 Create a list of leaf nodes in the arg tree starting with
 ourself as top node that match any of the names the args in the
 supplied argset. The caller of this function is responsible
 for deleting the returned argset. The complement of this function
 is getObservables()
RooArgSet* getComponents()
Bool_t checkObservables(const RooArgSet*)
 Overloadable function in which derived classes can implement
 consistency checks of the variables. If this function returns
 true, indicating an error, the fitter or generator will abort.
Bool_t recursiveCheckObservables(const RooArgSet* nset)
Bool_t dependsOn(const RooAbsCollection& serverList, const RooAbsArg* ignoreArg)
 Test whether we depend on (ie, are served by) any object in the
 specified collection. Uses the dependsOn(RooAbsArg&) member function.
Bool_t dependsOn(const RooAbsArg& testArg, const RooAbsArg* ignoreArg)
 Test whether we depend on (ie, are served by) the specified object.
 Note that RooAbsArg objects are considered equivalent if they have
 the same name.
Bool_t overlaps(const RooAbsArg& testArg)
 Test if any of the nodes of tree are shared with that of the given tree
Bool_t observableOverlaps(const RooAbsData* dset, const RooAbsArg& testArg)
 Test if any of the dependents of the arg tree (as determined by getObservables)
 overlaps with those of the testArg.
Bool_t observableOverlaps(const RooArgSet* nset, const RooAbsArg& testArg)
 Test if any of the dependents of the arg tree (as determined by getObservables)
 overlaps with those of the testArg.
void setValueDirty(const RooAbsArg* source)
 Mark this object as having changed its value, and propagate this status
 change to all of our clients. If the object is not in automatic dirty
 state propagation mode, this call has no effect
void setShapeDirty(const RooAbsArg* source)
 Mark this object as having changed its shape, and propagate this status
 change to all of our clients.
Bool_t redirectServers(const RooAbsCollection& newSet, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursionStep)
 Substitute our servers with those listed in newSet. If nameChange is false, servers and
 and substitutes are matched by name. If nameChange is true, servers are matched to args
 in newSet that have the 'ORIGNAME:<servername>' attribute set. If mustReplaceAll is set,
 a warning is printed and error status is returned if not all servers could be sucessfully
 substituted.
RooAbsArg * findNewServer(const RooAbsCollection &newSet, Bool_t nameChange)
 Find the new server in the specified set that matches the old server.
 Allow a name change if nameChange is kTRUE, in which case the new
 server is selected by searching for a new server with an attribute
 of "ORIGNAME:<oldName>". Return zero if there is not a unique match.
Bool_t recursiveRedirectServers(const RooAbsCollection& newSet, Bool_t mustReplaceAll, Bool_t nameChange)
 Cyclic recursion protection
void registerProxy(RooArgProxy& proxy)
 Register an RooArgProxy in the proxy list. This function is called by owned
 proxies upon creation. After registration, this arg wil forward pointer
 changes from serverRedirects and updates in cached normalization sets
 to the proxies immediately after they occur. The proxied argument is
 also added as value and/or shape server
cout << " registerProxy(" << GetName() << ")
void unRegisterProxy(RooArgProxy& proxy)
 Remove proxy from proxy list. This functions is called by owned proxies
 upon their destruction.
void registerProxy(RooSetProxy& proxy)
 Register an RooSetProxy in the proxy list. This function is called by owned
 proxies upon creation. After registration, this arg wil forward pointer
 changes from serverRedirects and updates in cached normalization sets
 to the proxies immediately after they occur.
void unRegisterProxy(RooSetProxy& proxy)
 Remove proxy from proxy list. This functions is called by owned proxies
 upon their destruction.
void unRegisterProxy(RooListProxy& proxy)
 Remove proxy from proxy list. This functions is called by owned proxies
 upon their destruction.
RooAbsProxy* getProxy(Int_t index)
 Return the nth proxy from the proxy list.
Int_t numProxies()
 Return the number of registered proxies.
void setProxyNormSet(const RooArgSet* nset)
 Forward a change in the cached normalization argset
 to all the registered proxies.
void attachToTree(TTree& ,Int_t)
 Overloadable function for derived classes to implement
 attachment as branch to a TTree
Bool_t isValid()
 WVE (08/21/01) Probably obsolete now
void copyList(TList& dest, const TList& source)
 WVE (08/21/01) Probably obsolete now
void printToStream(ostream& os, PrintOption opt, TString indent)
 Print the state of this object to the specified output stream.

  OneLine : use RooPrintable::oneLinePrint()
 Standard : use virtual writeToStream() method in non-compact mode
  Verbose : list dirty flags,attributes, clients, servers, and proxies

 Subclasses will normally call this method first in their implementation,
 and then add any additional state of their own with the Shape or Verbose
 options.
void printAttribList(ostream& os)
 Print the attribute list
void attachDataSet(const RooAbsData &data)
 Replace server nodes with names matching the dataset variable names
 with those data set variables, making this PDF directly dependent on the dataset
   recursiveRedirectServers(*data.get(),kFALSE);
   return ;
Int_t Compare(const TObject* other)
 Utility function used by TCollection::Sort to compare contained TObjects
 We implement comparison by name, resulting in alphabetical sorting by object name.
void printDirty(Bool_t depth)
 Print information about current value dirty state information.
 If depth flag is true, information is recursively printed for
 all nodes in this arg tree.
void constOptimize(ConstOpCode opcode)
 Default implementation -- forward to all servers
void setOperMode(OperMode mode, Bool_t recurseADirty)
 Prevent recursion loops
void printCompactTree(const char* indent, const char* filename, const char* namePat)
void printCompactTree(ostream& os, const char* indent, const char* namePat)
TString cleanBranchName()
 Construct a mangled name from the actual name that
 is free of any math symbols that might be interpreted by TTree
UInt_t crc32(const char* data)
 Calculate and extract length of string
void printCompactTreeHook(ostream&, const char *)
RooArgSet* getVariables()
RooLinkedList getCloningAncestors()
 Return ancestors in cloning chain of this RooAbsArg. NOTE: Returned pointers
 are not guaranteed to be 'live', so do not dereference without proper caution
TObject* clone(const char* newname)
TObject* Clone(const char* newname=0)
Bool_t isDerived()
 Accessors to client-server relation information
TIterator* clientIterator()
TIterator* valueClientIterator()
TIterator* shapeClientIterator()
TIterator* serverIterator()
RooAbsArg* findServer(const char *name)
RooAbsArg* findServer(const RooAbsArg& arg)
RooAbsArg* findServer(Int_t index)
Bool_t isValueServer(const RooAbsArg& arg)
Bool_t isValueServer(const char* name)
Bool_t isShapeServer(const RooAbsArg& arg)
Bool_t isShapeServer(const char* name)
Bool_t isFundamental()
 Is this object a fundamental type that can be added to a dataset?
 Fundamental-type subclasses override this method to return kTRUE.
 Note that this test is subtlely different from the dynamic isDerived()
 test, e.g. a constant is not derived but is also not fundamental.
Bool_t isLValue()
 Is this argument an l-value, ie, can it appear on the left-hand side
 of an assignment expression? LValues are also special since they can
 potentially be analytically integrated and generated.
RooArgSet* getParameters(const RooAbsData* data)
RooArgSet* getParameters(const RooAbsData& data)
RooArgSet* getObservables(const RooArgSet& set)
RooArgSet* getObservables(const RooAbsData* data)
RooArgSet* getDependents(const RooArgSet& set)
 --- Obsolete functions for backward compatibility
RooArgSet* getDependents(const RooAbsData* set)
RooArgSet* getDependents(const RooArgSet* depList)
Bool_t dependentOverlaps(const RooAbsData* dset, const RooAbsArg& testArg)
Bool_t dependentOverlaps(const RooArgSet* depList, const RooAbsArg& testArg)
Bool_t checkDependents(const RooArgSet* nset)
Bool_t recursiveCheckDependents(const RooArgSet* nset)
Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose=kFALSE)
 I/O streaming interface (machine readable)
void writeToStream(ostream& os, Bool_t compact)
void Print(Option_t *options= 0)
TIterator* attribIterator()
Bool_t isConstant()
Bool_t IsSortable()
void verboseDirty(Bool_t flag)
Debug hooks
void setDirtyInhibit(Bool_t flag)
Bool_t operator==(const RooAbsArg& other)
void nameFieldLength(Int_t newLen)
 Formatting control
Bool_t inRange(const char*)
 Range management
Bool_t hasRange(const char*)
void setDeleteWatch(Bool_t flag=kTRUE)
Bool_t deleteWatch()
void operModeHook()
OperMode operMode()
Bool_t isShapeDirty()
 Dirty state accessor/modifiers
Bool_t isValueDirty()
void setValueDirty()
void setShapeDirty()
void clearValueDirty()
void clearShapeDirty()
void syncCache(const RooArgSet* nset=0)
void copyCache(const RooAbsArg* source)
void setTreeBranchStatus(TTree& t, Bool_t active)
void fillTreeBranch(TTree& t)

Last update: Tue Jul 11 11:44:57 2006
Copyright (c) 2000-2005, Regents of the University of California *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.