47 func(
"func",
"func",this,_func),
74 static std::string
ret;
89 _ax.resize(
hist()->numEntries());
90 _ay.resize(
hist()->numEntries());
109 ret.add(FuncCacheElem::containedArgs(action)) ;
127 double xsave =
_self->x ;
130 Int_t nInitRange=32 ;
131 for (
int i=1 ; i<=nInitRange ; i++) {
132 Int_t hi = (i*nbins)/nInitRange -1 ;
139 for (
int i=1 ; i<nbins ; i++) {
144 double binv = (
_self->x.max()-
_self->x.min())/nbins ;
145 for (
int i=0 ; i<nbins ; i++) {
150 hist()->set(i,
_ay[i]*binv, 0.);
155 func()->setCdfBoundaries(
true) ;
192 Int_t ixmid = (ixlo+ixhi)/2 ;
196 double yInt =
_ay[ixlo] + (
_ay[ixhi]-
_ay[ixlo])*(ixmid-ixlo)/(ixhi-ixlo) ;
199 if (std::abs(yInt-
_ay[ixmid])*(
_ax[nbins-1]-
_ax[0])>1
e-6) {
203 for (
Int_t j=ixlo+1 ; j<ixmid ; j++) {
204 _ay[j] =
_ay[ixlo] + (
_ay[ixmid]-
_ay[ixlo])*(j-ixlo)/(ixmid-ixlo) ;
206 for (
Int_t j=ixmid+1 ; j<ixhi ; j++) {
207 _ay[j] =
_ay[ixmid] + (
_ay[ixhi]-
_ay[ixmid])*(j-ixmid)/(ixhi-ixmid) ;
258 ret->remove(
x.arg(),
true,
true) ;
277 std::cout <<
"RooNumRunningInt::evaluate(" <<
GetName() <<
")" << std::endl ;
int Int_t
Signed integer 4 bytes (int).
FuncCacheElem(const RooAbsCachedReal &self, const RooArgSet *nset)
Constructor of cache storage unit class.
void setInterpolationOrder(Int_t order)
Set interpolation order of RooHistFunct representing cache histogram.
virtual Int_t numEntries() const
Return number of entries in dataset, i.e., count unweighted entries.
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
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.
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...
std::string _binningName
Name of binning to be used for cache histogram.
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...
RooRealProxy x
Integrated observable.
void fillCacheObject(FuncCacheElem &cacheFunc) const override
Fill the cache object by calling its calculate() method.
Variable that can be changed from the outside.
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...