#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 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 } ;
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 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 ;
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 {
printToStream(defaultStream(),parseOptions(options));
}
protected:
friend class RooAbsReal ;
friend class RooAbsOptGoodnessOfFit ;
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 ;
void setDirtyProp(Bool_t flag) { _doDirtyProp = flag ; }
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
ROOT page - Class index - Class Hierarchy - Top of the page
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.