ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooDataSet

class RooDataSet: public RooAbsData, public RooDirItem



RooDataSet is a container class to hold unbinned data. Each data point in N-dimensional space is represented by a RooArgSet of RooRealVar, RooCategory or RooStringVar objects

Function Members (Methods)

public:
RooDataSet()
RooDataSet(RooDataSet const& other, const char* newname = 0)
RooDataSet(const char* name, const char* title, const RooArgSet& vars, const char* wgtVarName = 0)
RooDataSet(const char* name, const char* title, RooDataSet* data, const RooArgSet& vars, const char* cuts = 0, const char* wgtVarName = 0)
RooDataSet(const char* name, const char* title, RooDataSet* data, const RooArgSet& vars, const RooFormulaVar& cutVar, const char* wgtVarName = 0)
RooDataSet(const char* name, const char* title, TTree* ntuple, const RooArgSet& vars, const char* cuts = 0, const char* wgtVarName = 0)
RooDataSet(const char* name, const char* title, TTree* t, const RooArgSet& vars, const RooFormulaVar& cutVar, const char* wgtVarName = 0)
RooDataSet(const char* name, const char* title, const RooArgSet& vars, const RooCmdArg& arg1, const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg(), const RooCmdArg& arg4 = RooCmdArg(), const RooCmdArg& arg5 = RooCmdArg(), const RooCmdArg& arg6 = RooCmdArg(), const RooCmdArg& arg7 = RooCmdArg(), const RooCmdArg& arg8 = RooCmdArg())
virtual~RooDataSet()
voidTObject::AbstractMethod(const char* method) const
virtual voidadd(const RooArgSet& row, Double_t weight = 1.0, Double_t weightError = 0)
virtual voidadd(const RooArgSet& row, Double_t weight, Double_t weightErrorLo, Double_t weightErrorHi)
virtual RooAbsArg*addColumn(RooAbsArg& var, Bool_t adjustRange = kTRUE)
virtual RooArgSet*addColumns(const RooArgList& varList)
virtual voidaddFast(const RooArgSet& row, Double_t weight = 1.0, Double_t weightError = 0)
voidRooAbsData::addOwnedComponent(const char* idxlabel, RooAbsData& data)
voidappend(RooDataSet& data)
virtual voidTObject::AppendPad(Option_t* option = "")
RooDataHist*binnedClone(const char* newName = 0, const char* newTitle = 0) const
virtual voidTObject::Browse(TBrowser* b)
Bool_tRooAbsData::canSplitFast() const
virtual Bool_tRooAbsData::changeObservableName(const char* from, const char* to)
voidRooAbsData::checkInit() const
static voidRooAbsData::claimVars(RooAbsData*)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*Clone(const char* newname = 0) const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
Double_tRooAbsData::correlation(RooRealVar& x, RooRealVar& y, const char* cutSpec = 0, const char* cutRange = 0) const
TMatrixDSym*RooAbsData::correlationMatrix(const char* cutSpec = 0, const char* cutRange = 0) const
TMatrixDSym*RooAbsData::correlationMatrix(const RooArgList& vars, const char* cutSpec = 0, const char* cutRange = 0) const
Double_tRooAbsData::covariance(RooRealVar& x, RooRealVar& y, const char* cutSpec = 0, const char* cutRange = 0) const
TMatrixDSym*RooAbsData::covarianceMatrix(const char* cutSpec = 0, const char* cutRange = 0) const
TMatrixDSym*RooAbsData::covarianceMatrix(const RooArgList& vars, const char* cutSpec = 0, const char* cutRange = 0) const
TH2F*createHistogram(const RooAbsRealLValue& var1, const RooAbsRealLValue& var2, const char* cuts = "", const char* name = "hist") const
TH2F*createHistogram(const RooAbsRealLValue& var1, const RooAbsRealLValue& var2, Int_t nx, Int_t ny, const char* cuts = "", const char* name = "hist") const
virtual Int_tRooAbsData::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 voidRooAbsData::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual RooAbsData*emptyClone(const char* newName = 0, const char* newTitle = 0, const RooArgSet* vars = 0) const
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 voidRooAbsData::fill()
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TH1*RooAbsData::fillHistogram(TH1* hist, const RooArgList& plotVars, const char* cuts = "", const char* cutRange = 0) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual const RooArgSet*get() const
virtual const RooArgSet*get(Int_t index) 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
Bool_tRooAbsData::getRange(RooRealVar& var, Double_t& lowest, Double_t& highest, Double_t marginFrac = 0, Bool_t symMode = kFALSE) const
RooAbsData*RooAbsData::getSimData(const char* idxstate)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tRooAbsData::hasFilledCache() const
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
virtual Bool_tisNonPoissonWeighted() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tisWeighted() const
Bool_tTObject::IsZombie() const
Double_tRooAbsData::kurtosis(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Double_tRooAbsData::mean(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
RooRealVar*RooAbsData::meanVar(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
Bool_tmerge(list<RooDataSet*> dsetList)
Bool_tmerge(RooDataSet* data1, RooDataSet* data2 = 0, RooDataSet* data3 = 0, RooDataSet* data4 = 0, RooDataSet* data5 = 0, RooDataSet* data6 = 0)
Double_tRooAbsData::moment(RooRealVar& var, Double_t order, const char* cutSpec = 0, const char* cutRange = 0) const
Double_tRooAbsData::moment(RooRealVar& var, Double_t order, Double_t offset, const char* cutSpec = 0, const char* cutRange = 0) const
static voidRooPrintable::nameFieldLength(Int_t newLen)
virtual Bool_tTObject::Notify()
virtual Int_tRooAbsData::numEntries() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidoperator delete(void* ptr)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*operator new(size_t bytes)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooDataSet&operator=(const RooDataSet&)
virtual voidTObject::Paint(Option_t* option = "")
virtual RooPlot*RooAbsData::plotOn(RooPlot* frame, const RooLinkedList& cmdList) const
virtual RooPlot*RooAbsData::plotOn(RooPlot* frame, const RooCmdArg& arg1 = RooCmdArg::none(), const RooCmdArg& arg2 = RooCmdArg::none(), const RooCmdArg& arg3 = RooCmdArg::none(), const RooCmdArg& arg4 = RooCmdArg::none(), const RooCmdArg& arg5 = RooCmdArg::none(), const RooCmdArg& arg6 = RooCmdArg::none(), const RooCmdArg& arg7 = RooCmdArg::none(), const RooCmdArg& arg8 = RooCmdArg::none()) const
virtual RooPlot*plotOnXY(RooPlot* frame, const RooCmdArg& arg1 = RooCmdArg::none(), const RooCmdArg& arg2 = RooCmdArg::none(), const RooCmdArg& arg3 = RooCmdArg::none(), const RooCmdArg& arg4 = RooCmdArg::none(), const RooCmdArg& arg5 = RooCmdArg::none(), const RooCmdArg& arg6 = RooCmdArg::none(), const RooCmdArg& arg7 = RooCmdArg::none(), const RooCmdArg& arg8 = RooCmdArg::none()) const
virtual voidTObject::Pop()
virtual voidRooAbsData::Print(Option_t* options = 0) const
virtual voidRooPrintable::printAddress(ostream& os) const
virtual voidprintArgs(ostream& os) const
virtual voidRooAbsData::printClassName(ostream& os) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidprintMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidRooAbsData::printName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidRooAbsData::printTitle(ostream& os) const
virtual voidRooPrintable::printTree(ostream& os, TString indent = "") const
virtual voidprintValue(ostream& os) const
virtual Int_tTObject::Read(const char* name)
static RooDataSet*read(const char* filename, const RooArgList& variables, const char* opts = "", const char* commonPath = "", const char* indexCatName = 0)
virtual voidTObject::RecursiveRemove(TObject* obj)
RooAbsData*RooAbsData::reduce(const char* cut)
RooAbsData*RooAbsData::reduce(const RooFormulaVar& cutVar)
RooAbsData*RooAbsData::reduce(const RooArgSet& varSubset, const char* cut = 0)
RooAbsData*RooAbsData::reduce(const RooArgSet& varSubset, const RooFormulaVar& cutVar)
RooAbsData*RooAbsData::reduce(const RooCmdArg& arg1, const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg(), const RooCmdArg& arg4 = RooCmdArg(), const RooCmdArg& arg5 = RooCmdArg(), const RooCmdArg& arg6 = RooCmdArg(), const RooCmdArg& arg7 = RooCmdArg(), const RooCmdArg& arg8 = RooCmdArg())
static Bool_tRooAbsData::releaseVars(RooAbsData*)
virtual voidRooAbsData::reset()
voidTObject::ResetBit(UInt_t f)
RooRealVar*RooAbsData::rmsVar(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
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)
voidRooAbsData::setDirtyProp(Bool_t flag)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetName(const char* name)
virtual voidSetNameTitle(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)
Double_tRooAbsData::sigma(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
virtual Int_tTNamed::Sizeof() const
Double_tRooAbsData::skewness(RooRealVar& var, const char* cutSpec = 0, const char* cutRange = 0) const
virtual TList*RooAbsData::split(const RooAbsCategory& splitCat, Bool_t createEmptyDataSets = kFALSE) const
Double_tRooAbsData::standMoment(RooRealVar& var, Double_t order, const char* cutSpec = 0, const char* cutRange = 0) const
virtual RooPlot*RooAbsData::statOn(RooPlot* frame, const RooCmdArg& arg1 = RooCmdArg::none(), const RooCmdArg& arg2 = RooCmdArg::none(), const RooCmdArg& arg3 = RooCmdArg::none(), const RooCmdArg& arg4 = RooCmdArg::none(), const RooCmdArg& arg5 = RooCmdArg::none(), const RooCmdArg& arg6 = RooCmdArg::none(), const RooCmdArg& arg7 = RooCmdArg::none(), const RooCmdArg& arg8 = RooCmdArg::none())
virtual RooPlot*RooAbsData::statOn(RooPlot* frame, const char* what, const char* label = "", Int_t sigDigits = 2, Option_t* options = "NELU", Double_t xmin = 0.15, Double_t xmax = 0.65, Double_t ymax = 0.85, const char* cutSpec = 0, const char* cutRange = 0, const RooCmdArg* formatCmd = 0)
RooAbsDataStore*RooAbsData::store()
const RooAbsDataStore*RooAbsData::store() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual Double_tsumEntries(const char* cutSpec = 0, const char* cutRange = 0) const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual Roo1DTable*RooAbsData::table(const RooArgSet& catSet, const char* cuts = "", const char* opts = "") const
virtual Roo1DTable*RooAbsData::table(const RooAbsCategory& cat, const char* cuts = "", const char* opts = "") const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
const TTree*RooAbsData::tree() const
virtual voidTObject::UseCurrentStyle()
virtual Bool_tRooAbsData::valid() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Double_tweight() const
virtual Double_tweightError(RooAbsData::ErrorType etype = SumW2) const
virtual voidweightError(Double_t& lo, Double_t& hi, RooAbsData::ErrorType etype = SumW2) const
Bool_twrite(const char* filename)
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:
RooDataSet(const char* name, const char* title, RooDataSet* ntuple, const RooArgSet& vars, const RooFormulaVar* cutVar, const char* cutRange, int nStart, int nStop, Bool_t copyCache, const char* wgtVarName = 0)
RooArgSetaddWgtVar(const RooArgSet& origVars, const RooAbsArg* wgtVar)
Bool_tRooAbsData::allClientsCached(RooAbsArg*, const RooArgSet&)
voidRooDirItem::appendToDir(TObject* obj, Bool_t forceMemoryResident = kFALSE)
virtual voidRooAbsData::attachCache(const RooAbsArg* newOwner, const RooArgSet& cachedVars)
virtual voidRooAbsData::cacheArgs(const RooAbsArg* owner, RooArgSet& varSet, const RooArgSet* nset = 0)
virtual RooAbsData*cacheClone(const RooAbsArg* newCacheOwner, const RooArgSet* newCacheVars, const char* newName = 0)
static voidcleanup()
Double_tRooAbsData::corrcov(RooRealVar& x, RooRealVar& y, const char* cutSpec, const char* cutRange, Bool_t corr) const
TMatrixDSym*RooAbsData::corrcovMatrix(const RooArgList& vars, const char* cutSpec, const char* cutRange, Bool_t corr) const
RooRealVar*RooAbsData::dataRealVar(const char* methodname, RooRealVar& extVar) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidinitialize(const char* wgtVarName)
voidTObject::MakeZombie()
virtual voidRooAbsData::optimizeReadingWithCaching(RooAbsArg& arg, const RooArgSet& cacheList, const RooArgSet& keepObsList)
virtual RooPlot*RooAbsData::plotAsymOn(RooPlot* frame, const RooAbsCategoryLValue& asymCat, RooAbsData::PlotOpt o) const
virtual RooPlot*RooAbsData::plotEffOn(RooPlot* frame, const RooAbsCategoryLValue& effCat, RooAbsData::PlotOpt o) const
virtual RooPlot*RooAbsData::plotOn(RooPlot* frame, RooAbsData::PlotOpt o) const
virtual RooAbsData*reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cutVar, const char* cutRange = 0, Int_t nStart = 0, Int_t nStop = 2000000000, Bool_t copyCache = kTRUE)
voidRooDirItem::removeFromDir(TObject* obj)
virtual voidRooAbsData::resetCache()
virtual voidRooAbsData::setArgStatus(const RooArgSet& set, Bool_t active)

Data Members

public:
enum RooAbsData::ErrorType { Poisson
SumW2
None
Auto
};
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
kCollectionHeader
};
enum RooPrintable::StyleOption { kInline
kSingleLine
kStandard
kVerbose
kTreeStructure
};
protected:
TIterator*RooAbsData::_cacheIter! Iterator over cached variables
RooArgSetRooAbsData::_cachedVars! External variables cached with this data set
TDirectory*RooDirItem::_dir! Associated directory
RooAbsDataStore*RooAbsData::_dstoreData storage implementation
TIterator*RooAbsData::_iterator! Iterator over dimension variables
static Int_tRooPrintable::_nameLength
map<std::string,RooAbsData*>RooAbsData::_ownedComponentsOwned external components
static char*_poolBegin! Start of memory pool
static char*_poolCur! Next free slot in memory pool
static char*_poolEnd! End of memory pool
RooArgSetRooAbsData::_varsDimensions of this data set
RooArgSet_varsNoWgtVars without weight variable
RooRealVar*_wgtVarPointer to weight variable (if set)
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void cleanup()
 Clear memoery pool on exit to avoid reported memory leaks
void* operator new(size_t bytes)
 Overloaded new operator guarantees that all RooDataSets allocated with new
 have a unique address, a property that is exploited in several places
 in roofit to quickly index contents on normalization set pointers.
 The memory pool only allocates space for the class itself. The elements
 stored in the set are stored outside the pool.
void operator delete(void* ptr)
 Memory is owned by pool, we need to do nothing to release it
RooDataSet()
 Default constructor for persistence
RooDataSet(const char* name, const char* title, const RooArgSet& vars, const RooCmdArg& arg1, const RooCmdArg& arg2 = RooCmdArg(), const RooCmdArg& arg3 = RooCmdArg(), const RooCmdArg& arg4 = RooCmdArg(), const RooCmdArg& arg5 = RooCmdArg(), const RooCmdArg& arg6 = RooCmdArg(), const RooCmdArg& arg7 = RooCmdArg(), const RooCmdArg& arg8 = RooCmdArg())
 Construct an unbinned dataset from a RooArgSet defining the dimensions of the data space. Optionally, data
 can be imported at the time of construction.

 This constructor takes the following optional arguments

 Import(TTree*)              -- Import contents of given TTree. Only braches of the TTree that have names
                                corresponding to those of the RooAbsArgs that define the RooDataSet are
                                imported.
 ImportFromFile(const char* fileName, const char* treeName) -- Import tree with given name from file with given name.

 Import(RooDataSet&)         -- Import contents of given RooDataSet. Only observables that are common with
                                the definition of this dataset will be imported

 Index(RooCategory&)         -- Prepare import of datasets into a N+1 dimensional RooDataSet
                                where the extra discrete dimension labels the source of the imported histogram.

 Import(const char*,         -- Import a dataset to be associated with the given state name of the index category
              RooDataSet&)      specified in Index(). If the given state name is not yet defined in the index
                               category it will be added on the fly. The import command can be specified
                                multiple times.

 Link(const char*, RooDataSet&) -- Link contents of supplied RooDataSet to this dataset for given index category state name.
                                   In this mode, no data is copied and the linked dataset must be remain live for the duration
                                   of this dataset. Note that link is active for both reading and writing, so modifications
                                   to the aggregate dataset will also modify its components. Link() and Import() are mutually exclusive.
 OwnLinked()                    -- Take ownership of all linked datasets

 Import(map<string,RooDataSet*>&) -- As above, but allows specification of many imports in a single operation
 Link(map<string,RooDataSet*>&)   -- As above, but allows specification of many links in a single operation


 Cut(const char*)            -- Apply the given cut specification when importing data
 Cut(RooFormulaVar&)

 CutRange(const char*)       -- Only accept events in the observable range with the given name

 WeightVar(const char*)      -- Interpret the given variable as event weight rather than as observable
 WeightVar(const RooAbsArg&)

 StoreError(const RooArgSet&)     -- Store symmetric error along with value for given subset of observables
 StoreAsymError(const RooArgSet&) -- Store asymmetric error along with value for given subset of observables

RooDataSet(const char* name, const char* title, const RooArgSet& vars, const char* wgtVarName = 0)
 Constructor of an empty data set from a RooArgSet defining the dimensions
 of the data space.
RooDataSet(const char* name, const char* title, RooDataSet* data, const RooArgSet& vars, const char* cuts = 0, const char* wgtVarName = 0)
 Constructor of a data set from (part of) an existing data
 set. The dimensions of the data set are defined by the 'vars'
 RooArgSet, which can be identical to 'dset' dimensions, or a
 subset thereof. The 'cuts' string is an optional RooFormula
 expression and can be used to select the subset of the data
 points in 'dset' to be copied. The cut expression can refer to
 any variable in the source dataset. For cuts involving variables
 other than those contained in the source data set, such as
 intermediate formula objects, use the equivalent constructor
 accepting RooFormulaVar reference as cut specification

 For most uses the RooAbsData::reduce() wrapper function, which
 uses this constructor, is the most convenient way to create a
 subset of an existing data

RooDataSet(const char* name, const char* title, RooDataSet* data, const RooArgSet& vars, const RooFormulaVar& cutVar, const char* wgtVarName = 0)
 Constructor of a data set from (part of) an existing data
 set. The dimensions of the data set are defined by the 'vars'
 RooArgSet, which can be identical to 'dset' dimensions, or a
 subset thereof. The 'cutVar' formula variable is used to select
 the subset of data points to be copied.  For subsets without
 selection on the data points, or involving cuts operating
 exclusively and directly on the data set dimensions, the
 equivalent constructor with a string based cut expression is
 recommended.

 For most uses the RooAbsData::reduce() wrapper function, which
 uses this constructor, is the most convenient way to create a
 subset of an existing data
RooDataSet(const char* name, const char* title, TTree* t, const RooArgSet& vars, const RooFormulaVar& cutVar, const char* wgtVarName = 0)
 Constructor of a data set from (part of) an ROOT TTRee. The dimensions
 of the data set are defined by the 'vars' RooArgSet. For each dimension
 specified, the TTree must have a branch with the same name. For category
 branches, this branch should contain the numeric index value. Real dimensions
 can be constructed from either 'Double_t' or 'Float_t' tree branches. In the
 latter case, an automatic conversion is applied.

 The 'cutVar' formula variable
 is used to select the subset of data points to be copied.
 For subsets without selection on the data points, or involving cuts
 operating exclusively and directly on the data set dimensions, the equivalent
 constructor with a string based cut expression is recommended.
RooDataSet(const char* name, const char* title, TTree* ntuple, const RooArgSet& vars, const char* cuts = 0, const char* wgtVarName = 0)
 Constructor of a data set from (part of) an ROOT TTRee. The dimensions
 of the data set are defined by the 'vars' RooArgSet. For each dimension
 specified, the TTree must have a branch with the same name. For category
 branches, this branch should contain the numeric index value. Real dimensions
 can be constructed from either 'Double_t' or 'Float_t' tree branches. In the
 latter case, an automatic conversion is applied.

 The 'cuts' string is an optional
 RooFormula expression and can be used to select the subset of the data points
 in 'dset' to be copied. The cut expression can refer to any variable in the
 vars argset. For cuts involving variables other than those contained in
 the vars argset, such as intermediate formula objects, use the
 equivalent constructor accepting RooFormulaVar reference as cut specification

RooDataSet(RooDataSet const& other, const char* newname = 0)
 Copy constructor
RooDataSet(const char* name, const char* title, RooDataSet* ntuple, const RooArgSet& vars, const RooFormulaVar* cutVar, const char* cutRange, int nStart, int nStop, Bool_t copyCache, const char* wgtVarName = 0)
 Protected constructor for internal use only
RooArgSet addWgtVar(const RooArgSet& origVars, const RooAbsArg* wgtVar)
 Helper function for constructor that adds optional weight variable to construct
 total set of observables
RooAbsData* cacheClone(const RooAbsArg* newCacheOwner, const RooArgSet* newCacheVars, const char* newName = 0)
 Return a clone of this dataset containing only the cached variables
RooAbsData* emptyClone(const char* newName = 0, const char* newTitle = 0, const RooArgSet* vars = 0) const
 Return an empty clone of this dataset. If vars is not null, only the variables in vars
 are added to the definition of the empty clone
void initialize(const char* wgtVarName)
 Initialize the dataset. If wgtVarName is not null, interpret the observable
 with that name as event weight
RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cutVar, const char* cutRange = 0, Int_t nStart = 0, Int_t nStop = 2000000000, Bool_t copyCache = kTRUE)
 Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods
~RooDataSet()
 Destructor
RooDataHist* binnedClone(const char* newName = 0, const char* newTitle = 0) const
 Return binned clone of this dataset
Double_t weight() const
 Return event weight of current event
void weightError(Double_t& lo, Double_t& hi, RooAbsData::ErrorType etype = SumW2) const
Double_t weightError(RooAbsData::ErrorType etype = SumW2) const
const RooArgSet* get(Int_t index) const
 Return RooArgSet with coordinates of event 'index'
Double_t sumEntries(const char* cutSpec = 0, const char* cutRange = 0) const
 Return the sum of weights in all entries matching cutSpec (if specified)
 and in named range cutRange (if specified)
Bool_t isWeighted() const
 Return true if dataset contains weighted events
Bool_t isNonPoissonWeighted() const
 Returns true if histogram contains bins with entries with a non-integer weight
const RooArgSet* get() const
 Return a RooArgSet with the coordinates of the current event
void add(const RooArgSet& row, Double_t weight = 1.0, Double_t weightError = 0)
 Add a data point, with its coordinates specified in the 'data' argset, to the data set.
 Any variables present in 'data' but not in the dataset will be silently ignored

void add(const RooArgSet& row, Double_t weight, Double_t weightErrorLo, Double_t weightErrorHi)
 Add a data point, with its coordinates specified in the 'data' argset, to the data set.
 Any variables present in 'data' but not in the dataset will be silently ignored

void addFast(const RooArgSet& row, Double_t weight = 1.0, Double_t weightError = 0)
 Add a data point, with its coordinates specified in the 'data' argset, to the data set.
 Layout and size of input argument data is ASSUMED to be the same as RooArgSet returned
 RooDataSet::get()

Bool_t merge(RooDataSet* data1, RooDataSet* data2 = 0, RooDataSet* data3 = 0, RooDataSet* data4 = 0, RooDataSet* data5 = 0, RooDataSet* data6 = 0)
Bool_t merge(list<RooDataSet*> dsetList)
 Merge columns of supplied data set(s) with this data set.  All
 data sets must have equal number of entries.  In case of
 duplicate columns the column of the last dataset in the list
 prevails
void append(RooDataSet& data)
 Add all data points of given data set to this data set.
 Observable in 'data' that are not in this dataset
 with not be transferred
RooAbsArg* addColumn(RooAbsArg& var, Bool_t adjustRange = kTRUE)
 Add a column with the values of the given (function) argument
 to this dataset. The function value is calculated for each
 event using the observable values of each event in case the
 function depends on variables with names that are identical
 to the observable names in the dataset
RooArgSet* addColumns(const RooArgList& varList)
 Add a column with the values of the given list of (function)
 argument to this dataset. Each function value is calculated for
 each event using the observable values of the event in case the
 function depends on variables with names that are identical to
 the observable names in the dataset
TH2F* createHistogram(const RooAbsRealLValue& var1, const RooAbsRealLValue& var2, const char* cuts = "", const char* name = "hist") const
 Create a TH2F histogram of the distribution of the specified variable
 using this dataset. Apply any cuts to select which events are used.
 The variable being plotted can either be contained directly in this
 dataset, or else be a function of the variables in this dataset.
 The histogram will be created using RooAbsReal::createHistogram() with
 the name provided (with our dataset name prepended).
TH2F* createHistogram(const RooAbsRealLValue& var1, const RooAbsRealLValue& var2, Int_t nx, Int_t ny, const char* cuts = "", const char* name = "hist") const
 Create a TH2F histogram of the distribution of the specified variable
 using this dataset. Apply any cuts to select which events are used.
 The variable being plotted can either be contained directly in this
 dataset, or else be a function of the variables in this dataset.
 The histogram will be created using RooAbsReal::createHistogram() with
 the name provided (with our dataset name prepended).
RooPlot* plotOnXY(RooPlot* frame, const RooCmdArg& arg1 = RooCmdArg::none(), const RooCmdArg& arg2 = RooCmdArg::none(), const RooCmdArg& arg3 = RooCmdArg::none(), const RooCmdArg& arg4 = RooCmdArg::none(), const RooCmdArg& arg5 = RooCmdArg::none(), const RooCmdArg& arg6 = RooCmdArg::none(), const RooCmdArg& arg7 = RooCmdArg::none(), const RooCmdArg& arg8 = RooCmdArg::none()) const
 Special plot method for 'X-Y' datasets used in Chi^2 fitting. These datasets
 have one observable (X) and have weights (Y) and associated errors.

 Contents options

 YVar(RooRealVar& var)           -- Designate specified observable as 'y' variable
                                    If not specified, the event weight will be the y variable
 Histogram drawing options

 DrawOption(const char* opt)     -- Select ROOT draw option for resulting TGraph object
 LineStyle(Int_t style)          -- Select line style by ROOT line style code, default is solid
 LineColor(Int_t color)          -- Select line color by ROOT color code, default is black
 LineWidth(Int_t width)          -- Select line with in pixels, default is 3
 MarkerStyle(Int_t style)        -- Select the ROOT marker style, default is 21
 MarkerColor(Int_t color)        -- Select the ROOT marker color, default is black
 MarkerSize(Double_t size)       -- Select the ROOT marker size
 Rescale(Double_t factor)        -- Apply global rescaling factor to histogram


 Misc. other options

 Name(const chat* name)          -- Give curve specified name in frame. Useful if curve is to be referenced later
 Invisible(Bool_t flag)          -- Add curve to frame, but do not display. Useful in combination AddTo()

RooDataSet * read(const char* filename, const RooArgList& variables, const char* opts = "", const char* commonPath = "", const char* indexCatName = 0)
 Read given list of ascii files, and construct a data set, using the given
 ArgList as structure definition.

 Multiple file names in fileList should be comma separated. Each
 file is optionally prefixed with 'commonPath' if such a path is
 provided

 The arglist specifies the dimensions of the dataset to be built
 and describes the order in which these dimensions appear in the
 ascii files to be read.

 Each line in the ascii file should contain N white space separated
 tokens, with N the number of args in 'variables'. Any text beyond
 N tokens will be ignored with a warning message.
 [ NB: This format is written by RooArgList::writeToStream() ]

 If the value of any of the variables on a given line exceeds the
 fit range associated with that dimension, the entire line will be
 ignored. A warning message is printed in each case, unless the
 'Q' verbose option is given. (Option 'D' will provide additional
 debugging information) The number of events read and skipped
 is always summarized at the end.

 When multiple files are read, a RooCategory arg in 'variables' can
 optionally be designated to hold information about the source file
 of each data point. This feature is enabled by giving the name
 of the (already existing) category variable in 'indexCatName'

 If no further information is given a label name 'fileNNN' will
 be assigned to each event, where NNN is the sequential number of
 the source file in 'fileList'.

 Alternatively it is possible to override the default label names
 of the index category by specifying them in the fileList string:
 When instead of "file1.txt,file2.txt" the string
 "file1.txt:FOO,file2.txt:BAR" is specified, a state named "FOO"
 is assigned to the index category for each event originating from
 file1.txt. The labels FOO,BAR may be predefined in the index
 category via defineType(), but don't have to be

 Finally, one can also assign the same label to multiple files,
 either by specifying "file1.txt:FOO,file2,txt:FOO,file3.txt:BAR"
 or "file1.txt,file2.txt:FOO,file3.txt:BAR"

 Make working copy of variables list
Bool_t write(const char* filename)
 Write the contents of this dataset to an ASCII file with the specified name
 Each event will be written as a single line containing the written values
 of each observable in the order they were declared in the dataset and
 separated by whitespaces
void printMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
 Print info about this dataset to the specified output stream.

   Standard: number of entries
      Shape: list of variables we define & were generated with
void printValue(ostream& os) const
 Print value of the dataset, i.e. the sum of weights contained in the dataset
void printArgs(ostream& os) const
 Print argument of dataset, i.e. the observable names
void SetName(const char* name)
 Change the name of this dataset into the given name
void SetNameTitle(const char* name, const char* title)
 Change the title of this dataset into the given name
void Streamer(TBuffer& b)
 Stream an object of class RooDataSet.
TObject* Clone(const char* newname = 0) const
{ return new RooDataSet(*this,newname?newname:GetName()) ; }