library: libRooFit #include "RooAbsArg.h" |
RooAbsArg
class description - header file - source file - inheritance tree (.pdf)
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
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
~RooAbsArg()
Destructor notifies its servers that they no longer need to serve us and
notifies its clients that they are now in limbo (!)
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.
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()
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 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.
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.
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
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.
void setProxyNormSet(const RooArgSet* nset)
Forward a change in the cached normalization argset
to all the registered proxies.
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.
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 printCompactTree(const char* indent, const char* filename, 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
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.
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.