Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooFactoryWSTool Class Reference

Implementation detail of the RooWorkspace.

It interprets all expressions for RooWorkspace::factory(const char*).

Definition at line 47 of file RooFactoryWSTool.h.

Classes

class  IFace
 
class  SpecialsIFace
 

Public Member Functions

 RooFactoryWSTool (const RooFactoryWSTool &)=delete
 
 RooFactoryWSTool (RooWorkspace &ws)
 
RooAddPdfadd (const char *objName, const char *specList, bool recursiveCoefs=false)
 
RooAdditionaddfunc (const char *objName, const char *specList)
 
RooRealSumPdfamplAdd (const char *objName, const char *specList)
 
RooAbsArgasARG (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsArg reference found in workspace.
 
RooCategoryasCAT (const char *)
 CINT constructor interface, return constructor string argument #idx as RooCategory reference found in workspace.
 
RooAbsCategoryasCATFUNC (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsCategory reference found in workspace.
 
RooAbsCategoryLValueasCATLV (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsCategoryLValue reference found in workspace.
 
RooAbsDataasDATA (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsData object found in workspace.
 
RooDataHistasDHIST (const char *)
 CINT constructor interface, return constructor string argument #idx as RooDataHist object found in workspace.
 
double asDOUBLE (const char *)
 CINT constructor interface, return constructor string argument #idx as double.
 
RooDataSetasDSET (const char *)
 CINT constructor interface, return constructor string argument #idx as RooDataSet object found in workspace.
 
RooAbsRealasFUNC (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsReal reference found in workspace.
 
Int_t asINT (const char *)
 CINT constructor interface, return constructor string argument #idx as Int_t.
 
RooArgList asLIST (const char *)
 CINT constructor interface, return constructor string argument #idx as RooArgList of objects found in workspace.
 
TObjectasOBJ (const char *)
 
RooAbsPdfasPDF (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsPdf reference found in workspace.
 
RooResolutionModelasRMODEL (const char *)
 CINT constructor interface, return constructor string argument #idx as RooResolutionModel reference found in workspace.
 
RooArgSet asSET (const char *)
 CINT constructor interface, return constructor string argument #idx as RooArgSet of objects found in workspace.
 
const char * asSTRING (const char *)
 CINT constructor interface, return constructor string argument #idx as const char*.
 
RooRealVarasVAR (const char *)
 CINT constructor interface, return constructor string argument #idx as RooRealVar reference found in workspace.
 
RooAbsRealLValueasVARLV (const char *)
 CINT constructor interface, return constructor string argument #idx as RooAbsRealLValue reference found in workspace.
 
const char * autoClassNamePostFix () const
 
RooAbsArgcreateArg (const char *className, const char *objName, const char *varList)
 Low-level factory interface for creating a RooAbsPdf of a given class with a given list of input variables The variable list varList should be of the form "a,b,c" where the interpretation of the argument is dependent on the pdf.
 
RooCategorycreateCategory (const char *name, const char *stateNameList=nullptr)
 Low-level factory interface for creating a RooCategory with a given list of state names.
 
RooRealVarcreateVariable (const char *name, double xmin, double xmax)
 Low-level factory interface for creating a RooRealVar with a given range and initial value.
 
TClassIsA () const override
 
void logError ()
 
RooAbsArgprocess (const char *expr)
 Create a RooFit object from the given expression.
 
std::string processExpression (const char *expr)
 Process a single high-level expression or list of expressions.
 
RooProdPdfprod (const char *objName, const char *pdfList)
 
RooProductprodfunc (const char *objName, const char *pdfList)
 
void setAutoClassNamePostFix (const char *pfix)
 
RooSimultaneoussimul (const char *objName, const char *indexCat, const char *pdfMap)
 
std::vector< std::string > splitFunctionArgs (const char *funcExpr)
 Allocate and fill work buffer.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
RooWorkspacews ()
 
- 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.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
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.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- 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 TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
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=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 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 TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () 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_tGetOption () 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 (the base implementation is no-op).
 
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)
 
TObjectoperator= (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.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
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.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
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=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual Int_t defaultPrintContents (Option_t *opt) const
 Default choice of contents to be printed (name and value)
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printAddress (std::ostream &os) const
 Print class name of object.
 
virtual void printArgs (std::ostream &os) const
 Interface for printing of object arguments.
 
virtual void printClassName (std::ostream &os) const
 Print class name of object.
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object.
 
virtual void printMultiline (std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const
 Interface for detailed printing of object.
 
virtual void printName (std::ostream &os) const
 Print name of object.
 
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 void printTitle (std::ostream &os) const
 Print title of object.
 
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object.
 
virtual void printValue (std::ostream &os) const
 Interface to print value of object.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static RooAbsArgas_ARG (UInt_t idx)
 
static RooCategoryas_CAT (UInt_t idx)
 
static RooAbsCategoryas_CATFUNC (UInt_t idx)
 
static RooAbsCategoryLValueas_CATLV (UInt_t idx)
 
static RooAbsDataas_DATA (UInt_t idx)
 
static RooDataHistas_DHIST (UInt_t idx)
 
static double as_DOUBLE (UInt_t idx)
 
static double as_DOUBLE (UInt_t idx, double defVal)
 
static RooDataSetas_DSET (UInt_t idx)
 
static RooAbsRealas_FUNC (UInt_t idx)
 
static Int_t as_INT (UInt_t idx)
 
static Int_t as_INT (UInt_t idx, Int_t defVal)
 
static RooArgList as_LIST (UInt_t idx)
 
static TObjectas_OBJ (UInt_t idx)
 
static RooAbsPdfas_PDF (UInt_t idx)
 
static RooResolutionModelas_RMODEL (UInt_t idx)
 
static RooArgSet as_SET (UInt_t idx)
 
static const char * as_STRING (UInt_t idx)
 
static RooRealVaras_VAR (UInt_t idx)
 
static RooAbsRealLValueas_VARLV (UInt_t idx)
 
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static void registerSpecial (const char *typeName, RooFactoryWSTool::IFace *iface)
 Register foreign special objects in factory.
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
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.
 
- Static Public Member Functions inherited from RooPrintable
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static std::ostream & defaultPrintStream (std::ostream *os=nullptr)
 Return a reference to the current default stream to use in Print().
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount.
 

Protected Member Functions

bool checkSyntax (const char *arg)
 Perform basic syntax on given factory expression.
 
void clearError ()
 Associated workspace.
 
Int_t errorCount ()
 
std::string processAliasExpression (const char *arg)
 Parse token.
 
std::string processCompositeExpression (const char *arg)
 Process a single composite expression.
 
std::string processCreateArg (std::string &func, std::vector< std::string > &args)
 Glue function between high-level syntax and low-level factory call to createArg: Process a parsed call to create a pdf named func
 
std::string processCreateVar (std::string &func, std::vector< std::string > &args)
 Glue function between high-level syntax and low-level factory call to createVariable: Process a parsed call to create a variable named func
 
std::string processListExpression (const char *arg)
 Process a list of high-level expression.
 
std::string processMetaArg (std::string &func, std::vector< std::string > &args)
 Concatenate list of args into comma separated string.
 
std::string processSingleExpression (const char *arg)
 Process a single high-level expression.
 
TClassresolveClassName (const char *className)
 
std::string varTag (std::string &func, std::vector< std::string > &args)
 
- 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 ()
 

Static Protected Member Functions

static void checkIndex (UInt_t index)
 
static std::map< std::string, IFace * > & hooks ()
 
static RooFactoryWSToolof ()
 

Protected Attributes

std::vector< std::string > _args
 
std::string _autoClassPostFix
 
std::stack< std::string > _autoNamePrefix
 
Int_t _errorCount = 0
 
std::map< std::string, std::string > _typeAliases
 
RooWorkspace_ws
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static std::map< std::string, IFace * > * _hooks =nullptr
 
static RooFactoryWSTool_of = nullptr
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Public Types inherited from RooPrintable
enum  ContentsOption {
  kName =1 , kClassName =2 , kValue =4 , kArgs =8 ,
  kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128
}
 
enum  StyleOption {
  kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 ,
  kTreeStructure =5
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

#include <RooFactoryWSTool.h>

Inheritance diagram for RooFactoryWSTool:
[legend]

Constructor & Destructor Documentation

◆ RooFactoryWSTool() [1/2]

RooFactoryWSTool::RooFactoryWSTool ( RooWorkspace ws)
inline

Definition at line 52 of file RooFactoryWSTool.h.

◆ RooFactoryWSTool() [2/2]

RooFactoryWSTool::RooFactoryWSTool ( const RooFactoryWSTool )
delete

Member Function Documentation

◆ add()

RooAddPdf * RooFactoryWSTool::add ( const char *  objName,
const char *  specList,
bool  recursiveCoefs = false 
)

Definition at line 476 of file RooFactoryWSTool.cxx.

◆ addfunc()

RooAddition * RooFactoryWSTool::addfunc ( const char *  objName,
const char *  specList 
)

Definition at line 676 of file RooFactoryWSTool.cxx.

◆ amplAdd()

RooRealSumPdf * RooFactoryWSTool::amplAdd ( const char *  objName,
const char *  specList 
)

Definition at line 518 of file RooFactoryWSTool.cxx.

◆ as_ARG()

static RooAbsArg & RooFactoryWSTool::as_ARG ( UInt_t  idx)
inlinestatic

Definition at line 88 of file RooFactoryWSTool.h.

◆ as_CAT()

static RooCategory & RooFactoryWSTool::as_CAT ( UInt_t  idx)
inlinestatic

Definition at line 96 of file RooFactoryWSTool.h.

◆ as_CATFUNC()

static RooAbsCategory & RooFactoryWSTool::as_CATFUNC ( UInt_t  idx)
inlinestatic

Definition at line 98 of file RooFactoryWSTool.h.

◆ as_CATLV()

static RooAbsCategoryLValue & RooFactoryWSTool::as_CATLV ( UInt_t  idx)
inlinestatic

Definition at line 97 of file RooFactoryWSTool.h.

◆ as_DATA()

static RooAbsData & RooFactoryWSTool::as_DATA ( UInt_t  idx)
inlinestatic

Definition at line 103 of file RooFactoryWSTool.h.

◆ as_DHIST()

static RooDataHist & RooFactoryWSTool::as_DHIST ( UInt_t  idx)
inlinestatic

Definition at line 104 of file RooFactoryWSTool.h.

◆ as_DOUBLE() [1/2]

static double RooFactoryWSTool::as_DOUBLE ( UInt_t  idx)
inlinestatic

Definition at line 111 of file RooFactoryWSTool.h.

◆ as_DOUBLE() [2/2]

static double RooFactoryWSTool::as_DOUBLE ( UInt_t  idx,
double  defVal 
)
inlinestatic

Definition at line 113 of file RooFactoryWSTool.h.

◆ as_DSET()

static RooDataSet & RooFactoryWSTool::as_DSET ( UInt_t  idx)
inlinestatic

Definition at line 105 of file RooFactoryWSTool.h.

◆ as_FUNC()

static RooAbsReal & RooFactoryWSTool::as_FUNC ( UInt_t  idx)
inlinestatic

Definition at line 91 of file RooFactoryWSTool.h.

◆ as_INT() [1/2]

static Int_t RooFactoryWSTool::as_INT ( UInt_t  idx)
inlinestatic

Definition at line 110 of file RooFactoryWSTool.h.

◆ as_INT() [2/2]

static Int_t RooFactoryWSTool::as_INT ( UInt_t  idx,
Int_t  defVal 
)
inlinestatic

Definition at line 112 of file RooFactoryWSTool.h.

◆ as_LIST()

static RooArgList RooFactoryWSTool::as_LIST ( UInt_t  idx)
inlinestatic

Definition at line 101 of file RooFactoryWSTool.h.

◆ as_OBJ()

static TObject & RooFactoryWSTool::as_OBJ ( UInt_t  idx)
inlinestatic

Definition at line 107 of file RooFactoryWSTool.h.

◆ as_PDF()

static RooAbsPdf & RooFactoryWSTool::as_PDF ( UInt_t  idx)
inlinestatic

Definition at line 90 of file RooFactoryWSTool.h.

◆ as_RMODEL()

static RooResolutionModel & RooFactoryWSTool::as_RMODEL ( UInt_t  idx)
inlinestatic

Definition at line 94 of file RooFactoryWSTool.h.

◆ as_SET()

static RooArgSet RooFactoryWSTool::as_SET ( UInt_t  idx)
inlinestatic

Definition at line 100 of file RooFactoryWSTool.h.

◆ as_STRING()

static const char * RooFactoryWSTool::as_STRING ( UInt_t  idx)
inlinestatic

Definition at line 109 of file RooFactoryWSTool.h.

◆ as_VAR()

static RooRealVar & RooFactoryWSTool::as_VAR ( UInt_t  idx)
inlinestatic

Definition at line 92 of file RooFactoryWSTool.h.

◆ as_VARLV()

static RooAbsRealLValue & RooFactoryWSTool::as_VARLV ( UInt_t  idx)
inlinestatic

Definition at line 93 of file RooFactoryWSTool.h.

◆ asARG()

RooAbsArg & RooFactoryWSTool::asARG ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsArg reference found in workspace.

Definition at line 1528 of file RooFactoryWSTool.cxx.

◆ asCAT()

RooCategory & RooFactoryWSTool::asCAT ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooCategory reference found in workspace.

Definition at line 1680 of file RooFactoryWSTool.cxx.

◆ asCATFUNC()

RooAbsCategory & RooFactoryWSTool::asCATFUNC ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsCategory reference found in workspace.

Definition at line 1643 of file RooFactoryWSTool.cxx.

◆ asCATLV()

RooAbsCategoryLValue & RooFactoryWSTool::asCATLV ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsCategoryLValue reference found in workspace.

Definition at line 1661 of file RooFactoryWSTool.cxx.

◆ asDATA()

RooAbsData & RooFactoryWSTool::asDATA ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsData object found in workspace.

Definition at line 1781 of file RooFactoryWSTool.cxx.

◆ asDHIST()

RooDataHist & RooFactoryWSTool::asDHIST ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooDataHist object found in workspace.

Definition at line 1795 of file RooFactoryWSTool.cxx.

◆ asDOUBLE()

double RooFactoryWSTool::asDOUBLE ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as double.

Definition at line 1882 of file RooFactoryWSTool.cxx.

◆ asDSET()

RooDataSet & RooFactoryWSTool::asDSET ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooDataSet object found in workspace.

Definition at line 1812 of file RooFactoryWSTool.cxx.

◆ asFUNC()

RooAbsReal & RooFactoryWSTool::asFUNC ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsReal reference found in workspace.

Definition at line 1548 of file RooFactoryWSTool.cxx.

◆ asINT()

Int_t RooFactoryWSTool::asINT ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as Int_t.

Definition at line 1873 of file RooFactoryWSTool.cxx.

◆ asLIST()

RooArgList RooFactoryWSTool::asLIST ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooArgList of objects found in workspace.

Definition at line 1745 of file RooFactoryWSTool.cxx.

◆ asOBJ()

TObject & RooFactoryWSTool::asOBJ ( const char *  arg)

Definition at line 1829 of file RooFactoryWSTool.cxx.

◆ asPDF()

RooAbsPdf & RooFactoryWSTool::asPDF ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsPdf reference found in workspace.

Definition at line 1609 of file RooFactoryWSTool.cxx.

◆ asRMODEL()

RooResolutionModel & RooFactoryWSTool::asRMODEL ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooResolutionModel reference found in workspace.

Definition at line 1624 of file RooFactoryWSTool.cxx.

◆ asSET()

RooArgSet RooFactoryWSTool::asSET ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooArgSet of objects found in workspace.

Definition at line 1696 of file RooFactoryWSTool.cxx.

◆ asSTRING()

const char * RooFactoryWSTool::asSTRING ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as const char*.

Definition at line 1843 of file RooFactoryWSTool.cxx.

◆ asVAR()

RooRealVar & RooFactoryWSTool::asVAR ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooRealVar reference found in workspace.

Definition at line 1594 of file RooFactoryWSTool.cxx.

◆ asVARLV()

RooAbsRealLValue & RooFactoryWSTool::asVARLV ( const char *  arg)

CINT constructor interface, return constructor string argument #idx as RooAbsRealLValue reference found in workspace.

Definition at line 1571 of file RooFactoryWSTool.cxx.

◆ autoClassNamePostFix()

const char * RooFactoryWSTool::autoClassNamePostFix ( ) const
inline

Definition at line 155 of file RooFactoryWSTool.h.

◆ checkIndex()

void RooFactoryWSTool::checkIndex ( UInt_t  index)
staticprotected

Definition at line 1516 of file RooFactoryWSTool.cxx.

◆ checkSyntax()

bool RooFactoryWSTool::checkSyntax ( const char *  arg)
protected

Perform basic syntax on given factory expression.

If function returns true syntax errors are found.

Definition at line 1481 of file RooFactoryWSTool.cxx.

◆ Class()

static TClass * RooFactoryWSTool::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * RooFactoryWSTool::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t RooFactoryWSTool::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 199 of file RooFactoryWSTool.h.

◆ clearError()

void RooFactoryWSTool::clearError ( )
inlineprotected

Associated workspace.

Definition at line 192 of file RooFactoryWSTool.h.

◆ createArg()

RooAbsArg * RooFactoryWSTool::createArg ( const char *  className,
const char *  objName,
const char *  varList 
)

Low-level factory interface for creating a RooAbsPdf of a given class with a given list of input variables The variable list varList should be of the form "a,b,c" where the interpretation of the argument is dependent on the pdf.

Set and List arguments can be passed by substituting a single argument with the form (a,b,c), i.e. one can set varList to "x,(a0,a1,a2)" to pass a RooAbsReal and a RooArgSet as arguments.

Definition at line 280 of file RooFactoryWSTool.cxx.

◆ createCategory()

RooCategory * RooFactoryWSTool::createCategory ( const char *  name,
const char *  stateNameList = nullptr 
)

Low-level factory interface for creating a RooCategory with a given list of state names.

The State name list can be of the form name1,name2,name3 or of the form name1=id1,name2=id2,name3=id3

Definition at line 150 of file RooFactoryWSTool.cxx.

◆ createVariable()

RooRealVar * RooFactoryWSTool::createVariable ( const char *  name,
double  xmin,
double  xmax 
)

Low-level factory interface for creating a RooRealVar with a given range and initial value.

Definition at line 126 of file RooFactoryWSTool.cxx.

◆ DeclFileName()

static const char * RooFactoryWSTool::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 199 of file RooFactoryWSTool.h.

◆ errorCount()

Int_t RooFactoryWSTool::errorCount ( )
inlineprotected

Definition at line 193 of file RooFactoryWSTool.h.

◆ hooks()

std::map< std::string, RooFactoryWSTool::IFace * > & RooFactoryWSTool::hooks ( )
staticprotected

Definition at line 1900 of file RooFactoryWSTool.cxx.

◆ IsA()

TClass * RooFactoryWSTool::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 199 of file RooFactoryWSTool.h.

◆ logError()

void RooFactoryWSTool::logError ( )
inline

Definition at line 153 of file RooFactoryWSTool.h.

◆ of()

RooFactoryWSTool * RooFactoryWSTool::of ( )
staticprotected

Definition at line 2195 of file RooFactoryWSTool.cxx.

◆ process()

RooAbsArg * RooFactoryWSTool::process ( const char *  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 pdfs
MyPdf::g(x,m,s) Create pdf 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

RooGaussian::g(x[-10,10],m[0],3)
Double_t x[n]
Definition legend1.C:17
TMarker m
Definition textangle.C:8

to create a pdf and its variables in one go. This nesting can be applied recursively e.g.

SUM::model( f[0.5,0,1] * RooGaussian::g( x[-10,10], m[0], 3] ),
RooChebychev::c( x, {a0[0.1],a1[0.2],a2[-0.3]} ))
#define f(i)
Definition RSha256.hxx:104

creates the sum of a Gaussian and a Chebychev and all its variables.

A separate series of operator meta-type exists to simplify the construction of composite expressions meta-types in all capitals (SUM) create pdfs, meta types in lower case (sum) create functions.

Expression Effect
SUM::name(f1*pdf1,f2*pdf2,pdf3] Create sum pdf name with value f1*pdf1+f2*pdf2+(1-f1-f2)*pdf3
RSUM::name(f1*pdf1,f2*pdf2,pdf3] Create recursive sum pdf name with value f1*pdf1 + (1-f1)(f2*pdf2 + (1-f2)pdf3)
ASUM::name(f1*amp1,f2*amp2,amp3] Create sum pdf 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 pdf with name with given input pdfs
PROD::name(pdf1|x,pdf2] Create product of conditional pdf 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 pdf index category cat. Make pdf1 to state a, pdf2 to state b
EXPR::name(<expr>,var,...] Create a generic pdf 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 up to order
‘lagrangianmorph::name("$fileName('infile.root&rsquo;),$observableName(obs),$couplings({var1[-10,10],var2[-10,10]}),$folders({'sample1,sample2,sample3'}),$NewPhysics(var1=1,var2=0)"]<td> Create a RooLagrangianMorphFunc function for the observable obs as a function ofvar1,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 pdf 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 pdf of all built clones, using the specified master index to map prototype pdfs 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 pdf 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 pdf 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 pdfs see the definitions below.

Definition at line 821 of file RooFactoryWSTool.cxx.

◆ processAliasExpression()

string RooFactoryWSTool::processAliasExpression ( const char *  arg)
protected

Parse token.

Definition at line 1185 of file RooFactoryWSTool.cxx.

◆ processCompositeExpression()

std::string RooFactoryWSTool::processCompositeExpression ( const char *  token)
protected

Process a single composite expression.

  • e.g. A=RooGaussian::g[x,m,s] --> A=g
  • e.g. f[0,1]*RooGaussiang[x,m,s] --> f*g
  • e.g. RooGaussian::g(x,y,s)|x --> g|x
  • e.g. $MetaArg(RooGaussian::g[x,m,s],blah) --> $MetaArg(g,blah)

Definition at line 909 of file RooFactoryWSTool.cxx.

◆ processCreateArg()

string RooFactoryWSTool::processCreateArg ( std::string &  func,
std::vector< std::string > &  args 
)
protected

Glue function between high-level syntax and low-level factory call to createArg: Process a parsed call to create a pdf named func

The func arg is interpreted as ClassName::ObjectName and the arglist is passed verbatim to createArg. The received arglist is expected to be fully reduced (i.e. all inline object creations must have been compiled)

Definition at line 1337 of file RooFactoryWSTool.cxx.

◆ processCreateVar()

string RooFactoryWSTool::processCreateVar ( std::string &  func,
std::vector< std::string > &  args 
)
protected

Glue function between high-level syntax and low-level factory call to createVariable: Process a parsed call to create a variable named func

If initial token is non-numeric, a RooCategory will be created, and the args are interpreted as either state names or name=id assignments. Otherwise a RooRealvar is created and the arg list is interpreted as follows:

  • If list has two args, these are interpreted as xmin,xmax
  • If list has three args, these are interpreted as xinit,xmin,xmax
  • If list has one arg, this is interpreted as xinit and the variable is set as constant

Definition at line 1267 of file RooFactoryWSTool.cxx.

◆ processExpression()

std::string RooFactoryWSTool::processExpression ( const char *  token)

Process a single high-level expression or list of expressions.

The returned string a the reduced expression where all inline object creations have been executed and substituted with the name of the created object

  • e.g. RooGaussian::g(x,m,s) --> g
  • e.g. {x(-10,10),s} --> {x,s}

Definition at line 882 of file RooFactoryWSTool.cxx.

◆ processListExpression()

string RooFactoryWSTool::processListExpression ( const char *  arg)
protected

Process a list of high-level expression.

The returned string a the reduced expression list where all inline object creations have been executed and substituted with the name of the created object

  • E.g. {x(-10,10),s} --> {x,s}

Definition at line 1118 of file RooFactoryWSTool.cxx.

◆ processMetaArg()

std::string RooFactoryWSTool::processMetaArg ( std::string &  func,
std::vector< std::string > &  args 
)
protected

Concatenate list of args into comma separated string.

Definition at line 1385 of file RooFactoryWSTool.cxx.

◆ processSingleExpression()

std::string RooFactoryWSTool::processSingleExpression ( const char *  arg)
protected

Process a single high-level expression.

The returned string a the reduced expression where all inline object creations have been executed and substituted with the name of the created object

  • e.g. RooGaussian::g(x,m,s) --> g
  • e.g. x[-10,10] --> x

Definition at line 972 of file RooFactoryWSTool.cxx.

◆ prod()

RooProdPdf * RooFactoryWSTool::prod ( const char *  objName,
const char *  pdfList 
)

Definition at line 560 of file RooFactoryWSTool.cxx.

◆ prodfunc()

RooProduct * RooFactoryWSTool::prodfunc ( const char *  objName,
const char *  pdfList 
)

Definition at line 726 of file RooFactoryWSTool.cxx.

◆ registerSpecial()

void RooFactoryWSTool::registerSpecial ( const char *  typeName,
RooFactoryWSTool::IFace iface 
)
static

Register foreign special objects in factory.

Definition at line 1891 of file RooFactoryWSTool.cxx.

◆ resolveClassName()

TClass * RooFactoryWSTool::resolveClassName ( const char *  className)
protected

Definition at line 1205 of file RooFactoryWSTool.cxx.

◆ setAutoClassNamePostFix()

void RooFactoryWSTool::setAutoClassNamePostFix ( const char *  pfix)
inline

Definition at line 156 of file RooFactoryWSTool.h.

◆ simul()

RooSimultaneous * RooFactoryWSTool::simul ( const char *  objName,
const char *  indexCat,
const char *  pdfMap 
)

Definition at line 626 of file RooFactoryWSTool.cxx.

◆ splitFunctionArgs()

vector< string > RooFactoryWSTool::splitFunctionArgs ( const char *  funcExpr)

Allocate and fill work buffer.

Definition at line 1409 of file RooFactoryWSTool.cxx.

◆ Streamer()

void RooFactoryWSTool::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

◆ StreamerNVirtual()

void RooFactoryWSTool::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 199 of file RooFactoryWSTool.h.

◆ varTag()

string RooFactoryWSTool::varTag ( std::string &  func,
std::vector< std::string > &  args 
)
protected

Definition at line 1238 of file RooFactoryWSTool.cxx.

◆ ws()

RooWorkspace & RooFactoryWSTool::ws ( )
inline

Definition at line 75 of file RooFactoryWSTool.h.

Member Data Documentation

◆ _args

std::vector<std::string> RooFactoryWSTool::_args
protected

Definition at line 184 of file RooFactoryWSTool.h.

◆ _autoClassPostFix

std::string RooFactoryWSTool::_autoClassPostFix
protected

Definition at line 197 of file RooFactoryWSTool.h.

◆ _autoNamePrefix

std::stack<std::string> RooFactoryWSTool::_autoNamePrefix
protected

Definition at line 164 of file RooFactoryWSTool.h.

◆ _errorCount

Int_t RooFactoryWSTool::_errorCount = 0
protected

Definition at line 195 of file RooFactoryWSTool.h.

◆ _hooks

map< string, RooFactoryWSTool::IFace * > * RooFactoryWSTool::_hooks =nullptr
staticprotected

Definition at line 188 of file RooFactoryWSTool.h.

◆ _of

RooFactoryWSTool * RooFactoryWSTool::_of = nullptr
staticprotected

Definition at line 183 of file RooFactoryWSTool.h.

◆ _typeAliases

std::map<std::string,std::string> RooFactoryWSTool::_typeAliases
protected

Definition at line 165 of file RooFactoryWSTool.h.

◆ _ws

RooWorkspace* RooFactoryWSTool::_ws
protected

Definition at line 190 of file RooFactoryWSTool.h.

Libraries for RooFactoryWSTool:

The documentation for this class was generated from the following files: