70 for (
const auto& iter : inputData) {
84 RooAbsDataStore(other,newname), _indexCat(other._indexCat), _curStore(other._curStore), _curIndex(other._curIndex), _ownComps(
kTRUE)
86 for (map<Int_t,RooAbsDataStore*>::const_iterator iter=other.
_dataMap.begin() ; iter!=other.
_dataMap.end() ; ++iter) {
98 RooAbsDataStore(other,vars,newname), _indexCat(other._indexCat), _curStore(other._curStore), _curIndex(other._curIndex), _ownComps(
kTRUE)
106 for (map<Int_t,RooAbsDataStore*>::const_iterator iter=other.
_dataMap.begin() ; iter!=other.
_dataMap.end() ; ++iter) {
122 map<int,RooAbsDataStore*>::const_iterator iter ;
124 delete iter->second ;
148 map<int,RooAbsDataStore*>::const_iterator iter ;
150 iter->second->recalculateCache(proj,firstEvent,lastEvent,stepSize,skipZeroWeights) ;
160 map<int,RooAbsDataStore*>::const_iterator iter ;
162 ret |= iter->second->hasFilledCache() ;
172 map<int,RooAbsDataStore*>::const_iterator iter ;
174 iter->second->forceCacheUpdate() ;
187 return subset->
fill() ;
199 map<int,RooAbsDataStore*>::const_iterator iter ;
201 sum+= iter->second->sumEntries() ;
216 map<int,RooAbsDataStore*>::const_iterator iter ;
218 if (idx>=(offset+iter->second->numEntries())) {
219 offset += iter->second->numEntries() ;
287 map<int,RooAbsDataStore*>::const_iterator iter ;
289 if (iter->second->isWeighted())
return kTRUE ;
299 throw(std::runtime_error(
"RooCompositeDataSore::loadValues() NOT IMPLEMENTED")) ;
315 coutE(
InputArguments) <<
"RooCompositeDataStore::changeObservableName(" <<
GetName() <<
" no observable " << from <<
" in this dataset" << endl ;
324 map<int,RooAbsDataStore*>::const_iterator iter ;
326 ret |= iter->second->changeObservableName(from,to) ;
341 map<int,RooAbsDataStore*>::const_iterator iter ;
343 ret = iter->second->addColumn(newVar,adjustRange) ;
360 map<int,RooAbsDataStore*>::const_iterator iter ;
362 ret = iter->second->addColumns(varList) ;
377 throw string(
"RooCompositeDataStore::merge() is not implemented yet") ;
389 for (
int i=0 ; i<nevt ; i++) {
402 map<int,RooAbsDataStore*>::const_iterator iter ;
404 n += iter->second->numEntries() ;
416 map<int,RooAbsDataStore*>::const_iterator iter ;
418 iter->second->reset() ;
428 map<int,RooAbsDataStore*>::const_iterator iter ;
430 iter->second->cacheArgs(owner,newVarSet,nset,skipZeroWeights) ;
440 map<int,RooAbsDataStore*>::const_iterator iter ;
443 iter->second->setArgStatus(*subset,active) ;
457 map<int,RooAbsDataStore*>::const_iterator iter ;
459 iter->second->attachCache(newOwner,inCachedVars) ;
470 map<int,RooAbsDataStore*>::const_iterator iter ;
472 iter->second->resetCache() ;
483 map<int,RooAbsDataStore*>::const_iterator iter ;
485 iter->second->attachBuffers(extObs);
496 map<int,RooAbsDataStore*>::const_iterator iter ;
498 iter->second->resetBuffers();
508 cout <<
"RooCompositeDataStore::dump()" << endl ;
509 map<int,RooAbsDataStore*>::const_iterator iter ;
511 cout <<
"state number " << iter->first <<
" has store " << iter->second->IsA()->GetName() <<
" with variables " << *iter->second->get() ;
512 if (iter->second->isWeighted()) cout <<
" and is weighted " ;
float type_of_call hi(const int &, const int &)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
void SetName(const char *name)
Set the name of the TNamed.
value_type lookupIndex(const std::string &stateName) const
Find the index number corresponding to the state name.
RooAbsCollection * selectCommon(const RooAbsCollection &refColl) const
Create a subset of the current collection, consisting only of those elements that are contained as we...
RooAbsCollection & assignValueOnly(const RooAbsCollection &other, Bool_t oneSafe=kFALSE)
The assignment operator sets the value of any argument in our set that also appears in the other set.
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooAbsDataStore is the abstract base class for data collection that use a TTree as internal storage m...
virtual const RooArgSet * get(Int_t index) const =0
virtual Double_t weight() const =0
virtual Double_t weightError(RooAbsData::ErrorType etype=RooAbsData::Poisson) const =0
virtual RooAbsDataStore * clone(const char *newname=0) const =0
virtual Int_t numEntries() const =0
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
RooCategory is an object to represent discrete states.
virtual value_type getCurrentIndex() const override final
Return current index.
virtual Bool_t setIndex(Int_t index, bool printError=true) override
Set value by specifying the index code of the desired state.
RooCompositeDataStore combines several disjunct datasets into one.
virtual RooAbsArg * addColumn(RooAbsArg &var, Bool_t adjustRange=kTRUE)
WVE ownership issue here!! Caller (a RooAbsData) should take ownership of all arguments,...
virtual void resetCache()
Int_t _curIndex
Datastore associated with current event.
void loadValues(const RooAbsDataStore *tds, const RooFormulaVar *select=0, const char *rangeName=0, std::size_t nStart=0, std::size_t nStop=std::numeric_limits< std::size_t >::max())
virtual Bool_t changeObservableName(const char *from, const char *to)
Change name of internal observable named 'from' into 'to'.
virtual Bool_t valid() const
Return true if currently loaded coordinate is considered valid within the current range definitions o...
std::map< Int_t, RooAbsDataStore * > _dataMap
virtual void attachBuffers(const RooArgSet &extObs)
void attachCache(const RooAbsArg *newOwner, const RooArgSet &cachedVars)
Initialize cache of dataset: attach variables of cache ArgSet to the corresponding TTree branches.
virtual Double_t weightError(RooAbsData::ErrorType etype=RooAbsData::Poisson) const
virtual void resetBuffers()
Bool_t _ownComps
Index associated with current event.
virtual Double_t sumEntries() const
Forward fill request to appropriate subset.
virtual void setArgStatus(const RooArgSet &set, Bool_t active)
virtual RooArgSet * addColumns(const RooArgList &varList)
WVE ownership issue here!! Caller (a RooAbsData) should take ownership of all arguments,...
virtual Int_t numEntries() const
virtual void append(RooAbsDataStore &other)
virtual Bool_t isWeighted() const
virtual Double_t weight() const
virtual void cacheArgs(const RooAbsArg *owner, RooArgSet &varSet, const RooArgSet *nset=0, Bool_t skipZeroWeights=kFALSE)
RooAbsDataStore * _curStore
virtual ~RooCompositeDataStore()
Destructor.
RooAbsDataStore * merge(const RooArgSet &allvars, std::list< RooAbsDataStore * > dstoreList)
virtual Bool_t hasFilledCache() const
virtual void recalculateCache(const RooArgSet *, Int_t, Int_t, Int_t, Bool_t)
Forward recalculate request to all subsets.
virtual void forceCacheUpdate()
virtual const RooArgSet * get() const
virtual Int_t fill()
Forward fill request to appropriate subset.
virtual const char * GetName() const
Returns name of object.
static long int sum(long int i)