ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RooNumRunningInt.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * *
4  * Copyright (c) 2000-2005, Regents of the University of California *
5  * and Stanford University. All rights reserved. *
6  * *
7  * Redistribution and use in source and binary forms, *
8  * with or without modification, are permitted according to the terms *
9  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
10  *****************************************************************************/
11 
12 #ifndef ROONUMRUNNINGINT
13 #define ROONUMRUNNINGINT
14 
15 #include "RooAbsCachedReal.h"
16 #include "RooRealProxy.h"
17 #include "RooAbsReal.h"
18 
19 
21 public:
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() ;
26 
27 protected:
28 
29  class RICacheElem: public FuncCacheElem {
30  public:
31  RICacheElem(const RooNumRunningInt& ri, const RooArgSet* nset) ;
32  ~RICacheElem() ;
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) ;
37 
42 
43  } ;
44 
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 ;
53 
54  virtual const char* payloadUniqueSuffix() const { return func.arg().aggregateCacheUniqueSuffix() ; }
55 
56  RooRealProxy func ; // Proxy to functions whose running integral is calculated
57  RooRealProxy x ; // Intergrated observable
58  std::string _binningName ; // Name of binning to be used for cache histogram
59 
60 private:
61 
62  ClassDef(RooNumRunningInt,1) // Numeric calculator for running integral of a given function
63 
64 };
65 
66 #endif
virtual const char * binningName() const
RooNumRunningInt(const char *name, const char *title, RooAbsReal &_func, RooRealVar &_x, const char *binningName="cache")
Construct running integral of function '_func' over x_print from the lower bound on _x to the present...
virtual RooArgSet * actualObservables(const RooArgSet &nset) const
Return observable in nset to be cached by RooAbsCachedPdf this is always the x observable that is int...
const char * aggregateCacheUniqueSuffix() const
Definition: RooAbsArg.cxx:2354
void addRange(Int_t ixlo, Int_t ixhi, Int_t nbins)
Fill all empty histogram bins in the range [ixlo,ixhi] where nbins is the total number of histogram b...
Class RooNumRunningInt is an implementation of RooAbsCachedReal that represents a running integral t...
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
int nbins[3]
const RooAbsReal & arg() const
Definition: RooRealProxy.h:43
virtual FuncCacheElem * createCache(const RooArgSet *nset) const
Create custom cache element for running integral calculations.
#define ClassDef(name, id)
Definition: Rtypes.h:254
std::string _binningName
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:37
virtual ~RooNumRunningInt()
Destructor.
virtual void fillCacheObject(FuncCacheElem &cacheFunc) const
Fill the cache object by calling its calculate() method.
RooAbsCachedReal is the abstract base class for functions that need or want to cache their evaluate()...
RooRealProxy func
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
void addPoint(Int_t ix)
Sample function at bin ix.
friend class FuncCacheElem
virtual const char * payloadUniqueSuffix() const
double Double_t
Definition: RtypesCore.h:55
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
void calculate(Bool_t cdfmode)
Calculate the numeric running integral and store the result in the cache histogram provided by RooAbs...
virtual TObject * clone(const char *newname) const
virtual const char * inputBaseName() const
Return unique name for RooAbsCachedPdf cache components constructed from input function name...
#define name(a, b)
Definition: linkTestLib0.cpp:5
Mother of all ROOT objects.
Definition: TObject.h:58
virtual RooArgSet * actualParameters(const RooArgSet &nset) const
Return the parameters of the cache created by RooAbsCachedPdf.
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
RICacheElem(const RooNumRunningInt &ri, const RooArgSet *nset)
Construct RunningIntegral CacheElement.
virtual RooArgList containedArgs(Action)
Return all RooAbsArg components contained in cache element.
virtual Double_t evaluate() const
Dummy function that is never called.