29 class RooHistFunc :
public RooAbsReal {
32 RooHistFunc(
const char *name,
const char *title,
const RooArgSet& vars,
const RooDataHist& dhist, Int_t intOrder=0);
33 RooHistFunc(
const char *name,
const char *title,
const RooArgList& funcObs,
const RooArgList& histObs,
const RooDataHist& dhist, Int_t intOrder=0);
34 RooHistFunc(
const RooHistFunc& other,
const char* name=0);
35 virtual TObject* clone(
const char* newname)
const {
return new RooHistFunc(*
this,newname); }
36 virtual ~RooHistFunc() ;
38 RooDataHist& dataHist() {
42 const RooDataHist& dataHist()
const {
47 void setInterpolationOrder(Int_t order) {
52 Int_t getInterpolationOrder()
const {
57 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars,
const char* rangeName=0)
const ;
58 Double_t analyticalIntegral(Int_t code,
const char* rangeName=0)
const ;
60 void setCdfBoundaries(Bool_t flag) {
62 _cdfBoundaries = flag ;
65 Bool_t getCdfBoundaries()
const {
67 return _cdfBoundaries ;
70 virtual Int_t getMaxVal(
const RooArgSet& vars)
const;
71 virtual Double_t maxVal(Int_t code)
const;
73 virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& , Double_t , Double_t )
const ;
74 virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Double_t xlo, Double_t xhi)
const ;
75 virtual Bool_t isBinnedDistribution(
const RooArgSet&)
const {
return _intOrder==0 ; }
79 Bool_t importWorkspaceHook(RooWorkspace& ws) ;
80 Bool_t areIdentical(
const RooDataHist& dh1,
const RooDataHist& dh2) ;
82 Double_t evaluate()
const;
83 Double_t totalVolume()
const ;
84 friend class RooAbsCachedReal ;
85 Double_t totVolume()
const ;
87 virtual void ioStreamerPass2() ;
89 RooArgSet _histObsList ;
90 RooSetProxy _depList ;
91 RooDataHist* _dataHist ;
92 mutable RooAICRegistry _codeReg ;
94 Bool_t _cdfBoundaries ;
95 mutable Double_t _totVolume ;
98 ClassDef(RooHistFunc,2)