Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooIntegralMorph::MorphCacheElem Class Reference

Definition at line 55 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.
 
 ~MorphCacheElem () override
 Destructor.
 
void calculate (TIterator *iter)
 Calculate shape of p.d.f for x,alpha values defined by dIter iterator over cache histogram.
 
RooArgList containedArgs (Action) override
 Return all RooAbsArg components contained in this cache.
 
- 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.
 
RooArgList containedArgs (Action) override
 Returns all RooAbsArg objects contained in the cache element.
 
RooDataHisthist ()
 
const RooArgSetnset ()
 
RooChangeTrackerparamTracker ()
 
RooHistPdfpdf ()
 
void printCompactTreeHook (std::ostream &, const char *, Int_t, Int_t) override
 Print contents of cache when printing self as part of object tree.
 
- Public Member Functions inherited from RooAbsCacheElement
 RooAbsCacheElement ()
 
virtual ~RooAbsCacheElement ()
 
virtual void findConstantNodes (const RooArgSet &obs, RooArgSet &cacheList, RooLinkedList &processedNodes)
 Interface for constant term optimization calls.
 
virtual TClassIsA () const
 
virtual void operModeHook (RooAbsArg::OperMode)
 Interface for changes of operation mode.
 
virtual void optimizeCacheMode (const RooArgSet &obs, RooArgSet &optNodes, RooLinkedList &processedNodes)
 Interface for cache optimization calls.
 
virtual bool redirectServersHook (const RooAbsCollection &, bool, bool, bool)
 Interface for server redirect calls.
 
void setOwner (RooAbsArg *owner)
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Protected Member Functions

Int_t binX (double x)
 Return the bin number enclosing the given x value.
 
double calcX (double y, bool &ok)
 Calculate the x value of the output p.d.f at the given cdf value y.
 
void fillGap (Int_t ixlo, Int_t ixhi, double splitPoint=0.5)
 Fill all empty histogram bins between bins ixlo and ixhi.
 
void findRange ()
 Determine which range of y values can be mapped to x values from the numeric inversion of the input c.d.fs.
 
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.
 

Protected Attributes

RooAbsReal_alpha
 
std::unique_ptr< RooAbsReal_c1
 
std::unique_ptr< RooAbsReal_c2
 
std::vector< double_calcX
 
RooAbsFunc_cb1
 
RooAbsFunc_cb2
 
Int_t _ccounter
 
std::unique_ptr< RooArgSet_nset
 
RooAbsPdf_pdf1
 
RooAbsPdf_pdf2
 
std::unique_ptr< RooBrentRootFinder_rf1
 
std::unique_ptr< RooBrentRootFinder_rf2
 
RooIntegralMorph_self
 
RooRealVar_x
 
std::vector< double_yatX
 
Int_t _yatXmax
 
Int_t _yatXmin
 
double _ycutoff
 
- Protected Attributes inherited from RooAbsCacheElement
RooAbsArg_owner
 ! Pointer to owning RooAbsArg
 

Additional Inherited Members

- Public Types inherited from RooAbsCacheElement
enum  Action { OperModeChange , OptimizeCaching , FindConstantNodes }
 
- Static Public Member Functions inherited from RooAbsCacheElement
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

#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 240 of file RooIntegralMorph.cxx.

◆ ~MorphCacheElem()

RooIntegralMorph::MorphCacheElem::~MorphCacheElem ( )
override

Destructor.

Definition at line 276 of file RooIntegralMorph.cxx.

Member Function Documentation

◆ binX()

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

Return the bin number enclosing the given x value.

Definition at line 306 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 317 of file RooIntegralMorph.cxx.

◆ calcX()

double RooIntegralMorph::MorphCacheElem::calcX ( double  y,
bool 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 284 of file RooIntegralMorph.cxx.

◆ containedArgs()

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

Return all RooAbsArg components contained in this cache.

Implements RooAbsCacheElement.

Definition at line 220 of file RooIntegralMorph.cxx.

◆ fillGap()

void RooIntegralMorph::MorphCacheElem::fillGap ( Int_t  ixlo,
Int_t  ixhi,
double  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 446 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 559 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 530 of file RooIntegralMorph.cxx.

Member Data Documentation

◆ _alpha

RooAbsReal* RooIntegralMorph::MorphCacheElem::_alpha
protected

Definition at line 75 of file RooIntegralMorph.h.

◆ _c1

std::unique_ptr<RooAbsReal> RooIntegralMorph::MorphCacheElem::_c1
protected

Definition at line 76 of file RooIntegralMorph.h.

◆ _c2

std::unique_ptr<RooAbsReal> RooIntegralMorph::MorphCacheElem::_c2
protected

Definition at line 77 of file RooIntegralMorph.h.

◆ _calcX

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

Definition at line 84 of file RooIntegralMorph.h.

◆ _cb1

RooAbsFunc* RooIntegralMorph::MorphCacheElem::_cb1
protected

Definition at line 78 of file RooIntegralMorph.h.

◆ _cb2

RooAbsFunc* RooIntegralMorph::MorphCacheElem::_cb2
protected

Definition at line 79 of file RooIntegralMorph.h.

◆ _ccounter

Int_t RooIntegralMorph::MorphCacheElem::_ccounter
protected

Definition at line 86 of file RooIntegralMorph.h.

◆ _nset

std::unique_ptr<RooArgSet> RooIntegralMorph::MorphCacheElem::_nset
protected

Definition at line 71 of file RooIntegralMorph.h.

◆ _pdf1

RooAbsPdf* RooIntegralMorph::MorphCacheElem::_pdf1
protected

Definition at line 72 of file RooIntegralMorph.h.

◆ _pdf2

RooAbsPdf* RooIntegralMorph::MorphCacheElem::_pdf2
protected

Definition at line 73 of file RooIntegralMorph.h.

◆ _rf1

std::unique_ptr<RooBrentRootFinder> RooIntegralMorph::MorphCacheElem::_rf1
protected

Definition at line 80 of file RooIntegralMorph.h.

◆ _rf2

std::unique_ptr<RooBrentRootFinder> RooIntegralMorph::MorphCacheElem::_rf2
protected

Definition at line 81 of file RooIntegralMorph.h.

◆ _self

RooIntegralMorph* RooIntegralMorph::MorphCacheElem::_self
protected

Definition at line 70 of file RooIntegralMorph.h.

◆ _x

RooRealVar* RooIntegralMorph::MorphCacheElem::_x
protected

Definition at line 74 of file RooIntegralMorph.h.

◆ _yatX

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

Definition at line 83 of file RooIntegralMorph.h.

◆ _yatXmax

Int_t RooIntegralMorph::MorphCacheElem::_yatXmax
protected

Definition at line 85 of file RooIntegralMorph.h.

◆ _yatXmin

Int_t RooIntegralMorph::MorphCacheElem::_yatXmin
protected

Definition at line 85 of file RooIntegralMorph.h.

◆ _ycutoff

double RooIntegralMorph::MorphCacheElem::_ycutoff
protected

Definition at line 88 of file RooIntegralMorph.h.

Libraries for RooIntegralMorph::MorphCacheElem:

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