28 class RooHistPdf :
public RooAbsPdf {
31 RooHistPdf(
const char *name,
const char *title,
const RooArgSet& vars,
const RooDataHist& dhist, Int_t intOrder=0);
32 RooHistPdf(
const char *name,
const char *title,
const RooArgList& pdfObs,
const RooArgList& histObs,
const RooDataHist& dhist, Int_t intOrder=0);
33 RooHistPdf(
const RooHistPdf& other,
const char* name=0);
34 virtual TObject* clone(
const char* newname)
const {
return new RooHistPdf(*
this,newname); }
35 virtual ~RooHistPdf() ;
37 RooDataHist& dataHist() {
41 const RooDataHist& dataHist()
const {
46 void setInterpolationOrder(Int_t order) {
50 Int_t getInterpolationOrder()
const {
55 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars,
const char* rangeName=0)
const ;
56 Double_t analyticalIntegral(Int_t code,
const char* rangeName=0)
const ;
58 void setCdfBoundaries(Bool_t flag) {
60 _cdfBoundaries = flag ;
62 Bool_t getCdfBoundaries()
const {
64 return _cdfBoundaries ;
67 void setUnitNorm(Bool_t flag) {
71 Bool_t haveUnitNorm()
const {
76 virtual Bool_t selfNormalized()
const {
return _unitNorm ; }
78 virtual Int_t getMaxVal(
const RooArgSet& vars)
const ;
79 virtual Double_t maxVal(Int_t code)
const ;
81 virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Double_t xlo, Double_t xhi)
const ;
82 virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& , Double_t , Double_t )
const ;
83 virtual Bool_t isBinnedDistribution(
const RooArgSet&)
const {
return _intOrder==0 ; }
88 Bool_t areIdentical(
const RooDataHist& dh1,
const RooDataHist& dh2) ;
90 Bool_t importWorkspaceHook(RooWorkspace& ws) ;
92 Double_t evaluate()
const;
93 Double_t totalVolume()
const ;
94 friend class RooAbsCachedPdf ;
95 Double_t totVolume()
const ;
97 RooArgSet _histObsList ;
98 RooSetProxy _pdfObsList ;
99 RooDataHist* _dataHist ;
100 mutable RooAICRegistry _codeReg ;
102 Bool_t _cdfBoundaries ;
103 mutable Double_t _totVolume ;
106 ClassDef(RooHistPdf,4)