36 ClassImp(RooAbsDataStore);
43 RooAbsDataStore::RooAbsDataStore()
45 _doDirtyProp = kTRUE ;
54 RooAbsDataStore::RooAbsDataStore(
const char* name,
const char* title,
const RooArgSet& vars) :
60 _doDirtyProp = kTRUE ;
68 RooAbsDataStore::RooAbsDataStore(
const RooAbsDataStore& other,
const char* newname) : TNamed(other), RooPrintable(other)
73 _vars.add(other._vars) ;
74 _doDirtyProp = other._doDirtyProp ;
81 RooAbsDataStore::RooAbsDataStore(
const RooAbsDataStore& other,
const RooArgSet& vars,
const char* newname) : TNamed(other), RooPrintable(other)
87 _doDirtyProp = other._doDirtyProp ;
95 RooAbsDataStore::~RooAbsDataStore()
106 Bool_t RooAbsDataStore::valid()
const
115 void RooAbsDataStore::printName(ostream& os)
const
125 void RooAbsDataStore::printTitle(ostream& os)
const
135 void RooAbsDataStore::printClassName(ostream& os)
const
137 os << IsA()->GetName() ;
145 void RooAbsDataStore::printValue(ostream& os)
const
147 os << numEntries() <<
" entries" ;
155 void RooAbsDataStore::printArgs(ostream& os)
const
158 Bool_t first(kTRUE) ;
159 for (
const auto arg : _vars) {
165 os << arg->GetName() ;
178 Int_t RooAbsDataStore::defaultPrintContents(Option_t* )
const
180 return kName|kClassName|kArgs|kValue ;
190 void RooAbsDataStore::printMultiline(ostream& os, Int_t , Bool_t verbose, TString indent)
const
192 os << indent <<
"DataStore " << GetName() <<
" (" << GetTitle() <<
")" << endl ;
193 os << indent <<
" Contains " << numEntries() <<
" entries" << endl;
196 os << indent <<
" Observables " << _vars << endl ;
198 os << indent <<
" Observables: " << endl ;
199 _vars.printStream(os,kName|kValue|kExtras|kTitle,kVerbose,indent+
" ") ;
203 if (_cachedVars.getSize()>0) {
204 os << indent <<
" Caches " << _cachedVars << endl ;
223 RooSpan<const double> RooAbsDataStore::getWeightBatch(std::size_t first, std::size_t last)
const {
225 std::vector<double> ret;
226 ret.reserve(last-first);
228 for (
auto i = first; i < last; ++i) {
229 ret.push_back(weight(i));
232 return RooSpan<const double>(std::move(ret));