#ifndef ROO_ABS_DATA
#define ROO_ABS_DATA
#include "TNamed.h"
#include "RooPrintable.h"
#include "RooArgSet.h"
#include "RooFormulaVar.h"
class RooAbsArg;
class RooAbsReal ;
class RooAbsCategory ;
class Roo1DTable ;
class RooPlot;
class RooArgList;
class TH1;
class RooAbsBinning ;
class RooAbsData : public TNamed, public RooPrintable {
public:
RooAbsData() ;
RooAbsData(const char *name, const char *title, const RooArgSet& vars) ;
RooAbsData(const RooAbsData& other, const char* newname = 0) ;
virtual ~RooAbsData() ;
virtual RooAbsData* emptyClone(const char* newName=0, const char* newTitle=0, const RooArgSet* vars=0) const = 0 ;
RooAbsData* reduce(RooCmdArg arg1,RooCmdArg arg2=RooCmdArg(),RooCmdArg arg3=RooCmdArg(),RooCmdArg arg4=RooCmdArg(),
RooCmdArg arg5=RooCmdArg(),RooCmdArg arg6=RooCmdArg(),RooCmdArg arg7=RooCmdArg(),RooCmdArg arg8=RooCmdArg()) ;
RooAbsData* reduce(const char* cut) ;
RooAbsData* reduce(const RooFormulaVar& cutVar) ;
RooAbsData* reduce(const RooArgSet& varSubset, const char* cut=0) ;
RooAbsData* reduce(const RooArgSet& varSubset, const RooFormulaVar& cutVar) ;
virtual Bool_t changeObservableName(const char* from, const char* to) = 0 ;
virtual void add(const RooArgSet& row, Double_t weight=1) = 0 ;
virtual void fill() = 0 ;
virtual inline const RooArgSet* get() const {
return &_vars ;
}
virtual Double_t weight() const = 0 ;
enum ErrorType { Poisson, SumW2, None } ;
virtual Double_t weightError(ErrorType etype=Poisson) const ;
virtual void weightError(Double_t& lo, Double_t& hi, ErrorType etype=Poisson) const ;
virtual const RooArgSet* get(Int_t index) const = 0 ;
virtual Int_t numEntries(Bool_t useWeights=kFALSE) const = 0 ;
virtual Double_t sumEntries(const char* cutSpec=0, const char* cutRange=0) const = 0 ;
virtual Bool_t isWeighted() const {
return kFALSE ;
}
virtual void reset() = 0 ;
virtual Bool_t getRange(RooRealVar& var, Double_t& lowest, Double_t& highest, Double_t marginFrac=0, Bool_t symMode=kFALSE) const = 0 ;
virtual Roo1DTable* table(const RooArgSet& catSet, const char* cuts="", const char* opts="") const ;
virtual Roo1DTable* table(const RooAbsCategory& cat, const char* cuts="", const char* opts="") const = 0;
virtual RooPlot* plotOn(RooPlot* frame,
const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(),
const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(),
const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) const ;
virtual RooPlot* plotOn(RooPlot* frame, const RooLinkedList& cmdList) const = 0 ;
virtual TList* split(const RooAbsCategory& splitCat) const = 0 ;
TH1 *createHistogram(const char *name, const RooAbsRealLValue& xvar,
const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(),
const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(),
const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) const ;
TH1* createHistogram(const char *name, const RooAbsRealLValue& xvar, const RooLinkedList& argList) const ;
TH1 *createHistogram(const char* varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const ;
virtual TH1 *fillHistogram(TH1 *hist, const RooArgList &plotVars, const char *cuts= "", const char* cutRange=0) const = 0;
inline virtual void Print(Option_t *options= 0) const {
printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
}
virtual void printName(ostream& os) const ;
virtual void printTitle(ostream& os) const ;
virtual void printClassName(ostream& os) const ;
virtual Int_t defaultPrintContents(Option_t* opt) const ;
void setDirtyProp(Bool_t flag) {
_doDirtyProp = flag ;
}
protected:
virtual void optimizeReadingWithCaching(RooAbsArg& arg, const RooArgSet& cacheList) =0 ;
friend class RooAbsArg ;
friend class RooAbsReal ;
friend class RooAbsOptTestStatistic ;
friend class RooAbsCachedPdf ;
virtual RooAbsData* cacheClone(const RooArgSet* newCacheVars, const char* newName=0) = 0 ;
virtual void cacheArgs(RooArgSet& varSet, const RooArgSet* nset=0) = 0 ;
virtual void resetCache() = 0 ;
virtual void setArgStatus(const RooArgSet& set, Bool_t active) = 0 ;
virtual RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cutVar, const char* cutRange=0,
Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyCache=kTRUE) = 0 ;
RooArgSet _vars;
RooArgSet _cachedVars ;
TIterator *_iterator;
TIterator *_cacheIter ;
Bool_t _doDirtyProp ;
private:
ClassDef(RooAbsData,1)
};
#endif
Last change: Thu Nov 13 09:42:35 2008
Last generated: 2008-11-13 09:42
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.