ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooClassFactory

class RooClassFactory: public TNamed, public RooPrintable



RooClassFactory is a clase like TTree::MakeClass() that 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.

Function Members (Methods)

public:
RooClassFactory()
virtual~RooClassFactory()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual Int_tRooPrintable::defaultPrintContents(Option_t* opt) const
static ostream&RooPrintable::defaultPrintStream(ostream* os = 0)
virtual RooPrintable::StyleOptionRooPrintable::defaultPrintStyle(Option_t* opt) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
static Bool_tmakeAndCompileFunction(const char* name, const char* expression, const RooArgList& args, const char* intExpression = 0)
static Bool_tmakeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
static Bool_tmakeClass(const char* className, const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expression = "1.0", Bool_t hasAnaInt = kFALSE, Bool_t hasIntGen = kFALSE, const char* intExpression = 0)
static Bool_tmakeFunction(const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expresion = "1.0", Bool_t hasAnaInt = kFALSE, const char* intExpression = 0)
static RooAbsReal*makeFunctionInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
static RooAbsReal*makeFunctionInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
static Bool_tmakePdf(const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expression = "1.0", Bool_t hasAnaInt = kFALSE, Bool_t hasIntGen = kFALSE, const char* intExpression = 0)
static RooAbsPdf*makePdfInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
static RooAbsPdf*makePdfInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
voidTObject::MayNotUse(const char* method) const
static voidRooPrintable::nameFieldLength(Int_t newLen)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooClassFactory&operator=(const RooClassFactory&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidRooPrintable::printAddress(ostream& os) const
virtual voidRooPrintable::printArgs(ostream& os) const
virtual voidRooPrintable::printClassName(ostream& os) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidRooPrintable::printMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidRooPrintable::printName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidRooPrintable::printTitle(ostream& os) const
virtual voidRooPrintable::printTree(ostream& os, TString indent = "") const
virtual voidRooPrintable::printValue(ostream& os) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
RooClassFactory(const RooClassFactory&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
static Int_tRooPrintable::_nameLength
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooClassFactory()
 Default constructor
~RooClassFactory()
 Destructor
Bool_t makeAndCompilePdf(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
Bool_t makeAndCompileFunction(const char* name, const char* expression, const RooArgList& args, const char* intExpression = 0)
 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.
RooAbsReal* makeFunctionInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
 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.
RooAbsReal* makeFunctionInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
 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.
RooAbsPdf* makePdfInstance(const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
 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.
RooAbsPdf* makePdfInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression = 0)
 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.
Bool_t makePdf(const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expression = "1.0", Bool_t hasAnaInt = kFALSE, Bool_t hasIntGen = kFALSE, const char* intExpression = 0)
 Write code for a RooAbsPdf 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. Skeleton code for internal event generation is added
 if hasIntGen is true

Bool_t makeFunction(const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expresion = "1.0", Bool_t hasAnaInt = kFALSE, const char* intExpression = 0)
 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.
Bool_t makeClass(const char* className, const char* name, const char* realArgNames = 0, const char* catArgNames = 0, const char* expression = "1.0", Bool_t hasAnaInt = kFALSE, Bool_t hasIntGen = kFALSE, const char* intExpression = 0)
 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

RooClassFactory()
 Constructors, assignment etc