12 #ifndef ROONUMRUNNINGINT
13 #define ROONUMRUNNINGINT
20 class RooNumRunningInt :
public RooAbsCachedReal {
22 RooNumRunningInt(
const char *name,
const char *title, RooAbsReal& _func, RooRealVar& _x,
const char* binningName=
"cache");
23 RooNumRunningInt(
const RooNumRunningInt& other,
const char* name=0) ;
24 virtual TObject* clone(
const char* newname)
const {
return new RooNumRunningInt(*
this,newname); }
25 virtual ~RooNumRunningInt() ;
29 class RICacheElem:
public FuncCacheElem {
31 RICacheElem(
const RooNumRunningInt& ri,
const RooArgSet* nset) ;
33 virtual RooArgList containedArgs(Action) ;
34 void calculate(Bool_t cdfmode) ;
35 void addRange(Int_t ixlo, Int_t ixhi, Int_t nbins) ;
36 void addPoint(Int_t ix) ;
38 RooNumRunningInt* _self ;
45 friend class RICacheElem ;
46 virtual const char* binningName()
const {
return _binningName.c_str() ; }
47 virtual FuncCacheElem* createCache(
const RooArgSet* nset)
const ;
48 virtual const char* inputBaseName()
const ;
49 virtual RooArgSet* actualObservables(
const RooArgSet& nset)
const ;
50 virtual RooArgSet* actualParameters(
const RooArgSet& nset)
const ;
51 virtual void fillCacheObject(FuncCacheElem& cacheFunc)
const ;
52 virtual Double_t evaluate()
const ;
54 virtual const char* payloadUniqueSuffix()
const {
return func.arg().aggregateCacheUniqueSuffix() ; }
58 std::string _binningName ;
62 ClassDef(RooNumRunningInt,1)