58 _superCat(0), _catTable(0)
63 if (!
dynamic_cast<RooCategory*
>(arg)) allCat =
false ;
122 oocoutW(
_real,Eval) <<
"RooDataProjBinding::operator() projecting over " << nEvt <<
" events" << endl ;
135 for (i=0 ; i<nEvt ; i++) {
153 if (wgtSum==0)
return 0 ;
167 std::vector<double> xVec(coordinates.size());
169 for (std::size_t i=0; i < coordinates.front().
size(); ++i) {
170 for (
unsigned int dim=0; dim < coordinates.size(); ++dim) {
171 xVec[dim] = coordinates[dim][i];
174 (*_batchBuffer)[i] = this->
operator()(xVec.data());
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
double get(const char *label, bool silent=false) const
Return the table entry named 'label'.
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
RooAbsData is the common abstract base class for binned and unbinned datasets.
virtual double weight() const =0
virtual const RooArgSet * get() const
virtual Int_t numEntries() const
Return number of entries in dataset, i.e., count unweighted entries.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooCategory is an object to represent discrete states.
adaptor that projects a real function via summation of states provided in a dataset.
const RooArgSet * _nset
Normalization set for real function.
bool _first
Bit indicating if operator() has been called yet.
const RooAbsReal * _real
Real function to be projected.
Roo1DTable * _catTable
Supercategory table generated from _data.
RooDataProjBinding(const RooAbsReal &real, const RooAbsData &data, const RooArgSet &vars, const RooArgSet *normSet=nullptr)
Constructor of a data weighted average function binding with variables 'vars' for function 'real' and...
std::unique_ptr< std::vector< double > > _batchBuffer
! Storage for handing out spans.
~RooDataProjBinding() override
Destructor, delete owned objects.
RooSuperCategory * _superCat
Supercategory constructed from _data's category variables.
const RooAbsData * _data
Dataset used for projection.
double operator()(const double xvector[]) const override
Evaluate data-projected values of the bound real function.
RooSpan< const double > getValues(std::vector< RooSpan< const double > > coordinates) const override
Evaluate the function at the specified values of the dependents.
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
void loadValues(const double xvector[]) const
Load the vector of variable values into the RooRealVars associated as variables with the bound RooAbs...
A simple container to hold a batch of data values.
The RooSuperCategory can join several RooAbsCategoryLValue objects into a single category.
bool setIndex(value_type index, bool printError=true) override
Set the value of the super category to the specified index.