The RooWorkspace is a persistable container for RooFit projects.
A workspace can contain and own variables, p.d.f.s, functions and datasets. All objects that live in the workspace are owned by the workspace. The import()
method enforces consistency of objects upon insertion into the workspace (e.g. no duplicate object with the same name are allowed) and makes sure all objects in the workspace are connected to each other. Easy accessor methods like pdf()
, var()
and data()
allow to refer to the contents of the workspace by object name. The entire RooWorkspace can be saved into a ROOT TFile and organises the consistent streaming of its contents without duplication. If a RooWorkspace contains custom classes, i.e. classes not in the ROOT distribution, portability of workspaces can be enhanced by storing the source code of those classes in the workspace as well. This process is also organized by the workspace through the importClassCode()
method.
When reading or loading workspaces with deeply nested PDFs, one can encounter ouf-of-memory errors if the stack size is too small. This manifests in crashes at seemingly random locations, or in the process silently ending. Unfortunately, ROOT neither recover from this situation, nor warn or give useful instructions. When suspecting to have run out of stack memory, check
and try reading again.
The RooWorkspace::import function can't be used in PyROOT because import
is a reserved python keyword. For this reason, an alternative with a capitalized name is provided:
Definition at line 43 of file RooWorkspace.h.
Classes | |
class | CodeRepo |
class | WSDir |
Public Member Functions | |
RooWorkspace () | |
Default constructor. | |
RooWorkspace (const char *name, Bool_t doCINTExport) | |
RooWorkspace (const char *name, const char *title=0) | |
Construct empty workspace with given name and title. | |
RooWorkspace (const RooWorkspace &other) | |
Workspace copy constructor. | |
~RooWorkspace () | |
Workspace destructor. | |
Bool_t | addStudy (RooAbsStudy &study) |
Insert RooStudyManager module. | |
RooArgSet | allCatFunctions () const |
Return set with all category function objects. | |
RooArgSet | allCats () const |
Return set with all category objects. | |
std::list< RooAbsData * > | allData () const |
Return list of all dataset in the workspace. | |
std::list< RooAbsData * > | allEmbeddedData () const |
Return list of all dataset in the workspace. | |
RooArgSet | allFunctions () const |
Return set with all function objects. | |
std::list< TObject * > | allGenericObjects () const |
Return list of all generic objects in the workspace. | |
RooArgSet | allPdfs () const |
Return set with all probability density function objects. | |
RooArgSet | allResolutionModels () const |
Return set with all resolution model objects. | |
RooArgSet | allVars () const |
Return set with all variable objects. | |
RooAbsArg * | arg (const char *name) const |
Return RooAbsArg with given name. A null pointer is returned if none is found. | |
RooArgSet | argSet (const char *nameList) const |
Return set of RooAbsArgs matching to given list of names. | |
Bool_t | cancelTransaction () |
Cancel an ongoing import transaction. | |
RooCategory * | cat (const char *name) const |
Retrieve discrete variable (RooCategory) with given name. A null pointer is returned if not found. | |
RooAbsCategory * | catfunc (const char *name) const |
Retrieve discrete function (RooAbsCategory) with given name. A null pointer is returned if not found. | |
Bool_t | cd (const char *path=0) |
void | clearStudies () |
Remove all RooStudyManager modules. | |
Bool_t | commitTransaction () |
TIterator * | componentIterator () const |
const RooArgSet & | components () const |
RooAbsData * | data (const char *name) const |
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found. | |
Bool_t | defineSet (const char *name, const char *contentList) |
Define a named set in the work space through a comma separated list of names of objects already in the workspace. | |
Bool_t | defineSet (const char *name, const RooArgSet &aset, Bool_t importMissing=kFALSE) |
Define a named RooArgSet with given constituents. | |
RooAbsData * | embeddedData (const char *name) const |
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found. | |
RooExpensiveObjectCache & | expensiveObjectCache () |
void | exportToCint (const char *namespaceName=0) |
Activate export of workspace symbols to CINT in a namespace with given name. | |
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 the workspace. | |
RooFactoryWSTool & | factory () |
Return instance to factory tool. | |
RooAbsArg * | factory (const char *expr) |
Short-hand function for factory()->process(expr); | |
RooAbsReal * | function (const char *name) const |
Retrieve function (RooAbsReal) with given name. Note that all RooAbsPdfs are also RooAbsReals. A null pointer is returned if not found. | |
RooAbsArg * | fundArg (const char *name) const |
Return fundamental (i.e. | |
TObject * | genobj (const char *name) const |
Return generic object with given name. | |
const RooArgSet * | getSnapshot (const char *name) const |
Return the RooArgSet containing a snapshot of variables contained in the workspace. | |
RooLinkedList const & | getSnapshots () const |
Bool_t | import (const char *fileSpec, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg()) |
Import a RooAbsArg or RooAbsData set from a workspace in a file. | |
Bool_t | import (const RooAbsArg &arg, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg()) |
Import a RooAbsArg object, e.g. | |
Bool_t | import (const RooArgSet &args, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg()) |
Import multiple RooAbsArg objects into workspace. | |
Bool_t | import (RooAbsData &data, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg()) |
Import a dataset (RooDataSet or RooDataHist) into the work space. | |
Bool_t | import (TObject &object, Bool_t replaceExisting=kFALSE) |
Import a clone of a generic TObject into workspace generic object container. | |
Bool_t | import (TObject &object, const char *aliasName, Bool_t replaceExisting=kFALSE) |
Import a clone of a generic TObject into workspace generic object container. | |
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 which are not found to be part of the standard ROOT distribution. | |
Bool_t | importClassCode (TClass *theClass, Bool_t doReplace=kFALSE) |
Bool_t | loadSnapshot (const char *name) |
Load the values and attributes of the parameters in the snapshot saved with the given name. | |
Bool_t | makeDir () |
Create transient TDirectory representation of this workspace. | |
void | merge (const RooWorkspace &) |
TObject * | obj (const char *name) const |
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name) | |
RooAbsPdf * | pdf (const char *name) const |
Retrieve p.d.f (RooAbsPdf) with given name. A null pointer is returned if not found. | |
void | Print (Option_t *opts=0) const |
Print contents of the workspace. | |
virtual void | RecursiveRemove (TObject *obj) |
If one of the TObject we have a referenced to is deleted, remove the reference. | |
Bool_t | removeSet (const char *name) |
Remove a named set from the workspace. | |
Bool_t | renameSet (const char *name, const char *newName) |
Rename set to a new name. | |
Bool_t | saveSnapshot (const char *name, const char *paramNames) |
Save snapshot of values and attributes (including "Constant") of given parameters. | |
Bool_t | saveSnapshot (const char *name, const RooArgSet ¶ms, Bool_t importValues=kFALSE) |
Save snapshot of values and attributes (including "Constant") of parameters 'params'. | |
const RooArgSet * | set (const char *name) |
Return pointer to previously defined named set with given nmame If no such set is found a null pointer is returned. | |
Bool_t | startTransaction () |
Open an import transaction operations. | |
TIterator * | studyIterator () |
void | useFindsWithHashLookup (bool flag) |
Make internal collection use an unordered_map for faster searching. | |
const TUUID & | uuid () const |
RooRealVar * | var (const char *name) const |
Retrieve real-valued variable (RooRealVar) with given name. A null pointer is returned if not found. | |
Bool_t | writeToFile (const char *fileName, Bool_t recreate=kTRUE) |
Save this current workspace into given file. | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual void | Copy (TObject &named) const |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static void | addClassDeclImportDir (const char *dir) |
Add dir to search path for class declaration (header) files. | |
static void | addClassImplImportDir (const char *dir) |
Add dir to search path for class implementation (.cxx) files. | |
static void | autoImportClassCode (Bool_t flag) |
If flag is true, source code of classes not the the ROOT distribution is automatically imported if on object of such a class is imported in the workspace. | |
static void | setClassFileExportDir (const char *dir=0) |
Specify the name of the directory in which embedded source code is unpacked and compiled. | |
Static Public Member Functions inherited from TObject | |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Private Member Functions | |
Bool_t | defineSetInternal (const char *name, const RooArgSet &aset) |
void | exportObj (TObject *obj) |
Export reference to given workspace object to CINT. | |
Bool_t | isValidCPPID (const char *name) |
Return true if given name is a valid C++ identifier name. | |
void | unExport () |
Delete exported reference in CINT namespace. | |
Private Attributes | |
RooArgSet | _allOwnedNodes |
CodeRepo | _classes |
RooLinkedList | _dataList |
WSDir * | _dir |
Bool_t | _doExport |
Factory tool associated with workspace. | |
RooLinkedList | _embeddedDataList |
RooExpensiveObjectCache | _eocache |
Transient ROOT directory representation of workspace. | |
std::string | _exportNSName |
Export contents of workspace to CINT? | |
std::unique_ptr< RooFactoryWSTool > | _factory |
RooLinkedList | _genObjects |
std::map< std::string, RooArgSet > | _namedSets |
Bool_t | _openTrans |
Name of CINT namespace to which contents are exported. | |
RooArgSet | _sandboxNodes |
Is there a transaction open? | |
RooLinkedList | _snapshots |
RooLinkedList | _studyMods |
TUUID | _uuid |
RooLinkedList | _views |
Static Private Attributes | |
static Bool_t | _autoClass = kFALSE |
static std::list< std::string > | _classDeclDirList |
static std::string | _classFileExportDir = ".wscode.%s.%s" |
static std::list< std::string > | _classImplDirList |
Friends | |
class | CodeRepo |
class | RooAbsArg |
class | RooAbsPdf |
class | RooConstraintSum |
Additional Inherited Members | |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
#include <RooWorkspace.h>
RooWorkspace::RooWorkspace | ( | ) |
Default constructor.
Definition at line 152 of file RooWorkspace.cxx.
RooWorkspace::RooWorkspace | ( | const char * | name, |
Bool_t | doCINTExport | ||
) |
Definition at line 167 of file RooWorkspace.cxx.
RooWorkspace::RooWorkspace | ( | const char * | name, |
const char * | title = 0 |
||
) |
Construct empty workspace with given name and title.
Definition at line 161 of file RooWorkspace.cxx.
RooWorkspace::RooWorkspace | ( | const RooWorkspace & | other | ) |
Workspace copy constructor.
Definition at line 180 of file RooWorkspace.cxx.
RooWorkspace::~RooWorkspace | ( | ) |
Workspace destructor.
Definition at line 226 of file RooWorkspace.cxx.
|
static |
Add dir
to search path for class declaration (header) files.
This is needed to find class headers custom classes are imported into the workspace.
Definition at line 107 of file RooWorkspace.cxx.
|
static |
Add dir
to search path for class implementation (.cxx) files.
This is needed to find class headers custom classes are imported into the workspace.
Definition at line 116 of file RooWorkspace.cxx.
Bool_t RooWorkspace::addStudy | ( | RooAbsStudy & | study | ) |
Insert RooStudyManager module.
Definition at line 2066 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allCatFunctions | ( | ) | const |
Return set with all category function objects.
Definition at line 1438 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allCats | ( | ) | const |
Return set with all category objects.
Definition at line 1393 of file RooWorkspace.cxx.
list< RooAbsData * > RooWorkspace::allData | ( | ) | const |
Return list of all dataset in the workspace.
Definition at line 1501 of file RooWorkspace.cxx.
list< RooAbsData * > RooWorkspace::allEmbeddedData | ( | ) | const |
Return list of all dataset in the workspace.
Definition at line 1517 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allFunctions | ( | ) | const |
Return set with all function objects.
Definition at line 1415 of file RooWorkspace.cxx.
list< TObject * > RooWorkspace::allGenericObjects | ( | ) | const |
Return list of all generic objects in the workspace.
Definition at line 1534 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allPdfs | ( | ) | const |
Return set with all probability density function objects.
Definition at line 1480 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allResolutionModels | ( | ) | const |
Return set with all resolution model objects.
Definition at line 1459 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::allVars | ( | ) | const |
Return set with all variable objects.
Definition at line 1372 of file RooWorkspace.cxx.
RooAbsArg * RooWorkspace::arg | ( | const char * | name | ) | const |
Return RooAbsArg with given name. A null pointer is returned if none is found.
Definition at line 1307 of file RooWorkspace.cxx.
RooArgSet RooWorkspace::argSet | ( | const char * | nameList | ) | const |
Return set of RooAbsArgs matching to given list of names.
Definition at line 1317 of file RooWorkspace.cxx.
If flag is true, source code of classes not the the ROOT distribution is automatically imported if on object of such a class is imported in the workspace.
Definition at line 142 of file RooWorkspace.cxx.
Bool_t RooWorkspace::cancelTransaction | ( | ) |
Cancel an ongoing import transaction.
All objects imported since startTransaction() will be removed and the transaction will be terminated. Return kTRUE if cancel operation succeeds, return kFALSE if there was no open transaction
Definition at line 1052 of file RooWorkspace.cxx.
RooCategory * RooWorkspace::cat | ( | const char * | name | ) | const |
Retrieve discrete variable (RooCategory) with given name. A null pointer is returned if not found.
Definition at line 1288 of file RooWorkspace.cxx.
RooAbsCategory * RooWorkspace::catfunc | ( | const char * | name | ) | const |
Retrieve discrete function (RooAbsCategory) with given name. A null pointer is returned if not found.
Definition at line 1297 of file RooWorkspace.cxx.
Bool_t RooWorkspace::cd | ( | const char * | path = 0 | ) |
Definition at line 2127 of file RooWorkspace.cxx.
void RooWorkspace::clearStudies | ( | ) |
Remove all RooStudyManager modules.
Definition at line 2079 of file RooWorkspace.cxx.
Bool_t RooWorkspace::commitTransaction | ( | ) |
Definition at line 1074 of file RooWorkspace.cxx.
|
inline |
Definition at line 116 of file RooWorkspace.h.
|
inline |
Definition at line 117 of file RooWorkspace.h.
RooAbsData * RooWorkspace::data | ( | const char * | name | ) | const |
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
Definition at line 1352 of file RooWorkspace.cxx.
Bool_t RooWorkspace::defineSet | ( | const char * | name, |
const char * | contentList | ||
) |
Define a named set in the work space through a comma separated list of names of objects already in the workspace.
Definition at line 905 of file RooWorkspace.cxx.
Bool_t RooWorkspace::defineSet | ( | const char * | name, |
const RooArgSet & | aset, | ||
Bool_t | importMissing = kFALSE |
||
) |
Define a named RooArgSet with given constituents.
If importMissing is true, any constituents of aset that are not in the workspace will be imported, otherwise an error is returned for missing components
Definition at line 845 of file RooWorkspace.cxx.
Definition at line 881 of file RooWorkspace.cxx.
RooAbsData * RooWorkspace::embeddedData | ( | const char * | name | ) | const |
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
Definition at line 1361 of file RooWorkspace.cxx.
|
inline |
Definition at line 168 of file RooWorkspace.h.
Export reference to given workspace object to CINT.
Definition at line 3069 of file RooWorkspace.cxx.
void RooWorkspace::exportToCint | ( | const char * | nsname = 0 | ) |
Activate export of workspace symbols to CINT in a namespace with given name.
If no name is given the namespace will have the same name as the workspace
Definition at line 3033 of file RooWorkspace.cxx.
Bool_t RooWorkspace::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 the workspace.
Definition at line 940 of file RooWorkspace.cxx.
RooFactoryWSTool & RooWorkspace::factory | ( | ) |
Return instance to factory tool.
Definition at line 2150 of file RooWorkspace.cxx.
RooAbsArg * RooWorkspace::factory | ( | const char * | expr | ) |
Short-hand function for factory()->process(expr);
Create a RooFit object from the given expression.
Creating variables | |
---|---|
x[-10,10] | Create variable x with given range and put it in workspace |
x[3,-10,10] | Create variable x with given range and initial value and put it in workspace |
x[3] | Create variable x with given constant value |
<numeric literal> | Numeric literal expressions (0.5, -3 etc..) are converted to a RooConst(<numeric literal>) wherever a RooAbsReal or RooAbsArg argument is expected |
Creating categories | |
c[lep,kao,nt1,nt2] | Create category c with given state names |
tag[B0=1,B0bar=-1] | Create category tag with given state names and index assignments |
Creating functions and p.d.f.s | |
MyPdf::g(x,m,s) | Create p.d.f or function of type MyPdf with name g with argument x,m,s Interpretation and number of arguments are mapped to the constructor arguments of the class (after the name and title). |
MyPdf(x,m,s) | As above, but with an implicitly defined (unique) object name |
Creating sets and lists (to be used as inputs above) | |
{a,b,c} | Create RooArgSet or RooArgList (as determined by context) from given contents |
Objects that are not created, are assumed to exist in the workspace Object creation expressions as shown above can be nested, e.g. one can do
to create a p.d.f and its variables in one go. This nesting can be applied recursively e.g.
creates the sum of a Gaussian and a Chebychev and all its variables.
A seperate series of operator meta-type exists to simplify the construction of composite expressions meta-types in all capitals (SUM) create p.d.f.s, meta types in lower case (sum) create functions.
Expression | Effect |
---|---|
SUM::name(f1*pdf1,f2*pdf2,pdf3] | Create sum p.d.f name with value f1*pdf1+f2*pdf2+(1-f1-f2)*pdf3 |
RSUM::name(f1*pdf1,f2*pdf2,pdf3] | Create recursive sum p.d.f. name with value f1*pdf1 + (1-f1)(f2*pdf2 + (1-f2)pdf3) |
ASUM::name(f1*amp1,f2*amp2,amp3] | Create sum p.d.f. name with value f1*amp1+f2*amp2+(1-f1-f2)*amp3 where amplX are amplitudes of type RooAbsReal |
sum::name(a1,a2,a3] | Create sum function with value a1+a2+a3 |
sum::name(a1*b1,a2*b2,a3*b 3] | Create sum function with value a1*b1+a2*b2+a3*b3 |
PROD::name(pdf1,pdf2] | Create product of p.d.f with 'name' with given input p.d.fs |
PROD::name(pdf1|x,pdf2] | Create product of conditional p.d.f. pdf1 given x and pdf2 |
prod::name(a,b,c] | Create production function with value a*b*c |
SIMUL::name(cat,a=pdf1,b=pdf2] | Create simultaneous p.d.f index category cat. Make pdf1 to state a, pdf2 to state b |
EXPR::name(<expr>,var,...] | Create a generic p.d.f that interprets the given expression |
expr::name(<expr>,var,...] | Create a generic function that interprets the given expression |
taylorexpand::name(func,{var1,var2,...},val,order,eps1,eps2] Create a taylor expansion of func w.r.t. {var1,var2,..} around val upto order | |
‘lagrangianmorph::name("$fileName('infile.root’),$observableName(obs),$couplings({var1[-10,10],var2[-10,10]}),$folders({'sample1,sample2,sample3'}),$NewPhysics(var1=1,var2=0)"]` | Create a RooLagrangianMorphFunc function for the observable obs as a function of var1, var2 based on input templates stored in the folders in the file |
The functionality of high-level object creation tools like RooSimWSTool, RooCustomizer and RooClassFactory is also interfaced through meta-types in the factory.
Interface to RooSimWSTool | |
---|---|
SIMCLONE::name( modelPdf, $ParamSplit(...), $ParamSplitConstrained(...), $Restrict(...) ] | Clone-and-customize modelPdf according to ParamSplit and ParamSplitConstrained() specifications and return a RooSimultaneous p.d.f. of all built clones |
MSIMCLONE::name( masterIndex, $AddPdf(mstate1, modelPdf1, $ParamSplit(...)), $AddPdf(mstate2,modelPdf2),...) ] | Clone-and-customize multiple models (modelPdf1,modelPdf2) according to ParamSplit and ParamSplitConstrained() specifications and return a RooSimultaneous p.d.f. of all built clones, using the specified master index to map prototype p.d.f.s to master states |
Interface to RooCustomizer | |
EDIT::name( orig, substNode=origNode), ... ] | Create a clone of input object orig, with the specified replacements operations executed |
EDIT::name( orig, origNode=$REMOVE(), ... ] | Create clone of input removing term origNode from all PROD() terms that contained it |
EDIT::name( orig, origNode=$REMOVE(prodname,...), ... ] | As above, but restrict removal of origNode to PROD term(s) prodname,... |
Interface to RooClassFactory | |
CEXPR::name(<expr>,var,...] | Create a custom compiled p.d.f that evaluates the given expression |
cexpr::name(<expr>,var,...] | Create a custom compiled function that evaluates the given expression |
$MetaType(...) | Meta argument that does not result in construction of an object but is used logically organize input arguments in certain operator p.d.f. constructions. The defined meta arguments are context dependent. The only meta argument that is defined globally is $Alias(typeName,aliasName) to define aliases for type names. For the definition of meta arguments in operator p.d.f.s see the definitions below. |
Definition at line 2167 of file RooWorkspace.cxx.
RooAbsReal * RooWorkspace::function | ( | const char * | name | ) | const |
Retrieve function (RooAbsReal) with given name. Note that all RooAbsPdfs are also RooAbsReals. A null pointer is returned if not found.
Definition at line 1270 of file RooWorkspace.cxx.
RooAbsArg * RooWorkspace::fundArg | ( | const char * | name | ) | const |
Return fundamental (i.e.
non-derived) RooAbsArg with given name. Fundamental types are e.g. RooRealVar, RooCategory. A null pointer is returned if none is found.
Definition at line 1338 of file RooWorkspace.cxx.
TObject * RooWorkspace::genobj | ( | const char * | name | ) | const |
Return generic object with given name.
Definition at line 2109 of file RooWorkspace.cxx.
const RooArgSet * RooWorkspace::getSnapshot | ( | const char * | name | ) | const |
Return the RooArgSet containing a snapshot of variables contained in the workspace.
Note that the variables of the objects in the snapshots are copies of the variables in the workspace. To load the values of a snapshot in the workspace variables, use loadSnapshot() instead.
Definition at line 1221 of file RooWorkspace.cxx.
|
inline |
Definition at line 97 of file RooWorkspace.h.
RooWorkspace::import | ( | const char * | fileSpec, |
const RooCmdArg & | arg1 = RooCmdArg() , |
||
const RooCmdArg & | arg2 = RooCmdArg() , |
||
const RooCmdArg & | arg3 = RooCmdArg() , |
||
const RooCmdArg & | arg4 = RooCmdArg() , |
||
const RooCmdArg & | arg5 = RooCmdArg() , |
||
const RooCmdArg & | arg6 = RooCmdArg() , |
||
const RooCmdArg & | arg7 = RooCmdArg() , |
||
const RooCmdArg & | arg8 = RooCmdArg() , |
||
const RooCmdArg & | arg9 = RooCmdArg() |
||
) |
Import a RooAbsArg or RooAbsData set from a workspace in a file.
Filespec should be constructed as "filename:wspacename:objectname" The arguments will be passed to the relevant import() or import(RooAbsData&, ...) import calls
Import()
, since import
is a reserved keyword.
Support the C++ import()
as Import()
in python
Definition at line 255 of file RooWorkspace.cxx.
RooWorkspace::import | ( | const RooAbsArg & | arg, |
const RooCmdArg & | arg1 = RooCmdArg() , |
||
const RooCmdArg & | arg2 = RooCmdArg() , |
||
const RooCmdArg & | arg3 = RooCmdArg() , |
||
const RooCmdArg & | arg4 = RooCmdArg() , |
||
const RooCmdArg & | arg5 = RooCmdArg() , |
||
const RooCmdArg & | arg6 = RooCmdArg() , |
||
const RooCmdArg & | arg7 = RooCmdArg() , |
||
const RooCmdArg & | arg8 = RooCmdArg() , |
||
const RooCmdArg & | arg9 = RooCmdArg() |
||
) |
Import a RooAbsArg object, e.g.
function, p.d.f or variable into the workspace. This import function clones the input argument and will own the clone. If a composite object is offered for import, e.g. a p.d.f with parameters and observables, the complete tree of objects is imported. If any of the variables of a composite object (parameters/observables) are already in the workspace the imported p.d.f. is connected to the already existing variables. If any of the function objects (p.d.f, formulas) to be imported already exists in the workspace an error message is printed and the import of the entire tree of objects is cancelled. Several optional arguments can be provided to modify the import procedure.
Accepted arguments | |
---|---|
RenameConflictNodes(const char* suffix) | Add suffix to branch node name if name conflicts with existing node in workspace |
RenameAllNodes(const char* suffix) | Add suffix to all branch node names including top level node. |
RenameAllVariables(const char* suffix) | Add suffix to all variables of objects being imported. |
RenameAllVariablesExcept(const char* suffix, const char* exceptionList) | Add suffix to all variables names, except ones listed |
RenameVariable(const char* inputName, const char* outputName) | Rename a single variable as specified upon import. |
RecycleConflictNodes() | If any of the function objects to be imported already exist in the name space, connect the imported expression to the already existing nodes.
|
Silence() | Do not issue any info message |
The RenameConflictNodes, RenameNodes and RecycleConflictNodes arguments are mutually exclusive. The RenameVariable argument can be repeated as often as necessary to rename multiple variables. Alternatively, a single RenameVariable argument can be given with two comma separated lists.
Import()
, since import
is a reserved keyword.
Support the C++ import()
as Import()
in python
The RooWorkspace constructor is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the constructor.
Definition at line 359 of file RooWorkspace.cxx.
Bool_t RooWorkspace::import | ( | const RooArgSet & | args, |
const RooCmdArg & | arg1 = RooCmdArg() , |
||
const RooCmdArg & | arg2 = RooCmdArg() , |
||
const RooCmdArg & | arg3 = RooCmdArg() , |
||
const RooCmdArg & | arg4 = RooCmdArg() , |
||
const RooCmdArg & | arg5 = RooCmdArg() , |
||
const RooCmdArg & | arg6 = RooCmdArg() , |
||
const RooCmdArg & | arg7 = RooCmdArg() , |
||
const RooCmdArg & | arg8 = RooCmdArg() , |
||
const RooCmdArg & | arg9 = RooCmdArg() |
||
) |
Import multiple RooAbsArg objects into workspace.
For details on arguments see documentation of import() method for single RooAbsArg
Import()
, since import
is a reserved keyword. Definition at line 317 of file RooWorkspace.cxx.
RooWorkspace::import | ( | RooAbsData & | data, |
const RooCmdArg & | arg1 = RooCmdArg() , |
||
const RooCmdArg & | arg2 = RooCmdArg() , |
||
const RooCmdArg & | arg3 = RooCmdArg() , |
||
const RooCmdArg & | arg4 = RooCmdArg() , |
||
const RooCmdArg & | arg5 = RooCmdArg() , |
||
const RooCmdArg & | arg6 = RooCmdArg() , |
||
const RooCmdArg & | arg7 = RooCmdArg() , |
||
const RooCmdArg & | arg8 = RooCmdArg() , |
||
const RooCmdArg & | arg9 = RooCmdArg() |
||
) |
Import a dataset (RooDataSet or RooDataHist) into the work space.
The workspace will contain a copy of the data. The dataset and its variables can be renamed upon insertion with the options below
Accepted arguments | |
---|---|
Rename(const char* suffix) | Rename dataset upon insertion |
RenameVariable(const char* inputName, const char* outputName) | Change names of observables in dataset upon insertion |
Silence | Be quiet, except in case of errors
|
Support the C++ import()
as Import()
in python
Definition at line 720 of file RooWorkspace.cxx.
Import a clone of a generic TObject into workspace generic object container.
Imported object can be retrieved by name through the obj() method. The object is cloned upon importation and the input argument does not need to live beyond the import call
Returns kTRUE if an error has occurred.
Definition at line 1993 of file RooWorkspace.cxx.
Bool_t RooWorkspace::import | ( | TObject & | object, |
const char * | aliasName, | ||
Bool_t | replaceExisting = kFALSE |
||
) |
Import a clone of a generic TObject into workspace generic object container.
The imported object will be stored under the given alias name rather than its own name. Imported object can be retrieved its alias name through the obj() method. The object is cloned upon importation and the input argument does not need to live beyond the import call This method is mostly useful for importing objects that do not have a settable name such as TMatrix
Returns kTRUE if an error has occurred.
Definition at line 2034 of file RooWorkspace.cxx.
Inport code of all classes in the workspace that have a class name that matches pattern 'pat' and which are not found to be part of the standard ROOT distribution.
If doReplace is true any existing class code saved in the workspace is replaced
Definition at line 1124 of file RooWorkspace.cxx.
Definition at line 1111 of file RooWorkspace.cxx.
|
private |
Return true if given name is a valid C++ identifier name.
Definition at line 3098 of file RooWorkspace.cxx.
Bool_t RooWorkspace::loadSnapshot | ( | const char * | name | ) |
Load the values and attributes of the parameters in the snapshot saved with the given name.
Definition at line 1198 of file RooWorkspace.cxx.
Bool_t RooWorkspace::makeDir | ( | ) |
Create transient TDirectory representation of this workspace.
This directory will appear as a subdirectory of the directory that contains the workspace and will have the name of the workspace suffixed with "Dir". The TDirectory interface is read-only. Any attempt to insert objects into the workspace directory representation will result in an error message. Note that some ROOT object like TH1 automatically insert themselves into the current directory when constructed. This will give error messages when done in a workspace directory.
Definition at line 1966 of file RooWorkspace.cxx.
|
inline |
Definition at line 99 of file RooWorkspace.h.
TObject * RooWorkspace::obj | ( | const char * | name | ) | const |
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name)
Definition at line 2090 of file RooWorkspace.cxx.
RooAbsPdf * RooWorkspace::pdf | ( | const char * | name | ) | const |
Retrieve p.d.f (RooAbsPdf) with given name. A null pointer is returned if not found.
Definition at line 1261 of file RooWorkspace.cxx.
Print contents of the workspace.
Reimplemented from TNamed.
Definition at line 2178 of file RooWorkspace.cxx.
If one of the TObject we have a referenced to is deleted, remove the reference.
Reimplemented from TObject.
Definition at line 3135 of file RooWorkspace.cxx.
Bool_t RooWorkspace::removeSet | ( | const char * | name | ) |
Remove a named set from the workspace.
Definition at line 1010 of file RooWorkspace.cxx.
Bool_t RooWorkspace::renameSet | ( | const char * | name, |
const char * | newName | ||
) |
Rename set to a new name.
Definition at line 979 of file RooWorkspace.cxx.
Bool_t RooWorkspace::saveSnapshot | ( | const char * | name, |
const char * | paramNames | ||
) |
Save snapshot of values and attributes (including "Constant") of given parameters.
[in] | name | Name of the snapshot. |
[in] | paramNames | Comma-separated list of parameter names to be snapshot. |
Definition at line 1152 of file RooWorkspace.cxx.
Bool_t RooWorkspace::saveSnapshot | ( | const char * | name, |
const RooArgSet & | params, | ||
Bool_t | importValues = kFALSE |
||
) |
Save snapshot of values and attributes (including "Constant") of parameters 'params'.
If importValues is FALSE, the present values from the object in the workspace are saved. If importValues is TRUE, the values of the objects passed in the 'params' argument are saved
Definition at line 1167 of file RooWorkspace.cxx.
const RooArgSet * RooWorkspace::set | ( | const char * | name | ) |
Return pointer to previously defined named set with given nmame If no such set is found a null pointer is returned.
Definition at line 967 of file RooWorkspace.cxx.
|
static |
Specify the name of the directory in which embedded source code is unpacked and compiled.
The specified string may contain one 's' token which will be substituted by the workspace name
Definition at line 127 of file RooWorkspace.cxx.
Bool_t RooWorkspace::startTransaction | ( | ) |
Open an import transaction operations.
Returns kTRUE if successful, kFALSE if there is already an ongoing transaction
Definition at line 1032 of file RooWorkspace.cxx.
|
inline |
Definition at line 154 of file RooWorkspace.h.
|
private |
Delete exported reference in CINT namespace.
Definition at line 3117 of file RooWorkspace.cxx.
Make internal collection use an unordered_map for faster searching.
Important when large trees are imported / or modified in the workspace. Note that RooAbsCollection may eventually switch this on by itself.
Definition at line 142 of file RooWorkspace.h.
|
inline |
Definition at line 166 of file RooWorkspace.h.
RooRealVar * RooWorkspace::var | ( | const char * | name | ) | const |
Retrieve real-valued variable (RooRealVar) with given name. A null pointer is returned if not found.
Definition at line 1279 of file RooWorkspace.cxx.
Save this current workspace into given file.
Definition at line 2138 of file RooWorkspace.cxx.
|
friend |
Definition at line 258 of file RooWorkspace.h.
|
friend |
Definition at line 249 of file RooWorkspace.h.
|
friend |
Definition at line 250 of file RooWorkspace.h.
|
friend |
Definition at line 251 of file RooWorkspace.h.
|
private |
Definition at line 269 of file RooWorkspace.h.
Definition at line 265 of file RooWorkspace.h.
|
staticprivate |
Definition at line 259 of file RooWorkspace.h.
|
private |
Definition at line 267 of file RooWorkspace.h.
|
staticprivate |
Definition at line 261 of file RooWorkspace.h.
|
staticprivate |
Definition at line 260 of file RooWorkspace.h.
|
private |
Definition at line 270 of file RooWorkspace.h.
|
private |
Definition at line 278 of file RooWorkspace.h.
|
private |
Factory tool associated with workspace.
Definition at line 284 of file RooWorkspace.h.
|
private |
Definition at line 271 of file RooWorkspace.h.
|
private |
Transient ROOT directory representation of workspace.
Definition at line 280 of file RooWorkspace.h.
|
private |
Export contents of workspace to CINT?
Definition at line 285 of file RooWorkspace.h.
|
private |
Definition at line 282 of file RooWorkspace.h.
|
private |
Definition at line 274 of file RooWorkspace.h.
|
private |
Definition at line 276 of file RooWorkspace.h.
|
private |
Name of CINT namespace to which contents are exported.
Definition at line 287 of file RooWorkspace.h.
|
private |
Is there a transaction open?
Definition at line 288 of file RooWorkspace.h.
|
private |
Definition at line 273 of file RooWorkspace.h.
|
private |
Definition at line 275 of file RooWorkspace.h.
|
private |
Definition at line 263 of file RooWorkspace.h.
|
private |
Definition at line 272 of file RooWorkspace.h.