General purpose class for multi-dimensional probability density function (PDF).
More...
|
| JMultiPDF () |
| Default constructor. More...
|
|
template<class T > |
| JMultiPDF (const T &input) |
| Constructor. More...
|
|
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t > |
void | insert (const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input) |
| Insert multi-dimensional input. More...
|
|
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t > |
void | insert (const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input) |
| Insert multi-dimensional input. More...
|
|
const JTransformableMultiFunction & | getTransformableMultiFunction () const |
| Get transformable multidimensional function. More...
|
|
JTransformableMultiFunction & | getTransformableMultiFunction () |
| Get transformable multidimensional function. More...
|
|
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > |
void | insert (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input) |
| Insert multidimensional input. More...
|
|
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > |
void | insert (const JMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input) |
| Insert multidimensional input. More...
|
|
template<class JMultiFunction_t > |
void | add (const JMultiFunction_t &input) |
| Add function. More...
|
|
template<class... Args> |
result_type | operator() (const Args &...args) const |
| Multidimensional interpolation method call. More...
|
|
virtual result_type | evaluate (const argument_type *pX) const override |
| Recursive function value evaluation. More...
|
|
virtual void | transform (const transformer_type &transformer) override |
| Application of weight function and coordinate transformation. More...
|
|
virtual void | transform (const transformer_type &transformer)=0 |
| Application of transformation. More...
|
|
const JMultiFunction & | getMultiFunction () const |
| Get multidimensional function. More...
|
|
JMultiFunction & | getMultiFunction () |
| Get multidimensional function. More...
|
|
void | compile () |
| Compilation. More...
|
|
void | setExceptionHandler (const supervisor_type &supervisor) |
| Set the supervisor for handling of exceptions. More...
|
|
void | load (const char *file_name) |
| Load from input file. More...
|
|
void | store (const char *file_name) const |
| Store to output file. More...
|
|
|
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t > |
void | insert (const JMultiKey< N, argument_type > &key, const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &input, const double weight) |
| Recursive method to insert multi-dimensional histogram at multi-dimensional key. More...
|
|
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t > |
void | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JHistogram1D< __JElement_t, __JContainer_t, __JDistance_t > &input, const double weight) |
| Termination method to insert multi-dimensional histogram at multi-dimensional key. More...
|
|
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t > |
void | insert (const JMultiKey< N, argument_type > &key, const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &input) |
| Insert multidimensional histogram at multidimensional key. More...
|
|
template<class __JValue_t > |
void | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const __JValue_t &input) |
| Convert one-dimensional histogram to PDF and insert result at given multidimensional key. More...
|
|
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
class JTOOLS::JMultiPDF< JFunction_t, JMaplist_t, JDistance_t >
General purpose class for multi-dimensional probability density function (PDF).
This class is a simple wrapper around the JTransformableMultiFunction class to properly convert a multi-dimensional histogram to a multi-dimensional PDF. In this, the histogram contents in each bin are divided by the summed weight of the multi-dimensional histogram and the width (c.q. area) of the multi-dimensional bin.
Definition at line 34 of file JMultiPDF.hh.
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void JTOOLS::JMultiPDF< JFunction_t, JMaplist_t, JDistance_t >::insert |
( |
const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > & |
input | ) |
|
|
inline |
Insert multi-dimensional input.
- Parameters
-
input | multi-dimensional histogram |
Definition at line 97 of file JMultiPDF.hh.
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
Recursive method to insert multi-dimensional histogram at multi-dimensional key.
- Parameters
-
key | multi-dimensional key |
input | multi-dimensional histogram |
weight | weight |
Definition at line 129 of file JMultiPDF.hh.
133 if (input.size() > 1) {
138 const double w =
weight * input.getDistance(i->getX(),
j->getX());
std::vector< double > weight
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t >
Termination method to insert multi-dimensional histogram at multi-dimensional key.
Convert one-dimensional histogram to PDF, normalise PDF with given weight and insert result at given multi-dimensional key.
- Parameters
-
key | multi-dimensional key |
input | histogram |
weight | weight |
Definition at line 158 of file JMultiPDF.hh.
std::vector< double > weight
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
Insert multidimensional input.
- Parameters
-
input | multidimensional function |
Definition at line 120 of file JMultiFunction.hh.
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
Insert multidimensional histogram at multidimensional key.
- Parameters
-
key | multidimensional key |
input | multidimensional histogram |
Definition at line 191 of file JMultiFunction.hh.
194 if (input.size() > 1) {