54   func(
"func",
"func",this,
_func),
 
   56   _binningName(bname?bname:
"cache")
 
   69   func(
"func",this,other.func),
 
   71   _binningName(other._binningName)
 
  106  _ax.resize(
hist()->numEntries());
 
  107  _ay.resize(
hist()->numEntries());
 
  126  ret.
add(FuncCacheElem::containedArgs(action)) ;
 
  142  Int_t nbins = hist()->numEntries() ;
 
  144  double xsave = _self->x ;
 
  147  Int_t nInitRange=32 ;
 
  148  for (
int i=1 ; i<=nInitRange ; i++) {
 
  149    Int_t hi = (i*nbins)/nInitRange -1 ;
 
  151    addRange(lo,
hi,nbins) ;
 
  156  for (
int i=1 ; i<nbins ; i++) {
 
  161  double binv = (_self->x.max()-_self->x.min())/nbins ;
 
  162  for (
int i=0 ; i<nbins ; i++) {
 
  165      hist()->set(i, _ay[i]/_ay[nbins-1], 0.);
 
  167      hist()->set(i, _ay[i]*binv, 0.);
 
  172    func()->setCdfBoundaries(
true) ;
 
  209  Int_t ixmid = (ixlo+ixhi)/2 ;
 
  213  double yInt = _ay[ixlo] + (_ay[ixhi]-_ay[ixlo])*(ixmid-ixlo)/(ixhi-ixlo) ;
 
  216  if (std::abs(yInt-_ay[ixmid])*(_ax[nbins-1]-_ax[0])>1
e-6) {
 
  217    addRange(ixlo,ixmid,nbins) ;
 
  218    addRange(ixmid,ixhi,nbins) ;
 
  220    for (
Int_t j=ixlo+1 ; j<ixmid ; j++) {
 
  221      _ay[j] = _ay[ixlo] + (_ay[ixmid]-_ay[ixlo])*(j-ixlo)/(ixmid-ixlo) ;
 
  223    for (
Int_t j=ixmid+1 ; j<ixhi ; j++) {
 
  224      _ay[j] = _ay[ixmid] + (_ay[ixhi]-_ay[ixmid])*(j-ixmid)/(ixhi-ixmid) ;
 
  237  _self->x = _xx->getVal() ;
 
  238  _ay[ix] = _self->func.arg().getVal(*_xx) ;
 
  276  ret->remove(
x.
arg(),
true,
true) ;
 
  295  cout << 
"RooNumRunningInt::evaluate(" << 
GetName() << 
")" << endl ;
 
RooFit::OwningPtr< RooArgSet > getParameters(const RooAbsData *data, bool stripDisconnected=true) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
 
RooAbsCachedReal is the abstract base class for functions that need or want to cache their evaluate()...
 
void setInterpolationOrder(Int_t order)
Set interpolation order of RooHistFunct representing cache histogram.
 
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
 
RooAbsArg * find(const char *name) const
Find object with given name in list.
 
virtual Int_t numEntries() const
Return number of entries in dataset, i.e., count unweighted entries.
 
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
 
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
 
RooArgList is a container object that can hold multiple RooAbsArg objects.
 
RooArgSet is a container object that can hold multiple RooAbsArg objects.
 
const RooArgSet * get() const override
Get bin centre of current bin.
 
std::vector< double > _ay
 
std::vector< double > _ax
 
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...
 
RooArgList containedArgs(Action) override
Return all RooAbsArg components contained in cache element.
 
void addPoint(Int_t ix)
Sample function at bin ix.
 
void calculate(bool cdfmode)
Calculate the numeric running integral and store the result in the cache histogram provided by RooAbs...
 
RICacheElem(const RooNumRunningInt &ri, const RooArgSet *nset)
Construct RunningIntegral CacheElement.
 
Class RooNumRunningInt is an implementation of RooAbsCachedReal that represents a running integral.
 
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...
 
double evaluate() const override
Dummy function that is never called.
 
const char * inputBaseName() const override
Return unique name for RooAbsCachedPdf cache components constructed from input function name.
 
RooFit::OwningPtr< RooArgSet > actualParameters(const RooArgSet &nset) const override
Return the parameters of the cache created by RooAbsCachedPdf.
 
RooRealProxy func
Proxy to functions whose running integral is calculated.
 
FuncCacheElem * createCache(const RooArgSet *nset) const override
Create custom cache element for running integral calculations.
 
RooFit::OwningPtr< RooArgSet > actualObservables(const RooArgSet &nset) const override
Return observable in nset to be cached by RooAbsCachedPdf this is always the x observable that is int...
 
~RooNumRunningInt() override
Destructor.
 
RooRealProxy x
Intergrated observable.
 
void fillCacheObject(FuncCacheElem &cacheFunc) const override
Fill the cache object by calling its calculate() method.
 
RooRealVar represents a variable that can be changed from the outside.
 
const T & arg() const
Return reference to object held in proxy.
 
const char * GetName() const override
Returns name of object.
 
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...