ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooSimGenContext

class RooSimGenContext: public RooAbsGenContext



RooSimGenContext is an efficient implementation of the generator context specific for RooSimultaneous PDFs when generating more than one of the component pdfs.

Function Members (Methods)

public:
RooSimGenContext(const RooSimultaneous& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
virtual~RooSimGenContext()
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, Bool_t skipInit = kFALSE)
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()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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 voidRooPrintable::printAddress(ostream& os) 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(ostream& 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 voidsetProtoDataOrder(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)
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:
RooSimGenContext(const RooSimGenContext& other)
virtual RooDataSet*createDataSet(const char* name, const char* title, const RooArgSet& obs)
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()
voidRooAbsGenContext::resampleData(Double_t& ratio)
voidupdateFractions()

Data Members

protected:
RooArgSet_allVarsPdfAll pdf variables
UInt_tRooAbsGenContext::_expectedEventsNumber of expected events from extended p.d.f
RooAbsPdf::ExtendModeRooAbsGenContext::_extendModeExtended mode capabilities of p.d.f.
Double_t*_fracThresh[_numPdf] Fraction threshold array
vector<int>_gcIndexIndex value corresponding to component
vector<RooAbsGenContext*>_gcListList of component generator contexts
RooDataSet*RooAbsGenContext::_genData! Data being generated
Bool_t_haveIdxProtoFlag set if generation of index is requested
RooAbsCategoryLValue*_idxCatClone of index category
TString_idxCatNameName of index category
RooArgSet*_idxCatSetOwner of index category components
Bool_tRooAbsGenContext::_isValidIs context in valid state?
static Int_tRooPrintable::_nameLength
Int_tRooAbsGenContext::_nextProtoIndexNext prototype event to load according to LUT
TStringRooAbsGenContext::_normRangeNormalization range of pdf
Int_t_numPdfNumber of generated PDFs
const RooSimultaneous*_pdfOriginal PDF
RooDataSet*_protoData! Prototype dataset
Int_t*RooAbsGenContext::_protoOrderLUT with traversal order of prototype data
RooArgSetRooAbsGenContext::_protoVarsPrototype observables
const RooDataSet*_prototypePrototype data set
const RooDataSet*RooAbsGenContext::_prototypePointer to prototype dataset
TIterator*_proxyIterIterator over pdf proxies
RooArgSet*RooAbsGenContext::_theEventPointer to observable event being generated
Bool_tRooAbsGenContext::_verboseVerbose messaging?
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooSimGenContext(const RooSimultaneous& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
 Constructor of specialized generator context for RooSimultaneous p.d.f.s. This
 context creates a dedicated context for each component p.d.f.s and delegates
 generation of events to the appropriate component generator context
~RooSimGenContext()
 Destructor. Delete all owned subgenerator contexts
void attach(const RooArgSet& params)
 Attach the index category clone to the given event buffer
void initGenerator(const RooArgSet& theEvent)
 Perform one-time initialization of generator context
RooDataSet* createDataSet(const char* name, const char* title, const RooArgSet& obs)
 Create an empty dataset to hold the events that will be generated
void generateEvent(RooArgSet& theEvent, Int_t remaining)
 Generate event appropriate for current index state.
 The index state is taken either from the prototype
 or is generated from the fraction threshold table.
void updateFractions()
 No action needed if we have a proto index
void setProtoDataOrder(Int_t* lut)
 Set the traversal order of the prototype data to that in the
 given lookup table. This information is passed to all
 component generator contexts
void printMultiline(ostream& os, Int_t content, Bool_t verbose = kFALSE, TString indent = "") const
 Detailed printing interface
RooSimGenContext(const RooSimultaneous& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)