62 double calcX(
double y,
bool& ok) ;
68 std::unique_ptr<RooArgSet>
_nset ;
73 std::unique_ptr<RooAbsReal>
_c1 ;
74 std::unique_ptr<RooAbsReal>
_c2 ;
75 std::unique_ptr<RooAbsFunc>
_cb1 ;
76 std::unique_ptr<RooAbsFunc>
_cb2 ;
77 std::unique_ptr<RooBrentRootFinder>
_rf1;
78 std::unique_ptr<RooBrentRootFinder>
_rf2;
#define ClassDefOverride(name, id)
Abstract base class for p.d.f.s that need or want to cache their evaluate() output in a RooHistPdf de...
RooObjCacheManager _cacheMgr
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Implement the abstract 1-dimensional root finding interface using the Brent-Decker method.
std::vector< double > _yatX
~MorphCacheElem() override
Destructor.
std::unique_ptr< RooBrentRootFinder > _rf1
std::unique_ptr< RooAbsReal > _c1
void calculate(TIterator *iter)
Calculate shape of p.d.f for x,alpha values defined by dIter iterator over cache histogram.
void interpolateGap(Int_t ixlo, Int_t ixhi)
Fill empty histogram bins between ixlo and ixhi with values obtained from linear interpolation of ixl...
std::unique_ptr< RooAbsFunc > _cb2
void fillGap(Int_t ixlo, Int_t ixhi, double splitPoint=0.5)
Fill all empty histogram bins between bins ixlo and ixhi.
std::unique_ptr< RooArgSet > _nset
void findRange()
Determine which range of y values can be mapped to x values from the numeric inversion of the input c...
std::unique_ptr< RooAbsFunc > _cb1
std::unique_ptr< RooBrentRootFinder > _rf2
std::vector< double > _calcX
RooArgList containedArgs(Action) override
Return all RooAbsArg components contained in this cache.
std::unique_ptr< RooAbsReal > _c2
double calcX(double y, bool &ok)
Calculate the x value of the output p.d.f at the given cdf value y.
Int_t binX(double x)
Return the bin number enclosing the given x value.
Class RooIntegralMorph is an implementation of the histogram interpolation technique described by Ale...
RooIntegralMorph()=default
RooFit::OwningPtr< RooArgSet > actualObservables(const RooArgSet &nset) const override
Observable to be cached for given choice of normalization.
bool selfNormalized() const override
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
PdfCacheElem * createCache(const RooArgSet *nset) const override
Create and return a derived MorphCacheElem.
const char * inputBaseName() const override
Return base name component for cache components in this case a string encoding the names of both end ...
void preferredObservableScanOrder(const RooArgSet &obs, RooArgSet &orderedObs) const override
Indicate to the RooAbsCachedPdf base class that for the filling of the cache the traversal of the x s...
void fillCacheObject(PdfCacheElem &cache) const override
Fill the cache with the interpolated shape.
void setCacheAlpha(bool flag)
TObject * clone(const char *newname) const override
double evaluate() const override
Dummy.
RooFit::OwningPtr< RooArgSet > actualParameters(const RooArgSet &nset) const override
Parameters of the cache.
void sterilize() override
Clear the cache payload but retain slot mapping w.r.t to normalization and integration sets.
Variable that can be changed from the outside.
1-D histogram with a double per channel (see TH1 documentation)
Iterator abstract base class.
Mother of all ROOT objects.
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...