Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RooAbsData Class Referenceabstract

Abstract base class for binned and unbinned datasets.

PyROOT

Some member functions of RooAbsData that take a RooCmdArg as argument also support keyword arguments. This applies to RooAbsData::plotOn, RooAbsData::createHistogram, RooAbsData::reduce, RooAbsData::statOn. For example, the following code is equivalent in PyROOT:

# Directly passing a RooCmdArg:
data.plotOn(frame, ROOT.RooFit.CutRange("r1"))
# With keyword arguments:
data.plotOn(frame, CutRange="r1")

The abstract interface defines plotting and tabulating entry points for its contents and provides an iterator over its elements (bins for binned data sets, data points for unbinned datasets).

Storing global observables in RooFit datasets

RooFit groups model variables into observables and parameters, depending on if their values are stored in the dataset. For fits with parameter constraints, there is a third kind of variables, called global observables. These represent the results of auxiliary measurements that constrain the nuisance parameters. In the RooFit implementation, a likelihood is generally the sum of two terms:

  • the likelihood of the data given the parameters, where the normalization set is the set of observables (implemented by RooNLLVar)
  • the constraint term, where the normalization set is the set of global observables (implemented by RooConstraintSum)

Before this release, the global observable values were always taken from the model/pdf. With this release, a mechanism is added to store a snapshot of global observables in any RooDataSet or RooDataHist. For toy studies where the global observables assume a different values for each toy, the bookkeeping of the set of global observables and in particular their values is much easier with this change.

Usage example for a model with global observables g1 and g2:

using namespace RooFit;
std::unique_ptr<RooAbsData> data{model.generate(x, 1000)}; // data has only the single observables x
data->setGlobalObservables(g1, g2); // now, data also stores a snapshot of g1 and g2
// If you fit the model to the data, the global observables and their values
// are taken from the dataset:
model.fitTo(*data);
// You can still define the set of global observables yourself, but the values
// will be takes from the dataset if available:
model.fitTo(*data, GlobalObservables(g1, g2));
// To force `fitTo` to take the global observable values from the model even
// though they are in the dataset, you can use the new `GlobalObservablesSource`
// command argument:
model.fitTo(*data, GlobalObservables(g1, g2), GlobalObservablesSource("model"));
// The only other allowed value for `GlobalObservablesSource` is "data", which
// corresponds to the new default behavior explained above.
RooCmdArg GlobalObservables(Args_t &&... argsOrArgSet)
RooCmdArg GlobalObservablesSource(const char *sourceName)
Double_t x[n]
Definition legend1.C:17
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition CodegenImpl.h:72

In case you create a RooFit dataset directly by calling its constructor, you can also pass the global observables in a command argument instead of calling RooAbsData::setGlobalObservables() later:

RooDataSet data{"dataset", "dataset", x, RooFit::GlobalObservables(g1, g2)};
Container class to hold unbinned data.
Definition RooDataSet.h:32

To access the set of global observables stored in a RooAbsData, call RooAbsData::getGlobalObservables(). It returns a nullptr if no global observable snapshots are stored in the dataset.

Definition at line 56 of file RooAbsData.h.

Classes

struct  PlotOpt

Public Types

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

Public Member Functions

 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 AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual void add (const RooArgSet &row, double weight=1)=0
void addOwnedComponent (const char *idxlabel, RooAbsData &data)
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
void attachBuffers (const RooArgSet &extObs)
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
bool canSplitFast () const
virtual bool changeObservableName (const char *from, const char *to)
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.
void checkInit () const
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
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.
virtual void convertToTreeStore ()
 Convert vector-based storage to tree-based storage.
void convertToVectorStore ()
 Convert tree-based storage to vector-based storage.
void Copy (TObject &named) const override
 Copy this to obj.
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.
virtual StyleOption defaultPrintStyle (Option_t *opt) const
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.
void Draw (Option_t *option="") override
 Forward draw command to data store.
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 RooFit::OwningPtr< RooAbsDataemptyClone (const char *newName=nullptr, const char *newTitle=nullptr, const RooArgSet *vars=nullptr, const char *wgtVarName=nullptr) const =0
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 void fill ()
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
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.
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 const RooArgSetget () const
virtual const RooArgSetget (Int_t index) const
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.
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
RooArgSet const * getGlobalObservables () const
 Returns snapshot of global observables stored in this data.
virtual const char * GetIconName () const
 Returns mime type name of object.
const char * GetName () const override
 Returns 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
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)
const char * GetTitle () const override
 Returns title of object.
virtual UInt_t GetUniqueID () const
 Return the unique object id.
virtual std::span< const doublegetWeightBatch (std::size_t first, std::size_t len, bool sumW2=false) const =0
 Return event weights of all events in range [first, first+len).
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
bool hasFilledCache () const
ULong_t Hash () const override
 Return hash value for this object.
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)
TClassIsA () const override
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).
virtual bool isNonPoissonWeighted () const
Bool_t IsOnHeap () const
Bool_t IsSortable () const override
virtual bool isWeighted () const
Bool_t IsZombie () const
double kurtosis (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
void ls (Option_t *option="") const override
 List TNamed name and title.
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).
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 Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
virtual Int_t numEntries () const
 Return number of entries in dataset, i.e., count unweighted entries.
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
void operator delete (void *, size_t)
 Operator delete for sized deallocation.
void operator delete (void *ptr)
 Operator delete.
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
void operator delete[] (void *, size_t)
 Operator delete [] for sized deallocation.
void operator delete[] (void *ptr)
 Operator delete [].
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
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)
RooAbsDataoperator= (const RooAbsData &other)
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
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.
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
void Print (Option_t *options=nullptr) const override
 This method must be overridden when a class wants to print itself.
virtual void printAddress (std::ostream &os) const
 Print class name of object.
virtual void printArgs (std::ostream &os) const
 Interface for printing of object arguments.
void printClassName (std::ostream &os) const override
 Print class name of dataset.
virtual void printContents (std::ostream &os=std::cout) const =0
 Print the contents of the dataset to the specified output stream.
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object.
void printMultiline (std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
 Interface for detailed printing of object.
void printName (std::ostream &os) const override
 Print name of dataset.
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'.
void printTitle (std::ostream &os) const override
 Print title of dataset.
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object.
virtual void printValue (std::ostream &os) const
 Interface to print value of object.
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
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) const
 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) const
 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) const
 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={}) const
 Create a reduced copy of this dataset.
RooFit::OwningPtr< RooAbsDatareduce (const RooFormulaVar &cutVar) const
 Create a subset of the data set by applying the given cut on the data points.
virtual void reset ()
void ResetBit (UInt_t f)
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.
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.
void setDirtyProp (bool flag)
 Control propagation of dirty flags from observables in dataset.
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
void setGlobalObservables (RooArgSet const &globalObservables)
 Sets the global observables stored in this data.
void SetName (const char *name) override
 Set the name of the TNamed.
void SetNameTitle (const char *name, const char *title) override
 Set all the TNamed parameters (name and title).
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
double sigma (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
double skewness (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const
std::vector< std::unique_ptr< RooAbsData > > split (const RooAbsCategory &splitCat, bool createEmptyDataSets=false) const
 Split the dataset into subsets based on states of a categorical variable in this dataset.
std::vector< std::unique_ptr< RooAbsData > > split (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 Streamer (TBuffer &) override
 Stream an object of class RooAbsData.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual double sumEntries () const =0
 Return effective number of entries in dataset, i.e., sum all weights.
virtual double sumEntries (const char *cutSpec, const char *cutRange=nullptr) const =0
 Return effective number of entries in dataset inside range or after cuts, i.e., sum certain weights.
double sumEntriesW2 () const
 Return sum of squared weights of this data.
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
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.
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
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.
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 double weight () const =0
virtual void weightError (double &lo, double &hi, ErrorType=Poisson) const
 Return the asymmetric errors on the current weight.
virtual double weightError (ErrorType=Poisson) const
 Return the symmetric error on the current weight.
virtual double weightSquared () const =0
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.

Static Public Member Functions

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 ErrorType errorTypeFromString (std::string const &name)
 Convert a string to the value of the RooAbsData::ErrorType enum with the same name.
static StorageType getDefaultStorageType ()
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static Bool_t GetObjectStat ()
 Get status of object stat flag.
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 void setDefaultStorageType (StorageType s)
static void SetDtorOnly (void *obj)
 Set destructor only flag.
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.

Protected Types

enum  { kOnlyPrepStep = (1ULL << (3)) }

Protected Member Functions

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.
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
void initializeVars (RooArgSet const &vars)
void MakeZombie ()
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 RooPlotplotOnImpl (RooPlot *frame, PlotOpt o) const
 Create and fill a histogram of the frame's variable and append it to the frame.
virtual std::unique_ptr< RooAbsDatareduceEng (const RooArgSet &varSubset, const RooFormulaVar *cutVar, const char *cutRange=nullptr, std::size_t nStart=0, std::size_t=std::numeric_limits< std::size_t >::max()) const =0
virtual void resetCache ()
 Internal method – Remove cached function values.
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
 Save object name and title into the output stream "out".
virtual void setArgStatus (const RooArgSet &set, bool active)

Static Protected Member Functions

static RooHistcreateAndFillRooHist (RooAbsData const &absData, RooPlot const &frame, RooAbsRealLValue const &var, std::string cuts1, std::string cuts2, RooAbsData::PlotOpt opt, bool efficiency, double scaleFactor)
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

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.
TString fName
TString fTitle
StorageType storageType

Static Protected Attributes

static Int_t _nameLength
static StorageType defaultStorageType =RooAbsData::Vector

Private Member Functions

void copyGlobalObservables (const RooAbsData &other)
void copyImpl (const RooAbsData &other, const char *newname)

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

const RooFit::UniqueId< RooAbsData_uniqueId
 !
UInt_t fBits
 bit field status word
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

Friends

class RooAbsOptTestStatistic
struct RooFit::TestStatistics::ConstantTermsOptimizer
class RooFit::TestStatistics::RooAbsL

#include <RooAbsData.h>

Inheritance diagram for RooAbsData:
TNamed RooPrintable TObject RooDataHist RooDataSet RooTreeData

Member Typedef Documentation

◆ CategorySpans

Definition at line 133 of file RooAbsData.h.

◆ RealSpans

using RooAbsData::RealSpans = std::map<RooFit::Detail::DataKey, std::span<const double>>

Definition at line 132 of file RooAbsData.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ ContentsOption

Enumerator
kName 
kClassName 
kValue 
kArgs 
kExtras 
kAddress 
kTitle 
kCollectionHeader 

Definition at line 33 of file RooPrintable.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ ErrorType

Enumerator
Poisson 
SumW2 
None 
Auto 
Expected 

Definition at line 107 of file RooAbsData.h.

◆ EStatusBits

enum TObject::EStatusBits
inherited
Enumerator
kCanDelete 

if object in a list can be deleted

kMustCleanup 

if object destructor must call RecursiveRemove()

kIsReferenced 

if object is referenced by a TRef or TRefArray

kHasUUID 

if object has a TUUID (its fUniqueID=UUIDNumber)

kCannotPick 

if object in a pad cannot be picked

kNoContextMenu 

if object does not want context menu

kInvalidObject 

if object ctor succeeded but object should not be used

Definition at line 70 of file TObject.h.

◆ StorageType

Enumerator
Tree 
Vector 
Composite 

Definition at line 264 of file RooAbsData.h.

◆ StyleOption

enum RooPrintable::StyleOption
inherited
Enumerator
kInline 
kSingleLine 
kStandard 
kVerbose 
kTreeStructure 

Definition at line 34 of file RooPrintable.h.

Constructor & Destructor Documentation

◆ RooAbsData() [1/3]

RooAbsData::RooAbsData ( )

Default constructor.

Definition at line 151 of file RooAbsData.cxx.

◆ RooAbsData() [2/3]

RooAbsData::RooAbsData ( RooStringView name,
RooStringView title,
const RooArgSet & vars,
RooAbsDataStore * dstore = nullptr )

Constructor from a set of variables.

Only fundamental elements of vars (RooRealVar,RooCategory etc) are stored as part of the dataset

Definition at line 185 of file RooAbsData.cxx.

◆ RooAbsData() [3/3]

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

Copy constructor.

Definition at line 247 of file RooAbsData.cxx.

◆ ~RooAbsData()

RooAbsData::~RooAbsData ( )
override

Destructor.

Definition at line 282 of file RooAbsData.cxx.

Member Function Documentation

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ add()

virtual void RooAbsData::add ( const RooArgSet & row,
double weight = 1 )
pure virtual

Implemented in RooDataHist, and RooDataSet.

◆ addOwnedComponent()

void RooAbsData::addOwnedComponent ( const char * idxlabel,
RooAbsData & data )

Definition at line 2356 of file RooAbsData.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ allClientsCached()

bool RooAbsData::allClientsCached ( RooAbsArg * var,
const RooArgSet & cacheList )
protected

Utility function that determines if all clients of object 'var' appear in given list of cached nodes.

Definition at line 2309 of file RooAbsData.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ attachBuffers()

void RooAbsData::attachBuffers ( const RooArgSet & extObs)

Definition at line 2327 of file RooAbsData.cxx.

◆ attachCache()

void RooAbsData::attachCache ( const RooAbsArg * newOwner,
const RooArgSet & cachedVars )
protectedvirtual

Internal method – Attach dataset copied with cache contents to copied instances of functions.

Definition at line 365 of file RooAbsData.cxx.

◆ Browse()

◆ cacheArgs()

void RooAbsData::cacheArgs ( const RooAbsArg * owner,
RooArgSet & varSet,
const RooArgSet * nset = nullptr,
bool skipZeroWeights = false )
protectedvirtual

Internal method – Cache given set of functions with data.

Definition at line 348 of file RooAbsData.cxx.

◆ canSplitFast()

bool RooAbsData::canSplitFast ( ) const

Definition at line 2341 of file RooAbsData.cxx.

◆ changeObservableName()

bool RooAbsData::changeObservableName ( const char * from,
const char * to )
virtual

Definition at line 305 of file RooAbsData.cxx.

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ checkInit()

void RooAbsData::checkInit ( ) const

Definition at line 2382 of file RooAbsData.cxx.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 373 of file RooAbsData.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ Clear()

void TNamed::Clear ( Option_t * option = "")
overridevirtualinherited

Set name and title to empty strings ("").

Reimplemented from TObject.

Reimplemented in TPrincipal, TProcessID, TStreamerInfo, TTask, TVirtualFitter, and TVirtualStreamerInfo.

Definition at line 63 of file TNamed.cxx.

◆ Clone()

TObject * TNamed::Clone ( const char * newname = "") const
overridevirtualinherited

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TObject.

Reimplemented in TStreamerInfo, and TTreeIndex.

Definition at line 73 of file TNamed.cxx.

◆ Compare()

Int_t TNamed::Compare ( const TObject * obj) const
overridevirtualinherited

Compare two TNamed objects.

Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 84 of file TNamed.cxx.

◆ convertToTreeStore()

void RooAbsData::convertToTreeStore ( )
virtual

Convert vector-based storage to tree-based storage.

Reimplemented in RooDataSet.

Definition at line 2435 of file RooAbsData.cxx.

◆ convertToVectorStore()

void RooAbsData::convertToVectorStore ( )

Convert tree-based storage to vector-based storage.

Definition at line 295 of file RooAbsData.cxx.

◆ Copy()

void TNamed::Copy ( TObject & named) const
overridevirtualinherited

Copy this to obj.

Reimplemented from TObject.

Reimplemented in TPieSlice, TProfile2D, TProfile3D, TProfile, TStyle, TSystemDirectory, TSystemFile, TText, and TXTRU.

Definition at line 93 of file TNamed.cxx.

◆ copyGlobalObservables()

void RooAbsData::copyGlobalObservables ( const RooAbsData & other)
private

Definition at line 268 of file RooAbsData.cxx.

◆ copyImpl()

void RooAbsData::copyImpl ( const RooAbsData & other,
const char * newname )
private

Definition at line 206 of file RooAbsData.cxx.

◆ corrcov()

double RooAbsData::corrcov ( const RooRealVar & x,
const RooRealVar & y,
const char * cutSpec,
const char * cutRange,
bool corr ) const
protected

Internal method to calculate single correlation and covariance elements.

Definition at line 923 of file RooAbsData.cxx.

◆ corrcovMatrix()

RooFit::OwningPtr< TMatrixDSym > RooAbsData::corrcovMatrix ( const RooArgList & vars,
const char * cutSpec,
const char * cutRange,
bool corr ) const
protected

Return covariance matrix from data for given list of observables.

Definition at line 981 of file RooAbsData.cxx.

◆ correlation()

double RooAbsData::correlation ( RooRealVar & x,
RooRealVar & y,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 235 of file RooAbsData.h.

◆ correlationMatrix() [1/2]

RooFit::OwningPtr< TMatrixDSym > RooAbsData::correlationMatrix ( const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 238 of file RooAbsData.h.

◆ correlationMatrix() [2/2]

RooFit::OwningPtr< TMatrixDSym > RooAbsData::correlationMatrix ( const RooArgList & vars,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 240 of file RooAbsData.h.

◆ covariance()

double RooAbsData::covariance ( RooRealVar & x,
RooRealVar & y,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 234 of file RooAbsData.h.

◆ covarianceMatrix() [1/2]

RooFit::OwningPtr< TMatrixDSym > RooAbsData::covarianceMatrix ( const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 237 of file RooAbsData.h.

◆ covarianceMatrix() [2/2]

RooFit::OwningPtr< TMatrixDSym > RooAbsData::covarianceMatrix ( const RooArgList & vars,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 239 of file RooAbsData.h.

◆ createAndFillRooHist()

RooHist * RooAbsData::createAndFillRooHist ( RooAbsData const & absData,
RooPlot const & frame,
RooAbsRealLValue const & var,
std::string cuts1,
std::string cuts2,
RooAbsData::PlotOpt opt,
bool efficiency,
double scaleFactor )
staticprotected

Definition at line 1970 of file RooAbsData.cxx.

◆ createHistogram() [1/5]

TH1 * RooAbsData::createHistogram ( 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.

PyROOT

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

Definition at line 560 of file RooAbsData.cxx.

◆ createHistogram() [2/5]

TH1 * RooAbsData::createHistogram ( const char * name,
const RooAbsRealLValue & xvar,
const RooLinkedList & argListIn ) const

Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset.

This function accepts the following arguments.

Parameters
[in]nameName of the ROOT histogram
[in]xvarObservable to be mapped on x axis of ROOT histogram
[in]argListInlist of input arguments
Returns
Histogram now owned by user.
AutoBinning(Int_t nbins, Double_y margin) Automatically calculate range with given added fractional margin, set binning to nbins
AutoSymBinning(Int_t nbins, Double_y margin) Automatically calculate range with given added fractional margin, with additional constraint that mean of data is in center of range, set binning to nbins
Binning(const char* name) Apply binning with given name to x axis of histogram
Binning(RooAbsBinning& binning) Apply specified binning to x axis of histogram
Binning(int nbins, double lo, double hi)

Apply specified binning to x axis of histogram

YVar(const RooAbsRealLValue& var,...) Observable to be mapped on y axis of ROOT histogram
ZVar(const RooAbsRealLValue& var,...) Observable to be mapped on z axis of ROOT histogram

The YVar() and ZVar() arguments can be supplied with optional Binning() Auto(Sym)Range() arguments to control the binning of the Y and Z axes, e.g.

createHistogram("histo",x,Binning(-1,1,20), YVar(y,Binning(-1,1,30)), ZVar(z,Binning("zbinning")))
TH1 * createHistogram(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) c...
Double_t y[n]
Definition legend1.C:17

The caller takes ownership of the returned histogram

Definition at line 672 of file RooAbsData.cxx.

◆ createHistogram() [3/5]

TH1 * RooAbsData::createHistogram ( 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.

Parameters
[in]varNameListComma-separated variable names.
[in]binArgXControl the binning for the x variable.
[in]binArgYControl the binning for the y variable.
[in]binArgZControl the binning for the z variable.
Returns
Histogram now owned by user.

The possible binning command arguments for each axis are:

AutoBinning(Int_t nbins, Double_y margin) Automatically calculate range with given added fractional margin, set binning to nbins
AutoSymBinning(Int_t nbins, Double_y margin) Automatically calculate range with given added fractional margin, with additional constraint that mean of data is in center of range, set binning to nbins
Binning(const char* name) Apply binning with given name to x axis of histogram
Binning(RooAbsBinning& binning) Apply specified binning to x axis of histogram
Binning(int nbins, double lo, double hi)

Apply specified binning to x axis of histogram

YVar(const RooAbsRealLValue& var,...) Observable to be mapped on y axis of ROOT histogram
ZVar(const RooAbsRealLValue& var,...) Observable to be mapped on z axis of ROOT histogram

Definition at line 597 of file RooAbsData.cxx.

◆ createHistogram() [4/5]

TH2F * RooAbsData::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).

Definition at line 2542 of file RooAbsData.cxx.

◆ createHistogram() [5/5]

TH2F * RooAbsData::createHistogram ( 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.

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

Definition at line 2557 of file RooAbsData.cxx.

◆ dataRealVar()

RooRealVar * RooAbsData::dataRealVar ( const char * methodname,
const RooRealVar & extVar ) const
protected

Internal method to check if given RooRealVar maps to a RooRealVar in this dataset.

Definition at line 904 of file RooAbsData.cxx.

◆ DeclFileName()

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

Definition at line 373 of file RooAbsData.h.

◆ defaultPrintContents()

Int_t RooAbsData::defaultPrintContents ( Option_t * opt) const
overridevirtual

Define default print options, for a given print style.

Reimplemented from RooPrintable.

Definition at line 813 of file RooAbsData.cxx.

◆ defaultPrintStream()

ostream & RooPrintable::defaultPrintStream ( std::ostream * os = nullptr)
staticinherited

Return a reference to the current default stream to use in Print().

Use the optional parameter to specify a new default stream (a reference to the old one is still returned). This method allows subclasses to provide an inline implementation of Print() without pulling in iostream.h.

Definition at line 268 of file RooPrintable.cxx.

◆ defaultPrintStyle()

RooPrintable::StyleOption RooPrintable::defaultPrintStyle ( Option_t * opt) const
virtualinherited

Reimplemented in RooAbsGenContext, RooFitResult, RooNumGenConfig, and RooNumIntConfig.

Definition at line 237 of file RooPrintable.cxx.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

void RooAbsData::Draw ( Option_t * option = "")
overridevirtual

Forward draw command to data store.

Reimplemented from TObject.

Definition at line 2390 of file RooAbsData.cxx.

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
virtual void fill()
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ emptyClone()

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

Implemented in RooDataHist, and RooDataSet.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ errorTypeFromString()

RooAbsData::ErrorType RooAbsData::errorTypeFromString ( std::string const & name)
static

Convert a string to the value of the RooAbsData::ErrorType enum with the same name.

Definition at line 2637 of file RooAbsData.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ fill()

void RooAbsData::fill ( )
virtual

Definition at line 318 of file RooAbsData.cxx.

◆ FillBuffer()

void TNamed::FillBuffer ( char *& buffer)
virtualinherited

Encode TNamed into output buffer.

Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.

Definition at line 103 of file TNamed.cxx.

◆ fillHistogram()

TH1 * RooAbsData::fillHistogram ( TH1 * hist,
const RooArgList & plotVars,
const char * cuts = "",
const char * cutRange = nullptr ) const
virtual

Loop over columns of our tree data and fill the input histogram.

Returns a pointer to the input histogram, or zero in case of an error. The input histogram can be any TH1 subclass, and therefore of arbitrary dimension. Variables are matched with the (x,y,...) dimensions of the input histogram according to the order in which they appear in the input plotVars list.

Definition at line 1262 of file RooAbsData.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ get() [1/2]

virtual const RooArgSet * RooAbsData::get ( ) const
inlinevirtual

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 100 of file RooAbsData.h.

◆ get() [2/2]

const RooArgSet * RooAbsData::get ( Int_t index) const
virtual

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 339 of file RooAbsData.cxx.

◆ getBatches()

RooAbsData::RealSpans RooAbsData::getBatches ( std::size_t begin = 0,
std::size_t len = std::numeric_limits<std::size_t>::max() ) const

Write information to retrieve data columns into evalData.spans.

All spans belonging to variables of this dataset are overwritten. Spans to other variables remain intact.

Parameters
beginIndex of first event that ends up in the batch.
lenNumber of events in each batch.

Definition at line 2525 of file RooAbsData.cxx.

◆ getCategoryBatches()

RooAbsData::CategorySpans RooAbsData::getCategoryBatches ( std::size_t first = 0,
std::size_t len = std::numeric_limits<std::size_t>::max() ) const

Definition at line 2530 of file RooAbsData.cxx.

◆ GetClonedTree()

TTree * RooAbsData::GetClonedTree ( ) const

Return a clone of the TTree which stores the data or create such a tree if vector storage is used.

The user is responsible for deleting the tree

Definition at line 2422 of file RooAbsData.cxx.

◆ getDefaultStorageType()

RooAbsData::StorageType RooAbsData::getDefaultStorageType ( )
static

Definition at line 143 of file RooAbsData.cxx.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ getGlobalObservables()

RooArgSet const * RooAbsData::getGlobalObservables ( ) const
inline

Returns snapshot of global observables stored in this data.

Returns
Pointer to a RooArgSet with the snapshot of global observables stored in the data. Can be nullptr if no global observables are stored.

Definition at line 274 of file RooAbsData.h.

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetName()

const char * TNamed::GetName ( ) const
inlineoverridevirtualinherited

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 49 of file TNamed.h.

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ getRange()

bool RooAbsData::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.

If the return value is true and error occurred

Definition at line 2187 of file RooAbsData.cxx.

◆ getSimData()

RooAbsData * RooAbsData::getSimData ( const char * idxstate)

Definition at line 2348 of file RooAbsData.cxx.

◆ GetTitle()

const char * TNamed::GetTitle ( ) const
inlineoverridevirtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented from TObject.

Definition at line 50 of file TNamed.h.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ getWeightBatch()

virtual std::span< const double > RooAbsData::getWeightBatch ( std::size_t first,
std::size_t len,
bool sumW2 = false ) const
pure virtual

Return event weights of all events in range [first, first+len).

If no contiguous structure of weights is stored, an empty batch can be returned. This indicates that the weight is constant. Use weight() to retrieve it.

Implemented in RooDataHist, and RooDataSet.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ hasFilledCache()

bool RooAbsData::hasFilledCache ( ) const

Definition at line 2397 of file RooAbsData.cxx.

◆ Hash()

ULong_t TNamed::Hash ( ) const
inlineoverridevirtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
ULong_t Hash() const override
Return hash value for this object.
Definition TNamed.h:51
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
TObject()
TObject constructor.
Definition TObject.h:259
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented from TObject.

Definition at line 51 of file TNamed.h.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ initializeVars()

void RooAbsData::initializeVars ( RooArgSet const & vars)
protected

Definition at line 157 of file RooAbsData.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

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

Reimplemented from TObject.

Reimplemented in RooDataHist, RooDataSet, and RooTreeData.

Definition at line 373 of file RooAbsData.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

◆ isNonPoissonWeighted()

virtual bool RooAbsData::isNonPoissonWeighted ( ) const
inlinevirtual

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 157 of file RooAbsData.h.

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsSortable()

Bool_t TNamed::IsSortable ( ) const
inlineoverridevirtualinherited

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 52 of file TNamed.h.

◆ isWeighted()

virtual bool RooAbsData::isWeighted ( ) const
inlinevirtual

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 153 of file RooAbsData.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ kurtosis()

double RooAbsData::kurtosis ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 232 of file RooAbsData.h.

◆ ls()

void TNamed::ls ( Option_t * option = "") const
overridevirtualinherited

List TNamed name and title.

Reimplemented from TObject.

Reimplemented in ROOT::Experimental::XRooFit::xRooBrowser, TNode, TROOT, TStreamerBase, TStreamerElement, TStreamerInfo, TStreamerSTL, TTask, TText, and TVirtualStreamerInfo.

Definition at line 112 of file TNamed.cxx.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

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

Definition at line 1160 of file TObject.cxx.

◆ mean()

double RooAbsData::mean ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 229 of file RooAbsData.h.

◆ meanVar()

RooRealVar * RooAbsData::meanVar ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const

Create a RooRealVar containing the mean of observable 'var' in this dataset.

If cutSpec and/or cutRange are specified the moment is calculated on the subset of the data which pass the C++ cut specification expression 'cutSpec' and/or are inside the range named 'cutRange'

Definition at line 1060 of file RooAbsData.cxx.

◆ moment() [1/2]

double RooAbsData::moment ( const RooRealVar & var,
double order,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const

Calculate moment of requested order.

Parameters
[in]varVariable to be used for calculating the moment.
[in]orderOrder of the moment.
[in]cutSpecIf specified, the moment is calculated on the subset of the data which pass the C++ cut specification expression 'cutSpec'
[in]cutRangeIf specified, calculate inside the range named 'cutRange' (also applies cut spec)
Returns
\( \left< \left( X - \left< X \right> \right)^n \right> \) of order \(n\).

Definition at line 846 of file RooAbsData.cxx.

◆ moment() [2/2]

double RooAbsData::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.

If offset is non-zero it is subtracted from the values of 'var' prior to the moment calculation. If cutSpec and/or cutRange are specified the moment is calculated on the subset of the data which pass the C++ cut specification expression 'cutSpec' and/or are inside the range named 'cutRange'

Definition at line 859 of file RooAbsData.cxx.

◆ nameFieldLength()

void RooPrintable::nameFieldLength ( Int_t newLen)
staticinherited

Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount.

Definition at line 59 of file RooPrintable.cxx.

◆ namePtr()

const TNamed * RooAbsData::namePtr ( ) const
inline

De-duplicated pointer to this object's name.

This can be used for fast name comparisons. like if (namePtr() == other.namePtr()).

Note
TNamed::GetName() will return a pointer that's different for each object, but namePtr() always points to a unique instance.

Definition at line 283 of file RooAbsData.h.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ numEntries()

Int_t RooAbsData::numEntries ( ) const
virtual

Return number of entries in dataset, i.e., count unweighted entries.

Definition at line 325 of file RooAbsData.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ operator=()

RooAbsData & RooAbsData::operator= ( const RooAbsData & other)

Definition at line 257 of file RooAbsData.cxx.

◆ optimizeReadingWithCaching()

void RooAbsData::optimizeReadingWithCaching ( RooAbsArg & arg,
const RooArgSet & cacheList,
const RooArgSet & keepObsList )
protectedvirtual

Prepare dataset for use with cached constant terms listed in 'cacheList' of expression 'arg'.

Deactivate tree branches for any dataset observable that is either not used at all, or is used exclusively by cached branch nodes.

Definition at line 2252 of file RooAbsData.cxx.

◆ Paint()

void TObject::Paint ( Option_t * option = "")
virtualinherited

This method must be overridden if a class wants to paint itself.

The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.

Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.

Definition at line 631 of file TObject.cxx.

◆ plotAsymOn()

RooPlot * RooAbsData::plotAsymOn ( RooPlot * frame,
const RooAbsCategoryLValue & asymCat,
PlotOpt o ) const
protectedvirtual

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.

The asymmetry category 'asymCat' must have exactly 2 (or 3) states defined with index values +1,-1 (and 0)

The plot range and the number of plot bins is determined by the parameters of the plot variable of the frame (RooAbsReal::setPlotRange(), RooAbsReal::setPlotBins())

The optional cut string expression can be used to select the events to be plotted. The cut specification may refer to any variable contained in the data set

The drawOptions are passed to the TH1::Draw() method

Definition at line 2018 of file RooAbsData.cxx.

◆ plotEffOn()

RooPlot * RooAbsData::plotEffOn ( RooPlot * frame,
const RooAbsCategoryLValue & effCat,
PlotOpt o ) const
protectedvirtual

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.

The efficiency category 'effCat' must have exactly 2 +1 and 0.

The plot range and the number of plot bins is determined by the parameters of the plot variable of the frame (RooAbsReal::setPlotRange(), RooAbsReal::setPlotBins())

The optional cut string expression can be used to select the events to be plotted. The cut specification may refer to any variable contained in the data set

The drawOptions are passed to the TH1::Draw() method

Definition at line 2078 of file RooAbsData.cxx.

◆ plotOn() [1/2]

RooPlot * RooAbsData::plotOn ( 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
See also
RooPlot* plotOn(RooPlot* frame, const RooLinkedList& cmdList) const

PyROOT

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

Definition at line 547 of file RooAbsData.cxx.

◆ plotOn() [2/2]

RooPlot * RooAbsData::plotOn ( RooPlot * frame,
const RooLinkedList & argList ) const
virtual

Plot dataset on specified frame.

By default:

  • An unbinned dataset will use the default binning of the target frame.
  • A binned dataset will retain its intrinsic binning.

The following optional named arguments can be used to modify the behaviour:

Note
Please follow the function links in the left column to learn about PyROOT specifics for a given option.
Data representation options
RooFit::Asymmetry(const RooCategory& c) Show the asymmetry of the data in given two-state category [F(+)-F(-)] / [F(+)+F(-)]. Category must have two states with indices -1 and +1 or three states with indices -1,0 and +1.
RooFit::Efficiency(const RooCategory& c) Show the efficiency F(acc)/[F(acc)+F(rej)]. Category must have two states with indices 0 and 1
RooFit::DataError(Int_t) Select the type of error drawn:
  • Auto(default) results in Poisson for unweighted data and SumW2 for weighted data
  • Poisson draws asymmetric Poisson confidence intervals.
  • SumW2 draws symmetric sum-of-weights error ( \( \left( \sum w \right)^2 / \sum\left(w^2\right) \) )
  • None draws no error bars
RooFit::Binning(int nbins, double xlo, double xhi) Use specified binning to draw dataset
RooFit::Binning(const RooAbsBinning&) Use specified binning to draw dataset
RooFit::Binning(const char* name) Use binning with specified name to draw dataset
RooFit::RefreshNorm() Force refreshing for PDF normalization information in frame. If set, any subsequent PDF will normalize to this dataset, even if it is not the first one added to the frame. By default only the 1st dataset added to a frame will update the normalization information
RooFit::Rescale(double f) Rescale drawn histogram by given factor.
RooFit::Cut(const char*)

Only plot entries that pass the given cut. Apart from cutting in continuous variables Cut("x>5"), this can also be used to plot a specific category state. Use something like Cut("myCategory == myCategory::stateA"), where myCategory resolves to the state number for a given entry and myCategory::stateA resolves to the state number of the state named "stateA".

RooFit::CutRange(const char*) Only plot data from given range. Separate multiple ranges with ",".
Note
This often requires passing the normalisation when plotting the PDF because RooFit does not save how many events were being plotted (it will only work for cutting slices out of uniformly distributed variables).
data->plotOn(frame01, CutRange("SB1"));
const double nData = data->sumEntries("", "SB1");
// Make clear that the target normalisation is nData. The enumerator NumEvent
// is needed to switch between relative and absolute scaling.
model.plotOn(frame01, Normalization(nData, RooAbsReal::NumEvent),
ProjectionRange("SB1"));
Histogram drawing options
RooFit::DrawOption(const char* opt) Select ROOT draw option for resulting TGraph object
RooFit::LineStyle(Style_t style) Select line style by ROOT line style code, default is solid
RooFit::LineColor(Color_t color) Select line color by ROOT color code, default is black
RooFit::LineWidth(Width_t width) Select line with in pixels, default is 3
RooFit::MarkerStyle(Style_t style) Select the ROOT marker style, default is 21
RooFit::MarkerColor(Color_t color) Select the ROOT marker color, default is black
RooFit::MarkerSize(Size_t size) Select the ROOT marker size
RooFit::FillStyle(Style_t style) Select fill style, default is filled.
RooFit::FillColor(Color_t color) Select fill color by ROOT color code
RooFit::XErrorSize(double frac)

Select size of X error bar as fraction of the bin width, default is 1

Misc. other options
RooFit::Name(const char* name) Give curve specified name in frame. Useful if curve is to be referenced later
RooFit::Invisible() Add curve to frame, but do not display. Useful in combination AddTo()
RooFit::AddTo(const char* name, double wgtSel, double wgtOther)

Add constructed histogram to already existing histogram with given name and relative weight factors

Definition at line 1733 of file RooAbsData.cxx.

◆ plotOnImpl()

RooPlot * RooAbsData::plotOnImpl ( RooPlot * frame,
PlotOpt o ) const
protectedvirtual

Create and fill a histogram of the frame's variable and append it to the frame.

The frame variable must be one of the data sets dimensions.

The plot range and the number of plot bins is determined by the parameters of the plot variable of the frame (RooAbsReal::setPlotRange(), RooAbsReal::setPlotBins()).

The optional cut string expression can be used to select the events to be plotted. The cut specification may refer to any variable contained in the data set.

The drawOptions are passed to the TH1::Draw() method.

See also
RooAbsData::plotOn(RooPlot*,const RooLinkedList&) const

Reimplemented in RooDataHist.

Definition at line 1864 of file RooAbsData.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ Print()

void RooAbsData::Print ( Option_t * option = nullptr) const
inlineoverridevirtual

This method must be overridden when a class wants to print itself.

Reimplemented from TObject.

Definition at line 208 of file RooAbsData.h.

◆ printAddress()

void RooPrintable::printAddress ( std::ostream & os) const
virtualinherited

Print class name of object.

Reimplemented in RooAbsArg.

Definition at line 219 of file RooPrintable.cxx.

◆ printArgs()

◆ printClassName()

void RooAbsData::printClassName ( std::ostream & os) const
overridevirtual

Print class name of dataset.

Reimplemented from RooPrintable.

Definition at line 798 of file RooAbsData.cxx.

◆ printContents()

virtual void RooAbsData::printContents ( std::ostream & os = std::cout) const
pure virtual

Print the contents of the dataset to the specified output stream.

Implemented in RooDataHist, and RooDataSet.

◆ printExtras()

void RooPrintable::printExtras ( std::ostream & os) const
virtualinherited

Interface to print extras of object.

Reimplemented in RooRealVar.

Definition at line 159 of file RooPrintable.cxx.

◆ printMultiline()

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

Interface for detailed printing of object.

Reimplemented from RooPrintable.

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 805 of file RooAbsData.cxx.

◆ printName()

void RooAbsData::printName ( std::ostream & os) const
overridevirtual

Print name of dataset.

Reimplemented from RooPrintable.

Definition at line 782 of file RooAbsData.cxx.

◆ printStream()

void RooPrintable::printStream ( std::ostream & os,
Int_t contents,
StyleOption style,
TString indent = "" ) const
virtualinherited

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

Each message is prefixed by string 'indent' when printed

Definition at line 71 of file RooPrintable.cxx.

◆ printTitle()

void RooAbsData::printTitle ( std::ostream & os) const
overridevirtual

Print title of dataset.

Reimplemented from RooPrintable.

Definition at line 790 of file RooAbsData.cxx.

◆ printTree()

void RooPrintable::printTree ( std::ostream & os,
TString indent = "" ) const
virtualinherited

Interface for tree structure printing of object.

Reimplemented in RooAbsArg.

Definition at line 175 of file RooPrintable.cxx.

◆ printValue()

void RooPrintable::printValue ( std::ostream & os) const
virtualinherited

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ RecursiveRemove()

void RooAbsData::RecursiveRemove ( TObject * obj)
overridevirtual

If one of the TObject we have a referenced to is deleted, remove the reference.

Reimplemented from TObject.

Definition at line 2447 of file RooAbsData.cxx.

◆ reduce() [1/5]

RooFit::OwningPtr< RooAbsData > RooAbsData::reduce ( const char * cut) const

Create a subset of the data set by applying the given cut on the data points.

The cut expression can refer to any variable in the data set. For cuts involving other variables, such as intermediate formula objects, use the equivalent reduce method specifying the as a RooFormulVar reference.

Definition at line 474 of file RooAbsData.cxx.

◆ reduce() [2/5]

RooFit::OwningPtr< RooAbsData > RooAbsData::reduce ( const RooArgSet & varSubset,
const char * cut = nullptr ) const

Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set.

The cut expression can refer to any variable in the data set. For cuts involving other variables, such as intermediate formula objects, use the equivalent reduce method specifying the as a RooFormulVar reference.

Definition at line 499 of file RooAbsData.cxx.

◆ reduce() [3/5]

RooFit::OwningPtr< RooAbsData > RooAbsData::reduce ( const RooArgSet & varSubset,
const RooFormulaVar & cutVar ) const

Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set.

The 'cutVar' formula variable is used to select the subset of data points to be retained in the reduced data collection.

Definition at line 529 of file RooAbsData.cxx.

◆ reduce() [4/5]

RooFit::OwningPtr< RooAbsData > RooAbsData::reduce ( 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

Create a reduced copy of this dataset.

The caller takes ownership of the returned dataset

The following optional named arguments are accepted

SelectVars(const RooArgSet& vars) Only retain the listed observables in the output dataset
Cut(const char* expression) Only retain event surviving the given cut expression.
Cut(const RooFormulaVar& expr) Only retain event surviving the given cut formula.
CutRange(const char* name) Only retain events inside range with given name. Multiple CutRange arguments may be given to select multiple ranges. Note that this will also consider the variables that are not selected by SelectVars().
EventRange(int lo, int hi) Only retain events with given sequential event numbers
Name(const char* name) Give specified name to output dataset
Title(const char* name) Give specified title to output dataset

Definition at line 401 of file RooAbsData.cxx.

◆ reduce() [5/5]

RooFit::OwningPtr< RooAbsData > RooAbsData::reduce ( const RooFormulaVar & cutVar) const

Create a subset of the data set by applying the given cut on the data points.

The 'cutVar' formula variable is used to select the subset of data points to be retained in the reduced data collection.

Definition at line 484 of file RooAbsData.cxx.

◆ reduceEng()

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

Implemented in RooDataHist, and RooDataSet.

◆ reset()

void RooAbsData::reset ( )
virtual

Reimplemented in RooDataHist.

Definition at line 332 of file RooAbsData.cxx.

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ resetBuffers()

void RooAbsData::resetBuffers ( )

Definition at line 2334 of file RooAbsData.cxx.

◆ resetCache()

void RooAbsData::resetCache ( )
protectedvirtual

Internal method – Remove cached function values.

Definition at line 356 of file RooAbsData.cxx.

◆ rmsVar()

RooRealVar * RooAbsData::rmsVar ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const

Create a RooRealVar containing the RMS of observable 'var' in this dataset.

If cutSpec and/or cutRange are specified the moment is calculated on the subset of the data which pass the C++ cut specification expression 'cutSpec' and/or are inside the range named 'cutRange'

Definition at line 1093 of file RooAbsData.cxx.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveNameTitle()

void TNamed::SavePrimitiveNameTitle ( std::ostream & out,
const char * variable_name )
protectedinherited

Save object name and title into the output stream "out".

Definition at line 135 of file TNamed.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ setArgStatus()

void RooAbsData::setArgStatus ( const RooArgSet & set,
bool active )
protectedvirtual

Definition at line 372 of file RooAbsData.cxx.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ setDefaultStorageType()

void RooAbsData::setDefaultStorageType ( RooAbsData::StorageType s)
static

Definition at line 132 of file RooAbsData.cxx.

◆ setDirtyProp()

void RooAbsData::setDirtyProp ( bool flag)

Control propagation of dirty flags from observables in dataset.

Definition at line 380 of file RooAbsData.cxx.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ setGlobalObservables()

void RooAbsData::setGlobalObservables ( RooArgSet const & globalObservables)

Sets the global observables stored in this data.

A snapshot of the observables will be saved.

Parameters
[in]globalObservablesThe set of global observables to take a snapshot of.

Definition at line 2462 of file RooAbsData.cxx.

◆ SetName()

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

Set the name of the TNamed.

WARNING: if the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented from TNamed.

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 2477 of file RooAbsData.cxx.

◆ SetNameTitle()

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

Set all the TNamed parameters (name and title).

WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented from TNamed.

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 2494 of file RooAbsData.cxx.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetTitle()

void TNamed::SetTitle ( const char * title = "")
virtualinherited

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ sigma()

double RooAbsData::sigma ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 230 of file RooAbsData.h.

◆ Sizeof()

Int_t TNamed::Sizeof ( ) const
virtualinherited

Return size of the TNamed part of the TObject.

Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.

Definition at line 182 of file TNamed.cxx.

◆ skewness()

double RooAbsData::skewness ( const RooRealVar & var,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const
inline

Definition at line 231 of file RooAbsData.h.

◆ split() [1/2]

std::vector< std::unique_ptr< RooAbsData > > RooAbsData::split ( const RooAbsCategory & splitCat,
bool createEmptyDataSets = false ) const

Split the dataset into subsets based on states of a categorical variable in this dataset.

Returns a list of sub-datasets, which each dataset named after a given state name in the splitCat. The observables splitCat itself is no longer present in the sub-datasets.

Note
If you mean to split a dataset into sub-datasets that correspond to the individual channels of a RooSimultaneous, it is better to use RooAbsData::split(const RooSimultaneous &, bool), because then the sub-datasets only contain variables that the pdf for the corresponding channel depends on. This is much faster in case of many channels, and the resulting sub-datasets don't waste memory for unused columns.
Exceptions
`std::runtime_error`if an error occurs.
Parameters
splitCatThe categorical variable used for splitting the dataset.
createEmptyDataSetsFlag indicating whether to create empty datasets for missing categories (false by default).
Returns
Subsets of the dataset.
Note
Backwards compatibility: In releases before ROOT 6.38.00, this function returned a TList*. If you still need a TList*, you can convert the return value with a small helper:
TList *splitsToTList(std::vector<std::unique_ptr<RooAbsData>> &&vec) {
auto *tlist = new TList;
for (auto &d : vec)
tlist->Add(d.release());
return tlist;
}
// Example usage:
TList *splits = splitsToTList(data->split(*category));
// ... do something with splits ...
splits->Delete();
delete splits;
#define d(i)
Definition RSha256.hxx:102
A doubly linked list.
Definition TList.h:38
void Add(TObject *obj) override
Definition TList.h:81
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Definition TList.cxx:600

This way, you can continue to work with TList while adopting the new std::vector<std::unique_ptr<RooAbsData>> API over time, which ensures automatic cleanup of resources.

Definition at line 1571 of file RooAbsData.cxx.

◆ split() [2/2]

std::vector< std::unique_ptr< RooAbsData > > RooAbsData::split ( const RooSimultaneous & simPdf,
bool createEmptyDataSets = false ) const

Split the dataset into subsets based on the channels of a RooSimultaneous.

Returns a list of sub-datasets, which each dataset named after the applicable state name of the RooSimultaneous index category. The index category itself is no longer present in the sub-datasets. The sub-datasets only contain variables that the pdf for the corresponding channel depends on.

Exceptions
`std::runtime_error`if an error occurs.
Parameters
simPdfThe simultaneous pdf used for splitting the dataset.
createEmptyDataSetsFlag indicating whether to create empty datasets for missing categories (false by default).
Returns
Subsets of the dataset.

Definition at line 1605 of file RooAbsData.cxx.

◆ standMoment()

double RooAbsData::standMoment ( const RooRealVar & var,
double order,
const char * cutSpec = nullptr,
const char * cutRange = nullptr ) const

Calculate standardized moment.

Parameters
[in]varVariable to be used for calculating the moment.
[in]orderOrder of the moment.
[in]cutSpecIf specified, the moment is calculated on the subset of the data which pass the C++ cut specification expression 'cutSpec'
[in]cutRangeIf specified, calculate inside the range named 'cutRange' (also applies cut spec)
Returns
\( \frac{\left< \left( X - \left< X \right> \right)^n \right>}{\sigma^n} \), where n = order.

Definition at line 827 of file RooAbsData.cxx.

◆ statOn() [1/2]

RooPlot * RooAbsData::statOn ( 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 )
virtual

Implementation back-end of statOn() method with named arguments.

Definition at line 1204 of file RooAbsData.cxx.

◆ statOn() [2/2]

RooPlot * RooAbsData::statOn ( 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 = {} )
virtual

Add a box with statistics information to the specified frame.

PyROOT

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

By default a box with the event count, mean and rms of the plotted variable is added.

The following optional named arguments are accepted

What(const char* whatstr) Controls what is printed: "N" = count, "M" is mean, "R" is RMS.
Format(const char* optStr)
Deprecated
Classing parameter formatting options, provided for backward compatibility

Format(const char* what,...) Parameter formatting options.
const char* what Controls what is shown:
  • "N" adds name
  • "E" adds error
  • "A" shows asymmetric error
  • "U" shows unit
  • "H" hides the value
FixedPrecision(int n) Controls precision, set fixed number of digits
AutoPrecision(int n) Controls precision. Number of shown digits is calculated from error + n specified additional digits (1 is sensible default)
VerbatimName(bool flag) Put variable name in a \verb+ + clause.
Label(const chat* label) Add header label to parameter box
Layout(double xmin, double xmax, double ymax) Specify relative position of left,right side of box and top of box. Position of bottom of box is calculated automatically from number lines in box
Cut(const char* expression) Apply given cut expression to data when calculating statistics
CutRange(const char* rangeName)

Only consider events within given range when calculating statistics. Multiple CutRange() argument may be specified to combine ranges.

Definition at line 1151 of file RooAbsData.cxx.

◆ store() [1/2]

RooAbsDataStore * RooAbsData::store ( )
inline

Definition at line 76 of file RooAbsData.h.

◆ store() [2/2]

const RooAbsDataStore * RooAbsData::store ( ) const
inline

Definition at line 77 of file RooAbsData.h.

◆ Streamer()

void RooAbsData::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class RooAbsData.

Reimplemented from TObject.

Reimplemented in RooDataHist, RooDataSet, and RooTreeData.

Definition at line 2364 of file RooAbsData.cxx.

◆ StreamerNVirtual()

void RooAbsData::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 373 of file RooAbsData.h.

◆ sumEntries() [1/2]

virtual double RooAbsData::sumEntries ( ) const
pure virtual

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

Implemented in RooDataHist, and RooDataSet.

◆ sumEntries() [2/2]

virtual double RooAbsData::sumEntries ( const char * cutSpec,
const char * cutRange = nullptr ) const
pure virtual

Return effective number of entries in dataset inside range or after cuts, i.e., sum certain weights.

Parameters
[in]cutSpecApply given cut when counting (e.g. 0 < x && x < 5). Passing "1" selects all events.
[in]cutRangeIf the observables have a range with this name, only count events inside this range.

Implemented in RooDataHist, and RooDataSet.

◆ sumEntriesW2()

double RooAbsData::sumEntriesW2 ( ) const

Return sum of squared weights of this data.

Definition at line 2505 of file RooAbsData.cxx.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ table() [1/2]

Roo1DTable * RooAbsData::table ( const RooAbsCategory & cat,
const char * cuts = "",
const char * opts = "" ) const
virtual

Create and fill a 1-dimensional table for given category column This functions is the equivalent of plotOn() for category dimensions.

The optional cut string expression can be used to select the events to be tabulated The cut specification may refer to any variable contained in the data set

The option string is currently not used

Definition at line 2134 of file RooAbsData.cxx.

◆ table() [2/2]

Roo1DTable * RooAbsData::table ( const RooArgSet & catSet,
const char * cuts = "",
const char * opts = "" ) const
virtual

Construct table for product of categories in catSet.

Definition at line 756 of file RooAbsData.cxx.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ tree()

const TTree * RooAbsData::tree ( ) const

Return a pointer to the TTree which stores the data.

Returns a nullpointer if vector-based storage is used. The RooAbsData remains owner of the tree. GetClonedTree() can be used to get a tree even if the internal storage does not use one.

Definition at line 2407 of file RooAbsData.cxx.

◆ uniqueId()

RooFit::UniqueId< RooAbsData > const & RooAbsData::uniqueId ( ) const
inline

Returns a unique ID that is different for every instantiated RooAbsData object.

This ID can be used whether two RooAbsData are the same object, which is safer than memory address comparisons that might result in false positives when memory is reused.

Definition at line 294 of file RooAbsData.h.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ weight()

virtual double RooAbsData::weight ( ) const
pure virtual

Implemented in RooDataHist, and RooDataSet.

◆ weightError() [1/2]

virtual void RooAbsData::weightError ( double & lo,
double & hi,
ErrorType = Poisson ) const
inlinevirtual

Return the asymmetric errors on the current weight.

See also weightError(ErrorType) const for symmetric error.

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

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 123 of file RooAbsData.h.

◆ weightError() [2/2]

virtual double RooAbsData::weightError ( ErrorType = Poisson) const
inlinevirtual

Return the symmetric error on the current weight.

See also weightError(double&,double&,ErrorType) const for asymmetric errors.

Reimplemented in RooDataHist, and RooDataSet.

Definition at line 113 of file RooAbsData.h.

◆ weightSquared()

virtual double RooAbsData::weightSquared ( ) const
pure virtual

Implemented in RooDataHist, and RooDataSet.

◆ Write() [1/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
virtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 989 of file TObject.cxx.

◆ Write() [2/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
virtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 964 of file TObject.cxx.

◆ RooAbsOptTestStatistic

friend class RooAbsOptTestStatistic
friend

Definition at line 339 of file RooAbsData.h.

◆ RooFit::TestStatistics::ConstantTermsOptimizer

Definition at line 340 of file RooAbsData.h.

◆ RooFit::TestStatistics::RooAbsL

friend class RooFit::TestStatistics::RooAbsL
friend

Definition at line 342 of file RooAbsData.h.

Member Data Documentation

◆ _cachedVars

RooArgSet RooAbsData::_cachedVars
protected

! External variables cached with this data set

Definition at line 356 of file RooAbsData.h.

◆ _dstore

std::unique_ptr<RooAbsDataStore> RooAbsData::_dstore
protected

Data storage implementation.

Definition at line 358 of file RooAbsData.h.

◆ _globalObservables

std::unique_ptr<RooArgSet> RooAbsData::_globalObservables
protected

Snapshot of global observables.

Definition at line 362 of file RooAbsData.h.

◆ _nameLength

Int_t RooPrintable::_nameLength
staticprotectedinherited

Definition at line 57 of file RooPrintable.h.

◆ _namePtr

const TNamed* RooAbsData::_namePtr = nullptr
mutableprotected

! De-duplicated name pointer. This will be equal for all objects with the same name.

Definition at line 364 of file RooAbsData.h.

◆ _ownedComponents

std::map<std::string,RooAbsData*> RooAbsData::_ownedComponents
protected

Owned external components.

Definition at line 360 of file RooAbsData.h.

◆ _uniqueId

const RooFit::UniqueId<RooAbsData> RooAbsData::_uniqueId
private

!

Definition at line 371 of file RooAbsData.h.

◆ _vars

RooArgSet RooAbsData::_vars
protected

Dimensions of this data set.

Definition at line 355 of file RooAbsData.h.

◆ defaultStorageType

RooAbsData::StorageType RooAbsData::defaultStorageType =RooAbsData::Vector
staticprotected

Definition at line 298 of file RooAbsData.h.

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fName

TString TNamed::fName
protectedinherited

Definition at line 32 of file TNamed.h.

◆ fTitle

TString TNamed::fTitle
protectedinherited

Definition at line 33 of file TNamed.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.

◆ storageType

StorageType RooAbsData::storageType
protected

Definition at line 300 of file RooAbsData.h.


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