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 45 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=0) | |
Copy constructor. | |
RooDataHist (std::string_view name, std::string_view 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 (std::string_view name, std::string_view title, const RooArgList &vars, const TH1 *hist, Double_t initWgt=1.0) | |
Constructor of a data hist from an TH1,TH2 or TH3 The RooArgSet 'vars' defines the dimensions of the histogram. | |
RooDataHist (std::string_view name, std::string_view title, const RooArgList &vars, RooCategory &indexCat, std::map< std::string, RooDataHist * > dhistMap, Double_t 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 (std::string_view name, std::string_view title, const RooArgList &vars, RooCategory &indexCat, std::map< std::string, TH1 * > histMap, Double_t 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 (std::string_view name, std::string_view title, const RooArgSet &vars, const char *binningName=0) | |
Constructor of an empty data hist from a RooArgSet defining the dimensions of the data space. | |
RooDataHist (std::string_view name, std::string_view title, const RooArgSet &vars, const RooAbsData &data, Double_t 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_t 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=0, Double_t weight=1.0) |
Add all data points contained in 'dset' to this data set with given weight. | |
void | add (const RooArgSet &row, Double_t weight, Double_t sumw2) override |
Increment the bin content of the bin enclosing the given coordinates. | |
virtual void | add (const RooArgSet &row, Double_t 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(). | |
void | cacheValidEntries () |
Compute which bins of the dataset are part of the currently set fit range. | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
RooAbsData * | emptyClone (const char *newName=0, const char *newTitle=0, const RooArgSet *vars=0, const char *=0) 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_t fast=false) const |
Calculate bin number of the given coordinates. | |
Int_t | getIndex (const RooArgSet &coord, Bool_t 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). | |
Bool_t | isNonPoissonWeighted () const override |
Returns true if dataset contains entries with a non-integer weight. | |
Bool_t | isWeighted () const override |
Always returns true as all histograms use event weights. | |
Int_t | numEntries () const override |
Return the number of bins. | |
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. | |
virtual void | printArgs (std::ostream &os) const override |
Print argument of dataset, i.e. the observable names. | |
void | printDataHistogram (std::ostream &os, RooRealVar *obs) const |
virtual void | printMultiline (std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const override |
Print the details on the dataset contents. | |
virtual 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_t weight, Double_t wgtErr=-1.) |
Set a bin content. | |
void | set (const RooArgSet &row, Double_t weight, Double_t wgtErrLo, Double_t 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. | |
Double_t | sum (bool correctForBinSize, bool inverseCorr=false) const |
Return the sum of the weights of all bins in the histogram. | |
Double_t | 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_t | 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_t | sumEntries () const override |
Sum the weights of all bins. | |
Double_t | sumEntries (const char *cutSpec, const char *cutRange=0) 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 |
bool | valid (std::size_t i) const |
Return true if bin i is considered valid within the current range definitions of all observables. | |
Double_t | weight (const RooArgSet &bin, Int_t intOrder=1, Bool_t correctForBinSize=kFALSE, Bool_t cdfBoundaries=kFALSE, Bool_t oneSafe=kFALSE) |
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. | |
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:109 RooArgSet is a container object that can hold multiple RooAbsArg objects. Definition RooArgSet.h:35 becomes processEvent(dataHist.get(i), dataHist.weight(i));
The index of a set of coordinates can be computed using getIndex(). | |
Double_t | weight () const override |
Return weight of last bin that was requested with get(). | |
Double_t | weightSquared () const override |
Return squared weight of last bin that was requested with get(). | |
Double_t | binVolume () const |
Return volume of current bin. | |
void | set (Double_t weight, Double_t wgtErr=-1) |
Write weight into current bin. | |
bool | valid () const override |
Return true if currently loaded coordinate is considered valid within the current range definitions of all observables. | |
void | dump2 () |
Debug stuff, should go... | |
Public Member Functions inherited from RooAbsData | |
RooAbsData () | |
Default constructor. | |
RooAbsData (const RooAbsData &other, const char *newname=0) | |
Copy constructor. | |
RooAbsData (std::string_view name, std::string_view title, const RooArgSet &vars, RooAbsDataStore *store=0) | |
Constructor from a set of variables. | |
virtual | ~RooAbsData () |
Destructor. | |
void | addOwnedComponent (const char *idxlabel, RooAbsData &data) |
void | attachBuffers (const RooArgSet &extObs) |
Bool_t | canSplitFast () const |
virtual Bool_t | 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_t | correlation (RooRealVar &x, RooRealVar &y, const char *cutSpec=0, const char *cutRange=0) const |
TMatrixDSym * | correlationMatrix (const char *cutSpec=0, const char *cutRange=0) const |
TMatrixDSym * | correlationMatrix (const RooArgList &vars, const char *cutSpec=0, const char *cutRange=0) const |
Double_t | covariance (RooRealVar &x, RooRealVar &y, const char *cutSpec=0, const char *cutRange=0) const |
TMatrixDSym * | covarianceMatrix (const char *cutSpec=0, const char *cutRange=0) const |
TMatrixDSym * | covarianceMatrix (const RooArgList &vars, const char *cutSpec=0, const char *cutRange=0) 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, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const |
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. | |
virtual Int_t | defaultPrintContents (Option_t *opt) const |
Define default print options, for a given print style. | |
virtual void | Draw (Option_t *option="") |
Forward draw command to data store. | |
virtual void | fill () |
virtual TH1 * | fillHistogram (TH1 *hist, const RooArgList &plotVars, const char *cuts="", const char *cutRange=0) 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_t | getRange (const RooAbsRealLValue &var, Double_t &lowest, Double_t &highest, Double_t marginFrac=0, Bool_t symMode=kFALSE) const |
Fill Doubles 'lowest' and 'highest' with the lowest and highest value of observable 'var' in this dataset. | |
RooAbsData * | getSimData (const char *idxstate) |
Bool_t | hasFilledCache () const |
Double_t | kurtosis (const RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const |
Double_t | mean (const RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const |
RooRealVar * | meanVar (const RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const |
Create a RooRealVar containing the mean of observable 'var' in this dataset. | |
Double_t | moment (const RooRealVar &var, Double_t order, const char *cutSpec=0, const char *cutRange=0) const |
Calculate moment of requested order. | |
Double_t | moment (const RooRealVar &var, Double_t order, Double_t offset, const char *cutSpec=0, const char *cutRange=0) const |
Return the 'order'-ed moment of observable 'var' in this dataset. | |
const TNamed * | namePtr () const |
De-duplicated pointer to this object's name. | |
RooAbsData & | operator= (const RooAbsData &other) |
virtual void | Print (Option_t *options=0) const |
Print TNamed name and title. | |
virtual void | printClassName (std::ostream &os) const |
Print class name of dataset. | |
virtual void | printName (std::ostream &os) const |
Print name of dataset. | |
virtual void | printTitle (std::ostream &os) const |
Print title of dataset. | |
virtual void | RecursiveRemove (TObject *obj) |
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=0) |
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=0, const char *cutRange=0) const |
Create a RooRealVar containing the RMS of observable 'var' in this dataset. | |
void | setDirtyProp (Bool_t flag) |
Control propagation of dirty flags from observables in dataset. | |
void | setGlobalObservables (RooArgSet const &globalObservables) |
Sets the global observables stored in this data. | |
Double_t | sigma (const RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const |
Double_t | skewness (const RooRealVar &var, const char *cutSpec=0, const char *cutRange=0) const |
virtual TList * | split (const RooAbsCategory &splitCat, Bool_t createEmptyDataSets=kFALSE) const |
Split dataset into subsets based on states of given splitCat in this dataset. | |
virtual TList * | split (const RooSimultaneous &simpdf, Bool_t createEmptyDataSets=kFALSE) 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_t | standMoment (const RooRealVar &var, Double_t order, const char *cutSpec=0, const char *cutRange=0) const |
Calculate standardized moment. | |
virtual RooPlot * | statOn (RooPlot *frame, const char *what, const char *label="", Int_t sigDigits=2, Option_t *options="NELU", Double_t xmin=0.15, Double_t xmax=0.65, Double_t ymax=0.85, const char *cutSpec=0, const char *cutRange=0, const RooCmdArg *formatCmd=0) |
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 |
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. | |
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. | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual void | Copy (TObject &named) const |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
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. | |
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 for instance with: gROOT->SetSelectedPad(gPad) . | |
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=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
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. | |
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=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, 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. | |
Public Member Functions inherited from RooDirItem | |
RooDirItem () | |
RooDirItem (const RooDirItem &) | |
virtual | ~RooDirItem () |
Protected Types | |
enum | CacheSumState_t { kInvalid = 0 , kNoBinCorrection = 1 , kCorrectForBinSize = 2 , kInverseBinCorr = 3 } |
list of bin bounds per dimension More... | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
Protected Member Functions | |
RooDataHist (std::string_view name, std::string_view title, RooDataHist *h, const RooArgSet &varSubset, const RooFormulaVar *cutVar, const char *cutRange, Int_t nStart, Int_t nStop, Bool_t copyCache) | |
Constructor of a data hist from (part of) an existing data hist. | |
void | adjustBinning (const RooArgList &vars, const TH1 &href, Int_t *offset=0) |
Adjust binning specification on first and optionally second and third observable to binning in given reference TH1. | |
RooAbsData * | cacheClone (const RooAbsArg *newCacheOwner, const RooArgSet *newCacheVars, const char *newName=0) override |
Construct a clone of this dataset that contains only the cached variables. | |
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 |
Int_t | get_curIndex () const |
Double_t | get_curSumW2 () const |
Double_t | get_curWeight () const |
Double_t | get_curWgtErrHi () const |
Double_t | get_curWgtErrLo () const |
Double_t | get_errHi (std::size_t idx) const |
Double_t | get_errLo (std::size_t idx) const |
Double_t | get_sumw2 (std::size_t idx) const |
Double_t | get_wgt (std::size_t idx) const |
void | importDHistSet (const RooArgList &vars, RooCategory &indexCat, std::map< std::string, RooDataHist * > dmap, Double_t initWgt) |
Import data from given set of TH1/2/3 into this RooDataHist. | |
void | importTH1 (const RooArgList &vars, const TH1 &histo, Double_t initWgt, Bool_t 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_t initWgt, Bool_t doDensityCorrection) |
Import data from given set of TH1/2/3 into this RooDataHist. | |
void | initialize (const char *binningName=0, Bool_t fillTree=kTRUE) |
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=0, std::size_t nStart=0, std::size_t nStop=std::numeric_limits< std::size_t >::max(), Bool_t copyCache=kTRUE) override |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods. | |
void | setAllWeights (Double_t value) |
Set all the event weight of all bins to the specified value. | |
Protected Member Functions inherited from RooAbsData | |
Bool_t | 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=0, Bool_t skipZeroWeights=kFALSE) |
Internal method – Cache given set of functions with data. | |
Double_t | corrcov (const RooRealVar &x, const RooRealVar &y, const char *cutSpec, const char *cutRange, Bool_t corr) const |
Internal method to calculate single correlation and covariance elements. | |
TMatrixDSym * | corrcovMatrix (const RooArgList &vars, const char *cutSpec, const char *cutRange, Bool_t 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. | |
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_t 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_t forceMemoryResident=kFALSE) |
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_t > > | _binbounds |
List of used binnings associated with lvalues. | |
double * | _binv {nullptr} |
Double_t | _cache_sum {0.} |
Is cache sum valid? Needs to be Int_t instead of CacheSumState_t for subclasses. | |
Int_t | _cache_sum_valid {kInvalid} |
ULong64_t | _curIndex {std::numeric_limits<ULong64_t>::max()} |
Copy of _sumW2, but masked events have a weight of zero. | |
double * | _errHi {nullptr} |
double * | _errLo {nullptr} |
std::vector< Int_t > | _idxMult |
std::vector< std::unique_ptr< const RooAbsBinning > > | _lvbins |
List of observables casted as RooAbsLValue. | |
std::vector< RooAbsLValue * > | _lvvars |
Cache for arrays of partial bin volumes. | |
std::vector< double > | _maskedSumw2 |
Copy of _wgt, but masked events have a weight of zero. | |
std::vector< double > | _maskedWeights |
std::unordered_map< int, std::vector< double > > | _pbinvCache |
double * | _sumw2 {nullptr} |
double * | _wgt {nullptr} |
Protected Attributes inherited from RooAbsData | |
RooArgSet | _cachedVars |
RooAbsDataStore * | _dstore |
External variables cached with this data set. | |
std::unique_ptr< RooArgSet > | _globalObservables |
const TNamed * | _namePtr |
std::map< std::string, RooAbsData * > | _ownedComponents |
RooArgSet | _vars |
StorageType | storageType |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from RooDirItem | |
TDirectory * | _dir {nullptr} |
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 | 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) |
Cache for sum of entries ;. | |
Private Attributes | |
VarInfo | _varInfo |
Friends | |
class | RooAbsCachedPdf |
class | RooAbsCachedReal |
class | RooDataHistSliceIter |
class | RooFit::TestStatistics::RooAbsL |
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 = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(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 } |
Static Public Member Functions inherited from RooAbsData | |
static void | claimVars (RooAbsData *) |
static StorageType | getDefaultStorageType () |
static Bool_t | releaseVars (RooAbsData *) |
If return value is true variables can be deleted. | |
static void | setDefaultStorageType (StorageType s) |
Static Public Member Functions inherited from TObject | |
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 std::ostream & | defaultPrintStream (std::ostream *os=0) |
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 Protected Attributes inherited from RooAbsData | |
static StorageType | defaultStorageType =RooAbsData::Vector |
Static Protected Attributes inherited from RooPrintable | |
static Int_t | _nameLength |
#include <RooDataHist.h>
|
protected |
list of bin bounds per dimension
Enumerator | |
---|---|
kInvalid | |
kNoBinCorrection | |
kCorrectForBinSize | |
kInverseBinCorr |
Definition at line 296 of file RooDataHist.h.
RooDataHist::RooDataHist | ( | ) |
Default constructor.
Definition at line 86 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | title, | ||
const RooArgSet & | vars, | ||
const char * | binningName = 0 |
||
) |
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 109 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | title, | ||
const RooArgSet & | vars, | ||
const RooAbsData & | data, | ||
Double_t | 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 146 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | title, | ||
const RooArgList & | vars, | ||
const TH1 * | hist, | ||
Double_t | 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 219 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | title, | ||
const RooArgList & | vars, | ||
RooCategory & | indexCat, | ||
std::map< std::string, TH1 * > | histMap, | ||
Double_t | 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 172 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | title, | ||
const RooArgList & | vars, | ||
RooCategory & | indexCat, | ||
std::map< std::string, RooDataHist * > | dhistMap, | ||
Double_t | 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 197 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | std::string_view | name, |
std::string_view | 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_t 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 kFALSE |
Weight(Double_t) | 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 278 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | const RooDataHist & | other, |
const char * | newname = 0 |
||
) |
Copy constructor.
Definition at line 807 of file RooDataHist.cxx.
|
override |
Destructor.
Definition at line 944 of file RooDataHist.cxx.
|
protected |
Constructor of a data hist from (part of) an existing data hist.
The dimensions of the data set are defined by the 'vars' RooArgSet, which can be identical to 'dset' dimensions, or a subset thereof. Reduced dimensions will be projected in the output data hist. The optional 'cutVar' formula variable can used to select the subset of bins to be copied.
For most uses the RooAbsData::reduce() wrapper function, which uses this constructor, is the most convenient way to create a subset of an existing data
Definition at line 844 of file RooDataHist.cxx.
|
private |
Helper doing the actual work of adjustBinning().
Definition at line 593 of file RooDataHist.cxx.
void RooDataHist::add | ( | const RooAbsData & | dset, |
const char * | cut, | ||
Double_t | 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 1496 of file RooDataHist.cxx.
void RooDataHist::add | ( | const RooAbsData & | dset, |
const RooFormulaVar * | cutVar = 0 , |
||
Double_t | 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 1508 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 1393 of file RooDataHist.cxx.
Add wgt
to the bin content enclosed by the coordinates passed in row
.
Definition at line 74 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 659 of file RooDataHist.cxx.
|
inline |
Return volume of current bin.
Definition at line 198 of file RooDataHist.h.
Return the volume of the bin enclosing coordinates 'coord'.
Definition at line 1919 of file RooDataHist.cxx.
|
inline |
Retrieve all bin volumes. Bins are indexed according to getIndex().
Definition at line 98 of file RooDataHist.h.
|
overrideprotectedvirtual |
Construct a clone of this dataset that contains only the cached variables.
Implements RooAbsData.
Definition at line 871 of file RooDataHist.cxx.
void RooDataHist::cacheValidEntries | ( | ) |
Compute which bins of the dataset are part of the currently set fit range.
Definition at line 2013 of file RooDataHist.cxx.
|
inlineprotected |
Legacy overload to calculate the tree index from the current value of _vars
.
Definition at line 244 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 979 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 1763 of file RooDataHist.cxx.
|
protected |
Definition at line 787 of file RooDataHist.cxx.
|
inlineoverridevirtual |
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 TNamed.
Definition at line 63 of file RooDataHist.h.
void RooDataHist::dump2 | ( | ) |
Debug stuff, should go...
Definition at line 1036 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Return empty clone of this RooDataHist.
Implements RooAbsData.
Definition at line 69 of file RooDataHist.h.
|
inlineoverridevirtual |
Get bin centre of current bin.
Reimplemented from RooAbsData.
Definition at line 84 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 1911 of file RooDataHist.cxx.
Load bin binNumber
, and return an argset with the coordinates of the bin centre.
Reimplemented from RooAbsData.
Definition at line 1896 of file RooDataHist.cxx.
|
inlineprotected |
Definition at line 275 of file RooDataHist.h.
|
inlineprotected |
Definition at line 273 of file RooDataHist.h.
|
inlineprotected |
Definition at line 270 of file RooDataHist.h.
|
inlineprotected |
Definition at line 272 of file RooDataHist.h.
|
inlineprotected |
Definition at line 271 of file RooDataHist.h.
|
inlineprotected |
Definition at line 266 of file RooDataHist.h.
|
inlineprotected |
Definition at line 265 of file RooDataHist.h.
|
inlineprotected |
Definition at line 268 of file RooDataHist.h.
|
inlineprotected |
Definition at line 264 of file RooDataHist.h.
|
inline |
Definition at line 226 of file RooDataHist.h.
Int_t RooDataHist::getIndex | ( | const RooAbsCollection & | coord, |
Bool_t | 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 966 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 161 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 2186 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 2160 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 555 of file RooDataHist.cxx.
|
protected |
Import data from given TH1/2/3 into this RooDataHist.
Definition at line 378 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 452 of file RooDataHist.cxx.
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 705 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 1329 of file RooDataHist.cxx.
|
overridevirtual |
Returns true if dataset contains entries with a non-integer weight.
Reimplemented from RooAbsData.
Definition at line 2039 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Always returns true as all histograms use event weights.
Reimplemented from RooAbsData.
Definition at line 92 of file RooDataHist.h.
|
overridevirtual |
Return the number of bins.
Reimplemented from RooAbsData.
Definition at line 1813 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 197 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_t 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_t 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 203 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 346 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 1054 of file RooDataHist.cxx.
|
overridevirtual |
Print argument of dataset, i.e. the observable names.
Reimplemented from RooPrintable.
Definition at line 1994 of file RooDataHist.cxx.
void RooDataHist::printDataHistogram | ( | std::ostream & | os, |
RooRealVar * | obs | ||
) | const |
Definition at line 2076 of file RooDataHist.cxx.
|
overridevirtual |
Print the details on the dataset contents.
Reimplemented from RooAbsData.
Definition at line 2055 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 1983 of file RooDataHist.cxx.
|
overrideprotectedvirtual |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods.
Implements RooAbsData.
Definition at line 889 of file RooDataHist.cxx.
|
private |
Hand over pointers to our weight arrays to the data store implementation.
Definition at line 2175 of file RooDataHist.cxx.
|
inline |
Definition at line 165 of file RooDataHist.h.
|
overridevirtual |
Reset all bin weights to zero.
Reimplemented from RooAbsData.
Definition at line 1875 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 1485 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 1421 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 1471 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 1447 of file RooDataHist.cxx.
Set all the event weight of all bins to the specified value.
Definition at line 1928 of file RooDataHist.cxx.
|
overridevirtual |
Change the name of the RooDataHist.
Reimplemented from RooAbsData.
Definition at line 1961 of file RooDataHist.cxx.
|
overridevirtual |
Change the title of this RooDataHist.
Reimplemented from RooAbsData.
Definition at line 1973 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 1943 of file RooDataHist.cxx.
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 1551 of file RooDataHist.cxx.
Double_t 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 1664 of file RooDataHist.cxx.
Double_t 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 1587 of file RooDataHist.cxx.
|
overridevirtual |
Sum the weights of all bins.
Implements RooAbsData.
Definition at line 1822 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 1838 of file RooDataHist.cxx.
|
inline |
Definition at line 231 of file RooDataHist.h.
|
inlineoverridevirtual |
Return true if currently loaded coordinate is considered valid within the current range definitions of all observables.
Reimplemented from RooAbsData.
Definition at line 208 of file RooDataHist.h.
|
inline |
Return true if bin i
is considered valid within the current range definitions of all observables.
Definition at line 121 of file RooDataHist.h.
|
inlineoverridevirtual |
Return weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 189 of file RooDataHist.h.
Double_t RooDataHist::weight | ( | const RooArgSet & | bin, |
Int_t | intOrder = 1 , |
||
Bool_t | correctForBinSize = kFALSE , |
||
Bool_t | cdfBoundaries = kFALSE , |
||
Bool_t | oneSafe = kFALSE |
||
) |
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 1135 of file RooDataHist.cxx.
|
inline |
|
inline |
Definition at line 228 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 1258 of file RooDataHist.cxx.
Return the symmetric error on the current weight.
See also weightError(double&,double&,ErrorType) const for asymmetric errors.
[in] | etype | Type of error to compute. May throw if not supported. |
Reimplemented from RooAbsData.
Definition at line 127 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 1096 of file RooDataHist.cxx.
|
private |
Cache for sum of entries ;.
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 1175 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Return squared weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 194 of file RooDataHist.h.
|
inline |
Return squared weight sum of i-th bin.
Definition at line 116 of file RooDataHist.h.
|
inline |
Definition at line 230 of file RooDataHist.h.
|
inline |
Definition at line 229 of file RooDataHist.h.
|
friend |
Definition at line 235 of file RooDataHist.h.
|
friend |
Definition at line 236 of file RooDataHist.h.
|
friend |
Definition at line 237 of file RooDataHist.h.
|
friend |
Definition at line 239 of file RooDataHist.h.
|
protected |
Definition at line 277 of file RooDataHist.h.
|
mutableprotected |
List of used binnings associated with lvalues.
Definition at line 294 of file RooDataHist.h.
|
protected |
Definition at line 284 of file RooDataHist.h.
|
mutableprotected |
Is cache sum valid? Needs to be Int_t instead of CacheSumState_t for subclasses.
Definition at line 298 of file RooDataHist.h.
Definition at line 297 of file RooDataHist.h.
Copy of _sumW2, but masked events have a weight of zero.
Definition at line 289 of file RooDataHist.h.
|
mutableprotected |
Definition at line 282 of file RooDataHist.h.
|
mutableprotected |
Definition at line 281 of file RooDataHist.h.
|
protected |
Definition at line 278 of file RooDataHist.h.
|
protected |
List of observables casted as RooAbsLValue.
Definition at line 293 of file RooDataHist.h.
|
protected |
Cache for arrays of partial bin volumes.
Definition at line 292 of file RooDataHist.h.
|
mutableprotected |
Copy of _wgt, but masked events have a weight of zero.
Definition at line 287 of file RooDataHist.h.
|
mutableprotected |
Definition at line 286 of file RooDataHist.h.
Definition at line 291 of file RooDataHist.h.
|
mutableprotected |
Definition at line 283 of file RooDataHist.h.
|
private |
Definition at line 306 of file RooDataHist.h.
|
protected |
Definition at line 280 of file RooDataHist.h.