ROOT » ROOFIT » ROOFITCORE » RooConvGenContext

class RooConvGenContext: public RooAbsGenContext



RooConvGenContext is an efficient implementation of the generator context specific for RooAbsAnaConvPdf objects. The physics model is generated with a truth resolution model and the requested resolution model is generated separately as a PDF. The convolution variable of the physics model is subsequently explicitly smeared with the resolution model distribution.

Function Members (Methods)

public:
virtual~RooConvGenContext()
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
virtual RooDataSet*RooAbsGenContext::generate(Double_t nEvents = 0, Bool_t skipInit = kFALSE, Bool_t extendedMode = 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
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
RooConvGenContext&operator=(const RooConvGenContext&)
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)
RooConvGenContext(const RooFFTConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
RooConvGenContext(const RooNumConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
RooConvGenContext(const RooAbsAnaConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
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 voidRooAbsGenContext::setExpectedData(Bool_t)
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) const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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 RooDataSet*RooAbsGenContext::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)
RooConvGenContext(const RooConvGenContext& other)

Data Members

public:
static RooPrintable::ContentsOptionRooPrintable::kAddress
static RooPrintable::ContentsOptionRooPrintable::kArgs
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static RooPrintable::ContentsOptionRooPrintable::kClassName
static RooPrintable::ContentsOptionRooPrintable::kCollectionHeader
static RooPrintable::ContentsOptionRooPrintable::kExtras
static TObject::EStatusBitsTObject::kHasUUID
static RooPrintable::StyleOptionRooPrintable::kInline
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static RooPrintable::ContentsOptionRooPrintable::kName
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static RooPrintable::StyleOptionRooPrintable::kSingleLine
static RooPrintable::StyleOptionRooPrintable::kStandard
static RooPrintable::ContentsOptionRooPrintable::kTitle
static RooPrintable::StyleOptionRooPrintable::kTreeStructure
static RooPrintable::ContentsOptionRooPrintable::kValue
static RooPrintable::StyleOptionRooPrintable::kVerbose
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TString_convVarNameName of convolution variable
RooRealVar*_cvModelConvolution variable in resModel event
RooRealVar*_cvOutConvolution variable in output event
RooRealVar*_cvPdfConvolution variable in PDFxTruth event
UInt_tRooAbsGenContext::_expectedEventsNumber of expected events from extended p.d.f
RooAbsPdf::ExtendModeRooAbsGenContext::_extendModeExtended mode capabilities of p.d.f.
RooDataSet*RooAbsGenContext::_genData! Data being generated
Bool_tRooAbsGenContext::_isValidIs context in valid state?
RooArgSet*_modelCloneSetOwner of resModel clone
RooAbsGenContext*_modelGenResolution model generator context
RooArgSet*_modelVarsHolder of resModel event
RooArgSet*_modelVarsOwnedOwning version of modelVars ;
static Int_tRooPrintable::_nameLength
Int_tRooAbsGenContext::_nextProtoIndexNext prototype event to load according to LUT
TStringRooAbsGenContext::_normRangeNormalization range of pdf
RooArgSet*_pdfCloneSetOwner of PDF clone
RooAbsGenContext*_pdfGenPhysics model generator context
RooArgSet*_pdfVarsHolder of PDF x truth event
RooArgSet*_pdfVarsOwnedOwning version of pdfVars ;
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
Bool_tRooAbsGenContext::_verboseVerbose messaging?
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooConvGenContext(const RooAbsAnaConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
 Constructor for specialized generator context for analytical convolutions.

 Builds a generator for the physics PDF convoluted with the truth model
 and a generator for the resolution model as PDF. Events are generated
 by sampling events from the p.d.f and smearings from the resolution model
 and adding these to obtain a distribution of events consistent with the
 convolution of these two. The advantage of this procedure is so that
 both p.d.f and resolution model can take advantage of any internal
 generators that may be defined.
RooConvGenContext(const RooNumConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
 Constructor for specialized generator context for numerical convolutions.

 Builds a generator for the physics PDF convoluted with the truth model
 and a generator for the resolution model as PDF. Events are generated
 by sampling events from the p.d.f and smearings from the resolution model
 and adding these to obtain a distribution of events consistent with the
 convolution of these two. The advantage of this procedure is so that
 both p.d.f and resolution model can take advantage of any internal
 generators that may be defined.
RooConvGenContext(const RooFFTConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)
 Constructor for specialized generator context for FFT numerical convolutions.

 Builds a generator for the physics PDF convoluted with the truth model
 and a generator for the resolution model as PDF. Events are generated
 by sampling events from the p.d.f and smearings from the resolution model
 and adding these to obtain a distribution of events consistent with the
 convolution of these two. The advantage of this procedure is so that
 both p.d.f and resolution model can take advantage of any internal
 generators that may be defined.
~RooConvGenContext()
 Destructor
void attach(const RooArgSet& params)
 Attach given set of arguments to internal clones of
 pdf and resolution model
void initGenerator(const RooArgSet& theEvent)
 One-time initialization of generator context, attaches
 the context to the supplied event container
void generateEvent(RooArgSet& theEvent, Int_t remaining)
 Generate a single event
void setProtoDataOrder(Int_t* lut)
 Set the traversal order for events in the prototype dataset
 The argument is a array of integers with a size identical
 to the number of events in the prototype dataset. Each element
 should contain an integer in the range 1-N.
void printMultiline(ostream& os, Int_t content, Bool_t verbose = kFALSE, TString indent = "") const
 Print the details of this generator context
RooConvGenContext(const RooFFTConvPdf& model, const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t _verbose = kFALSE)