npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::QuantileRegressionOnHisto< Numeric > Class Template Reference

#include <LocalQuantileRegression.hh>

Inheritance diagram for npstat::QuantileRegressionOnHisto< Numeric >:
npstat::QuantileRegressionBase< double > npstat::AbsArrayProjector< Numeric, double > npstat::CensoredQuantileRegressionOnHisto< Numeric, Num2 >

Public Member Functions

 QuantileRegressionOnHisto (const HistoND< Numeric > &histo, const QuadraticOrthoPolyND &poly, double quantile)
 
const HistoND< Numeric > & getHisto () const
 
virtual void clear ()
 
virtual double result ()
 
virtual void process (const unsigned *index, unsigned indexLen, unsigned long linearIndex, const Numeric &value)
 
- Public Member Functions inherited from npstat::QuantileRegressionBase< double >
 QuantileRegressionBase (const QuadraticOrthoPolyND &poly, double quantile)
 
unsigned dim () const
 
double quantile () const
 
const QuadraticOrthoPolyNDgetPoly () const
 
const std::vector< double > & lastCoeffs () const
 
void setRegressionBox (const BoxND< double > &box)
 
void setLinearMapping (const double *location, const double *scale, unsigned locationAndScaleArraySize)
 
void empiricalC0 (double *c0, double *c0Uncertainty, double *npoints)
 
double linearLoss (const double *coeffs, unsigned nCoeffs)
 

Protected Attributes

const HistoAxislastAxis_
 
const double halfbin_
 
const Numeric zero_
 
const HistoND< Numeric > & histo_
 
BoxND< int > binBox_
 
- Protected Attributes inherited from npstat::QuantileRegressionBase< double >
const QuadraticOrthoPolyNDpoly_
 
BoxND< double > regressionBox_
 
std::vector< double > location_
 
std::vector< double > scale_
 
std::vector< double > coords_
 
std::vector< double > coeffs_
 
long double loss_
 
const double quantile_
 
const double onemq_
 
const unsigned mydim_
 

Additional Inherited Members

- Protected Member Functions inherited from npstat::QuantileRegressionBase< double >
void resetAccumulators ()
 

Detailed Description

template<typename Numeric>
class npstat::QuantileRegressionOnHisto< Numeric >

Quantile regression on histograms

Constructor & Destructor Documentation

◆ QuantileRegressionOnHisto()

template<typename Numeric >
npstat::QuantileRegressionOnHisto< Numeric >::QuantileRegressionOnHisto ( const HistoND< Numeric > &  histo,
const QuadraticOrthoPolyND poly,
double  quantile 
)

Constructor arguments are as follows:

histo – Histogrammed data. It is assumed that the histogram is filled with actual event counts and that the quantity which is being regressed is used for the last histogram axis. The dimensionality of the histogram therefore must be larger by 1 than the dimensionality of the QuadraticOrthoPolyND object. Histogram overflow bins will be ignored.

poly – the set of orthogonal polynomial used to construct the local regression surface.

quantile – The quantile to determine (between 0.0 and 1.0).

This object will not own "histo" or "poly" objects. These objects must still exist when this QuantileRegressionOnHisto object is in use.

Member Function Documentation

◆ clear()

template<typename Numeric >
virtual void npstat::QuantileRegressionOnHisto< Numeric >::clear ( )
inlinevirtual

Method from AbsArrayProjector we have to implement

Implements npstat::AbsArrayProjector< Numeric, double >.

◆ getHisto()

template<typename Numeric >
const HistoND<Numeric>& npstat::QuantileRegressionOnHisto< Numeric >::getHisto ( ) const
inline

Examine the data

◆ process()

template<typename Numeric >
virtual void npstat::QuantileRegressionOnHisto< Numeric >::process ( const unsigned *  index,
unsigned  indexLen,
unsigned long  linearIndex,
const Numeric &  value 
)
virtual

◆ result()

template<typename Numeric >
virtual double npstat::QuantileRegressionOnHisto< Numeric >::result ( )
inlinevirtual

Return the result at the end of array processing

Implements npstat::AbsArrayProjector< Numeric, double >.


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