Logo ROOT  
Reference Guide
RooIntegralMorph::MorphCacheElem Class Reference

Definition at line 53 of file RooIntegralMorph.h.

Public Member Functions

 MorphCacheElem (RooIntegralMorph &self, const RooArgSet *nset)
 Construct of cache element, copy relevant input from RooIntegralMorph, create the cdfs from the input p.d.fs and instantiate the root finders on the cdfs to perform the inversion. More...
 
 ~MorphCacheElem ()
 Destructor. More...
 
void calculate (TIterator *iter)
 Calculate shape of p.d.f for x,alpha values defined by dIter iterator over cache histogram. More...
 
virtual RooArgList containedArgs (Action)
 Return all RooAbsArg components contained in this cache. More...
 
- Public Member Functions inherited from RooAbsCachedPdf::PdfCacheElem
 PdfCacheElem (const RooAbsCachedPdf &self, const RooArgSet *nset)
 Constructor of cache object which owns RooDataHist cache histogram, RooHistPdf pdf that represents is shape and RooChangeTracker meta object that tracks changes in listed dependent parameter of cache. More...
 
virtual ~PdfCacheElem ()
 Cache element destructor. More...
 
virtual RooArgList containedArgs (Action)
 Returns all RooAbsArg objects contained in the cache element. More...
 
RooDataHisthist ()
 
const RooArgSetnset ()
 
RooChangeTrackerparamTracker ()
 
RooHistPdfpdf ()
 
virtual void printCompactTreeHook (std::ostream &, const char *, Int_t, Int_t)
 Print contents of cache when printing self as part of object tree. More...
 
- Public Member Functions inherited from RooAbsCacheElement
 RooAbsCacheElement ()
 
virtual ~RooAbsCacheElement ()
 
virtual RooArgList containedArgs (Action)=0
 
virtual void findConstantNodes (const RooArgSet &obs, RooArgSet &cacheList, RooLinkedList &processedNodes)
 Interface for constant term optimization calls. More...
 
virtual void operModeHook (RooAbsArg::OperMode)
 Interface for operation mode change calls. More...
 
virtual void optimizeCacheMode (const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
 Interface for cache optimization calls. More...
 
virtual void printCompactTreeHook (std::ostream &, const char *, Int_t curElem, Int_t totElem)
 Hook function to print cache guts in tree printing mode of RooAbsArgs. More...
 
virtual Bool_t redirectServersHook (const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
 Interface for server redirect calls. More...
 
void setOwner (RooAbsArg *owner)
 

Protected Member Functions

Int_t binX (Double_t x)
 Return the bin number enclosing the given x value. More...
 
Double_t calcX (Double_t y, Bool_t &ok)
 Calculate the x value of the output p.d.f at the given cdf value y. More...
 
void fillGap (Int_t ixlo, Int_t ixhi, Double_t splitPoint=0.5)
 Fill all empty histogram bins between bins ixlo and ixhi. More...
 
void findRange ()
 Determine which range of y values can be mapped to x values from the numeric inversion of the input c.d.fs. More...
 
void interpolateGap (Int_t ixlo, Int_t ixhi)
 Fill empty histogram bins between ixlo and ixhi with values obtained from linear interpolation of ixlo,ixhi elements. More...
 

Protected Attributes

RooAbsReal_alpha
 
RooAbsReal_c1
 
RooAbsReal_c2
 
std::vector< Double_t_calcX
 
RooAbsFunc_cb1
 
RooAbsFunc_cb2
 
Int_t _ccounter
 
RooArgSet_nset
 
RooAbsPdf_pdf1
 
RooAbsPdf_pdf2
 
RooBrentRootFinder_rf1
 
RooBrentRootFinder_rf2
 
RooIntegralMorph_self
 
RooRealVar_x
 
std::vector< Double_t_yatX
 
Int_t _yatXmax
 
Int_t _yatXmin
 
Double_t _ycutoff
 
- Protected Attributes inherited from RooAbsCacheElement
RooAbsArg_owner
 

Additional Inherited Members

- Public Types inherited from RooAbsCacheElement
enum  Action { OperModeChange , OptimizeCaching , FindConstantNodes }
 

#include <RooIntegralMorph.h>

Inheritance diagram for RooIntegralMorph::MorphCacheElem:
[legend]

Constructor & Destructor Documentation

◆ MorphCacheElem()

RooIntegralMorph::MorphCacheElem::MorphCacheElem ( RooIntegralMorph self,
const RooArgSet nset 
)

Construct of cache element, copy relevant input from RooIntegralMorph, create the cdfs from the input p.d.fs and instantiate the root finders on the cdfs to perform the inversion.

Definition at line 244 of file RooIntegralMorph.cxx.

◆ ~MorphCacheElem()

RooIntegralMorph::MorphCacheElem::~MorphCacheElem ( )

Destructor.

Definition at line 280 of file RooIntegralMorph.cxx.

Member Function Documentation

◆ binX()

Int_t RooIntegralMorph::MorphCacheElem::binX ( Double_t  x)
protected

Return the bin number enclosing the given x value.

Definition at line 314 of file RooIntegralMorph.cxx.

◆ calculate()

void RooIntegralMorph::MorphCacheElem::calculate ( TIterator iter)

Calculate shape of p.d.f for x,alpha values defined by dIter iterator over cache histogram.

Definition at line 325 of file RooIntegralMorph.cxx.

◆ calcX()

Double_t RooIntegralMorph::MorphCacheElem::calcX ( Double_t  y,
Bool_t ok 
)
protected

Calculate the x value of the output p.d.f at the given cdf value y.

The ok boolean is filled with the success status of the operation.

Definition at line 292 of file RooIntegralMorph.cxx.

◆ containedArgs()

RooArgList RooIntegralMorph::MorphCacheElem::containedArgs ( Action  action)
virtual

Return all RooAbsArg components contained in this cache.

Reimplemented from RooAbsCachedPdf::PdfCacheElem.

Definition at line 224 of file RooIntegralMorph.cxx.

◆ fillGap()

void RooIntegralMorph::MorphCacheElem::fillGap ( Int_t  ixlo,
Int_t  ixhi,
Double_t  splitPoint = 0.5 
)
protected

Fill all empty histogram bins between bins ixlo and ixhi.

The value of 'splitPoint' defines the split point for the recursive division strategy to fill the gaps If the midpoint value of y is very close to the midpoint in x, use interpolation to fill the gaps, otherwise the intervals again.

Definition at line 447 of file RooIntegralMorph.cxx.

◆ findRange()

void RooIntegralMorph::MorphCacheElem::findRange ( )
protected

Determine which range of y values can be mapped to x values from the numeric inversion of the input c.d.fs.

Start with a y range of [0.1-0.9] and push boundaries outward with a factor of 1/sqrt(10). Stop iteration if inverted x values no longer change

Definition at line 560 of file RooIntegralMorph.cxx.

◆ interpolateGap()

void RooIntegralMorph::MorphCacheElem::interpolateGap ( Int_t  ixlo,
Int_t  ixhi 
)
protected

Fill empty histogram bins between ixlo and ixhi with values obtained from linear interpolation of ixlo,ixhi elements.

Definition at line 531 of file RooIntegralMorph.cxx.

Member Data Documentation

◆ _alpha

RooAbsReal* RooIntegralMorph::MorphCacheElem::_alpha
protected

Definition at line 73 of file RooIntegralMorph.h.

◆ _c1

RooAbsReal* RooIntegralMorph::MorphCacheElem::_c1
protected

Definition at line 74 of file RooIntegralMorph.h.

◆ _c2

RooAbsReal* RooIntegralMorph::MorphCacheElem::_c2
protected

Definition at line 75 of file RooIntegralMorph.h.

◆ _calcX

std::vector<Double_t> RooIntegralMorph::MorphCacheElem::_calcX
protected

Definition at line 82 of file RooIntegralMorph.h.

◆ _cb1

RooAbsFunc* RooIntegralMorph::MorphCacheElem::_cb1
protected

Definition at line 76 of file RooIntegralMorph.h.

◆ _cb2

RooAbsFunc* RooIntegralMorph::MorphCacheElem::_cb2
protected

Definition at line 77 of file RooIntegralMorph.h.

◆ _ccounter

Int_t RooIntegralMorph::MorphCacheElem::_ccounter
protected

Definition at line 84 of file RooIntegralMorph.h.

◆ _nset

RooArgSet* RooIntegralMorph::MorphCacheElem::_nset
protected

Definition at line 69 of file RooIntegralMorph.h.

◆ _pdf1

RooAbsPdf* RooIntegralMorph::MorphCacheElem::_pdf1
protected

Definition at line 70 of file RooIntegralMorph.h.

◆ _pdf2

RooAbsPdf* RooIntegralMorph::MorphCacheElem::_pdf2
protected

Definition at line 71 of file RooIntegralMorph.h.

◆ _rf1

RooBrentRootFinder* RooIntegralMorph::MorphCacheElem::_rf1
protected

Definition at line 78 of file RooIntegralMorph.h.

◆ _rf2

RooBrentRootFinder* RooIntegralMorph::MorphCacheElem::_rf2
protected

Definition at line 79 of file RooIntegralMorph.h.

◆ _self

RooIntegralMorph* RooIntegralMorph::MorphCacheElem::_self
protected

Definition at line 68 of file RooIntegralMorph.h.

◆ _x

RooRealVar* RooIntegralMorph::MorphCacheElem::_x
protected

Definition at line 72 of file RooIntegralMorph.h.

◆ _yatX

std::vector<Double_t> RooIntegralMorph::MorphCacheElem::_yatX
protected

Definition at line 81 of file RooIntegralMorph.h.

◆ _yatXmax

Int_t RooIntegralMorph::MorphCacheElem::_yatXmax
protected

Definition at line 83 of file RooIntegralMorph.h.

◆ _yatXmin

Int_t RooIntegralMorph::MorphCacheElem::_yatXmin
protected

Definition at line 83 of file RooIntegralMorph.h.

◆ _ycutoff

Double_t RooIntegralMorph::MorphCacheElem::_ycutoff
protected

Definition at line 86 of file RooIntegralMorph.h.

Libraries for RooIntegralMorph::MorphCacheElem:
[legend]

The documentation for this class was generated from the following files: