Similar to TTree::MakeClass(), generates skeleton code for RooAbsPdf and RooAbsReal functions given a list of input parameter names.
The factory can also compile the generated code on the fly, and on request also immediate instantiate objects.
Definition at line 27 of file RooClassFactory.h.
Static Public Member Functions | |
static bool | makeAndCompileFunction (std::string const &name, std::string const &expression, const RooArgList &args, std::string const &intExpression="") |
Write, compile and load code for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments. | |
static bool | makeAndCompilePdf (std::string const &name, std::string const &expression, const RooArgList &vars, std::string const &intExpression="") |
static bool | makeClass (std::string const &baseName, const std::string &className, std::string const &realArgNames="", std::string const &catArgNames="", std::string const &expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, std::string const &intExpression="") |
Write code for a 'baseName' implementation with class name 'className', taking RooAbsReal arguments with names listed in argNames and RooAbsCategory arguments with names listed in catArgNames as constructor arguments (use a comma separated list for multiple arguments). | |
static bool | makeFunction (std::string const &name, std::string const &realArgNames="", std::string const &catArgNames="", std::string const &expression="1.0", bool hasAnaInt=false, std::string const &intExpression="") |
Write code for a RooAbsReal implementation with class name 'name', taking RooAbsReal arguments with names listed in argNames and RooAbsCategory arguments with names listed in catArgNames as constructor arguments (use a comma separated list for multiple arguments). | |
static RooAbsReal * | makeFunctionInstance (std::string const &className, std::string const &name, std::string const &expression, const RooArgList &vars, std::string const &intExpression="") |
Write, compile and load code and instantiate object for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments. | |
static RooAbsReal * | makeFunctionInstance (std::string const &name, std::string const &expression, const RooArgList &vars, std::string const &intExpression="") |
Write, compile and load code and instantiate object for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments. | |
static bool | makePdf (std::string const &name, std::string const &realArgNames="", std::string const &catArgNames="", std::string const &expression="1.0", bool hasAnaInt=false, bool hasIntGen=false, std::string const &intExpression="") |
Write code for a RooAbsPdf implementation with class name 'name'. | |
static RooAbsPdf * | makePdfInstance (std::string const &className, std::string const &name, std::string const &expression, const RooArgList &vars, std::string const &intExpression="") |
Write, compile and load code and instantiate object for a RooAbsPdf implementation with class name 'name', taking all elements of 'vars' as constructor arguments. | |
static RooAbsPdf * | makePdfInstance (std::string const &name, std::string const &expression, const RooArgList &vars, std::string const &intExpression="") |
Write, compile and load code and instantiate object for a RooAbsPdf implementation. | |
#include <RooClassFactory.h>
|
static |
Write, compile and load code for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments.
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'. You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral.
Definition at line 217 of file RooClassFactory.cxx.
|
static |
Definition at line 198 of file RooClassFactory.cxx.
|
static |
Write code for a 'baseName' implementation with class name 'className', taking RooAbsReal arguments with names listed in argNames and RooAbsCategory arguments with names listed in catArgNames as constructor arguments (use a comma separated list for multiple arguments).
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'. Skeleton code for handling of analytical integrals is added if hasAnaInt is true. You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral. Skeleton code for internal event generation is added if hasIntGen is true
Definition at line 450 of file RooClassFactory.cxx.
|
static |
Write code for a RooAbsReal implementation with class name 'name', taking RooAbsReal arguments with names listed in argNames and RooAbsCategory arguments with names listed in catArgNames as constructor arguments (use a comma separated list for multiple arguments).
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'. Skeleton code for handling of analytical integrals is added if hasAnaInt is true. You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral.
Definition at line 357 of file RooClassFactory.cxx.
|
static |
Write, compile and load code and instantiate object for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments.
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'.
The returned object is an instance of the object you just defined connected to the variables listed in 'vars'. The name of the object is 'name', its class name Roo<name>Class.
This function is an effective compiled replacement of RooFormulaVar
You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral.
Definition at line 274 of file RooClassFactory.cxx.
|
static |
Write, compile and load code and instantiate object for a RooAbsReal implementation with class name 'name', taking all elements of 'vars' as constructor arguments.
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'.
The returned object is an instance of the object you just defined connected to the variables listed in 'vars'. The name of the object is 'name', its class name Roo<name>Class.
This function is an effective compiled replacement of RooFormulaVar
You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral.
Definition at line 243 of file RooClassFactory.cxx.
|
static |
Write code for a RooAbsPdf implementation with class name 'name'.
The difference to makePdf() is the base class of the written class (RooAbsPdf instead of RooAbsReal).
Definition at line 334 of file RooClassFactory.cxx.
|
static |
Write, compile and load code and instantiate object for a RooAbsPdf implementation with class name 'name', taking all elements of 'vars' as constructor arguments.
The initial value expression is taken to be 'expression' which can be any one-line C++ expression in terms of variables that occur in 'vars'.
The returned object is an instance of the object you just defined connected to the variables listed in 'vars'. The name of the object is 'name', its class name Roo<name>Class.
This function is an effective compiled replacement of RooGenericPdf
You can add optional expressions for analytical integrals to be advertised by your class in the syntax "<intObsName>:<CPPAnaIntExpression>;<intObsName,intObsName>:<CPPAnaIntExpression>" where "<intObsName>" a name of the observable integrated over and "<CPPAnaIntExpression>" is the C++ expression that calculates that integral.
Definition at line 319 of file RooClassFactory.cxx.
|
static |
Write, compile and load code and instantiate object for a RooAbsPdf implementation.
The difference to makeFunctionInstance() is the base class of the written class (RooAbsPdf instead of RooAbsReal).
Definition at line 288 of file RooClassFactory.cxx.