75 #if (__GNUC__==3&&__GNUC_MINOR__==2&&__GNUC_PATCHLEVEL__==3)    99   _prohibitServerRedirect(
kFALSE),
   103   _localNoInhibitDirty(
kFALSE)
   170   Bool_t valueProp, shapeProp ;
   171   while ((server = sIter.
next())) {
   204   while ((client=clientIter.
next())) {
   206     TString attr(
"ServerDied:");
   215    cxcoutD(
Tracing) << 
"RooAbsArg::dtor(" << 
GetName() << 
"," << 
this << 
") DeleteWatch: object is being destroyed" << endl ;
   220              << client->
GetName() << 
"\" should have been deleted first" << endl ;
   259      other.getAttribute(
Form(
"CloneOf(%lx)",(
ULong_t)
this))) ;
   269   if(
string(
"Constant")==name) {
   276     set<string>::iterator iter = 
_boolAttrib.find(name) ;
   315   map<string,string>::const_iterator iter = 
_stringAttrib.find(key) ;
   317     return iter->second.c_str() ;
   366             << 
"): PROHIBITED SERVER ADDITION REQUESTED: adding server " << server.
GetName()
   367             << 
"(" << &server << 
") for " << (valueProp?
"value ":
"") << (shapeProp?
"shape":
"") << endl ;
   372           << 
"(" << &server << 
") for " << (valueProp?
"value ":
"") << (shapeProp?
"shape":
"") << endl ;
   402   while ((arg=iter.
next())) {
   416     cxcoutF(
LinkStateMgmt) << 
"RooAbsArg::addServer(" << 
this << 
"," << 
GetName() << 
"): PROHIBITED SERVER REMOVAL REQUESTED: removing server "   417             << server.
GetName() << 
"(" << &server << 
")" << endl ;
   423             << server.
GetName() << 
"(" << &server << 
")" << endl ;
   451     addServer(newServer, propValue, propShape);
   463     << server.
GetName() << 
" not registered" << endl ;
   470           << server.
GetName() << 
" doesn't have us registered as client" << endl ;
   528   if ((doBranch&&doLeaf) ||
   540     while ((server=sIter.
next())) {
   544       if (valueOnly && !isValueSrv) {
   577   while((server=siter.
next())) {
   580    if (!nset || !server->
dependsOn(*nset)) {
   581      nodeParamServers.
add(*server) ;
   584    nodeBranchServers.
add(*server) ;
   593   params.
add(nodeParamServers,
kTRUE) ;
   597   while((server=biter.
next())) {
   650   if (!dataList) 
return depList ;
   653   RooArgSet leafList(
"leafNodeServerList") ;
   660     while ((arg=sIter.
next())) {
   666     while ((arg=sIter.
next())) {
   694   name.Append(
"_components") ;
   726   while((arg=iter.
next())) {
   729             << arg->
GetName() << 
" no longer exists!" << endl ;
   751   while ((server=sIter.
next())) {
   752     if (
dependsOn(*server,ignoreArg,valueOnly)) {
   767   if (
this==ignoreArg) 
return kFALSE ;
   786   while ((server=sIter.
next())) {
   789       if (server->
dependsOn(testArg,ignoreArg,valueOnly)) {
   855   } 
else if (source==
this) {
   858           << 
"): cyclical dependency detected, source = " << source->
GetName() << endl ;
   866             << 
"): dirty flag " << (
_valueDirty?
"already ":
"") << 
"raised" << endl ;
   874   while ((client=clientValueIter.
next())) {
   890             << 
"): dirty flag " << (
_shapeDirty?
"already ":
"") << 
"raised" << endl ;
   901   } 
else if (source==
this) {
   904     << 
"): cyclical dependency detected" << endl ;
   913   while ((client=clientShapeIter.
next())) {
   943     while((arg=iter.
next())) {
   945       if (
string(
"REMOVAL_DUMMY")==arg->
GetName()) {
   969   RooLinkedList origServerList, origServerValue, origServerShape ;
   972   while ((oldServer=sIter.
next())) {
   973     origServerList.
Add(oldServer) ;
   977       origServerValue.
Add(oldServer) ;
   980       origServerShape.
Add(oldServer) ;
   986   Bool_t propValue, propShape ;
   987   while ((oldServer=sIter.
next())) {
   993               << 
" redirected from " << oldServer << 
" to " << newServer << endl ;
   997       if (mustReplaceAll) {
   999                 << 
" (" << (
void*)oldServer << 
") not redirected" << (nameChange?
"[nameChange]":
"") << endl ;
  1008     if (newServer != 
this) {
  1023     allReplaced &= ret2 ;
  1026   if (mustReplaceAll && !allReplaced) {
  1028           << 
"): ERROR, some proxies could not be adjusted" << endl ;
  1055     newServer = newSet.
find(*
this) ;
  1060     TString nameAttrib(
"ORIGNAME:") ;
  1061     nameAttrib.Append(
GetName()) ;
  1075               << nameAttrib << 
" attribute" << endl ;
  1081       newServer= tmp->
first();
  1100   static std::set<const RooAbsArg*> callStack;
  1102     std::set<const RooAbsArg*>::iterator it = callStack.lower_bound(
this);
  1103     if (it != callStack.end() && 
this == *it) {
  1106       callStack.insert(it, 
this);
  1119   cxcoutD(
LinkStateMgmt) << 
"RooAbsArg::recursiveRedirectServers(" << 
this << 
"," << 
GetName() << 
") newSet = " << newSet << 
" mustReplaceAll = "  1120           << (mustReplaceAll?
"T":
"F") << 
" nameChange = " << (nameChange?
"T":
"F") << 
" recurseInNewSet = " << (recurseInNewSet?
"T":
"F") << endl ;
  1128   while((server=sIter.
next())) {
  1132   callStack.erase(
this);
  1151           << 
" already registered" << endl ;
  1192           << proxy.
GetName() << 
" already registered" << endl ;
  1225           << proxy.
GetName() << 
" already registered" << endl ;
  1233     cout << 
"RooAbsArg::registerProxy(" << 
GetName() << 
") proxy registration failure! nold=" << nProxyOld << 
" nnew=" << 
_proxyList.
GetEntries() << endl ;
  1296         << 
"): Cannot be attached to a TTree" << endl ;
  1337   os << IsA()->GetName() ;
  1387   os << indent << 
"--- RooAbsArg ---" << endl;
  1389   os << indent << 
"  Value State: " ;
  1391   case ADirty: os << 
"FORCED DIRTY" ; break ;
  1392   case AClean: os << 
"FORCED clean" ; break ;
  1396      << indent << 
"  Shape State: " << (
isShapeDirty() ? 
"DIRTY":
"clean") << endl;
  1398   os << indent << 
"  Attributes: " ;
  1402   os << indent << 
"  Address: " << (
void*)
this << endl;
  1404   os << indent << 
"  Clients: " << endl;
  1407   while ((client=clientIter.
next())) {
  1408     os << indent << 
"    (" << (
void*)client  << 
","  1416   os << indent << 
"  Servers: " << endl;
  1419   while ((server=serverIter.
next())) {
  1420     os << indent << 
"    (" << (
void*)server << 
","  1428   os << indent << 
"  Proxies: " << endl ;
  1433       os << indent << 
"    " << proxy->
name() << 
" -> " ;
  1438    os << 
" (empty)" << endl ; ;
  1441       os << indent << 
"    " << proxy->
name() << 
" -> " ;
  1443       TString moreIndent(indent) ;
  1444       moreIndent.Append(
"    ") ;
  1483   set<string>::const_iterator iter = 
_boolAttrib.begin() ;
  1486     os << (first?
" [":
",") << *iter ;
  1490   if (!first) os << 
"] " ;
  1505   while((branch=iter.
next())) {
  1524   while((branch=iter.
next())) {
  1555     while((branch=bIter.
next())) {
  1562     case AClean: cout << 
"FORCED clean" ; break ;
  1563     case ADirty: cout << 
"FORCED DIRTY" ; break ;
  1585   coutI(
Optimization) << 
"RooAbsArg::optimizeCacheMode(" << 
GetName() << 
") nodes " << opt << 
" depend on observables, "  1586          << 
"changing cache operation mode from change tracking to unconditional evaluation" << endl ;
  1607   if (processedNodes.
findArg(
this)) {
  1610     processedNodes.
Add(
this) ;
  1616     if (dynamic_cast<RooRealIntegral*>(
this)) {
  1617       cxcoutI(
Integration) << 
"RooAbsArg::optimizeCacheMode(" << 
GetName() << 
") integral depends on value of one or more observables and will be evaluated for every event" << endl ;
  1634   while((server=sIter.
next())) {
  1651          << cacheList << 
" depend exclusively on constant parameters and will be precalculated and cached" << endl ;
  1670   if (processedNodes.
findArg(
this)) {
  1673     processedNodes.
Add(
this) ;
  1681   while((param = iter.
next())) {
  1716     while((server=sIter.
next())) {
  1743   while((server=sIter.
next())) {
  1767   if (mode==
ADirty && recurseADirty) {
  1770     while((client=iter.
next())) {
  1786     ofstream ofs(filename) ;
  1802   if ( !namePat || TString(
GetName()).Contains(namePat)) {
  1803     os << indent << this ;
  1811     os << IsA()->GetName() << 
"::" << 
GetName() <<  
" = " ;
  1816       case Auto:   os << 
" [Auto," << (
isValueDirty()?
"Dirty":
"Clean") << 
"] "  ; break ;
  1817       case AClean: os << 
" [ACLEAN] " ; break ;
  1818       case ADirty: os << 
" [ADIRTY] " ; break ;
  1829   TString indent2(indent) ;
  1833   while((arg=iter.
next())) {
  1853   if ( !namePat || TString(
GetName()).Contains(namePat)) {
  1858   TString indent2(indent) ;
  1862   while((arg=iter.
next())) {
  1875   TString rawBranchName = 
GetName() ;
  1880   TString cleanName(rawBranchName) ;
  1881   cleanName.ReplaceAll(
"/",
"D") ;
  1882   cleanName.ReplaceAll(
"-",
"M") ;
  1883   cleanName.ReplaceAll(
"+",
"P") ;
  1884   cleanName.ReplaceAll(
"*",
"X") ;
  1885   cleanName.ReplaceAll(
"[",
"L") ;
  1886   cleanName.ReplaceAll(
"]",
"R") ;
  1887   cleanName.ReplaceAll(
"(",
"L") ;
  1888   cleanName.ReplaceAll(
")",
"R") ;
  1889   cleanName.ReplaceAll(
"{",
"L") ;
  1890   cleanName.ReplaceAll(
"}",
"R") ;
  1892   if (cleanName.Length()<=60) 
return cleanName ;
  1895   static char buf[1024] ;
  1896   strlcpy(buf,cleanName.Data(),1024) ;
  1897   snprintf(buf+46,1024-46,
"_CRC%08x",
crc32(cleanName.Data())) ;
  1899   return TString(buf) ;
  1909   unsigned long sz = strlen(data);
  1910   switch (strlen(data)) {
  1916       return (data[0] << 8) | data[1];
  1918       return (data[0] << 16) | (data[1] << 8) | data[2];
  1920       return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3];
  1922       return crc32(data + 4, sz - 4, (data[0] << 24) | (data[1] << 16) |
  1923      (data[2] << 8) | data[3]);
  1933   static const UInt_t crctab[256] = { 0x00000000,
  1934     0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
  1935     0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,
  1936     0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
  1937     0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac,
  1938     0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,
  1939     0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,
  1940     0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
  1941     0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,
  1942     0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,
  1943     0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,
  1944     0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
  1945     0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,
  1946     0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,
  1947     0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5,
  1948     0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
  1949     0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,
  1950     0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c,
  1951     0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,
  1952     0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
  1953     0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,
  1954     0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,
  1955     0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,
  1956     0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
  1957     0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f,
  1958     0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,
  1959     0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,
  1960     0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
  1961     0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a,
  1962     0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,
  1963     0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,
  1964     0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
  1965     0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,
  1966     0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,
  1967     0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8,
  1968     0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
  1969     0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2,
  1970     0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,
  1971     0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74,
  1972     0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
  1973     0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,
  1974     0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a,
  1975     0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087,
  1976     0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
  1977     0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,
  1978     0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,
  1979     0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,
  1980     0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
  1981     0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,
  1982     0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,
  1983     0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,
  1984     0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
  1988   while (sz--) crc = (crc << 8) ^ UInt_t(*data++) ^ crctab[crc >> 24];
  1996   return fnv1a32(data, strlen(data));
  2002   const UInt_t fnv1a32mult = 16777619u;
  2005     hash *= fnv1a32mult;
  2013   return fnv1a64(data, strlen(data));
  2022     hash *= fnv1a64mult;
  2096   set<string>::const_iterator iter= 
_boolAttrib.begin() ;
  2098     if (TString(*iter).BeginsWith(
"CloneOf(")) {
  2100       strlcpy(buf,iter->c_str(),128) ;
  2102       char* ptrToken = strtok(0,
")") ;
  2121   ofstream ofs(fileName) ;
  2123     coutE(
InputArguments) << 
"RooAbsArg::graphVizTree() ERROR: Cannot open graphViz output file with name " << fileName << endl ;
  2138     coutE(
InputArguments) << 
"RooAbsArg::graphVizTree() ERROR: output stream provided as input argument is in invalid state" << endl ;
  2142   os << 
"digraph " << 
GetName() << 
"{" << endl ;
  2151   while((node=iter.
next())) {
  2152     string nodeName = node->
GetName();
  2153     string nodeTitle = node->
GetTitle();
  2154     string nodeLabel = (useTitle && !nodeTitle.empty()) ? nodeTitle : nodeName;
  2157     string::size_type position = nodeLabel.find(
"#") ;
  2158     while(useLatex && position!=nodeLabel.npos){
  2159       nodeLabel.replace(position, 1, 
"\\");
  2162     string typeFormat = 
"\\texttt{";
  2163     string nodeType = (useLatex) ? typeFormat+node->IsA()->
GetName()+
"}" : node->IsA()->
GetName();
  2165     os << 
"\"" << nodeName << 
"\" [ color=" << (node->
isFundamental()?
"blue":
"red")
  2166        << 
", label=\"" << nodeType << delimiter << nodeLabel << 
"\"];" << endl ;
  2171   set<pair<RooAbsArg*,RooAbsArg*> > links ;
  2175   set<pair<RooAbsArg*,RooAbsArg*> >::iterator liter = links.begin() ;
  2176   for( ; liter != links.end() ; ++liter ) {
  2177     os << 
"\"" << liter->first->GetName() << 
"\" -> \"" << liter->second->GetName() << 
"\";" << endl ;
  2194   while((server=sIter.
next())) {
  2195     linkSet.insert(make_pair(
this,server)) ;
  2306   clonedNodes->
remove(*head) ;
  2313   delete clonedNodes ;
  2317     head->TNamed::SetName(newname) ;
  2331   if (dynamic_cast<RooTreeDataStore*>(&store)) {
  2333   } 
else if (dynamic_cast<RooVectorDataStore*>(&store)) {
  2362   while((arg=iter.
next())) {
  2364     if (tmp) suffix += tmp ;
  2366   return Form(
"%s",suffix.c_str()) ;
  2378   while((arg=iter.
next())) {
  2380     for (deque<RooAbsCache*>::iterator iter2 = arg->
_cacheList.begin() ; iter2 != arg->
_cacheList.end() ; ++iter2) {
  2381       (*iter2)->wireCache() ;
  2421 void RooAbsArg::Streamer(
TBuffer &R__b)
  2449   map<RooAbsArg*,TRefArray*>::iterator iter = 
_ioEvoList.find(
this) ;
  2453     for (
int i=0 ; i < iter->second->GetEntries() ; i++) {
  2457     delete iter->second ;
  2477   map<RooAbsArg*,TRefArray*>::iterator iter = 
_ioEvoList.begin() ;
  2481     for (
int i=0 ; i < iter->second->GetEntries() ; i++) {
  2482       iter->first->_proxyList.Add(iter->second->At(i)) ;
  2486     map<RooAbsArg*,TRefArray*>::iterator iter_tmp = iter ;
  2491     delete iter_tmp->second ;
  2502 void RooRefArray::Streamer(
TBuffer &R__b)
  2511       refArray->Streamer(R__b) ;
  2515       RooAbsArg::_ioEvoList[RooAbsArg::_ioReadStack.top()] = refArray ;
  2524      TObject* tmpObj ; 
while ((tmpObj = iter->
Next())) { 
  2525        refArray.
Add(tmpObj) ; 
  2529      refArray.Streamer(R__b) ;
 void setAttribute(const Text_t *name, Bool_t value=kTRUE)
Set (default) or clear a named boolean attribute of this object. 
 
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree) 
 
virtual void Add(TObject *arg)
 
virtual const char * GetName() const
Returns name of object. 
 
virtual RooAbsArg * cloneTree(const char *newname=0) const
Clone tree expression of objects. 
 
Int_t numCaches() const
Return number of registered caches. 
 
virtual void findConstantNodes(const RooArgSet &, RooArgSet &, RooLinkedList &)
Interface for constant term node finding calls. 
 
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'. 
 
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list. 
 
void unRegisterProxy(RooArgProxy &proxy)
Remove proxy from proxy list. 
 
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...
 
RooAbsDataStore is the abstract base class for data collection that use a TTree as internal storage m...
 
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
 
TIterator * _clientShapeIter
 
virtual Bool_t RemoveAll(TObject *obj)
Remove object from list and delete object itself regardless of reference count. 
 
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
 
static std::stack< RooAbsArg * > _ioReadStack
 
virtual const char * name() 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. 
 
void sort(Bool_t ascend=kTRUE)
 
RooAbsCache * getCache(Int_t index) const
Return registered cache object by index. 
 
void graphVizTree(const char *fileName, const char *delimiter="\, bool useTitle=false, bool useLatex=false)
Create a GraphViz .dot file visualizing the expression tree headed by this RooAbsArg object...
 
static void ioStreamerPass2Finalize()
Method called by workspace container to finalize schema evolution issues that cannot be handled in a ...
 
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
 
virtual void operModeHook()
Interface for operation mode changes. 
 
virtual void optimizeCacheMode(const RooArgSet &observables)
Activate cache mode optimization with given definition of observables. 
 
virtual const RooArgSet * get() const
 
void printAttribList(std::ostream &os) const
Transient boolean attributes (not copied in ctor) 
 
RooFIter valueClientMIterator() const
 
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...
 
void setHashTableSize(Int_t size)
Change the threshold for hash-table use to given size. 
 
RooExpensiveObjectCache is a singleton class that serves as repository for objects that are expensive...
 
friend std::ostream & operator<<(std::ostream &os, const RooAbsArg &arg)
 
A RooRefCountList is a RooLinkedList that keeps a reference counter with each added node...
 
void registerProxy(RooArgProxy &proxy)
Register an RooArgProxy in the proxy list. 
 
virtual void SetName(const char *name)
Set the name of the TNamed. 
 
Buffer base class used for serializing objects. 
 
virtual void printClassName(std::ostream &os) const
Print object class name. 
 
virtual Int_t defaultPrintContents(Option_t *opt) const
Define default contents to print. 
 
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
 
virtual TObject * Remove(TObject *obj)
Remove object from array. 
 
Int_t refCount(TObject *obj)
Return reference count associated with 'obj'. 
 
virtual const RooArgSet * get(Int_t index) const =0
 
RooAbsArg()
Default constructor. 
 
virtual void printValue(std::ostream &os) const
Interface to print value of object. 
 
virtual Bool_t isLValue() const
 
RooFIter fwdIterator() const
 
std::set< std::string > _boolAttrib
 
Int_t getHashTableSize() const
 
Bool_t inhibitDirty() const
Delete watch flag. 
 
An array of references to TObjects. 
 
void setProxyNormSet(const RooArgSet *nset)
Forward a change in the cached normalization argset to all the registered proxies. 
 
Bool_t addOwnedComponents(const RooArgSet &comps)
Take ownership of the contents of 'comps'. 
 
RooTreeDataStore is the abstract base class for data collection that use a TTree as internal storage ...
 
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
 
TObject * At(Int_t idx) const
 
void replaceServer(RooAbsArg &oldServer, RooAbsArg &newServer, Bool_t valueProp, Bool_t shapeProp)
Replace 'oldServer' with 'newServer'. 
 
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 SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title). 
 
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...
 
Iterator abstract base class. 
 
Bool_t isCloneOf(const RooAbsArg &other) const
Check if this object was created as a clone of 'other'. 
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f. 
 
virtual void getParametersHook(const RooArgSet *, RooArgSet *, Bool_t) const
 
void attachToStore(RooAbsDataStore &store)
 
RooArgSet * _ownedComponents
 
RooAbsArg * findServer(const char *name) const
 
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. 
 
void setValueDirty() const
 
RooAbsArg * findNewServer(const RooAbsCollection &newSet, Bool_t nameChange) const
Find the new server in the specified set that matches the old server. 
 
void setStringAttribute(const Text_t *key, const Text_t *value)
Associate string 'value' to this object under key 'key'. 
 
virtual const char * ClassName() const
Returns name of class to which the object belongs. 
 
std::deque< RooAbsCache * > _cacheList
 
RooFIter serverMIterator() 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...
 
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. 
 
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods...
 
RooLinkedList getCloningAncestors() const
Return ancestors in cloning chain of this RooAbsArg. 
 
virtual void printName(std::ostream &os) const
Print object name. 
 
virtual Bool_t changePointer(const RooAbsCollection &newServerSet, Bool_t nameChange=kFALSE, Bool_t factoryInitMode=kFALSE)=0
 
The TNamed class is the base class for all named ROOT classes. 
 
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name. 
 
RooVectorDataStore is the abstract base class for data collection that use a TTree as internal storag...
 
virtual void attachToVStore(RooVectorDataStore &vstore)=0
 
virtual void Print(Option_t *options=0) const
Print TNamed name and title. 
 
RooAbsCollection * selectByAttrib(const char *name, Bool_t value) const
Create a subset of the current collection, consisting only of those elements with the specified attri...
 
friend std::istream & operator>>(std::istream &is, RooAbsArg &arg)
Istream operator. 
 
Int_t Compare(const TObject *other) const
Utility function used by TCollection::Sort to compare contained TObjects We implement comparison by n...
 
if on multiple lines(like in C++). **The " * configuration fragment. * * The "import myobject continue
Parses the configuration file. 
 
static Bool_t _verboseDirty
 
virtual Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
Interface for server redirect calls. 
 
virtual Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
 
RooConstVar represent a constant real-valued object. 
 
static Bool_t _inhibitDirty
 
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself. 
 
Bool_t isShapeServer() const
 
TString operator+(const TString &s1, const TString &s2)
Use the special concatenation constructor. 
 
virtual void operModeHook()
 
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. 
 
static ULong64_t fnv1a64(const char *data)
 
static void verboseDirty(Bool_t flag)
Activate verbose messaging related to dirty flag propagation. 
 
virtual Bool_t isFundamental() const
 
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 printCompactTreeHook(std::ostream &, const char *)
Interface for printing of cache guts in tree mode printing. 
 
static RooNameReg & instance()
Return reference to singleton instance. 
 
Bool_t getAttribute(const Text_t *name) const
Check if a named attribute is set. By default, all attributes are unset. 
 
virtual void Add(TObject *arg)
 
void graphVizAddConnections(std::set< std::pair< RooAbsArg *, RooAbsArg *> > &)
Utility function that inserts all point-to-point client-server connections between any two RooAbsArgs...
 
void unRegisterCache(RooAbsCache &cache)
Unregister a RooAbsCache. Called from the RooAbsCache destructor. 
 
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...
 
void setTransientAttribute(const Text_t *name, Bool_t value=kTRUE)
Set (default) or clear a named boolean attribute of this object. 
 
RooExpensiveObjectCache & expensiveObjectCache() const
 
RooAbsArg * first() 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. 
 
virtual ~RooAbsArg()
Destructor. 
 
Bool_t recursiveCheckObservables(const RooArgSet *nset) const
Recursively call checkObservables on all nodes in the expression tree. 
 
RooArgSet * getComponents() const
 
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...
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname". 
 
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)
Set the name of the TNamed. 
 
const Text_t * getStringAttribute(const Text_t *key) const
Get string attribute mapped under key 'key'. 
 
char * Form(const char *fmt,...)
 
virtual void printAddress(std::ostream &os) const
Print class name of object. 
 
RooRefCountList _clientList
 
static UInt_t crc32(const char *data)
 
RooAbsArg * absArg() const
 
void attachDataStore(const RooAbsDataStore &set)
Replace server nodes with names matching the dataset variable names with those data set variables...
 
virtual Bool_t addOwned(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling addOwned() for each element in the source...
 
virtual void printMetaArgs(std::ostream &) const
 
virtual void changeNormSet(const RooArgSet *newNormSet)
Destructor. 
 
OperMode operMode() const
 
Bool_t isValueServer() const
 
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
 
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Implement multi-line detailed printing. 
 
RooAbsData is the common abstract base class for binned and unbinned datasets. 
 
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. 
 
void addParameters(RooArgSet ¶ms, const RooArgSet *nset=0, Bool_t stripDisconnected=kTRUE) const
INTERNAL helper function for getParameters() 
 
static RooExpensiveObjectCache & instance()
Return reference to singleton instance. 
 
virtual void writeToStream(std::ostream &os, Bool_t compact) const =0
 
RooListProxy is the concrete proxy for RooArgList objects. 
 
static void setDirtyInhibit(Bool_t flag)
Control global dirty inhibit mode. 
 
virtual void printArgs(std::ostream &os) const
Print object arguments, ie its proxies. 
 
virtual Bool_t Remove(TObject *obj)
Remove object from list and if reference count reaches zero delete object itself as well...
 
Bool_t _localNoInhibitDirty
Cached isConstant status. 
 
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
 
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
 
void printDirty(Bool_t depth=kTRUE) const
Print information about current value dirty state information. 
 
virtual Bool_t isValid() const
WVE (08/21/01) Probably obsolete now. 
 
RooAbsArg * find(const char *name) const
Find object with given name in list. 
 
RooFIter fwdIterator() const
 
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...
 
std::map< std::string, std::string > _stringAttrib
 
unsigned long long ULong64_t
 
virtual Bool_t checkObservables(const RooArgSet *nset) const
Overloadable function in which derived classes can implement consistency checks of the variables...
 
RooRefCountList _serverList
 
TIterator * _clientValueIter
Iterator over _clientListShape. 
 
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. 
 
const char * GetName() const
Returns name of object. 
 
Bool_t isValueDirty() const
 
RooAbsProxy * getProxy(Int_t index) const
Return the nth proxy from the proxy list. 
 
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...
 
Int_t numProxies() const
Return the number of registered proxies. 
 
virtual Bool_t remove(const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
Remove the specified argument from our list. 
 
RooArgProxy is the abstact interface for RooAbsArg proxy classes. 
 
Bool_t isShapeServer(const RooAbsArg &arg) const
 
virtual void printTitle(std::ostream &os) const
Print object title. 
 
Bool_t isValueServer(const RooAbsArg &arg) const
 
virtual Bool_t isDerived() const
 
Bool_t getTransientAttribute(const Text_t *name) const
Check if a named attribute is set. 
 
void setShapeDirty() const
 
TIterator * MakeIterator(Bool_t dir=kTRUE) const
Return an iterator over this list. 
 
virtual void optimizeCacheMode(const RooArgSet &, RooArgSet &, RooLinkedList &)
Interface for processing of cache mode optimization calls. 
 
virtual void constOptimizeTestStatistic(ConstOpCode opcode, Bool_t doAlsoTrackingOpt=kTRUE)
Interface function signaling a request to perform constant term optimization. 
 
virtual TObject * Next()=0
 
const TNamed * constPtr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string. 
 
RooSetProxy is the concrete proxy for RooArgSet objects. 
 
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE)
Change cache operation mode to given mode. 
 
Int_t GetEntries() const
Return the number of objects in array (i.e. 
 
RooAbsArg * findArg(const RooAbsArg *) const
Return pointer to object with given name in collection. 
 
virtual void printTree(std::ostream &os, TString indent="") const
Print object tree structure. 
 
Bool_t isShapeDirty() const
 
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
 
static std::map< RooAbsArg *, TRefArray * > _ioEvoList
 
virtual void Compress()
Remove empty slots from array. 
 
virtual const char * GetName() const
Returns name of object. 
 
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. 
 
const char * aggregateCacheUniqueSuffix() const
 
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...
 
virtual void print(std::ostream &os, Bool_t addContents=kFALSE) const
Print proxy name. 
 
RooExpensiveObjectCache * _eocache
Prohibit server redirects – Debugging tool. 
 
std::set< std::string > _boolAttribTransient
 
static UInt_t fnv1a32(const char *data)
 
Bool_t isConstant() const
 
const TNamed * namePtr() const
 
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
 
virtual const char * GetTitle() const
Returns title of object.