The RooDataHist is a container class to hold N-dimensional binned data.
Each bin's central coordinates in N-dimensional space are represented by a RooArgSet containing RooRealVar, RooCategory or RooStringVar objects, thus data can be binned in real and/or discrete dimensions.
There is an unbinned equivalent, RooDataSet.
Inspect a datahist using Print() to get the coordinates and weight()
to get the bin contents:
See RooAbsData::plotOn().
Constructor of RooDataHist takes a RooCmdArg as argument also supports keyword arguments. For example, the following code is equivalent in PyROOT:
Definition at line 39 of file RooDataHist.h.
Classes | |
struct | VarInfo |
Structure to cache information on the histogram variable that is frequently used for histogram weights retrieval. More... | |
Public Member Functions | |
RooDataHist () | |
Default constructor. | |
RooDataHist (const RooDataHist &other, const char *newname=nullptr) | |
Copy constructor. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgList &vars, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg()) | |
Constructor of a binned dataset from a RooArgSet defining the dimensions of the data space. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgList &vars, const TH1 *hist, double initWgt=1.0) | |
Constructor of a data hist from an TH1,TH2 or TH3 The RooArgSet 'vars' defines the dimensions of the histogram. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgList &vars, RooCategory &indexCat, std::map< std::string, RooDataHist * > dhistMap, double wgt=1.0) | |
Constructor of a data hist from a map of RooDataHists that are collated into a x+1 dimensional RooDataHist where the added dimension is a category that labels the input source as defined in the histMap argument. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgList &vars, RooCategory &indexCat, std::map< std::string, TH1 * > histMap, double initWgt=1.0) | |
Constructor of a data hist from a map of TH1,TH2 or TH3 that are collated into a x+1 dimensional RooDataHist where the added dimension is a category that labels the input source as defined in the histMap argument. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgSet &vars, const char *binningName=nullptr) | |
Constructor of an empty data hist from a RooArgSet defining the dimensions of the data space. | |
RooDataHist (RooStringView name, RooStringView title, const RooArgSet &vars, const RooAbsData &data, double initWgt=1.0) | |
Constructor of a data hist from an existing data collection (binned or unbinned) The RooArgSet 'vars' defines the dimensions of the histogram. | |
~RooDataHist () override | |
Destructor. | |
void | add (const RooAbsData &dset, const char *cut, double weight=1.0) |
Add all data points contained in 'dset' to this data set with given weight. | |
void | add (const RooAbsData &dset, const RooFormulaVar *cutVar=nullptr, double weight=1.0) |
Add all data points contained in 'dset' to this data set with given weight. | |
void | add (const RooArgSet &row, double weight, double sumw2) override |
Increment the bin content of the bin enclosing the given coordinates. | |
virtual void | add (const RooArgSet &row, double wgt=1.0) |
Add wgt to the bin content enclosed by the coordinates passed in row . | |
double | binVolume (const RooArgSet &bin) const |
Return the volume of the bin enclosing coordinates 'coord'. | |
double | binVolume (std::size_t i) const |
Return bin volume of i-th bin. | |
RooSpan< const double > | binVolumes (std::size_t first, std::size_t len) const |
Retrieve all bin volumes. Bins are indexed according to getIndex(). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
RooAbsData * | emptyClone (const char *newName=nullptr, const char *newTitle=nullptr, const RooArgSet *vars=nullptr, const char *=nullptr) const override |
Return empty clone of this RooDataHist. | |
const RooArgSet * | get () const override |
Get bin centre of current bin. | |
virtual const RooArgSet * | get (const RooArgSet &coord) const |
Return a RooArgSet with whose coordinates denote the bin centre of the bin enclosing the point in coord . | |
const RooArgSet * | get (Int_t binNumber) const override |
Load bin binNumber , and return an argset with the coordinates of the bin centre. | |
std::vector< std::unique_ptr< const RooAbsBinning > > const & | getBinnings () const |
Int_t | getIndex (const RooAbsCollection &coord, bool fast=false) const |
Calculate bin number of the given coordinates. | |
Int_t | getIndex (const RooArgSet &coord, bool fast=false) const |
Calculate bin number of the given coordinates. | |
RooSpan< const double > | getWeightBatch (std::size_t first, std::size_t len, bool sumW2=false) const override |
Return event weights of all events in range [first, first+len). | |
TClass * | IsA () const override |
bool | isNonPoissonWeighted () const override |
Returns true if dataset contains entries with a non-integer weight. | |
bool | isWeighted () const override |
Always returns true as all histograms use event weights. | |
RooDataHist & | operator= (const RooDataHist &)=delete |
virtual RooPlot * | plotOn (RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const |
virtual RooPlot * | plotOn (RooPlot *frame, const RooLinkedList &cmdList) const |
Plot dataset on specified frame. | |
virtual RooPlot * | plotOn (RooPlot *frame, PlotOpt o) const |
Create and fill a histogram of the frame's variable and append it to the frame. | |
RooPlot * | plotOn (RooPlot *frame, PlotOpt o) const override |
Back end function to plotting functionality. | |
void | printArgs (std::ostream &os) const override |
Print argument of dataset, i.e. the observable names. | |
void | printDataHistogram (std::ostream &os, RooRealVar *obs) const |
void | printMultiline (std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override |
Print the details on the dataset contents. | |
void | printValue (std::ostream &os) const override |
Print value of the dataset, i.e. the sum of weights contained in the dataset. | |
void | removeSelfFromDir () |
void | reset () override |
Reset all bin weights to zero. | |
void | set (const RooArgSet &row, double weight, double wgtErr=-1.) |
Set a bin content. | |
void | set (const RooArgSet &row, double weight, double wgtErrLo, double wgtErrHi) |
Set a bin content. | |
void | set (std::size_t binNumber, double weight, double wgtErr) |
Set bin content of bin that was last loaded with get(std::size_t). | |
void | SetName (const char *name) override |
Change the name of the RooDataHist. | |
void | SetNameTitle (const char *name, const char *title) override |
Change the title of this RooDataHist. | |
TIterator * | sliceIterator (RooAbsArg &sliceArg, const RooArgSet &otherArgs) |
Create an iterator over all bins in a slice defined by the subset of observables listed in sliceArg. | |
void | Streamer (TBuffer &) override |
Stream an object of class RooDataHist. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
double | sum (bool correctForBinSize, bool inverseCorr=false) const |
Return the sum of the weights of all bins in the histogram. | |
double | sum (const RooArgSet &sumSet, const RooArgSet &sliceSet, bool correctForBinSize, bool inverseCorr, const std::map< const RooAbsArg *, std::pair< double, double > > &ranges, std::function< double(int)> getBinScale=[](int){ return 1.0;}) |
Return the sum of the weights of a multi-dimensional slice of the histogram by summing only over the dimensions specified in sumSet. | |
double | sum (const RooArgSet &sumSet, const RooArgSet &sliceSet, bool correctForBinSize, bool inverseCorr=false) |
Return the sum of the weights of a multi-dimensional slice of the histogram by summing only over the dimensions specified in sumSet. | |
double | sumEntries () const override |
Sum the weights of all bins. | |
double | sumEntries (const char *cutSpec, const char *cutRange=nullptr) const override |
Return the sum of weights in all entries matching cutSpec (if specified) and in named range cutRange (if specified) Return the. | |
double const * | sumW2Array () const |
double | weight (const RooArgSet &bin, Int_t intOrder=1, bool correctForBinSize=false, bool cdfBoundaries=false, bool oneSafe=false) |
Return the weight at given coordinates with optional interpolation. | |
double | weight (std::size_t i) const |
Return weight of i-th bin. | |
double const * | weightArray () const |
void | weightError (double &lo, double &hi, ErrorType etype=Poisson) const override |
Return the asymmetric errors on the current weight. | |
double | weightError (ErrorType etype=Poisson) const override |
Return the symmetric error on the current weight. | |
double | weightFast (const RooArgSet &bin, int intOrder, bool correctForBinSize, bool cdfBoundaries) |
A faster version of RooDataHist::weight that assumes the passed arguments are aligned with the histogram variables. | |
void | weights (double *output, RooSpan< double const > xVals, int intOrder, bool correctForBinSize, bool cdfBoundaries) |
A vectorized version of RooDataHist::weight() for one dimensional histograms with up to one dimensional interpolation. | |
double | weightSquared (std::size_t i) const |
Return squared weight sum of i-th bin. | |
double const * | wgtErrHiArray () const |
double const * | wgtErrLoArray () const |
Deprecated functions | |
These functions rely on the fact that an event has been loaded before they are called. It is advised to switch to their counterparts that take bin numbers as arguments. In this way, code like, const RooArgSet* coordinates = dataHist.get(i); // Need this to achieve side effect on next call of weight() - bad.
processEvent(coordinates, weight);
Storage_t const & get() const Const access to the underlying stl container. Definition RooAbsCollection.h:114 RooArgSet is a container object that can hold multiple RooAbsArg objects. Definition RooArgSet.h:55 becomes processEvent(dataHist.get(i), dataHist.weight(i));
The index of a set of coordinates can be computed using getIndex(). | |
double | weight () const override |
Return weight of last bin that was requested with get(). | |
double | weightSquared () const override |
Return squared weight of last bin that was requested with get(). | |
double | binVolume () const |
Return volume of current bin. | |
void | set (double wgt, double wgtErr=-1) |
Write weight into current bin. | |
Public Member Functions inherited from RooAbsData | |
RooAbsData () | |
Default constructor. | |
RooAbsData (const RooAbsData &other, const char *newname=nullptr) | |
Copy constructor. | |
RooAbsData (RooStringView name, RooStringView title, const RooArgSet &vars, RooAbsDataStore *store=nullptr) | |
Constructor from a set of variables. | |
~RooAbsData () override | |
Destructor. | |
void | addOwnedComponent (const char *idxlabel, RooAbsData &data) |
void | attachBuffers (const RooArgSet &extObs) |
bool | canSplitFast () const |
virtual bool | changeObservableName (const char *from, const char *to) |
void | checkInit () const |
virtual void | convertToTreeStore () |
Convert vector-based storage to tree-based storage. | |
void | convertToVectorStore () |
Convert tree-based storage to vector-based storage. | |
double | correlation (RooRealVar &x, RooRealVar &y, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
TMatrixDSym * | correlationMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
TMatrixDSym * | correlationMatrix (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 |
TMatrixDSym * | covarianceMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
TMatrixDSym * | covarianceMatrix (const RooArgList &vars, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
TH1 * | createHistogram (const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const |
Calls createHistogram(const char *name, const RooAbsRealLValue& xvar, const RooLinkedList& argList) const. | |
TH1 * | createHistogram (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. | |
TH1 * | createHistogram (const char *varNameList, const RooCmdArg &binArgX, const RooCmdArg &binArgY=RooCmdArg::none(), const RooCmdArg &binArgZ=RooCmdArg::none()) const |
Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset for the variables with given names. | |
TH1 * | createHistogram (const char *varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const R__DEPRECATED(6 |
Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset for the variables with given names The range of each observable that is histogrammed is always automatically calculated from the distribution in the dataset. | |
TH2F * | createHistogram (const RooAbsRealLValue &var1, const RooAbsRealLValue &var2, const char *cuts="", const char *name="hist") const |
Create a TH2F histogram of the distribution of the specified variable using this dataset. | |
TH2F * | 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. | |
Int_t | defaultPrintContents (Option_t *opt) const override |
Define default print options, for a given print style. | |
void | Draw (Option_t *option="") override |
Forward draw command to data store. | |
virtual void | fill () |
virtual TH1 * | fillHistogram (TH1 *hist, const RooArgList &plotVars, const char *cuts="", const char *cutRange=nullptr) const |
Loop over columns of our tree data and fill the input histogram. | |
RealSpans | getBatches (std::size_t first=0, std::size_t len=std::numeric_limits< std::size_t >::max()) const |
Write information to retrieve data columns into evalData.spans . | |
CategorySpans | getCategoryBatches (std::size_t first=0, std::size_t len=std::numeric_limits< std::size_t >::max()) const |
TTree * | GetClonedTree () const |
Return a clone of the TTree which stores the data or create such a tree if vector storage is used. | |
RooArgSet const * | getGlobalObservables () const |
Returns snapshot of global observables stored in this data. | |
bool | getRange (const RooAbsRealLValue &var, double &lowest, double &highest, double marginFrac=0.0, bool symMode=false) const |
Fill Doubles 'lowest' and 'highest' with the lowest and highest value of observable 'var' in this dataset. | |
RooAbsData * | getSimData (const char *idxstate) |
bool | hasFilledCache () const |
double | kurtosis (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
double | mean (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
RooRealVar * | 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. | |
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 TNamed * | namePtr () const |
De-duplicated pointer to this object's name. | |
virtual Int_t | numEntries () const |
Return number of entries in dataset, i.e., count unweighted entries. | |
RooAbsData & | operator= (const RooAbsData &other) |
void | Print (Option_t *options=nullptr) const override |
This method must be overridden when a class wants to print itself. | |
void | printClassName (std::ostream &os) const override |
Print class name of dataset. | |
void | printName (std::ostream &os) const override |
Print name of dataset. | |
void | printTitle (std::ostream &os) const override |
Print title of dataset. | |
void | RecursiveRemove (TObject *obj) override |
If one of the TObject we have a referenced to is deleted, remove the reference. | |
RooAbsData * | reduce (const char *cut) |
Create a subset of the data set by applying the given cut on the data points. | |
RooAbsData * | reduce (const RooArgSet &varSubset, const char *cut=nullptr) |
Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set. | |
RooAbsData * | reduce (const RooArgSet &varSubset, const RooFormulaVar &cutVar) |
Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set. | |
RooAbsData * | reduce (const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg()) |
Create a reduced copy of this dataset. | |
RooAbsData * | reduce (const RooFormulaVar &cutVar) |
Create a subset of the data set by applying the given cut on the data points. | |
void | resetBuffers () |
RooRealVar * | 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. | |
void | setDirtyProp (bool flag) |
Control propagation of dirty flags from observables in dataset. | |
void | setGlobalObservables (RooArgSet const &globalObservables) |
Sets the global observables stored in this data. | |
double | sigma (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
double | skewness (const RooRealVar &var, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
virtual TList * | split (const RooAbsCategory &splitCat, bool createEmptyDataSets=false) const |
Split dataset into subsets based on states of given splitCat in this dataset. | |
virtual TList * | split (const RooSimultaneous &simpdf, bool createEmptyDataSets=false) const |
Split dataset into subsets based on the categorisation of the RooSimultaneous A TList of RooDataSets is returned in which each RooDataSet is named after the state name of splitCat of which it contains the dataset subset. | |
double | standMoment (const RooRealVar &var, double order, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
Calculate standardized moment. | |
virtual RooPlot * | 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) |
Implementation back-end of statOn() method with named arguments. | |
virtual RooPlot * | statOn (RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Add a box with statistics information to the specified frame. | |
RooAbsDataStore * | store () |
const RooAbsDataStore * | store () const |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
double | sumEntriesW2 () const |
Return sum of squared weights of this data. | |
virtual Roo1DTable * | table (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 Roo1DTable * | table (const RooArgSet &catSet, const char *cuts="", const char *opts="") const |
Construct table for product of categories in catSet. | |
const TTree * | tree () const |
Return a pointer to the TTree which stores the data. | |
RooFit::UniqueId< RooAbsData > const & | uniqueId () const |
Returns a unique ID that is different for every instantiated RooAbsData object. | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
void | Clear (Option_t *option="") override |
Set name and title to empty strings (""). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
Int_t | Compare (const TObject *obj) const override |
Compare two TNamed objects. | |
void | Copy (TObject &named) const override |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
const char * | GetName () const override |
Returns name of object. | |
const char * | GetTitle () const override |
Returns title of object. | |
ULong_t | Hash () const override |
Return hash value for this object. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
void | Print (Option_t *option="") const override |
Print TNamed name and title. | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Public Member Functions inherited from RooPrintable | |
RooPrintable () | |
virtual | ~RooPrintable () |
virtual StyleOption | defaultPrintStyle (Option_t *opt) const |
virtual void | printAddress (std::ostream &os) const |
Print class name of object. | |
virtual void | printExtras (std::ostream &os) const |
Interface to print extras of object. | |
virtual void | printStream (std::ostream &os, Int_t contents, StyleOption style, TString indent="") const |
Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'. | |
virtual void | printTree (std::ostream &os, TString indent="") const |
Interface for tree structure printing of object. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from RooDirItem | |
RooDirItem () | |
RooDirItem (const RooDirItem &) | |
virtual | ~RooDirItem () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from RooAbsData | |
static void | claimVars (RooAbsData *) |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static StorageType | getDefaultStorageType () |
static bool | releaseVars (RooAbsData *) |
If return value is true variables can be deleted. | |
static void | setDefaultStorageType (StorageType s) |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Static Public Member Functions inherited from RooPrintable | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static std::ostream & | defaultPrintStream (std::ostream *os=nullptr) |
Return a reference to the current default stream to use in Print(). | |
static void | nameFieldLength (Int_t newLen) |
Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount. | |
Static Public Member Functions inherited from RooDirItem | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Types | |
enum | CacheSumState_t { kInvalid = 0 , kNoBinCorrection = 1 , kCorrectForBinSize = 2 , kInverseBinCorr = 3 } |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
Protected Member Functions | |
void | adjustBinning (const RooArgList &vars, const TH1 &href, Int_t *offset=nullptr) |
Adjust binning specification on first and optionally second and third observable to binning in given reference TH1. | |
Int_t | calcTreeIndex () const |
Legacy overload to calculate the tree index from the current value of _vars . | |
std::size_t | calcTreeIndex (const RooAbsCollection &coords, bool fast) const |
Calculate the bin index corresponding to the coordinates passed as argument. | |
const std::vector< double > & | calculatePartialBinVolume (const RooArgSet &dimSet) const |
Fill the transient cache with partial bin volumes with up-to-date values for the partial volume specified by observables 'dimSet'. | |
void | checkBinBounds () const |
void | importDHistSet (const RooArgList &vars, RooCategory &indexCat, std::map< std::string, RooDataHist * > dmap, double initWgt) |
Import data from given set of TH1/2/3 into this RooDataHist. | |
void | importTH1 (const RooArgList &vars, const TH1 &histo, double initWgt, bool doDensityCorrection) |
Import data from given TH1/2/3 into this RooDataHist. | |
void | importTH1Set (const RooArgList &vars, RooCategory &indexCat, std::map< std::string, TH1 * > hmap, double initWgt, bool doDensityCorrection) |
Import data from given set of TH1/2/3 into this RooDataHist. | |
void | initialize (const char *binningName=nullptr, bool fillTree=true) |
Initialization procedure: allocate weights array, calculate multipliers needed for N-space to 1-dim array jump table, and fill the internal tree with all bin center coordinates. | |
double | interpolateDim (int iDim, double xval, size_t centralIdx, int intOrder, bool correctForBinSize, bool cdfBoundaries) |
Perform boundary safe 'intOrder'-th interpolation of weights in dimension 'dim' at current value 'xval'. | |
RooAbsData * | reduceEng (const RooArgSet &varSubset, const RooFormulaVar *cutVar, const char *cutRange=nullptr, std::size_t nStart=0, std::size_t nStop=std::numeric_limits< std::size_t >::max()) override |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods. | |
Protected Member Functions inherited from RooAbsData | |
bool | allClientsCached (RooAbsArg *, const RooArgSet &) |
Utility function that determines if all clients of object 'var' appear in given list of cached nodes. | |
virtual void | attachCache (const RooAbsArg *newOwner, const RooArgSet &cachedVars) |
Internal method – Attach dataset copied with cache contents to copied instances of functions. | |
virtual void | cacheArgs (const RooAbsArg *owner, RooArgSet &varSet, const RooArgSet *nset=nullptr, bool skipZeroWeights=false) |
Internal method – Cache given set of functions with data. | |
double | corrcov (const RooRealVar &x, const RooRealVar &y, const char *cutSpec, const char *cutRange, bool corr) const |
Internal method to calculate single correlation and covariance elements. | |
TMatrixDSym * | corrcovMatrix (const RooArgList &vars, const char *cutSpec, const char *cutRange, bool corr) const |
Return covariance matrix from data for given list of observables. | |
RooRealVar * | dataRealVar (const char *methodname, const RooRealVar &extVar) const |
Internal method to check if given RooRealVar maps to a RooRealVar in this dataset. | |
void | initializeVars (RooArgSet const &vars) |
virtual void | optimizeReadingWithCaching (RooAbsArg &arg, const RooArgSet &cacheList, const RooArgSet &keepObsList) |
Prepare dataset for use with cached constant terms listed in 'cacheList' of expression 'arg'. | |
virtual RooPlot * | plotAsymOn (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 RooPlot * | plotEffOn (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 void | resetCache () |
Internal method – Remove cached function values. | |
virtual void | setArgStatus (const RooArgSet &set, bool active) |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Protected Member Functions inherited from RooDirItem | |
void | appendToDir (TObject *obj, bool forceMemoryResident=false) |
Append object to directory. | |
void | removeFromDir (TObject *obj) |
Remove object from directory it was added to. | |
Protected Attributes | |
Int_t | _arrSize {0} |
std::vector< std::vector< double > > | _binbounds |
! list of bin bounds per dimension | |
double * | _binv {nullptr} |
[_arrSize] Bin volume array | |
double | _cache_sum {0.} |
! Cache for sum of entries ; | |
Int_t | _cache_sum_valid {kInvalid} |
! Is cache sum valid? Needs to be Int_t instead of CacheSumState_t for subclasses. | |
ULong64_t | _curIndex {std::numeric_limits<ULong64_t>::max()} |
Current index. | |
double * | _errHi {nullptr} |
[_arrSize] High-side error on weight array | |
double * | _errLo {nullptr} |
[_arrSize] Low-side error on weight array | |
std::vector< Int_t > | _idxMult |
std::vector< std::unique_ptr< const RooAbsBinning > > | _lvbins |
! List of used binnings associated with lvalues | |
std::vector< RooAbsLValue * > | _lvvars |
! List of observables casted as RooAbsLValue | |
std::unordered_map< int, std::vector< double > > | _pbinvCache |
! Cache for arrays of partial bin volumes | |
double * | _sumw2 {nullptr} |
[_arrSize] Sum of weights^2 | |
double * | _wgt {nullptr} |
[_arrSize] Weight array | |
Protected Attributes inherited from RooAbsData | |
RooArgSet | _cachedVars |
! External variables cached with this data set | |
std::unique_ptr< RooAbsDataStore > | _dstore |
Data storage implementation. | |
std::unique_ptr< RooArgSet > | _globalObservables |
Snapshot of global observables. | |
const TNamed * | _namePtr = nullptr |
! De-duplicated name pointer. This will be equal for all objects with the same name. | |
std::map< std::string, RooAbsData * > | _ownedComponents |
Owned external components. | |
RooArgSet | _vars |
Dimensions of this data set. | |
StorageType | storageType |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from RooDirItem | |
TDirectory * | _dir {nullptr} |
! Associated directory | |
Private Member Functions | |
void | _adjustBinning (RooRealVar &theirVar, const TAxis &axis, RooRealVar *ourVar, Int_t *offset) |
Helper doing the actual work of adjustBinning(). | |
VarInfo const & | getVarInfo () |
Return reference to VarInfo struct with cached histogram variable information that is frequently used for histogram weights retrieval. | |
void | initializeAsymErrArrays () const |
void | interpolateLinear (double *output, RooSpan< const double > xVals, bool correctForBinSize, bool cdfBoundaries) |
A vectorized version of interpolateDim for boundary safe linear interpolation of one dimensional histograms. | |
void | interpolateQuadratic (double *output, RooSpan< const double > xVals, bool correctForBinSize, bool cdfBoundaries) |
A vectorized version of interpolateDim for boundary safe quadratic interpolation of one dimensional histograms. | |
void | registerWeightArraysToDataStore () const |
Hand over pointers to our weight arrays to the data store implementation. | |
double | weightInterpolated (const RooArgSet &bin, int intOrder, bool correctForBinSize, bool cdfBoundaries) |
Return the weight at given coordinates with interpolation. | |
Static Private Member Functions | |
static std::unique_ptr< RooAbsDataStore > | makeDefaultDataStore (const char *name, const char *title, RooArgSet const &vars) |
Private Attributes | |
std::vector< double > | _interpolationBuffer |
! Buffer to contain values used for weight interpolation | |
VarInfo | _varInfo |
! | |
Friends | |
class | RooDataHistSliceIter |
Additional Inherited Members | |
Public Types inherited from RooAbsData | |
using | CategorySpans = std::map< RooFit::Detail::DataKey, RooSpan< const RooAbsCategory::value_type > > |
enum | ErrorType { Poisson , SumW2 , None , Auto , Expected } |
using | RealSpans = std::map< RooFit::Detail::DataKey, RooSpan< const double > > |
enum | StorageType { Tree , Vector , Composite } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Types inherited from RooPrintable | |
enum | ContentsOption { kName =1 , kClassName =2 , kValue =4 , kArgs =8 , kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128 } |
enum | StyleOption { kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 , kTreeStructure =5 } |
Public Attributes inherited from RooAbsData | |
TH1 Use the overload of RooAbsData::createHistogram that takes RooFit command | arguments |
Static Protected Attributes inherited from RooAbsData | |
static StorageType | defaultStorageType =RooAbsData::Vector |
Static Protected Attributes inherited from RooPrintable | |
static Int_t | _nameLength |
#include <RooDataHist.h>
|
protected |
Enumerator | |
---|---|
kInvalid | |
kNoBinCorrection | |
kCorrectForBinSize | |
kInverseBinCorr |
Definition at line 250 of file RooDataHist.h.
RooDataHist::RooDataHist | ( | ) |
Default constructor.
Definition at line 85 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgSet & | vars, | ||
const char * | binningName = nullptr |
||
) |
Constructor of an empty data hist from a RooArgSet defining the dimensions of the data space.
The range and number of bins in each dimensions are taken from getMin()getMax(),getBins() of each RooAbsArg representing that dimension.
For real dimensions, the fit range and number of bins can be set independently of the plot range and number of bins, but it is advisable to keep the ratio of the plot bin width and the fit bin width an integer value. For category dimensions, the fit ranges always comprises all defined states and each state is always has its individual bin
To effectively bin real dimensions with variable bin sizes, construct a RooThresholdCategory of the real dimension to be binned variably. Set the thresholds at the desired bin boundaries, and construct the data hist as a function of the threshold category instead of the real variable.
Definition at line 115 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgSet & | vars, | ||
const RooAbsData & | data, | ||
double | wgt = 1.0 |
||
) |
Constructor of a data hist from an existing data collection (binned or unbinned) The RooArgSet 'vars' defines the dimensions of the histogram.
The range and number of bins in each dimensions are taken from getMin(), getMax(), getBins() of each argument passed.
For real dimensions, the fit range and number of bins can be set independently of the plot range and number of bins, but it is advisable to keep the ratio of the plot bin width and the fit bin width an integer value. For category dimensions, the fit ranges always comprises all defined states and each state is always has its individual bin
To effectively bin real dimensions with variable bin sizes, construct a RooThresholdCategory of the real dimension to be binned variably. Set the thresholds at the desired bin boundaries, and construct the data hist as a function of the threshold category instead of the real variable.
If the constructed data hist has less dimensions that in source data collection, all missing dimensions will be projected.
Definition at line 151 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgList & | vars, | ||
const TH1 * | hist, | ||
double | wgt = 1.0 |
||
) |
Constructor of a data hist from an TH1,TH2 or TH3 The RooArgSet 'vars' defines the dimensions of the histogram.
The ranges and number of bins are taken from the input histogram, and the corresponding values are set accordingly on the arguments in 'vars'
Definition at line 213 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgList & | vars, | ||
RooCategory & | indexCat, | ||
std::map< std::string, TH1 * > | histMap, | ||
double | wgt = 1.0 |
||
) |
Constructor of a data hist from a map of TH1,TH2 or TH3 that are collated into a x+1 dimensional RooDataHist where the added dimension is a category that labels the input source as defined in the histMap argument.
The state names used in histMap must correspond to predefined states 'indexCat'
The RooArgList 'vars' defines the dimensions of the histogram. The ranges and number of bins are taken from the input histogram and must be the same in all histograms
Definition at line 168 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgList & | vars, | ||
RooCategory & | indexCat, | ||
std::map< std::string, RooDataHist * > | dhistMap, | ||
double | wgt = 1.0 |
||
) |
Constructor of a data hist from a map of RooDataHists that are collated into a x+1 dimensional RooDataHist where the added dimension is a category that labels the input source as defined in the histMap argument.
The state names used in histMap must correspond to predefined states 'indexCat'
The RooArgList 'vars' defines the dimensions of the histogram. The ranges and number of bins are taken from the input histogram and must be the same in all histograms
Definition at line 192 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgList & | vars, | ||
const RooCmdArg & | arg1, | ||
const RooCmdArg & | arg2 = RooCmdArg() , |
||
const RooCmdArg & | arg3 = RooCmdArg() , |
||
const RooCmdArg & | arg4 = RooCmdArg() , |
||
const RooCmdArg & | arg5 = RooCmdArg() , |
||
const RooCmdArg & | arg6 = RooCmdArg() , |
||
const RooCmdArg & | arg7 = RooCmdArg() , |
||
const RooCmdArg & | arg8 = RooCmdArg() |
||
) |
Constructor of a binned dataset from a RooArgSet defining the dimensions of the data space.
The range and number of bins in each dimensions are taken from getMin() getMax(),getBins() of each RooAbsArg representing that dimension.
Optional Argument | Effect |
---|---|
Import(TH1&, bool impDens) | Import contents of the given TH1/2/3 into this binned dataset. The ranges and binning of the binned dataset are automatically adjusted to match those of the imported histogram. Please note: for TH1& with unequal binning only, you should decide if you want to import the absolute bin content, or the bin content expressed as density. The latter is default and will result in the same histogram as the original TH1. For certain types of bin contents (containing efficiencies, asymmetries, or ratio is general) you should import the absolute value and set impDens to false |
Weight(double) | Apply given weight factor when importing histograms |
Index(RooCategory&) | Prepare import of multiple TH1/1/2/3 into a N+1 dimensional RooDataHist where the extra discrete dimension labels the source of the imported histogram If the index category defines states for which no histogram is be imported the corresponding bins will be left empty. |
Import(const char*, TH1&) | Import a THx to be associated with the given state name of the index category specified in Index(). If the given state name is not yet defined in the index category it will be added on the fly. The import command can be specified multiple times. |
Import(map<string,TH1*>&) | As above, but allows specification of many imports in a single operation |
GlobalObservables(const RooArgSet&) | Define the set of global observables to be stored in this RooDataHist. A snapshot of the passed RooArgSet is stored, meaning the values wont't change unexpectedly. |
Definition at line 274 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | const RooDataHist & | other, |
const char * | newname = nullptr |
||
) |
Copy constructor.
Definition at line 884 of file RooDataHist.cxx.
|
override |
Destructor.
Definition at line 964 of file RooDataHist.cxx.
|
private |
Helper doing the actual work of adjustBinning().
Definition at line 657 of file RooDataHist.cxx.
void RooDataHist::add | ( | const RooAbsData & | dset, |
const char * | cut, | ||
double | wgt = 1.0 |
||
) |
Add all data points contained in 'dset' to this data set with given weight.
Optional cut string expression selects the data points to be added and can reference any variable contained in this data set
Definition at line 1746 of file RooDataHist.cxx.
void RooDataHist::add | ( | const RooAbsData & | dset, |
const RooFormulaVar * | cutVar = nullptr , |
||
double | wgt = 1.0 |
||
) |
Add all data points contained in 'dset' to this data set with given weight.
Optional RooFormulaVar pointer selects the data points to be added.
Definition at line 1758 of file RooDataHist.cxx.
Increment the bin content of the bin enclosing the given coordinates.
[in] | row | Coordinates of the bin. |
[in] | wgt | Increment by this weight. |
[in] | sumw2 | Optionally, track the sum of squared weights. If a value > 0 or a weight != 1. is passed for the first time, a vector for the squared weights will be allocated. |
Implements RooAbsData.
Definition at line 1648 of file RooDataHist.cxx.
Add wgt
to the bin content enclosed by the coordinates passed in row
.
Definition at line 66 of file RooDataHist.h.
|
protected |
Adjust binning specification on first and optionally second and third observable to binning in given reference TH1.
Used by constructors that import data from an external TH1. Both the variables in vars and in this RooDataHist are adjusted.
vars | List with variables that are supposed to have their binning adjusted. |
href | Reference histogram that dictates the binning |
offset | If not nullptr, a possible bin count offset for the axes x,y,z is saved here as Int_t[3] |
Definition at line 736 of file RooDataHist.cxx.
|
inline |
Return volume of current bin.
Definition at line 187 of file RooDataHist.h.
Return the volume of the bin enclosing coordinates 'coord'.
Definition at line 2145 of file RooDataHist.cxx.
|
inline |
Retrieve all bin volumes. Bins are indexed according to getIndex().
Definition at line 89 of file RooDataHist.h.
|
inlineprotected |
Legacy overload to calculate the tree index from the current value of _vars
.
Definition at line 220 of file RooDataHist.h.
|
protected |
Calculate the bin index corresponding to the coordinates passed as argument.
[in] | coords | Coordinates. If fast == false , these can be partial. |
[in] | fast | Promise that the coordinates in coords have the same order as the internal coordinates. In this case, values are looked up only by index. |
Definition at line 999 of file RooDataHist.cxx.
|
protected |
Fill the transient cache with partial bin volumes with up-to-date values for the partial volume specified by observables 'dimSet'.
Definition at line 2009 of file RooDataHist.cxx.
|
protected |
Definition at line 864 of file RooDataHist.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 269 of file RooDataHist.h.
|
inlineoverridevirtual |
Make a clone of an object using the Streamer facility.
If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object.
If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.
Reimplemented from TObject.
Definition at line 55 of file RooDataHist.h.
|
inlinestatic |
Definition at line 269 of file RooDataHist.h.
|
inlineoverridevirtual |
Return empty clone of this RooDataHist.
Implements RooAbsData.
Definition at line 61 of file RooDataHist.h.
|
inlineoverridevirtual |
Get bin centre of current bin.
Reimplemented from RooAbsData.
Definition at line 76 of file RooDataHist.h.
Return a RooArgSet with whose coordinates denote the bin centre of the bin enclosing the point in coord
.
Definition at line 2137 of file RooDataHist.cxx.
Load bin binNumber
, and return an argset with the coordinates of the bin centre.
Reimplemented from RooAbsData.
Definition at line 2122 of file RooDataHist.cxx.
|
inline |
Definition at line 206 of file RooDataHist.h.
Int_t RooDataHist::getIndex | ( | const RooAbsCollection & | coord, |
bool | fast = false |
||
) | const |
Calculate bin number of the given coordinates.
If only a subset of the internal coordinates are passed, the missing coordinates are taken at their current value.
[in] | coord | Variables that are representing the coordinates. |
[in] | fast | If the variables in coord and the ones of the data hist have the same size and layout, fast can be set to skip checking that all variables are present in coord . |
Definition at line 986 of file RooDataHist.cxx.
Calculate bin number of the given coordinates.
If only a subset of the internal coordinates are passed, the missing coordinates are taken at their current value.
[in] | coord | Variables that are representing the coordinates. |
[in] | fast | If the variables in coord and the ones of the data hist have the same size and layout, fast can be set to skip checking that all variables are present in coord . |
Definition at line 153 of file RooDataHist.h.
|
private |
Return reference to VarInfo struct with cached histogram variable information that is frequently used for histogram weights retrieval.
If the _varInfo
struct was not initialized yet, it will be initialized in this function.
Definition at line 2365 of file RooDataHist.cxx.
|
overridevirtual |
Return event weights of all events in range [first, first+len).
If cacheValidEntries() has been called, out-of-range events will have a weight of 0.
Implements RooAbsData.
Definition at line 2347 of file RooDataHist.cxx.
|
protected |
Import data from given set of TH1/2/3 into this RooDataHist.
The category indexCat labels the sources in the constructed RooDataHist. The stl map provides the mapping between the indexCat state labels and the import source
Definition at line 596 of file RooDataHist.cxx.
|
protected |
Import data from given TH1/2/3 into this RooDataHist.
Definition at line 374 of file RooDataHist.cxx.
|
protected |
Import data from given set of TH1/2/3 into this RooDataHist.
The category indexCat labels the sources in the constructed RooDataHist. The stl map provides the mapping between the indexCat state labels and the import source
Definition at line 493 of file RooDataHist.cxx.
|
protected |
Initialization procedure: allocate weights array, calculate multipliers needed for N-space to 1-dim array jump table, and fill the internal tree with all bin center coordinates.
Definition at line 782 of file RooDataHist.cxx.
|
private |
Definition at line 1496 of file RooDataHist.cxx.
|
protected |
Perform boundary safe 'intOrder'-th interpolation of weights in dimension 'dim' at current value 'xval'.
[in] | iDim | Index of the histogram dimension along which to interpolate. |
[in] | xval | Value of histogram variable at dimension iDim for which we want to interpolate the histogram weight. |
[in] | centralIdx | Index of the bin that the point at which we interpolate the histogram weight falls into (can be obtained with RooDataHist::calcTreeIndex ). |
[in] | intOrder | Interpolation order, i.e. how many neighbouring bins are used for the interpolation. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1582 of file RooDataHist.cxx.
|
private |
A vectorized version of interpolateDim for boundary safe linear interpolation of one dimensional histograms.
[out] | output | An array of interpolated weights corresponding to the values in xVals. |
[in] | xVals | An array of event coordinates for which the weights should be calculated. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: Underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1208 of file RooDataHist.cxx.
|
private |
A vectorized version of interpolateDim for boundary safe quadratic interpolation of one dimensional histograms.
[out] | output | An array of interpolated weights corresponding to the values in xVals. |
[in] | xVals | An array of event coordinates for which the weights should be calculated. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: Underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1101 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Reimplemented from RooAbsData.
Definition at line 269 of file RooDataHist.h.
|
overridevirtual |
Returns true if dataset contains entries with a non-integer weight.
Reimplemented from RooAbsData.
Definition at line 2226 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Always returns true as all histograms use event weights.
Reimplemented from RooAbsData.
Definition at line 83 of file RooDataHist.h.
|
staticprivate |
Definition at line 91 of file RooDataHist.cxx.
|
delete |
|
virtual |
The RooAbsData::plotOn() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Reimplemented from RooAbsData.
Definition at line 171 of file RooAbsData.cxx.
|
virtual |
Plot dataset on specified frame.
By default:
The following optional named arguments can be used to modify the behaviour:
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:
|
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 |
RooFit::CutRange(const char*) | Only plot data from given range. Separate multiple ranges with ",".
|
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 |
Reimplemented from RooAbsData.
Definition at line 177 of file RooAbsData.cxx.
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.
Reimplemented from RooAbsData.
Definition at line 339 of file RooAbsData.cxx.
Back end function to plotting functionality.
Plot RooDataHist on given frame in mode specified by plot options 'o'. The main purpose of this function is to match the specified binning on 'o' to the internal binning of the plot observable in this RooDataHist.
Reimplemented from RooAbsData.
Definition at line 1058 of file RooDataHist.cxx.
|
overridevirtual |
Print argument of dataset, i.e. the observable names.
Reimplemented from RooPrintable.
Definition at line 2206 of file RooDataHist.cxx.
void RooDataHist::printDataHistogram | ( | std::ostream & | os, |
RooRealVar * | obs | ||
) | const |
Definition at line 2263 of file RooDataHist.cxx.
|
overridevirtual |
Print the details on the dataset contents.
Reimplemented from RooAbsData.
Definition at line 2242 of file RooDataHist.cxx.
|
overridevirtual |
Print value of the dataset, i.e. the sum of weights contained in the dataset.
Reimplemented from RooPrintable.
Definition at line 2195 of file RooDataHist.cxx.
|
overrideprotectedvirtual |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods.
Implements RooAbsData.
Definition at line 913 of file RooDataHist.cxx.
|
private |
Hand over pointers to our weight arrays to the data store implementation.
Definition at line 2354 of file RooDataHist.cxx.
|
inline |
Definition at line 157 of file RooDataHist.h.
|
overridevirtual |
Reset all bin weights to zero.
Reimplemented from RooAbsData.
Definition at line 2101 of file RooDataHist.cxx.
Set a bin content.
[in] | row | Coordinates to compute the bin from. |
[in] | wgt | New bin content. |
[in] | wgtErr | Optional error of the bin content. |
Definition at line 1735 of file RooDataHist.cxx.
Set a bin content.
[in] | row | Coordinates of the bin to be set. |
[in] | wgt | New bin content. |
[in] | wgtErrLo | Low error of the bin content. |
[in] | wgtErrHi | High error of the bin content. |
Definition at line 1676 of file RooDataHist.cxx.
Write weight
into current bin.
Set bin content of bin that was last loaded with get(std::size_t).
[in] | wgt | New bin content. |
[in] | wgtErr | Optional error of the bin content. |
Definition at line 1721 of file RooDataHist.cxx.
Set bin content of bin that was last loaded with get(std::size_t).
[in] | binNumber | Optional bin number to set. If empty, currently active bin is set. |
[in] | wgt | New bin content. |
[in] | wgtErr | Error of the new bin content. If the weight need not have an error, use 0. or a negative number. |
Definition at line 1698 of file RooDataHist.cxx.
|
overridevirtual |
Change the name of the RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2173 of file RooDataHist.cxx.
|
overridevirtual |
Change the title of this RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2185 of file RooDataHist.cxx.
Create an iterator over all bins in a slice defined by the subset of observables listed in sliceArg.
The position of the slice is given by otherArgs
Definition at line 2155 of file RooDataHist.cxx.
|
overridevirtual |
Stream an object of class RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2275 of file RooDataHist.cxx.
|
inline |
Definition at line 269 of file RooDataHist.h.
Return the sum of the weights of all bins in the histogram.
[in] | correctForBinSize | Multiply the sum of weights in each bin with the N-dimensional bin volume, making the return value the integral over the function represented by this histogram. |
[in] | inverseBinCor | Divide by the N-dimensional bin volume. |
Definition at line 1797 of file RooDataHist.cxx.
double RooDataHist::sum | ( | const RooArgSet & | sumSet, |
const RooArgSet & | sliceSet, | ||
bool | correctForBinSize, | ||
bool | inverseBinCor, | ||
const std::map< const RooAbsArg *, std::pair< double, double > > & | ranges, | ||
std::function< double(int)> | getBinScale = [](int){ return 1.0; } |
||
) |
Return the sum of the weights of a multi-dimensional slice of the histogram by summing only over the dimensions specified in sumSet.
The coordinates of all other dimensions are fixed to those given in sliceSet
If correctForBinSize is specified, the sum of weights is multiplied by the M-dimensional bin volume, (M = N(sumSet)), or the fraction of it that falls inside the range rangeName, making the return value the integral over the function represented by this histogram.
If correctForBinSize is not specified, the weights are multiplied by the fraction of the bin volume that falls inside the range, i.e. a factor of binVolumeInRange/totalBinVolume.
Definition at line 1910 of file RooDataHist.cxx.
double RooDataHist::sum | ( | const RooArgSet & | sumSet, |
const RooArgSet & | sliceSet, | ||
bool | correctForBinSize, | ||
bool | inverseBinCor = false |
||
) |
Return the sum of the weights of a multi-dimensional slice of the histogram by summing only over the dimensions specified in sumSet.
The coordinates of all other dimensions are fixed to those given in sliceSet
If correctForBinSize is specified, the sum of weights is multiplied by the M-dimensional bin volume, (M = N(sumSet)), making the return value the integral over the function represented by this histogram
Definition at line 1833 of file RooDataHist.cxx.
|
overridevirtual |
Sum the weights of all bins.
Implements RooAbsData.
Definition at line 2057 of file RooDataHist.cxx.
|
overridevirtual |
Return the sum of weights in all entries matching cutSpec (if specified) and in named range cutRange (if specified) Return the.
Implements RooAbsData.
Definition at line 2068 of file RooDataHist.cxx.
|
inline |
Definition at line 211 of file RooDataHist.h.
|
inlineoverridevirtual |
Return weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 178 of file RooDataHist.h.
double RooDataHist::weight | ( | const RooArgSet & | bin, |
Int_t | intOrder = 1 , |
||
bool | correctForBinSize = false , |
||
bool | cdfBoundaries = false , |
||
bool | oneSafe = false |
||
) |
Return the weight at given coordinates with optional interpolation.
[in] | bin | Coordinates for which the weight should be calculated. |
[in] | intOrder | Interpolation order, i.e. how many neighbouring bins are used for the interpolation. If zero, the bare weight for the bin enclosing the coordinatesis returned. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
[in] | oneSafe | Ignored. |
Definition at line 1379 of file RooDataHist.cxx.
|
inline |
|
inline |
Definition at line 208 of file RooDataHist.h.
|
overridevirtual |
Return the asymmetric errors on the current weight.
[out] | lo | Low error. |
[out] | hi | High error. |
[in] | etype | Type of error to compute. May throw if not supported. Supported errors are
|
Reimplemented from RooAbsData.
Definition at line 1515 of file RooDataHist.cxx.
Return the symmetric error on the current weight.
See also weightError(double&,double&,ErrorType) const for asymmetric errors.
Reimplemented from RooAbsData.
Definition at line 119 of file RooDataHist.h.
double RooDataHist::weightFast | ( | const RooArgSet & | bin, |
int | intOrder, | ||
bool | correctForBinSize, | ||
bool | cdfBoundaries | ||
) |
A faster version of RooDataHist::weight that assumes the passed arguments are aligned with the histogram variables.
[in] | bin | Coordinates for which the weight should be calculated. Has to be aligned with the internal histogram variables. |
[in] | intOrder | Interpolation order, i.e. how many neighbouring bins are used for the interpolation. If zero, the bare weight for the bin enclosing the coordinatesis returned. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1344 of file RooDataHist.cxx.
|
private |
Return the weight at given coordinates with interpolation.
[in] | bin | Coordinates for which the weight should be calculated. Has to be aligned with the internal histogram variables. |
[in] | intOrder | Interpolation order, i.e. how many neighbouring bins are used for the interpolation. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1415 of file RooDataHist.cxx.
void RooDataHist::weights | ( | double * | output, |
RooSpan< double const > | xVals, | ||
int | intOrder, | ||
bool | correctForBinSize, | ||
bool | cdfBoundaries | ||
) |
A vectorized version of RooDataHist::weight() for one dimensional histograms with up to one dimensional interpolation.
[out] | output | An array of weights corresponding the values in xVals. |
[in] | xVals | An array of coordinates for which the weights should be calculated. |
[in] | intOrder | Interpolation order; 0th and 1st order are supported. |
[in] | correctForBinSize | Enable the inverse bin volume correction factor. |
[in] | cdfBoundaries | Enable the special boundary coundition for a cdf: Underflow bins are assumed to have weight zero and overflow bins have weight one. Otherwise, the histogram is mirrored at the boundaries for the interpolation. |
Definition at line 1296 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Return squared weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 183 of file RooDataHist.h.
|
inline |
Return squared weight sum of i-th bin.
Definition at line 110 of file RooDataHist.h.
|
inline |
Definition at line 210 of file RooDataHist.h.
|
inline |
Definition at line 209 of file RooDataHist.h.
|
friend |
Definition at line 215 of file RooDataHist.h.
|
protected |
Definition at line 234 of file RooDataHist.h.
|
mutableprotected |
! list of bin bounds per dimension
Definition at line 248 of file RooDataHist.h.
|
protected |
[_arrSize] Bin volume array
Definition at line 241 of file RooDataHist.h.
|
mutableprotected |
! Cache for sum of entries ;
Definition at line 252 of file RooDataHist.h.
! Is cache sum valid? Needs to be Int_t instead of CacheSumState_t for subclasses.
Definition at line 251 of file RooDataHist.h.
Current index.
Definition at line 243 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] High-side error on weight array
Definition at line 239 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] Low-side error on weight array
Definition at line 238 of file RooDataHist.h.
|
protected |
Definition at line 235 of file RooDataHist.h.
|
private |
! Buffer to contain values used for weight interpolation
Definition at line 267 of file RooDataHist.h.
|
protected |
! List of used binnings associated with lvalues
Definition at line 247 of file RooDataHist.h.
|
protected |
! List of observables casted as RooAbsLValue
Definition at line 246 of file RooDataHist.h.
! Cache for arrays of partial bin volumes
Definition at line 245 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] Sum of weights^2
Definition at line 240 of file RooDataHist.h.
|
private |
!
Definition at line 266 of file RooDataHist.h.
|
protected |
[_arrSize] Weight array
Definition at line 237 of file RooDataHist.h.