Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooDataSet Class Reference

Container class to hold unbinned data.

The binned equivalent is RooDataHist. In RooDataSet, each data point in N-dimensional space is represented by a RooArgSet of RooRealVar, RooCategory or RooStringVar objects, which can be retrieved using get().

Since RooDataSet saves every event, it allows for fits with highest precision. With a large amount of data, however, it could be beneficial to represent them in binned form, i.e., RooDataHist. Binning the data will incur a loss of information, though. RooDataHist on the other hand may suffer from the curse of dimensionality if a high-dimensional problem with a lot of bins on each axis is tackled.

Inspecting a dataset

Inspect a dataset using Print() with the "verbose" option:

dataset->Print("V");
dataset->get(0)->Print("V");
dataset->get(1)->Print("V");
...

Plotting data.

See RooAbsData::plotOn().

Storage strategy

There are two storage backends:

For the inverse conversion, see RooAbsData::convertToVectorStore().

Creating a dataset using RDataFrame

See also
RooAbsDataHelper, rf408_RDataFrameToRooFit.C

Uniquely identifying RooDataSet objects

Warning
Before v6.28, it was ensured that no RooDataSet objects on the heap were located at an address that had already been used for a RooDataSet before. With v6.28, this is not guaranteed anymore. Hence, if your code uses pointer comparisons to uniquely identify RooDataSet instances, please consider using the new RooAbsData::uniqueId().

PyROOT

Some member functions of RooDataSet that take a RooCmdArg as argument also support keyword arguments. So far, this applies to RooDataSet() constructor and RooDataSet::plotOnXY. For example, the following code is equivalent in PyROOT:

# Directly passing a RooCmdArg:
dxy = ROOT.RooDataSet("dxy", "dxy", ROOT.RooArgSet(x, y), ROOT.RooFit.StoreError(ROOT.RooArgSet(x, y)))
# With keyword arguments:
dxy = ROOT.RooDataSet("dxy", "dxy", ROOT.RooArgSet(x, y), StoreError=(ROOT.RooArgSet(x, y)))

Definition at line 57 of file RooDataSet.h.

Public Member Functions

 RooDataSet ()
 Default constructor for persistence.
 
Use RooDataSet (name, title, vars, Import(*tree), Cut(cuts), WeightVar(wgtVarName)).")
 
Use RooDataSet (name, title, vars, Import(*tree), Cut(cutVar), WeightVar(wgtVarName)).")
 
Use RooDataSet (name, title, vars, RooFit::WeightVar(wgtVarName)).")
 
 RooDataSet (RooDataSet const &other, const char *newname=nullptr)
 Copy constructor.
 
 RooDataSet (RooStringView name, RooStringView title, const RooArgSet &vars, const char *wgtVarName) R__DEPRECATED(6
 Constructor of an empty data set from a RooArgSet defining the dimensions of the data space.
 
 RooDataSet (RooStringView name, RooStringView title, const RooArgSet &vars, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Construct an unbinned dataset from a RooArgSet defining the dimensions of the data space.
 
 RooDataSet (RooStringView name, RooStringView title, RooDataSet *data, const RooArgSet &vars, const char *cuts=nullptr, const char *wgtVarName=nullptr)
 Constructor of a data set from (part of) an existing data set.
 
 RooDataSet (RooStringView name, RooStringView title, RooDataSet *data, const RooArgSet &vars, const RooFormulaVar &cutVar, const char *wgtVarName=nullptr)
 Constructor of a data set from (part of) an existing data set.
 
 RooDataSet (RooStringView name, RooStringView title, TTree *tree, const RooArgSet &vars, const char *cuts=nullptr, const char *wgtVarName=nullptr) R__DEPRECATED(6
 Constructor of a data set from (part of) a ROOT TTree.
 
 RooDataSet (RooStringView name, RooStringView title, TTree *tree, const RooArgSet &vars, const RooFormulaVar &cutVar, const char *wgtVarName=nullptr) R__DEPRECATED(6
 Constructor of a data set from (part of) an ROOT TTree.
 
 ~RooDataSet () override
 Destructor.
 
void add (const RooArgSet &row, double weight, double weightError)
 Add one ore more rows of data.
 
virtual void add (const RooArgSet &row, double weight, double weightErrorLo, double weightErrorHi)
 Add a data point, with its coordinates specified in the 'data' argset, to the data set.
 
void add (const RooArgSet &row, double weight=1.0) override
 
virtual RooAbsArgaddColumn (RooAbsArg &var, bool adjustRange=true)
 Add a column with the values of the given (function) argument to this dataset.
 
virtual RooArgSetaddColumns (const RooArgList &varList)
 Add a column with the values of the given list of (function) argument to this dataset.
 
virtual void addFast (const RooArgSet &row, double weight=1.0, double weightError=0.0)
 Add a data point, with its coordinates specified in the 'data' argset, to the data set.
 
void append (RooDataSet &data)
 Add all data points of given data set to this data set.
 
RooFit::OwningPtr< RooDataHistbinnedClone (const char *newName=nullptr, const char *newTitle=nullptr) const
 Return binned clone of this dataset.
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
void convertToTreeStore () override
 Convert vector-based storage to tree-based storage.
 
RooFit::OwningPtr< RooAbsDataemptyClone (const char *newName=nullptr, const char *newTitle=nullptr, const RooArgSet *vars=nullptr, const char *wgtVarName=nullptr) const override
 Return an empty clone of this dataset.
 
const RooArgSetget () const override
 Return a RooArgSet with the coordinates of the current event.
 
const RooArgSetget (Int_t index) const override
 Return RooArgSet with coordinates of event 'index'.
 
std::span< const doublegetWeightBatch (std::size_t first, std::size_t len, bool sumW2) const override
 
TClassIsA () const override
 
bool isNonPoissonWeighted () const override
 Returns true if histogram contains bins with entries with a non-integer weight.
 
bool isWeighted () const override
 Return true if dataset contains weighted events.
 
bool merge (RooDataSet *data1, RooDataSet *data2=nullptr, RooDataSet *data3=nullptr, RooDataSet *data4=nullptr, RooDataSet *data5=nullptr, RooDataSet *data6=nullptr)
 
bool merge (std::list< RooDataSet * > dsetList)
 Merge columns of supplied data set(s) with this data set.
 
virtual RooPlotplotOnXY (RooPlot *frame, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
 Special plot method for 'X-Y' datasets used in \( \chi^2 \) fitting.
 
void printArgs (std::ostream &os) const override
 Print argument of dataset, i.e. the observable names.
 
void printMultiline (std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
 Print info about this dataset to the specified output stream.
 
void printValue (std::ostream &os) const override
 Print value of the dataset, i.e. the sum of weights contained in the dataset.
 
void SetName (const char *name) override
 Change the name of this dataset into the given name.
 
void SetNameTitle (const char *name, const char *title) override
 Change the title of this dataset into the given name.
 
void Streamer (TBuffer &) override
 Stream an object of class RooDataSet.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
double sumEntries () const override
 Return effective number of entries in dataset, i.e., sum all weights.
 
double sumEntries (const char *cutSpec, const char *cutRange=nullptr) const override
 Return the sum of weights in all entries matching cutSpec (if specified) and in named range cutRange (if specified)
 
double weight () const override
 Return event weight of current event.
 
void weightError (double &lo, double &hi, ErrorType etype=SumW2) const override
 Return the asymmetric errors on the current weight.
 
double weightError (ErrorType etype=SumW2) const override
 
double weightSquared () const override
 Return squared event weight of the current event.
 
RooRealVarweightVar () const
 Returns a pointer to the weight variable (if set).
 
bool write (const char *filename) const
 Write the contents of this dataset to an ASCII file with the specified name.
 
bool write (std::ostream &ofs) const
 Write the contents of this dataset to the stream.
 
- Public Member Functions inherited from RooAbsData
 RooAbsData ()
 Default constructor.
 
 RooAbsData (const RooAbsData &other, const char *newname=nullptr)
 Copy constructor.
 
 RooAbsData (RooStringView name, RooStringView title, const RooArgSet &vars, RooAbsDataStore *store=nullptr)
 Constructor from a set of variables.
 
 ~RooAbsData () override
 Destructor.
 
void addOwnedComponent (const char *idxlabel, RooAbsData &data)
 
void attachBuffers (const RooArgSet &extObs)
 
bool canSplitFast () const
 
virtual bool changeObservableName (const char *from, const char *to)
 
void checkInit () const
 
void convertToVectorStore ()
 Convert tree-based storage to vector-based storage.
 
double correlation (RooRealVar &x, RooRealVar &y, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
RooFit::OwningPtr< TMatrixDSymcorrelationMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
RooFit::OwningPtr< TMatrixDSymcorrelationMatrix (const RooArgList &vars, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
double covariance (RooRealVar &x, RooRealVar &y, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
RooFit::OwningPtr< TMatrixDSymcovarianceMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
RooFit::OwningPtr< TMatrixDSymcovarianceMatrix (const RooArgList &vars, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
TH1createHistogram (const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
 Calls createHistogram(const char *name, const RooAbsRealLValue& xvar, const RooLinkedList& argList) const.
 
TH1createHistogram (const char *name, const RooAbsRealLValue &xvar, const RooLinkedList &argList) const
 Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset.
 
TH1createHistogram (const char *varNameList, const RooCmdArg &binArgX={}, const RooCmdArg &binArgY={}, const RooCmdArg &binArgZ={}) const
 Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset for the variables with given names.
 
TH2FcreateHistogram (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.
 
TH2FcreateHistogram (const RooAbsRealLValue &var1, const RooAbsRealLValue &var2, int nx, int ny, const char *cuts="", const char *name="hist") const
 Create a TH2F histogram of the distribution of the specified variable using this dataset.
 
Int_t defaultPrintContents (Option_t *opt) const override
 Define default print options, for a given print style.
 
void Draw (Option_t *option="") override
 Forward draw command to data store.
 
virtual void fill ()
 
virtual TH1fillHistogram (TH1 *hist, const RooArgList &plotVars, const char *cuts="", const char *cutRange=nullptr) const
 Loop over columns of our tree data and fill the input histogram.
 
RealSpans getBatches (std::size_t first=0, std::size_t len=std::numeric_limits< std::size_t >::max()) const
 Write information to retrieve data columns into evalData.spans.
 
CategorySpans getCategoryBatches (std::size_t first=0, std::size_t len=std::numeric_limits< std::size_t >::max()) const
 
TTreeGetClonedTree () const
 Return a clone of the TTree which stores the data or create such a tree if vector storage is used.
 
RooArgSet const * getGlobalObservables () const
 Returns snapshot of global observables stored in this data.
 
bool getRange (const RooAbsRealLValue &var, double &lowest, double &highest, double marginFrac=0.0, bool symMode=false) const
 Fill Doubles 'lowest' and 'highest' with the lowest and highest value of observable 'var' in this dataset.
 
RooAbsDatagetSimData (const char *idxstate)
 
bool hasFilledCache () const
 
double kurtosis (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
double mean (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
RooRealVarmeanVar (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 Create a RooRealVar containing the mean of observable 'var' in this dataset.
 
double moment (const RooRealVar &var, double order, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 Calculate moment of requested order.
 
double moment (const RooRealVar &var, double order, double offset, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 Return the 'order'-ed moment of observable 'var' in this dataset.
 
const TNamednamePtr () const
 De-duplicated pointer to this object's name.
 
virtual Int_t numEntries () const
 Return number of entries in dataset, i.e., count unweighted entries.
 
RooAbsDataoperator= (const RooAbsData &other)
 
virtual RooPlotplotOn (RooPlot *frame, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
 
virtual RooPlotplotOn (RooPlot *frame, const RooLinkedList &cmdList) const
 Plot dataset on specified frame.
 
void Print (Option_t *options=nullptr) const override
 This method must be overridden when a class wants to print itself.
 
void printClassName (std::ostream &os) const override
 Print class name of dataset.
 
void printName (std::ostream &os) const override
 Print name of dataset.
 
void printTitle (std::ostream &os) const override
 Print title of dataset.
 
void RecursiveRemove (TObject *obj) override
 If one of the TObject we have a referenced to is deleted, remove the reference.
 
RooFit::OwningPtr< RooAbsDatareduce (const char *cut)
 Create a subset of the data set by applying the given cut on the data points.
 
RooFit::OwningPtr< RooAbsDatareduce (const RooArgSet &varSubset, const char *cut=nullptr)
 Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set.
 
RooFit::OwningPtr< RooAbsDatareduce (const RooArgSet &varSubset, const RooFormulaVar &cutVar)
 Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set.
 
RooFit::OwningPtr< RooAbsDatareduce (const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Create a reduced copy of this dataset.
 
RooFit::OwningPtr< RooAbsDatareduce (const RooFormulaVar &cutVar)
 Create a subset of the data set by applying the given cut on the data points.
 
virtual void reset ()
 
void resetBuffers ()
 
RooRealVarrmsVar (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 Create a RooRealVar containing the RMS of observable 'var' in this dataset.
 
void setDirtyProp (bool flag)
 Control propagation of dirty flags from observables in dataset.
 
void setGlobalObservables (RooArgSet const &globalObservables)
 Sets the global observables stored in this data.
 
double sigma (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
double skewness (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 
virtual RooFit::OwningPtr< TListsplit (const RooAbsCategory &splitCat, bool createEmptyDataSets=false) const
 Split the dataset into subsets based on states of a categorical variable in this dataset.
 
virtual RooFit::OwningPtr< TListsplit (const RooSimultaneous &simpdf, bool createEmptyDataSets=false) const
 Split the dataset into subsets based on the channels of a RooSimultaneous.
 
double standMoment (const RooRealVar &var, double order, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
 Calculate standardized moment.
 
virtual RooPlotstatOn (RooPlot *frame, const char *what, const char *label="", Int_t sigDigits=2, Option_t *options="NELU", double xmin=0.15, double xmax=0.65, double ymax=0.85, const char *cutSpec=nullptr, const char *cutRange=nullptr, const RooCmdArg *formatCmd=nullptr)
 Implementation back-end of statOn() method with named arguments.
 
virtual RooPlotstatOn (RooPlot *frame, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Add a box with statistics information to the specified frame.
 
RooAbsDataStorestore ()
 
const RooAbsDataStorestore () const
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
double sumEntriesW2 () const
 Return sum of squared weights of this data.
 
virtual Roo1DTabletable (const RooAbsCategory &cat, const char *cuts="", const char *opts="") const
 Create and fill a 1-dimensional table for given category column This functions is the equivalent of plotOn() for category dimensions.
 
virtual Roo1DTabletable (const RooArgSet &catSet, const char *cuts="", const char *opts="") const
 Construct table for product of categories in catSet.
 
const TTreetree () const
 Return a pointer to the TTree which stores the data.
 
RooFit::UniqueId< RooAbsData > const & uniqueId () const
 Returns a unique ID that is different for every instantiated RooAbsData object.
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printAddress (std::ostream &os) const
 Print class name of object.
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object.
 
virtual void printStream (std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
 Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
 
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from RooDirItem
 RooDirItem ()
 
 RooDirItem (const RooDirItem &)
 
virtual ~RooDirItem ()
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static void cleanup ()
 
static const char * DeclFileName ()
 
static RooDataSetread (const char *filename, const RooArgList &variables, const char *opts="", const char *commonPath="", const char *indexCatName=nullptr)
 Read data from a text file and create a dataset from it.
 
- Static Public Member Functions inherited from RooAbsData
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static StorageType getDefaultStorageType ()
 
static void setDefaultStorageType (StorageType s)
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Static Public Member Functions inherited from RooPrintable
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static std::ostream & defaultPrintStream (std::ostream *os=nullptr)
 Return a reference to the current default stream to use in Print().
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount.
 
- Static Public Member Functions inherited from RooDirItem
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Protected Member Functions

void initialize (const char *wgtVarName)
 Initialize the dataset.
 
std::unique_ptr< RooAbsDatareduceEng (const RooArgSet &varSubset, const RooFormulaVar *cutVar, const char *cutRange=nullptr, std::size_t nStart=0, std::size_t nStop=std::numeric_limits< std::size_t >::max()) override
 Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods.
 
- Protected Member Functions inherited from RooAbsData
bool allClientsCached (RooAbsArg *, const RooArgSet &)
 Utility function that determines if all clients of object 'var' appear in given list of cached nodes.
 
virtual void attachCache (const RooAbsArg *newOwner, const RooArgSet &cachedVars)
 Internal method – Attach dataset copied with cache contents to copied instances of functions.
 
virtual void cacheArgs (const RooAbsArg *owner, RooArgSet &varSet, const RooArgSet *nset=nullptr, bool skipZeroWeights=false)
 Internal method – Cache given set of functions with data.
 
double corrcov (const RooRealVar &x, const RooRealVar &y, const char *cutSpec, const char *cutRange, bool corr) const
 Internal method to calculate single correlation and covariance elements.
 
RooFit::OwningPtr< TMatrixDSymcorrcovMatrix (const RooArgList &vars, const char *cutSpec, const char *cutRange, bool corr) const
 Return covariance matrix from data for given list of observables.
 
RooRealVardataRealVar (const char *methodname, const RooRealVar &extVar) const
 Internal method to check if given RooRealVar maps to a RooRealVar in this dataset.
 
void initializeVars (RooArgSet const &vars)
 
virtual void optimizeReadingWithCaching (RooAbsArg &arg, const RooArgSet &cacheList, const RooArgSet &keepObsList)
 Prepare dataset for use with cached constant terms listed in 'cacheList' of expression 'arg'.
 
virtual RooPlotplotAsymOn (RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const
 Create and fill a histogram with the asymmetry N[+] - N[-] / ( N[+] + N[-] ), where N(+/-) is the number of data points with asymCat=+1 and asymCat=-1 as function of the frames variable.
 
virtual RooPlotplotEffOn (RooPlot *frame, const RooAbsCategoryLValue &effCat, PlotOpt o) const
 Create and fill a histogram with the efficiency N[1] / ( N[1] + N[0] ), where N(1/0) is the number of data points with effCat=1 and effCat=0 as function of the frames variable.
 
virtual RooPlotplotOn (RooPlot *frame, PlotOpt o) const
 Create and fill a histogram of the frame's variable and append it to the frame.
 
virtual void resetCache ()
 Internal method – Remove cached function values.
 
virtual void setArgStatus (const RooArgSet &set, bool active)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 
- Protected Member Functions inherited from RooDirItem
void appendToDir (TObject *obj, bool forceMemoryResident=false)
 Append object to directory.
 
void removeFromDir (TObject *obj)
 Remove object from directory it was added to.
 

Protected Attributes

RooArgSet _varsNoWgt
 Vars without weight variable.
 
RooRealVar_wgtVar = nullptr
 Pointer to weight variable (if set)
 
- Protected Attributes inherited from RooAbsData
RooArgSet _cachedVars
 ! External variables cached with this data set
 
std::unique_ptr< RooAbsDataStore_dstore
 Data storage implementation.
 
std::unique_ptr< RooArgSet_globalObservables
 Snapshot of global observables.
 
const TNamed_namePtr = nullptr
 ! De-duplicated name pointer. This will be equal for all objects with the same name.
 
std::map< std::string, RooAbsData * > _ownedComponents
 Owned external components.
 
RooArgSet _vars
 Dimensions of this data set.
 
StorageType storageType
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from RooDirItem
TDirectory_dir {nullptr}
 ! Associated directory
 

Private Member Functions

void loadValuesFromSlices (RooCategory &indexCat, std::map< std::string, RooAbsData * > const &slices, const char *rangeName, RooFormulaVar const *cutVar, const char *cutSpec)
 

Private Attributes

bool _doWeightErrorCheck {true}
 ! When adding events with weights, check that weights can actually be stored.
 
unsigned short _errorMsgCount {0}
 ! Counter to silence error messages when filling dataset.
 
std::unique_ptr< std::vector< double > > _sumW2Buffer
 ! Buffer for sumW2 in case a batch of values is requested.
 

Friends

class RooProdGenContext
 

Additional Inherited Members

- Public Types inherited from RooAbsData
using CategorySpans = std::map< RooFit::Detail::DataKey, std::span< const RooAbsCategory::value_type > >
 
enum  ErrorType {
  Poisson , SumW2 , None , Auto ,
  Expected
}
 
using RealSpans = std::map< RooFit::Detail::DataKey, std::span< const double > >
 
enum  StorageType { Tree , Vector , Composite }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Public Types inherited from RooPrintable
enum  ContentsOption {
  kName =1 , kClassName =2 , kValue =4 , kArgs =8 ,
  kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128
}
 
enum  StyleOption {
  kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 ,
  kTreeStructure =5
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Static Protected Attributes inherited from RooAbsData
static StorageType defaultStorageType =RooAbsData::Vector
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

#include <RooDataSet.h>

Inheritance diagram for RooDataSet:
[legend]

Constructor & Destructor Documentation

◆ RooDataSet() [1/11]

RooDataSet::RooDataSet ( )

Default constructor for persistence.

Definition at line 184 of file RooDataSet.cxx.

◆ RooDataSet() [2/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
const RooArgSet vars,
const char *  wgtVarName 
)

Constructor of an empty data set from a RooArgSet defining the dimensions of the data space.

Deprecated:
Use the more explicit RooDataSet(name, title, vars, RooFit::WeightVar(wgtVarName)).

Definition at line 585 of file RooDataSet.cxx.

◆ RooDataSet() [3/11]

Use RooDataSet::RooDataSet ( name  ,
title  ,
vars  ,
RooFit::WeightVar(wgtVarName)   
)

◆ RooDataSet() [4/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
const RooArgSet vars,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)

Construct an unbinned dataset from a RooArgSet defining the dimensions of the data space.

Optionally, data can be imported at the time of construction.

RooCmdArg Effect
Import(TTree&) Import contents of given TTree. Only branches 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(RooAbsData&) Import contents of given RooDataSet or RooDataHist. 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*, RooAbsData&) Import a RooDataSet or RooDataHist to be associated with the given state name of the index category 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(std::map<string,RooAbsData*>&) As above, but allows specification of many imports in a single operation
Link(std::map<string,RooDataSet*>&) As above, but allows specification of many links in a single operation
Cut(const char*)
Cut(RooFormulaVar&)
Apply the given cut specification when importing data
CutRange(const char*) Only accept events in the observable range with the given name
WeightVar(const char*)
WeightVar(const RooAbsArg&)
Interpret the given variable as event weight rather than as observable
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
GlobalObservables(const RooArgSet&) Define the set of global observables to be stored in this RooDataSet. A snapshot of the passed RooArgSet is stored, meaning the values wont't change unexpectedly.

Definition at line 332 of file RooDataSet.cxx.

◆ RooDataSet() [5/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
RooDataSet dset,
const RooArgSet vars,
const char *  cuts = nullptr,
const char *  wgtVarName = nullptr 
)

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

Definition at line 607 of file RooDataSet.cxx.

◆ RooDataSet() [6/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
RooDataSet dset,
const RooArgSet vars,
const RooFormulaVar cutVar,
const char *  wgtVarName = nullptr 
)

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

Definition at line 662 of file RooDataSet.cxx.

◆ RooDataSet() [7/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
TTree theTree,
const RooArgSet vars,
const char *  cuts = nullptr,
const char *  wgtVarName = nullptr 
)

Constructor of a data set from (part of) a ROOT TTree.

Parameters
[in]nameName of this dataset.
[in]titleTitle for e.g. plotting.
[in]theTreeTree to be imported.
[in]varsDefines the columns of the data set. 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' or 'Float_t' tree branches. In the latter case, an automatic conversion is applied.
[in]cutsOptional RooFormula expression to select the subset of the data points to be imported. The cut expression can refer to any variable in vars.
Warning
The expression only evaluates variables that are also in vars. Passing e.g.
RooDataSet("data", "data", tree, RooArgSet(x), "x>y")
const TTree * tree() const
Return a pointer to the TTree which stores the data.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:55
RooDataSet()
Default constructor for persistence.
Double_t x[n]
Definition legend1.C:17
Will load x from the tree, but leave y at an undefined value. If other expressions are needed, such as intermediate formula objects, use RooDataSet::RooDataSet(const char*,const char*,TTree*,const RooArgSet&,const RooFormulaVar&,const char*)
Parameters
[in]wgtVarNameName of the variable in vars that represents an event weight.

Definition at line 710 of file RooDataSet.cxx.

◆ RooDataSet() [8/11]

Use RooDataSet::RooDataSet ( name  ,
title  ,
vars  ,
Import *  tree,
Cut(cuts)  ,
WeightVar(wgtVarName)   
)

◆ RooDataSet() [9/11]

RooDataSet::RooDataSet ( RooStringView  name,
RooStringView  title,
TTree theTree,
const RooArgSet vars,
const RooFormulaVar cutVar,
const char *  wgtVarName = nullptr 
)

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' 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.

Definition at line 682 of file RooDataSet.cxx.

◆ RooDataSet() [10/11]

Use RooDataSet::RooDataSet ( name  ,
title  ,
vars  ,
Import *  tree,
Cut(cutVar)  ,
WeightVar(wgtVarName)   
)

◆ RooDataSet() [11/11]

RooDataSet::RooDataSet ( RooDataSet const &  other,
const char *  newname = nullptr 
)

Copy constructor.

Definition at line 736 of file RooDataSet.cxx.

◆ ~RooDataSet()

RooDataSet::~RooDataSet ( )
override

Destructor.

Definition at line 860 of file RooDataSet.cxx.

Member Function Documentation

◆ add() [1/3]

void RooDataSet::add ( const RooArgSet data,
double  wgt,
double  wgtError 
)

Add one ore more rows of data.

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.

Parameters
[in]dataData point.
[in]wgtEvent weight. Defaults to 1. The current value of the weight variable is ignored.
Note
To obtain weighted events, a variable must be designated WeightVar in the constructor.
Parameters
[in]wgtErrorOptional weight error.
Note
This requires including the weight variable in the set of StoreError variables when constructing the dataset.

Definition at line 1070 of file RooDataSet.cxx.

◆ add() [2/3]

void RooDataSet::add ( const RooArgSet indata,
double  inweight,
double  weightErrorLo,
double  weightErrorHi 
)
virtual

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.

Parameters
[in]indataData point.
[in]inweightEvent weight. The current value of the weight variable is ignored.
Note
To obtain weighted events, a variable must be designated WeightVar in the constructor.
Parameters
[in]weightErrorLoAsymmetric weight error.
[in]weightErrorHiAsymmetric weight error.
Note
This requires including the weight variable in the set of StoreAsymError variables when constructing the dataset.

Definition at line 1122 of file RooDataSet.cxx.

◆ add() [3/3]

void RooDataSet::add ( const RooArgSet row,
double  weight = 1.0 
)
inlineoverridevirtual

Implements RooAbsData.

Definition at line 141 of file RooDataSet.h.

◆ addColumn()

RooAbsArg * RooDataSet::addColumn ( RooAbsArg var,
bool  adjustRange = true 
)
virtual

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

Definition at line 1288 of file RooDataSet.cxx.

◆ addColumns()

RooArgSet * RooDataSet::addColumns ( const RooArgList varList)
virtual

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

Definition at line 1306 of file RooDataSet.cxx.

◆ addFast()

void RooDataSet::addFast ( const RooArgSet data,
double  wgt = 1.0,
double  wgtError = 0.0 
)
virtual

Add a data point, with its coordinates specified in the 'data' argset, to the data set.

Attention
The order and type of the input variables are assumed to be the same as for the RooArgSet returned by RooDataSet::get(). Input values will just be written into the internal data columns by ordinal position.
Parameters
[in]dataData point.
[in]wgtEvent weight. Defaults to 1. The current value of the weight variable is ignored.
Note
To obtain weighted events, a variable must be designated WeightVar in the constructor.
Parameters
[in]wgtErrorOptional weight error.
Note
This requires including the weight variable in the set of StoreError variables when constructing the dataset.

Definition at line 1172 of file RooDataSet.cxx.

◆ append()

void RooDataSet::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

Definition at line 1273 of file RooDataSet.cxx.

◆ binnedClone()

RooFit::OwningPtr< RooDataHist > RooDataSet::binnedClone ( const char *  newName = nullptr,
const char *  newTitle = nullptr 
) const

Return binned clone of this dataset.

Definition at line 871 of file RooDataSet.cxx.

◆ Class()

static TClass * RooDataSet::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * RooDataSet::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t RooDataSet::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 192 of file RooDataSet.h.

◆ cleanup()

void RooDataSet::cleanup ( )
static

Definition at line 125 of file RooDataSet.cxx.

◆ Clone()

TObject * RooDataSet::Clone ( const char *  newname = "") const
inlineoverridevirtual

Make a clone of an object using the Streamer facility.

If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object.

If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.

Reimplemented from TObject.

Definition at line 96 of file RooDataSet.h.

◆ convertToTreeStore()

void RooDataSet::convertToTreeStore ( )
overridevirtual

Convert vector-based storage to tree-based storage.

This implementation overrides the base class implementation because the latter doesn't transfer weights.

Reimplemented from RooAbsData.

Definition at line 1863 of file RooDataSet.cxx.

◆ DeclFileName()

static const char * RooDataSet::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 192 of file RooDataSet.h.

◆ emptyClone()

RooFit::OwningPtr< RooAbsData > RooDataSet::emptyClone ( const char *  newName = nullptr,
const char *  newTitle = nullptr,
const RooArgSet vars = nullptr,
const char *  wgtVarName = nullptr 
) const
overridevirtual

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

Implements RooAbsData.

Definition at line 749 of file RooDataSet.cxx.

◆ get() [1/2]

const RooArgSet * RooDataSet::get ( ) const
overridevirtual

Return a RooArgSet with the coordinates of the current event.

Reimplemented from RooAbsData.

Definition at line 1052 of file RooDataSet.cxx.

◆ get() [2/2]

const RooArgSet * RooDataSet::get ( Int_t  index) const
overridevirtual

Return RooArgSet with coordinates of event 'index'.

Reimplemented from RooAbsData.

Definition at line 970 of file RooDataSet.cxx.

◆ getWeightBatch()

std::span< const double > RooDataSet::getWeightBatch ( std::size_t  first,
std::size_t  len,
bool  sumW2 
) const
overridevirtual
See also
RooAbsData::getWeightBatch().

Implements RooAbsData.

Definition at line 918 of file RooDataSet.cxx.

◆ initialize()

void RooDataSet::initialize ( const char *  wgtVarName)
protected

Initialize the dataset.

If wgtVarName is not null, interpret the observable with that name as event weight

Definition at line 792 of file RooDataSet.cxx.

◆ IsA()

TClass * RooDataSet::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from RooAbsData.

Definition at line 192 of file RooDataSet.h.

◆ isNonPoissonWeighted()

bool RooDataSet::isNonPoissonWeighted ( ) const
overridevirtual

Returns true if histogram contains bins with entries with a non-integer weight.

Reimplemented from RooAbsData.

Definition at line 1030 of file RooDataSet.cxx.

◆ isWeighted()

bool RooDataSet::isWeighted ( ) const
overridevirtual

Return true if dataset contains weighted events.

Reimplemented from RooAbsData.

Definition at line 1020 of file RooDataSet.cxx.

◆ loadValuesFromSlices()

void RooDataSet::loadValuesFromSlices ( RooCategory indexCat,
std::map< std::string, RooAbsData * > const &  slices,
const char *  rangeName,
RooFormulaVar const *  cutVar,
const char *  cutSpec 
)
private

Definition at line 1887 of file RooDataSet.cxx.

◆ merge() [1/2]

bool RooDataSet::merge ( RooDataSet data1,
RooDataSet data2 = nullptr,
RooDataSet data3 = nullptr,
RooDataSet data4 = nullptr,
RooDataSet data5 = nullptr,
RooDataSet data6 = nullptr 
)

Definition at line 1214 of file RooDataSet.cxx.

◆ merge() [2/2]

bool RooDataSet::merge ( std::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

Definition at line 1236 of file RooDataSet.cxx.

◆ plotOnXY()

RooDataSet::plotOnXY ( RooPlot frame,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
) const
virtual

Special plot method for 'X-Y' datasets used in \( \chi^2 \) fitting.

For general plotting, see RooAbsData::plotOn().

These datasets have one observable (X) and have weights (Y) and associated errors.

Contents options Effect
YVar(RooRealVar& var) Designate specified observable as 'y' variable If not specified, the event weight will be the y variable
Histogram drawing options Effect
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 size) Select the ROOT marker size
Rescale(double factor) Apply global rescaling factor to histogram
Misc. other options Effect
Name(const chat* name) Give curve specified name in frame. Useful if curve is to be referenced later
Invisible(bool flag) Add curve to frame, but do not display. Useful in combination AddTo()

PyROOT

The RooDataSet::plotOnXY() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Definition at line 1343 of file RooDataSet.cxx.

◆ printArgs()

void RooDataSet::printArgs ( std::ostream &  os) const
overridevirtual

Print argument of dataset, i.e. the observable names.

Reimplemented from RooPrintable.

Definition at line 1759 of file RooDataSet.cxx.

◆ printMultiline()

void RooDataSet::printMultiline ( std::ostream &  os,
Int_t  contents,
bool  verbose = false,
TString  indent = "" 
) const
overridevirtual

Print info about this dataset to the specified output stream.

Standard: number of entries Shape: list of variables we define & were generated with

Reimplemented from RooAbsData.

Definition at line 1733 of file RooDataSet.cxx.

◆ printValue()

void RooDataSet::printValue ( std::ostream &  os) const
overridevirtual

Print value of the dataset, i.e. the sum of weights contained in the dataset.

Reimplemented from RooPrintable.

Definition at line 1746 of file RooDataSet.cxx.

◆ read()

RooDataSet * RooDataSet::read ( const char *  fileList,
const RooArgList varList,
const char *  verbOpt = "",
const char *  commonPath = "",
const char *  indexCatName = nullptr 
)
static

Read data from a text file and create a dataset from it.

Read given list of ascii files, and construct a data set, using the given ArgList as structure definition.

The possible options are: (D)ebug, (Q)uiet.

Parameters
fileListMultiple file names, comma separated. Each file is optionally prefixed with 'commonPath' if such a path is provided
varListSpecify the dimensions of the dataset to be built. This list 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 varList. Any text beyond N tokens will be ignored with a warning message. (NB: This is the default output of RooArgList::writeToStream())
verbOptQ be quiet, D debug mode (verbose)
commonPathAll filenames in fileList will be prefixed with this optional path.
indexCatNameInterpret the data as belonging to category indexCatName. When multiple files are read, a RooCategory arg in varList 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.
Attention
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. The number of events read and skipped is always summarized at the end.

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.

Definition at line 1507 of file RooDataSet.cxx.

◆ reduceEng()

std::unique_ptr< RooAbsData > RooDataSet::reduceEng ( const RooArgSet varSubset,
const RooFormulaVar cutVar,
const char *  cutRange = nullptr,
std::size_t  nStart = 0,
std::size_t  nStop = std::numeric_limits<std::size_t>::max() 
)
overrideprotectedvirtual

Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods.

Implements RooAbsData.

Definition at line 819 of file RooDataSet.cxx.

◆ SetName()

void RooDataSet::SetName ( const char *  name)
overridevirtual

Change the name of this dataset into the given name.

Reimplemented from RooAbsData.

Definition at line 1782 of file RooDataSet.cxx.

◆ SetNameTitle()

void RooDataSet::SetNameTitle ( const char *  name,
const char *  title 
)
overridevirtual

Change the title of this dataset into the given name.

Reimplemented from RooAbsData.

Definition at line 1794 of file RooDataSet.cxx.

◆ Streamer()

void RooDataSet::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class RooDataSet.

Reimplemented from RooAbsData.

Definition at line 1804 of file RooDataSet.cxx.

◆ StreamerNVirtual()

void RooDataSet::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 192 of file RooDataSet.h.

◆ sumEntries() [1/2]

double RooDataSet::sumEntries ( ) const
overridevirtual

Return effective number of entries in dataset, i.e., sum all weights.

Implements RooAbsData.

Definition at line 979 of file RooDataSet.cxx.

◆ sumEntries() [2/2]

double RooDataSet::sumEntries ( const char *  cutSpec,
const char *  cutRange = nullptr 
) const
overridevirtual

Return the sum of weights in all entries matching cutSpec (if specified) and in named range cutRange (if specified)

Implements RooAbsData.

Definition at line 989 of file RooDataSet.cxx.

◆ weight()

double RooDataSet::weight ( ) const
overridevirtual

Return event weight of current event.

Implements RooAbsData.

Definition at line 894 of file RooDataSet.cxx.

◆ weightError() [1/2]

void RooDataSet::weightError ( double lo,
double hi,
ErrorType  etype = SumW2 
) const
overridevirtual

Return the asymmetric errors on the current weight.

See also weightError(ErrorType) const for symmetric error.

Parameters
[out]loLow error.
[out]hiHigh error.
etypeerror type

Reimplemented from RooAbsData.

Definition at line 952 of file RooDataSet.cxx.

◆ weightError() [2/2]

double RooDataSet::weightError ( ErrorType  etype = SumW2) const
overridevirtual

Parameters
etypeerror type

Reimplemented from RooAbsData.

Definition at line 961 of file RooDataSet.cxx.

◆ weightSquared()

double RooDataSet::weightSquared ( ) const
overridevirtual

Return squared event weight of the current event.

If this RooDataSet has no weight errors set, this will be the same as weight() * weight(), like expected for an unbinned dataset. When weight errors are set, it is assumed that the RooDataSet represents a weighted binned dataset and weightSquared() is the corresponding sum of weight squares for the bin.

Implements RooAbsData.

Definition at line 908 of file RooDataSet.cxx.

◆ weightVar()

RooRealVar * RooDataSet::weightVar ( ) const
inline

Returns a pointer to the weight variable (if set).

Definition at line 129 of file RooDataSet.h.

◆ write() [1/2]

bool RooDataSet::write ( const char *  filename) const

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

Definition at line 1692 of file RooDataSet.cxx.

◆ write() [2/2]

bool RooDataSet::write ( std::ostream &  ofs) const

Write the contents of this dataset to the stream.

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

Definition at line 1712 of file RooDataSet.cxx.

Friends And Related Symbol Documentation

◆ RooProdGenContext

friend class RooProdGenContext
friend

Definition at line 167 of file RooDataSet.h.

Member Data Documentation

◆ _doWeightErrorCheck

bool RooDataSet::_doWeightErrorCheck {true}
private

! When adding events with weights, check that weights can actually be stored.

Definition at line 188 of file RooDataSet.h.

◆ _errorMsgCount

unsigned short RooDataSet::_errorMsgCount {0}
private

! Counter to silence error messages when filling dataset.

Definition at line 187 of file RooDataSet.h.

◆ _sumW2Buffer

std::unique_ptr<std::vector<double> > RooDataSet::_sumW2Buffer
mutableprivate

! Buffer for sumW2 in case a batch of values is requested.

Definition at line 190 of file RooDataSet.h.

◆ _varsNoWgt

RooArgSet RooDataSet::_varsNoWgt
protected

Vars without weight variable.

Definition at line 175 of file RooDataSet.h.

◆ _wgtVar

RooRealVar* RooDataSet::_wgtVar = nullptr
protected

Pointer to weight variable (if set)

Definition at line 176 of file RooDataSet.h.

Libraries for RooDataSet:

The documentation for this class was generated from the following files: