/usr/include/root/RooCompositeDataStore.h is in libroot-roofit-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /*****************************************************************************
* Project: RooFit *
* Package: RooFitCore *
* File: $Id$
* Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* *
* Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. *
* *
* Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
*****************************************************************************/
#ifndef ROO_COMPOSITE_DATA_STORE
#define ROO_COMPOSITE_DATA_STORE
#include "RooAbsDataStore.h"
#include "TString.h"
#include <map>
#include <string>
class RooAbsArg ;
class RooArgList ;
class RooFormulaVar ;
class RooArgSet ;
class RooCategory ;
class RooCompositeDataStore : public RooAbsDataStore {
public:
RooCompositeDataStore() ;
// Ctors from DataStore
RooCompositeDataStore(const char* name, const char* title, const RooArgSet& vars, RooCategory& indexCat, std::map<std::string,RooAbsDataStore*> inputData) ;
// Empty ctor
virtual RooAbsDataStore* clone(const char* newname=0) const { return new RooCompositeDataStore(*this,newname) ; }
virtual RooAbsDataStore* clone(const RooArgSet& vars, const char* newname=0) const { return new RooCompositeDataStore(*this,vars,newname) ; }
RooCompositeDataStore(const RooCompositeDataStore& other, const char* newname=0) ;
RooCompositeDataStore(const RooCompositeDataStore& other, const RooArgSet& vars, const char* newname=0) ;
virtual ~RooCompositeDataStore() ;
virtual void dump() ;
// Write current row
virtual Int_t fill() ;
virtual Double_t sumEntries() const ;
// Retrieve a row
using RooAbsDataStore::get ;
virtual const RooArgSet* get(Int_t index) const ;
virtual Double_t weight() const ;
virtual Double_t weight(Int_t index) const ;
virtual Double_t weightError(RooAbsData::ErrorType etype=RooAbsData::Poisson) const ;
virtual void weightError(Double_t& lo, Double_t& hi, RooAbsData::ErrorType etype=RooAbsData::Poisson) const ;
virtual Bool_t isWeighted() const ;
// Change observable name
virtual Bool_t changeObservableName(const char* from, const char* to) ;
// Add one or more columns
virtual RooAbsArg* addColumn(RooAbsArg& var, Bool_t adjustRange=kTRUE) ;
virtual RooArgSet* addColumns(const RooArgList& varList) ;
// Merge column-wise
RooAbsDataStore* merge(const RooArgSet& allvars, std::list<RooAbsDataStore*> dstoreList) ;
RooCategory* index() { return _indexCat ; }
// Add rows
virtual void append(RooAbsDataStore& other) ;
// General & bookkeeping methods
virtual Bool_t valid() const ;
virtual Int_t numEntries() const ;
virtual void reset() ;
// Buffer redirection routines used in inside RooAbsOptTestStatistics
virtual void attachBuffers(const RooArgSet& extObs) ;
virtual void resetBuffers() ;
// Constant term optimizer interface
virtual void cacheArgs(const RooAbsArg* owner, RooArgSet& varSet, const RooArgSet* nset=0, Bool_t skipZeroWeights=kFALSE) ;
virtual const RooAbsArg* cacheOwner() { return 0 ; }
virtual void setArgStatus(const RooArgSet& set, Bool_t active) ;
virtual void resetCache() ;
virtual void recalculateCache(const RooArgSet* /*proj*/, Int_t /*firstEvent*/, Int_t /*lastEvent*/, Int_t /*stepSize*/, Bool_t /*skipZeroWeights*/) ;
virtual Bool_t hasFilledCache() const ;
void loadValues(const RooAbsDataStore *tds, const RooFormulaVar* select=0, const char* rangeName=0, Int_t nStart=0, Int_t nStop=2000000000) ;
virtual void forceCacheUpdate() ;
protected:
void attachCache(const RooAbsArg* newOwner, const RooArgSet& cachedVars) ;
std::map<Int_t,RooAbsDataStore*> _dataMap ;
RooCategory* _indexCat ;
mutable RooAbsDataStore* _curStore ; //! Datastore associated with current event
mutable Int_t _curIndex ; //! Index associated with current event
Bool_t _ownComps ; //!
ClassDef(RooCompositeDataStore,1) // Composite Data Storage class
};
#endif
|