Logo ROOT  
Reference Guide
RooWorkspace.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id: RooWorkspace.h,v 1.3 2007/07/16 21:04:28 wouter Exp $
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_WORKSPACE
17 #define ROO_WORKSPACE
18 
19 #include "RooPrintable.h"
20 #include "RooArgSet.h"
21 #include "RooLinkedList.h"
22 #include "RooCmdArg.h"
23 #include "RooExpensiveObjectCache.h"
24 #include "TUUID.h"
25 #include <map>
26 #include <list>
27 #include <string>
28 #include "ROOT/RMakeUnique.hxx"
29 
30 class TClass ;
31 class RooAbsPdf ;
32 class RooAbsData ;
33 class RooRealVar ;
34 class RooCategory ;
35 class RooAbsReal ;
36 class RooAbsCategory ;
37 class RooFactoryWSTool ;
38 class RooAbsStudy ;
39 
40 #include "TNamed.h"
41 #include "TDirectoryFile.h"
42 
43 class RooWorkspace : public TNamed {
44 public:
45 
46  RooWorkspace() ;
47  RooWorkspace(const char* name, Bool_t doCINTExport) ;
48  RooWorkspace(const char* name, const char* title=0) ;
49  RooWorkspace(const RooWorkspace& other) ;
50  ~RooWorkspace() ;
51 
52  void exportToCint(const char* namespaceName=0) ;
53 
54  Bool_t importClassCode(const char* pat="*", Bool_t doReplace=kFALSE) ;
55  Bool_t importClassCode(TClass* theClass, Bool_t doReplace=kFALSE) ;
56 
57  // Import functions for dataset, functions, generic objects
58  Bool_t import(const RooAbsArg& arg,
59  const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg(),
60  const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooCmdArg(),const RooCmdArg& arg6=RooCmdArg(),
61  const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooCmdArg(),const RooCmdArg& arg9=RooCmdArg()) ;
62  Bool_t import(const RooArgSet& args,
63  const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg(),
64  const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooCmdArg(),const RooCmdArg& arg6=RooCmdArg(),
65  const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooCmdArg(),const RooCmdArg& arg9=RooCmdArg()) ;
66  Bool_t import(RooAbsData& data,
67  const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg(),
68  const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooCmdArg(),const RooCmdArg& arg6=RooCmdArg(),
69  const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooCmdArg(),const RooCmdArg& arg9=RooCmdArg()) ;
70  Bool_t import(const char *fileSpec,
71  const RooCmdArg& arg1=RooCmdArg(),const RooCmdArg& arg2=RooCmdArg(),const RooCmdArg& arg3=RooCmdArg(),
72  const RooCmdArg& arg4=RooCmdArg(),const RooCmdArg& arg5=RooCmdArg(),const RooCmdArg& arg6=RooCmdArg(),
73  const RooCmdArg& arg7=RooCmdArg(),const RooCmdArg& arg8=RooCmdArg(),const RooCmdArg& arg9=RooCmdArg()) ;
74  Bool_t import(TObject& object, Bool_t replaceExisting=kFALSE) ;
75  Bool_t import(TObject& object, const char* aliasName, Bool_t replaceExisting=kFALSE) ;
76 
77  // Transaction management interface for multi-step import operations
81 
82  // Named set management
83  Bool_t defineSet(const char* name, const RooArgSet& aset, Bool_t importMissing=kFALSE) ;
84  Bool_t defineSet(const char* name, const char* contentList) ;
85  Bool_t extendSet(const char* name, const char* newContents) ;
86  Bool_t renameSet(const char* name, const char* newName) ;
87  Bool_t removeSet(const char* name) ;
88  const RooArgSet* set(const char* name) ;
89 
90  // Import, load and save parameter value snapshots
91  Bool_t saveSnapshot(const char* name, const char* paramNames) ;
92  Bool_t saveSnapshot(const char* name, const RooArgSet& params, Bool_t importValues=kFALSE) ;
93  Bool_t loadSnapshot(const char* name) ;
94  const RooArgSet* getSnapshot(const char* name) const ;
95 
96  // Retrieve list of parameter snapshots
98 
99  void merge(const RooWorkspace& /*other*/) {} ;
100 
101  // Join p.d.f.s and datasets for simultaneous analysis
102  // RooAbsPdf* joinPdf(const char* jointPdfName, const char* indexName, const char* inputMapping) ;
103  // RooAbsData* joinData(const char* jointDataName, const char* indexName, const char* inputMapping) ;
104 
105  // Accessor functions
106  RooAbsPdf* pdf(const char* name) const ;
107  RooAbsReal* function(const char* name) const ;
108  RooRealVar* var(const char* name) const ;
109  RooCategory* cat(const char* name) const ;
110  RooAbsCategory* catfunc(const char* name) const ;
111  RooAbsData* data(const char* name) const ;
112  RooAbsData* embeddedData(const char* name) const ;
113  RooAbsArg* arg(const char* name) const ;
114  RooAbsArg* fundArg(const char* name) const ;
115  RooArgSet argSet(const char* nameList) const ;
117  const RooArgSet& components() const { return _allOwnedNodes ; }
118  TObject* genobj(const char* name) const ;
119  TObject* obj(const char* name) const ;
120 
121  // Group accessors
122  RooArgSet allVars() const;
123  RooArgSet allCats() const ;
124  RooArgSet allFunctions() const ;
125  RooArgSet allCatFunctions() const ;
126  RooArgSet allPdfs() const ;
128  std::list<RooAbsData*> allData() const ;
129  std::list<RooAbsData*> allEmbeddedData() const ;
130  std::list<TObject*> allGenericObjects() const ;
131 
132  Bool_t makeDir() ;
133  Bool_t cd(const char* path = 0) ;
134 
135  Bool_t writeToFile(const char* fileName, Bool_t recreate=kTRUE) ;
136 
137  /// Make internal collection use an unordered_map for
138  /// faster searching. Important when large trees are
139  /// imported / or modified in the workspace.
140  /// Note that RooAbsCollection may eventually switch
141  /// this on by itself.
142  void useFindsWithHashLookup(bool flag) {
144  }
145 
146  virtual void RecursiveRemove(TObject *obj);
147 
148  // Tools management
150  RooAbsArg* factory(const char* expr) ;
151 
152  // RooStudyManager modules
153  Bool_t addStudy(RooAbsStudy& study) ;
155  void clearStudies() ;
156 
157  // Print function
158  void Print(Option_t* opts=0) const ;
159 
160  static void autoImportClassCode(Bool_t flag) ;
161 
162  static void addClassDeclImportDir(const char* dir) ;
163  static void addClassImplImportDir(const char* dir) ;
164  static void setClassFileExportDir(const char* dir=0) ;
165 
166  const TUUID& uuid() const { return _uuid ; }
167 
169 
170  class CodeRepo : public TObject {
171  public:
172  CodeRepo(RooWorkspace* wspace=0) : _wspace(wspace), _compiledOK(kTRUE) {} ;
173 
174  CodeRepo(const CodeRepo& other, RooWorkspace* wspace=0) : TObject(other) ,
175  _wspace(wspace?wspace:other._wspace),
176  _c2fmap(other._c2fmap),
177  _fmap(other._fmap),
178  _ehmap(other._ehmap),
179  _compiledOK(other._compiledOK) {} ;
180 
181  virtual ~CodeRepo() {} ;
182 
183  Bool_t autoImportClass(TClass* tc, Bool_t doReplace=kFALSE) ;
185 
186  Bool_t compiledOK() const { return _compiledOK ; }
187 
188  std::string listOfClassNames() const ;
189 
190 
191 
192  class ClassRelInfo {
193  public:
196  } ;
197 
198  class ClassFiles {
199  public:
205  } ;
206 
207 
208  class ExtraHeader {
209  public:
212  } ;
213 
214  protected:
215  RooWorkspace* _wspace ; // owning workspace
216  std::map<TString,ClassRelInfo> _c2fmap ; // List of contained classes
217  std::map<TString,ClassFiles> _fmap ; // List of contained files
218  std::map<TString,ExtraHeader> _ehmap ; // List of extra header files
219  Bool_t _compiledOK ; //! Flag indicating that classes compiled OK
220 
221  ClassDef(CodeRepo,2) ; // Code repository for RooWorkspace
222  } ;
223 
224 
225  class WSDir : public TDirectoryFile {
226  public:
227  WSDir(const char* name, const char* title, RooWorkspace* wspace) :
228  TDirectoryFile(name,title,"RooWorkspace::WSDir",0),
229  _wspace(wspace)
230  {
231  }
232 
233  virtual ~WSDir() { Clear("nodelete") ; } ;
234 
235 
236  virtual void Add(TObject*,Bool_t) ;
237  virtual void Append(TObject*,Bool_t) ;
238 
239  protected:
240  friend class RooWorkspace ;
241  void InternalAppend(TObject* obj) ;
242  RooWorkspace* _wspace ; //! do not persist
243 
244  ClassDef(WSDir,1) ; // TDirectory representation of RooWorkspace
245  } ;
246 
247 
248  private:
249  friend class RooAbsArg;
250  friend class RooAbsPdf;
251  Bool_t defineSetInternal(const char *name, const RooArgSet &aset);
252 
253  Bool_t isValidCPPID(const char *name);
254  void exportObj(TObject *obj);
255  void unExport();
256 
257  friend class CodeRepo;
258  static std::list<std::string> _classDeclDirList;
259  static std::list<std::string> _classImplDirList;
260  static std::string _classFileExportDir;
261 
262  TUUID _uuid; // Unique workspace ID
263 
264  static Bool_t _autoClass; // Automatic import of non-distribution class code
265 
266  CodeRepo _classes; // Repository of embedded class code. This data member _must_ be first
267 
268  RooArgSet _allOwnedNodes; // List of owned pdfs and components
269  RooLinkedList _dataList; // List of owned datasets
270  RooLinkedList _embeddedDataList; // List of owned datasets that are embedded in pdfs
271  RooLinkedList _views; // List of model views
272  RooLinkedList _snapshots; // List of parameter snapshots
273  RooLinkedList _genObjects; // List of generic objects
274  RooLinkedList _studyMods; // List if StudyManager modules
275  std::map<std::string, RooArgSet> _namedSets; // Map of named RooArgSets
276 
277  WSDir *_dir; //! Transient ROOT directory representation of workspace
278 
279  RooExpensiveObjectCache _eocache; // Cache for expensive objects
280 
281  std::unique_ptr<RooFactoryWSTool> _factory; //! Factory tool associated with workspace
282 
283  Bool_t _doExport; //! Export contents of workspace to CINT?
284  std::string _exportNSName; //! Name of CINT namespace to which contents are exported
285 
286  Bool_t _openTrans; //! Is there a transaction open?
287  RooArgSet _sandboxNodes; //! Sandbox for incoming objects in a transaction
288 
289  ClassDef(RooWorkspace, 8) // Persistable project container for (composite) pdfs, functions, variables and datasets
290 } ;
291 
292 #endif
RooWorkspace::data
RooAbsData * data(const char *name) const
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1368
RooWorkspace::WSDir::Append
virtual void Append(TObject *, Bool_t)
Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspac...
Definition: RooWorkspace.cxx:3034
RooLinkedList::MakeIterator
TIterator * MakeIterator(Bool_t forward=kTRUE) const
Create a TIterator for this list.
Definition: RooLinkedList.cxx:731
RooWorkspace::_classes
CodeRepo _classes
Definition: RooWorkspace.h:266
RooCmdArg
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
Definition: RooCmdArg.h:27
RooWorkspace::_uuid
TUUID _uuid
Definition: RooWorkspace.h:262
RooWorkspace::renameSet
Bool_t renameSet(const char *name, const char *newName)
Rename set to a new name.
Definition: RooWorkspace.cxx:989
RooWorkspace::CodeRepo::ClassFiles::_hfile
TString _hfile
Definition: RooWorkspace.h:202
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:100
RooWorkspace::writeToFile
Bool_t writeToFile(const char *fileName, Bool_t recreate=kTRUE)
Save this current workspace into given file.
Definition: RooWorkspace.cxx:2154
Option_t
const char Option_t
Definition: RtypesCore.h:66
RooAbsData
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:49
RooWorkspace::componentIterator
TIterator * componentIterator() const
Definition: RooWorkspace.h:116
RooWorkspace::WSDir::InternalAppend
void InternalAppend(TObject *obj)
Internal access to TDirectory append method.
Definition: RooWorkspace.cxx:3012
RooWorkspace::_openTrans
Bool_t _openTrans
Name of CINT namespace to which contents are exported.
Definition: RooWorkspace.h:286
RooWorkspace::merge
void merge(const RooWorkspace &)
Definition: RooWorkspace.h:99
RooArgSet.h
RooWorkspace::WSDir::WSDir
WSDir(const char *name, const char *title, RooWorkspace *wspace)
Definition: RooWorkspace.h:227
RooWorkspace::CodeRepo::ClassFiles
Definition: RooWorkspace.h:198
RooWorkspace::_allOwnedNodes
RooArgSet _allOwnedNodes
Definition: RooWorkspace.h:268
RooWorkspace::CodeRepo::~CodeRepo
virtual ~CodeRepo()
Definition: RooWorkspace.h:181
RooWorkspace::CodeRepo::compileClasses
Bool_t compileClasses()
For all classes in the workspace for which no class definition is found in the ROOT class table extra...
Definition: RooWorkspace.cxx:2823
RooWorkspace::catfunc
RooAbsCategory * catfunc(const char *name) const
Retrieve discrete function (RooAbsCategory) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1313
TNamed.h
RooWorkspace::loadSnapshot
Bool_t loadSnapshot(const char *name)
Load the values and attributes of the parameters in the snapshot saved with the given name.
Definition: RooWorkspace.cxx:1208
RooWorkspace::CodeRepo::ClassFiles::_hext
TString _hext
Definition: RooWorkspace.h:201
RooWorkspace::CodeRepo::_c2fmap
std::map< TString, ClassRelInfo > _c2fmap
Definition: RooWorkspace.h:216
RooWorkspace::~RooWorkspace
~RooWorkspace()
Workspace destructor.
Definition: RooWorkspace.cxx:233
RooPrintable.h
RooWorkspace::_doExport
Bool_t _doExport
Factory tool associated with workspace.
Definition: RooWorkspace.h:283
RooWorkspace::WSDir::~WSDir
virtual ~WSDir()
Definition: RooWorkspace.h:233
RooWorkspace::useFindsWithHashLookup
void useFindsWithHashLookup(bool flag)
Make internal collection use an unordered_map for faster searching.
Definition: RooWorkspace.h:142
RooWorkspace::clearStudies
void clearStudies()
Remove all RooStudyManager modules.
Definition: RooWorkspace.cxx:2095
RooWorkspace::CodeRepo::ClassFiles::ClassFiles
ClassFiles()
Definition: RooWorkspace.h:200
RooWorkspace::startTransaction
Bool_t startTransaction()
Open an import transaction operations.
Definition: RooWorkspace.cxx:1042
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooWorkspace::allResolutionModels
RooArgSet allResolutionModels() const
Return set with all resolution model objects.
Definition: RooWorkspace.cxx:1475
RooWorkspace::setClassFileExportDir
static void setClassFileExportDir(const char *dir=0)
Specify the name of the directory in which embedded source code is unpacked and compiled.
Definition: RooWorkspace.cxx:126
RooWorkspace::embeddedData
RooAbsData * embeddedData(const char *name) const
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1377
RooWorkspace::RooWorkspace
RooWorkspace()
Default constructor.
Definition: RooWorkspace.cxx:151
TString
Basic string class.
Definition: TString.h:136
RooWorkspace::RecursiveRemove
virtual void RecursiveRemove(TObject *obj)
If one of the TObject we have a referenced to is deleted, remove the reference.
Definition: RooWorkspace.cxx:3151
RooWorkspace::_genObjects
RooLinkedList _genObjects
Definition: RooWorkspace.h:273
RooWorkspace::set
const RooArgSet * set(const char *name)
Return pointer to previously defined named set with given nmame If no such set is found a null pointe...
Definition: RooWorkspace.cxx:977
RooWorkspace::addClassImplImportDir
static void addClassImplImportDir(const char *dir)
Add dir to search path for class implementation (.cxx) files.
Definition: RooWorkspace.cxx:115
RooAbsCollection::useHashMapForFind
void useHashMapForFind(bool flag) const
Install an internal hash map for fast finding of elements by name.
Definition: RooAbsCollection.cxx:1483
RooExpensiveObjectCache
RooExpensiveObjectCache is a singleton class that serves as repository for objects that are expensive...
Definition: RooExpensiveObjectCache.h:24
bool
TIterator
Iterator abstract base class.
Definition: TIterator.h:30
RooWorkspace::factory
RooFactoryWSTool & factory()
Return instance to factory tool.
Definition: RooWorkspace.cxx:2166
RooWorkspace::autoImportClassCode
static void autoImportClassCode(Bool_t flag)
If flag is true, source code of classes not the the ROOT distribution is automatically imported if on...
Definition: RooWorkspace.cxx:141
object
RooWorkspace::CodeRepo::autoImportClass
Bool_t autoImportClass(TClass *tc, Bool_t doReplace=kFALSE)
Import code of class 'tc' into the repository.
Definition: RooWorkspace.cxx:1579
RooWorkspace::_classFileExportDir
static std::string _classFileExportDir
Definition: RooWorkspace.h:260
TUUID.h
RooAbsCategory
RooAbsCategory is the base class for objects that represent a discrete value with a finite number of ...
Definition: RooAbsCategory.h:37
RooWorkspace::expensiveObjectCache
RooExpensiveObjectCache & expensiveObjectCache()
Definition: RooWorkspace.h:168
RooWorkspace::CodeRepo::CodeRepo
CodeRepo(const CodeRepo &other, RooWorkspace *wspace=0)
Definition: RooWorkspace.h:174
RooWorkspace::_snapshots
RooLinkedList _snapshots
Definition: RooWorkspace.h:272
RooWorkspace::_sandboxNodes
RooArgSet _sandboxNodes
Is there a transaction open?
Definition: RooWorkspace.h:287
RooFactoryWSTool
RooFactoryWSTool is a class similar to TTree::MakeClass() that generates skeleton code for RooAbsPdf ...
Definition: RooFactoryWSTool.h:47
RooWorkspace::Print
void Print(Option_t *opts=0) const
Print contents of the workspace.
Definition: RooWorkspace.cxx:2194
RooWorkspace::_eocache
RooExpensiveObjectCache _eocache
Transient ROOT directory representation of workspace.
Definition: RooWorkspace.h:279
RooWorkspace::allPdfs
RooArgSet allPdfs() const
Return set with all probability density function objects.
Definition: RooWorkspace.cxx:1496
RooWorkspace::_dir
WSDir * _dir
Definition: RooWorkspace.h:277
RooWorkspace::allCats
RooArgSet allCats() const
Return set with all category objects.
Definition: RooWorkspace.cxx:1409
RooWorkspace::allVars
RooArgSet allVars() const
Return set with all variable objects.
Definition: RooWorkspace.cxx:1388
RooWorkspace::makeDir
Bool_t makeDir()
Create transient TDirectory representation of this workspace.
Definition: RooWorkspace.cxx:1982
RooWorkspace::addStudy
Bool_t addStudy(RooAbsStudy &study)
Insert RooStudyManager module.
Definition: RooWorkspace.cxx:2082
RooWorkspace::allGenericObjects
std::list< TObject * > allGenericObjects() const
Return list of all generic objects in the workspace.
Definition: RooWorkspace.cxx:1550
TDirectory::Clear
void Clear(Option_t *option="") override
Delete all objects from a Directory list.
Definition: TDirectory.cxx:581
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
RooWorkspace::studyIterator
TIterator * studyIterator()
Definition: RooWorkspace.h:154
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:101
RooWorkspace::_autoClass
static Bool_t _autoClass
Definition: RooWorkspace.h:264
RooWorkspace::WSDir::_wspace
RooWorkspace * _wspace
Definition: RooWorkspace.h:242
RooWorkspace::_factory
std::unique_ptr< RooFactoryWSTool > _factory
Definition: RooWorkspace.h:281
RooWorkspace::cat
RooCategory * cat(const char *name) const
Retrieve discrete variable (RooCategory) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1304
RooLinkedList
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:37
RooAbsCollection::createIterator
TIterator * createIterator(Bool_t dir=kIterForward) const
TIterator-style iteration over contained elements.
Definition: RooAbsCollection.h:178
RooWorkspace::CodeRepo::_ehmap
std::map< TString, ExtraHeader > _ehmap
Definition: RooWorkspace.h:218
RooWorkspace::components
const RooArgSet & components() const
Definition: RooWorkspace.h:117
RooWorkspace::defineSetInternal
Bool_t defineSetInternal(const char *name, const RooArgSet &aset)
Definition: RooWorkspace.cxx:891
RooWorkspace::saveSnapshot
Bool_t saveSnapshot(const char *name, const char *paramNames)
Save snapshot of values and attributes (including "Constant") of given parameters.
Definition: RooWorkspace.cxx:1162
RooWorkspace::obj
TObject * obj(const char *name) const
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name)
Definition: RooWorkspace.cxx:2106
TDirectoryFile.h
RooWorkspace::pdf
RooAbsPdf * pdf(const char *name) const
Retrieve p.d.f (RooAbsPdf) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1277
RooWorkspace::CodeRepo::ClassFiles::_extracted
Bool_t _extracted
Definition: RooWorkspace.h:204
RooWorkspace::isValidCPPID
Bool_t isValidCPPID(const char *name)
Return true if given name is a valid C++ identifier name.
Definition: RooWorkspace.cxx:3114
TUUID
This class defines a UUID (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDent...
Definition: TUUID.h:42
RooWorkspace::getSnapshots
RooLinkedList getSnapshots()
Definition: RooWorkspace.h:97
RooWorkspace::_dataList
RooLinkedList _dataList
Definition: RooWorkspace.h:269
RooWorkspace::cancelTransaction
Bool_t cancelTransaction()
Cancel an ongoing import transaction.
Definition: RooWorkspace.cxx:1062
RooWorkspace::_classDeclDirList
static std::list< std::string > _classDeclDirList
Definition: RooWorkspace.h:258
RooWorkspace::addClassDeclImportDir
static void addClassDeclImportDir(const char *dir)
Add dir to search path for class declaration (header) files.
Definition: RooWorkspace.cxx:106
RooWorkspace::CodeRepo::ClassRelInfo
Definition: RooWorkspace.h:192
RooWorkspace::fundArg
RooAbsArg * fundArg(const char *name) const
Return fundamental (i.e.
Definition: RooWorkspace.cxx:1354
RooCmdArg.h
RooWorkspace::_classImplDirList
static std::list< std::string > _classImplDirList
Definition: RooWorkspace.h:259
RooWorkspace::_embeddedDataList
RooLinkedList _embeddedDataList
Definition: RooWorkspace.h:270
RooExpensiveObjectCache.h
RooWorkspace::commitTransaction
Bool_t commitTransaction()
Definition: RooWorkspace.cxx:1084
RooWorkspace::CodeRepo::ExtraHeader::_hname
TString _hname
Definition: RooWorkspace.h:210
RooWorkspace::CodeRepo::_wspace
RooWorkspace * _wspace
Definition: RooWorkspace.h:215
RooWorkspace
The RooWorkspace is a persistable container for RooFit projects.
Definition: RooWorkspace.h:43
RooWorkspace::CodeRepo::ClassRelInfo::_fileBase
TString _fileBase
Definition: RooWorkspace.h:195
RooWorkspace::argSet
RooArgSet argSet(const char *nameList) const
Return set of RooAbsArgs matching to given list of names.
Definition: RooWorkspace.cxx:1333
RooCategory
RooCategory is an object to represent discrete states.
Definition: RooCategory.h:27
RooWorkspace::CodeRepo::ExtraHeader::_hfile
TString _hfile
Definition: RooWorkspace.h:211
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
RooLinkedList.h
RooWorkspace::_exportNSName
std::string _exportNSName
Export contents of workspace to CINT?
Definition: RooWorkspace.h:284
RooWorkspace::unExport
void unExport()
Delete exported reference in CINT namespace.
Definition: RooWorkspace.cxx:3133
RooWorkspace::allFunctions
RooArgSet allFunctions() const
Return set with all function objects.
Definition: RooWorkspace.cxx:1431
RooWorkspace::CodeRepo::ClassFiles::_cxxfile
TString _cxxfile
Definition: RooWorkspace.h:203
RooWorkspace::cd
Bool_t cd(const char *path=0)
Definition: RooWorkspace.cxx:2143
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
RooWorkspace::WSDir
Definition: RooWorkspace.h:225
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
RooWorkspace::genobj
TObject * genobj(const char *name) const
Return generic object with given name.
Definition: RooWorkspace.cxx:2125
RooWorkspace::CodeRepo::_compiledOK
Bool_t _compiledOK
Definition: RooWorkspace.h:219
RooWorkspace::arg
RooAbsArg * arg(const char *name) const
Return RooAbsArg with given name. A null pointer is returned if none is found.
Definition: RooWorkspace.cxx:1323
name
char name[80]
Definition: TGX11.cxx:110
RooWorkspace::importClassCode
Bool_t importClassCode(const char *pat="*", Bool_t doReplace=kFALSE)
Inport code of all classes in the workspace that have a class name that matches pattern 'pat' and whi...
Definition: RooWorkspace.cxx:1134
RooWorkspace::CodeRepo::ClassRelInfo::_baseName
TString _baseName
Definition: RooWorkspace.h:194
RooWorkspace::removeSet
Bool_t removeSet(const char *name)
Remove a named set from the workspace.
Definition: RooWorkspace.cxx:1020
RooWorkspace::var
RooRealVar * var(const char *name) const
Retrieve real-valued variable (RooRealVar) with given name. A null pointer is returned if not found.
Definition: RooWorkspace.cxx:1295
RooWorkspace::CodeRepo::compiledOK
Bool_t compiledOK() const
Definition: RooWorkspace.h:186
RooAbsArg
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
Definition: RooAbsArg.h:72
RMakeUnique.hxx
RooAbsPdf
Definition: RooAbsPdf.h:41
RooWorkspace::exportObj
void exportObj(TObject *obj)
Export reference to given workspace object to CINT.
Definition: RooWorkspace.cxx:3085
RooWorkspace::_namedSets
std::map< std::string, RooArgSet > _namedSets
Definition: RooWorkspace.h:275
RooWorkspace::WSDir::Add
virtual void Add(TObject *, Bool_t)
Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspac...
Definition: RooWorkspace.cxx:3021
RooWorkspace::CodeRepo::CodeRepo
CodeRepo(RooWorkspace *wspace=0)
Definition: RooWorkspace.h:172
RooRealVar
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:39
TDirectoryFile
A ROOT file is structured in Directories (like a file system).
Definition: TDirectoryFile.h:32
RooWorkspace::allCatFunctions
RooArgSet allCatFunctions() const
Return set with all category function objects.
Definition: RooWorkspace.cxx:1454
RooWorkspace::CodeRepo::ExtraHeader
Definition: RooWorkspace.h:208
RooWorkspace::CodeRepo::listOfClassNames
std::string listOfClassNames() const
Return STL string with last of class names contained in the code repository.
Definition: RooWorkspace.cxx:2710
RooWorkspace::_studyMods
RooLinkedList _studyMods
Definition: RooWorkspace.h:274
RooWorkspace::CodeRepo::_fmap
std::map< TString, ClassFiles > _fmap
Definition: RooWorkspace.h:217
RooWorkspace::CodeRepo
Definition: RooWorkspace.h:170
RooWorkspace::extendSet
Bool_t extendSet(const char *name, const char *newContents)
Define a named set in the work space through a comma separated list of names of objects already in th...
Definition: RooWorkspace.cxx:950
RooWorkspace::getSnapshot
const RooArgSet * getSnapshot(const char *name) const
Return the RooArgSet containing a snapshot of variables contained in the workspace.
Definition: RooWorkspace.cxx:1231
RooWorkspace::exportToCint
void exportToCint(const char *namespaceName=0)
Activate export of workspace symbols to CINT in a namespace with given name.
Definition: RooWorkspace.cxx:3049
RooWorkspace::allData
std::list< RooAbsData * > allData() const
Return list of all dataset in the workspace.
Definition: RooWorkspace.cxx:1517
RooWorkspace::allEmbeddedData
std::list< RooAbsData * > allEmbeddedData() const
Return list of all dataset in the workspace.
Definition: RooWorkspace.cxx:1533
RooAbsStudy
RooAbsStudy is an abstract base class for RooStudyManager modules.
Definition: RooAbsStudy.h:33
RooArgSet
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:33
RooWorkspace::_views
RooLinkedList _views
Definition: RooWorkspace.h:271
RooWorkspace::uuid
const TUUID & uuid() const
Definition: RooWorkspace.h:166
RooWorkspace::defineSet
Bool_t defineSet(const char *name, const RooArgSet &aset, Bool_t importMissing=kFALSE)
Define a named RooArgSet with given constituents.
Definition: RooWorkspace.cxx:855