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 218 of file RooClassFactory.cxx.
|
static |
Definition at line 199 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 451 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 358 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 275 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 244 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 335 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 320 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 289 of file RooClassFactory.cxx.