class RooGenContext: public RooAbsGenContext



Class RooGenContext implement a universal generator context for all RooAbsPdf classes that do not have or need a specialized generator context. This generator context queries the input p.d.f which observables it can generate internally and delegates generation of those observables to the p.d.f if it deems that safe. The other observables are generated use a RooAcceptReject sampling technique.

Function Members (Methods)

public:
RooGenContext(const RooGenContext&)
RooGenContext(const RooAbsPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t verbose = kFALSE, const RooArgSet* forceDirect = 0)
virtual~RooGenContext()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidattach(const RooArgSet& params)
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_tRooAbsGenContext::defaultPrintContents(Option_t* opt) const
static ostream&RooPrintable::defaultPrintStream(ostream* os = 0)
virtual RooPrintable::StyleOptionRooAbsGenContext::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
RooDataSet*RooAbsGenContext::generate(Int_t nEvents = 0)
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_tRooAbsGenContext::isValid() const
Bool_tRooAbsGenContext::isVerbose() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidRooAbsGenContext::Print(Option_t* options = 0) const
virtual voidRooAbsGenContext::printArgs(ostream& os) const
virtual voidRooAbsGenContext::printClassName(ostream& os) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidprintMultiline(ostream& os, Int_t content, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidRooAbsGenContext::printName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidRooAbsGenContext::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 voidRooAbsGenContext::setProtoDataOrder(Int_t* lut)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidRooAbsGenContext::setVerbose(Bool_t verbose = kTRUE)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidgenerateEvent(RooArgSet& theEvent, Int_t remaining)
virtual voidinitGenerator(const RooArgSet& theEvent)
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum RooPrintable::ContentsOption { kName
kClassName
kValue
kArgs
kExtras
kAddress
kTitle
};
enum RooPrintable::StyleOption { kInline
kSingleLine
kStandard
kVerbose
kTreeStructure
};
protected:
RooRealIntegral*_acceptRejectFuncProjection function to be passed to accept/reject sampler
Double_t_area
RooArgSet*_cloneSetClone of all nodes of input p.d.f
Int_t_codeInternal generation code
RooArgSet_directVars
UInt_tRooAbsGenContext::_expectedEventsNumber of expected events from extended p.d.f
RooAbsPdf::ExtendModeRooAbsGenContext::_extendModeExtended mode capabilities of p.d.f.
RooAcceptReject*_generatorAccept/reject generation engine
Bool_tRooAbsGenContext::_isValidIs context in valid state?
Double_t_maxProb
RooRealVar*_maxVarVariable holding maximum value of p.d.f
static Int_tRooPrintable::_nameLength
Int_tRooAbsGenContext::_nextProtoIndexNext prototype event to load according to LUT
Double_t_normMaximum probability, p.d.f area and normalization
RooArgSet_otherVarsList of observables generated internally, randomly, and by accept/reject sampling
RooAbsPdf*_pdfCloneClone of input p.d.f
Int_t*RooAbsGenContext::_protoOrderLUT with traversal order of prototype data
RooArgSetRooAbsGenContext::_protoVarsPrototype observables
const RooDataSet*RooAbsGenContext::_prototypePointer to prototype dataset
RooArgSet*RooAbsGenContext::_theEventPointer to observable event being generated
TIterator*_uniIterIterator over uniform observables
RooArgSet_uniformVars
Int_t_updateFMaxPerEventIf true, maximum p.d.f value needs to be recalculated for each event
Bool_tRooAbsGenContext::_verboseVerbose messaging?
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooGenContext(const RooAbsPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t verbose = kFALSE, const RooArgSet* forceDirect = 0)
 Initialize a new context for generating events with the specified
 variables, using the specified PDF model. A prototype dataset (if provided)
 is not cloned and still belongs to the caller. The contents and shape
 of this dataset can be changed between calls to generate() as long as the
 expected columns to be copied to the generated dataset are present.
 Any argument supplied in the forceDirect RooArgSet are always offered
 for internal generation to the p.d.f., even if this is deemed unsafe by
 the logic of RooGenContext.
~RooGenContext()
 Destructor.
void attach(const RooArgSet& params)
 Attach the cloned model to the event buffer we will be filling.
void initGenerator(const RooArgSet& theEvent)
 Perform one-time initialization of the generator context
void generateEvent(RooArgSet& theEvent, Int_t remaining)
 Generate one event. The 'remaining' integer is not used other than
 for printing messages
void printMultiline(ostream& os, Int_t content, Bool_t verbose = kFALSE, TString indent = "") const
 Printing interface
RooGenContext(const RooAbsPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t verbose = kFALSE, const RooArgSet* forceDirect = 0)

Last change: Wed Jun 25 08:33:02 2008
Last generated: 2008-06-25 08:33
Copyright (c) 2000-2005, Regents of the University of California *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.