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 40 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={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) | |
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. | |
template<class Val_t > | |
RooDataHist (RooStringView name, RooStringView title, const RooArgList &vars, RooCategory &indexCat, RooFit::Detail::FlatMap< std::string, Val_t > const &histMap, double initWgt=1.0) | |
For internal use in RooFit. | |
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) |
Increment the bin content of the bin enclosing the given coordinates. | |
void | add (const RooArgSet &row, double wgt=1.0) override |
Add wgt to the bin content enclosed by the coordinates passed in row . | |
int | arraySize () const |
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. | |
std::span< const double > | binVolumes (std::size_t first, std::size_t len) const |
Retrieve all bin volumes. Bins are indexed according to getIndex(). | |
std::string | calculateTreeIndexForCodeSquash (RooAbsArg const *klass, RooFit::Detail::CodeSquashContext &ctx, const RooAbsCollection &coords, bool reverse=false) const |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
std::string | declWeightArrayForCodeSquash (RooFit::Detail::CodeSquashContext &ctx, bool correctForBinSize) const |
RooFit::OwningPtr< 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. | |
std::span< 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={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) 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, std::span< 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:116 RooArgSet is a container object that can hold multiple RooAbsArg objects. Definition RooArgSet.h:24 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 |
RooFit::OwningPtr< TMatrixDSym > | correlationMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
RooFit::OwningPtr< 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 |
RooFit::OwningPtr< TMatrixDSym > | covarianceMatrix (const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
RooFit::OwningPtr< 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={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const |
Calls createHistogram(const char *name, const RooAbsRealLValue& xvar, const RooLinkedList& argList) const. | |
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={}, const RooCmdArg &binArgZ={}) const |
Create and fill a ROOT histogram TH1,TH2 or TH3 with the values of this dataset for the variables with given names. | |
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. | |
RooFit::OwningPtr< RooAbsData > | reduce (const char *cut) const |
Create a subset of the data set by applying the given cut on the data points. | |
RooFit::OwningPtr< RooAbsData > | reduce (const RooArgSet &varSubset, const char *cut=nullptr) const |
Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set. | |
RooFit::OwningPtr< RooAbsData > | reduce (const RooArgSet &varSubset, const RooFormulaVar &cutVar) const |
Create a subset of the data set by applying the given cut on the data points and reducing the dimensions to the specified set. | |
RooFit::OwningPtr< RooAbsData > | reduce (const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const |
Create a reduced copy of this dataset. | |
RooFit::OwningPtr< RooAbsData > | reduce (const RooFormulaVar &cutVar) const |
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 RooFit::OwningPtr< TList > | split (const RooAbsCategory &splitCat, bool createEmptyDataSets=false) const |
Split the dataset into subsets based on states of a categorical variable in this dataset. | |
virtual RooFit::OwningPtr< TList > | split (const RooSimultaneous &simpdf, bool createEmptyDataSets=false) const |
Split the dataset into subsets based on the channels of a RooSimultaneous. | |
double | standMoment (const RooRealVar &var, double order, const char *cutSpec=nullptr, const char *cutRange=nullptr) const |
Calculate standardized moment. | |
virtual 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={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) |
Add a box with statistics information to the specified frame. | |
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 (the base implementation is no-op). | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete (void *ptr, void *vp) |
Only called by placement new when throwing an exception. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void | operator delete[] (void *ptr, void *vp) |
Only called by placement new[] when throwing an exception. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static StorageType | getDefaultStorageType () |
static void | setDefaultStorageType (StorageType s) |
Static Public Member Functions inherited from TNamed | |
static 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'. | |
std::unique_ptr< 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()) const override |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods. | |
Protected Member Functions inherited from RooAbsData | |
bool | allClientsCached (RooAbsArg *, const RooArgSet &) |
Utility function that determines if all clients of object 'var' appear in given list of cached nodes. | |
virtual void | attachCache (const RooAbsArg *newOwner, const RooArgSet &cachedVars) |
Internal method – Attach dataset copied with cache contents to copied instances of functions. | |
virtual void | cacheArgs (const RooAbsArg *owner, RooArgSet &varSet, const RooArgSet *nset=nullptr, bool skipZeroWeights=false) |
Internal method – Cache given set of functions with data. | |
double | corrcov (const RooRealVar &x, const RooRealVar &y, const char *cutSpec, const char *cutRange, bool corr) const |
Internal method to calculate single correlation and covariance elements. | |
RooFit::OwningPtr< 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, std::span< 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, std::span< 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 (RooStringView name, RooStringView 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, std::span< const RooAbsCategory::value_type > > |
enum | ErrorType { Poisson , SumW2 , None , Auto , Expected } |
using | RealSpans = std::map< RooFit::Detail::DataKey, std::span< const double > > |
enum | StorageType { Tree , Vector , Composite } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Types inherited from RooPrintable | |
enum | ContentsOption { kName =1 , kClassName =2 , kValue =4 , kArgs =8 , kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128 } |
enum | StyleOption { kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 , kTreeStructure =5 } |
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 262 of file RooDataHist.h.
RooDataHist::RooDataHist | ( | ) |
Default constructor.
Definition at line 87 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 118 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 154 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 216 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 171 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 195 of file RooDataHist.cxx.
RooDataHist::RooDataHist | ( | RooStringView | name, |
RooStringView | title, | ||
const RooArgList & | vars, | ||
const RooCmdArg & | arg1, | ||
const RooCmdArg & | arg2 = {} , |
||
const RooCmdArg & | arg3 = {} , |
||
const RooCmdArg & | arg4 = {} , |
||
const RooCmdArg & | arg5 = {} , |
||
const RooCmdArg & | arg6 = {} , |
||
const RooCmdArg & | arg7 = {} , |
||
const RooCmdArg & | arg8 = {} |
||
) |
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 277 of file RooDataHist.cxx.
|
inline |
For internal use in RooFit.
Definition at line 55 of file RooDataHist.h.
RooDataHist::RooDataHist | ( | const RooDataHist & | other, |
const char * | newname = nullptr |
||
) |
Copy constructor.
Definition at line 887 of file RooDataHist.cxx.
|
override |
Destructor.
Definition at line 968 of file RooDataHist.cxx.
|
private |
Helper doing the actual work of adjustBinning().
Definition at line 667 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 1802 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 1814 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. |
Definition at line 1704 of file RooDataHist.cxx.
Add wgt
to the bin content enclosed by the coordinates passed in row
.
Implements RooAbsData.
Definition at line 72 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 737 of file RooDataHist.cxx.
|
inline |
Definition at line 215 of file RooDataHist.h.
|
inline |
Return volume of current bin.
Definition at line 194 of file RooDataHist.h.
Return the volume of the bin enclosing coordinates 'coord'.
Definition at line 2202 of file RooDataHist.cxx.
|
inline |
|
inline |
Retrieve all bin volumes. Bins are indexed according to getIndex().
Definition at line 95 of file RooDataHist.h.
|
inlineprotected |
Legacy overload to calculate the tree index from the current value of _vars
.
Definition at line 232 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 1054 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 2065 of file RooDataHist.cxx.
std::string RooDataHist::calculateTreeIndexForCodeSquash | ( | RooAbsArg const * | klass, |
RooFit::Detail::CodeSquashContext & | ctx, | ||
const RooAbsCollection & | coords, | ||
bool | reverse = false |
||
) | const |
Definition at line 1011 of file RooDataHist.cxx.
|
protected |
Definition at line 867 of file RooDataHist.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 282 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 61 of file RooDataHist.h.
|
inlinestatic |
Definition at line 282 of file RooDataHist.h.
std::string RooDataHist::declWeightArrayForCodeSquash | ( | RooFit::Detail::CodeSquashContext & | ctx, |
bool | correctForBinSize | ||
) | const |
Definition at line 995 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Return empty clone of this RooDataHist.
Implements RooAbsData.
Definition at line 67 of file RooDataHist.h.
|
inlineoverridevirtual |
Get bin centre of current bin.
Reimplemented from RooAbsData.
Definition at line 82 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 2194 of file RooDataHist.cxx.
Load bin binNumber
, and return an argset with the coordinates of the bin centre.
Reimplemented from RooAbsData.
Definition at line 2179 of file RooDataHist.cxx.
|
inline |
Definition at line 213 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 990 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 160 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 2424 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 2406 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 605 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 497 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 783 of file RooDataHist.cxx.
|
private |
Definition at line 1551 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 condition 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 1638 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 condition 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 1263 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 condition 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 1156 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Reimplemented from RooAbsData.
Definition at line 282 of file RooDataHist.h.
|
overridevirtual |
Returns true if dataset contains entries with a non-integer weight.
Reimplemented from RooAbsData.
Definition at line 2283 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Always returns true as all histograms use event weights.
Reimplemented from RooAbsData.
Definition at line 89 of file RooDataHist.h.
|
staticprivate |
Definition at line 94 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 169 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 175 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 326 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 1113 of file RooDataHist.cxx.
|
overridevirtual |
Print argument of dataset, i.e. the observable names.
Reimplemented from RooPrintable.
Definition at line 2263 of file RooDataHist.cxx.
void RooDataHist::printDataHistogram | ( | std::ostream & | os, |
RooRealVar * | obs | ||
) | const |
Definition at line 2320 of file RooDataHist.cxx.
|
overridevirtual |
Print the details on the dataset contents.
Reimplemented from RooAbsData.
Definition at line 2299 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 2252 of file RooDataHist.cxx.
|
overrideprotectedvirtual |
Implementation of RooAbsData virtual method that drives the RooAbsData::reduce() methods.
Implements RooAbsData.
Definition at line 916 of file RooDataHist.cxx.
|
private |
Hand over pointers to our weight arrays to the data store implementation.
Definition at line 2413 of file RooDataHist.cxx.
|
inline |
Definition at line 164 of file RooDataHist.h.
|
overridevirtual |
Reset all bin weights to zero.
Reimplemented from RooAbsData.
Definition at line 2158 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 1791 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 1732 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 1777 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 1754 of file RooDataHist.cxx.
|
overridevirtual |
Change the name of the RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2230 of file RooDataHist.cxx.
|
overridevirtual |
Change the title of this RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2242 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 2212 of file RooDataHist.cxx.
|
overridevirtual |
Stream an object of class RooDataHist.
Reimplemented from RooAbsData.
Definition at line 2332 of file RooDataHist.cxx.
|
inline |
Definition at line 282 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 1853 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 1966 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 1889 of file RooDataHist.cxx.
|
overridevirtual |
Sum the weights of all bins.
Implements RooAbsData.
Definition at line 2114 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 2125 of file RooDataHist.cxx.
|
inline |
Definition at line 219 of file RooDataHist.h.
|
inlineoverridevirtual |
Return weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 185 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 condition 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 1434 of file RooDataHist.cxx.
|
inline |
|
inline |
Definition at line 216 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 1570 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 125 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 condition 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 1399 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 condition 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 1470 of file RooDataHist.cxx.
void RooDataHist::weights | ( | double * | output, |
std::span< 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 condition 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 1351 of file RooDataHist.cxx.
|
inlineoverridevirtual |
Return squared weight of last bin that was requested with get().
Implements RooAbsData.
Definition at line 190 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 218 of file RooDataHist.h.
|
inline |
Definition at line 217 of file RooDataHist.h.
|
friend |
Definition at line 227 of file RooDataHist.h.
|
protected |
Definition at line 246 of file RooDataHist.h.
|
mutableprotected |
! list of bin bounds per dimension
Definition at line 260 of file RooDataHist.h.
|
protected |
[_arrSize] Bin volume array
Definition at line 253 of file RooDataHist.h.
|
mutableprotected |
! Cache for sum of entries ;
Definition at line 264 of file RooDataHist.h.
! Is cache sum valid? Needs to be Int_t instead of CacheSumState_t for subclasses.
Definition at line 263 of file RooDataHist.h.
Current index.
Definition at line 255 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] High-side error on weight array
Definition at line 251 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] Low-side error on weight array
Definition at line 250 of file RooDataHist.h.
|
protected |
Definition at line 247 of file RooDataHist.h.
|
private |
! Buffer to contain values used for weight interpolation
Definition at line 280 of file RooDataHist.h.
|
protected |
! List of used binnings associated with lvalues
Definition at line 259 of file RooDataHist.h.
|
protected |
! List of observables casted as RooAbsLValue
Definition at line 258 of file RooDataHist.h.
! Cache for arrays of partial bin volumes
Definition at line 257 of file RooDataHist.h.
|
mutableprotected |
[_arrSize] Sum of weights^2
Definition at line 252 of file RooDataHist.h.
|
private |
!
Definition at line 279 of file RooDataHist.h.
|
protected |
[_arrSize] Weight array
Definition at line 249 of file RooDataHist.h.