16#ifndef ROO_COMPOSITE_DATA_STORE
17#define ROO_COMPOSITE_DATA_STORE
54 void dump()
override ;
65 double weight()
const override ;
86 void reset()
override ;
93 std::size_t
nStart=0, std::size_t
nStop = std::numeric_limits<std::size_t>::max())
override;
97 std::span<const double>
getWeightBatch(std::size_t first, std::size_t
len)
const override;
107 mutable std::unique_ptr<std::vector<double>>
109 mutable std::map<RooAbsArg const *, std::vector<double>>
111 mutable std::map<RooAbsArg const *, std::vector<RooAbsCategory::value_type>>
#define ClassDefOverride(name, id)
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 Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for a data collection.
virtual double weight() const =0
virtual const RooArgSet * get() const
std::map< RooFit::Detail::DataKey, std::span< const double > > RealSpans
std::map< RooFit::Detail::DataKey, std::span< const RooAbsCategory::value_type > > CategorySpans
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Object to represent discrete states.
Combines several disjunct datasets into one.
RooAbsDataStore * clone(const RooArgSet &vars, const char *newname=nullptr) const override
RooAbsArg * addColumn(RooAbsArg &var, bool adjustRange=true) override
WVE ownership issue here!! Caller (a RooAbsData) should take ownership of all arguments,...
std::unique_ptr< std::vector< double > > _weightBuffer
! Buffer for weights in case a batch of values is requested.
Int_t _curIndex
! Index associated with current event
void loadValues(const RooAbsDataStore *tds, const RooFormulaVar *select=nullptr, const char *rangeName=nullptr, std::size_t nStart=0, std::size_t nStop=std::numeric_limits< std::size_t >::max()) override
Int_t numEntries() const override
std::span< const double > getWeightBatch(std::size_t first, std::size_t len) const override
Get the weights of the events in the range [first, first+len).
RooAbsDataStore * merge(const RooArgSet &allvars, std::list< RooAbsDataStore * > dstoreList) override
std::map< RooAbsArg const *, std::vector< double > > _realBatchBuffers
! Buffers for real-valued columns in case batches of values are requested.
bool changeObservableName(const char *from, const char *to) override
Change name of internal observable named 'from' into 'to'.
RooAbsData::CategorySpans getCategoryBatches(std::size_t first, std::size_t len) const override
Get the batches of the category columns in the range [first, first+len), including the index category...
~RooCompositeDataStore() override
Destructor.
RooAbsDataStore * clone(const char *newname=nullptr) const override
RooAbsData::RealSpans getBatches(std::size_t first, std::size_t len) const override
Get the batches of the real-valued columns in the range [first, first+len).
bool isWeighted() const override
RooAbsDataStore * _curStore
! Datastore associated with current event
double weightError(RooAbsData::ErrorType etype=RooAbsData::Poisson) const override
double sumEntries() const override
Forward fill request to appropriate subset.
std::map< Int_t, RooAbsDataStore * > _dataMap
std::unique_ptr< RooAbsDataStore > reduce(RooStringView name, RooStringView title, const RooArgSet &vars, const RooFormulaVar *cutVar, const char *cutRange, std::size_t nStart, std::size_t nStop) override
void resetBuffers() override
Int_t fill() override
Forward fill request to appropriate subset.
void fillBatchBuffers() const
Fill the internal per-column buffers for batch access by loading the composite rows one by one,...
void attachBuffers(const RooArgSet &extObs) override
double weight() const override
void append(RooAbsDataStore &other) override
virtual const RooArgSet * get() const
std::map< RooAbsArg const *, std::vector< RooAbsCategory::value_type > > _catBatchBuffers
! Buffers for category columns in case batches of values are requested.
The RooStringView is a wrapper around a C-style string that can also be constructed from a std::strin...