Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
JTOOLS::JResultPDF< JResult_t > Struct Template Reference

Data structure for result including value, first derivative and integrals of function. More...

#include <JResult.hh>

Inheritance diagram for JTOOLS::JResultPDF< JResult_t >:
JMATH::JMath< JResultPDF< JResult_t > >

Public Types

typedef JLANG::JClass
< JResult_t >::argument_type 
argument_type
 

Public Member Functions

 JResultPDF ()
 Default constructor. More...
 
 JResultPDF (argument_type __f, argument_type __fp, argument_type __v, argument_type __V)
 Constructor. More...
 
 JResultPDF (argument_type R, argument_type x, const JRange< JResult_t > &X)
 Constructor. More...
 
JResultPDFnegate ()
 Prefix unary minus for function value of PDF. More...
 
JResultPDFadd (const JResultPDF &value)
 Addition operator for function value of PDF. More...
 
JResultPDFsub (const JResultPDF &value)
 Subtraction operator for function value of PDF. More...
 
JResultPDFmul (const double value)
 Multiplication operator for function value of PDF. More...
 
JResultPDFdiv (const double value)
 Division operator for function value of PDF. More...
 
double getP () const
 Get probability of first hit. More...
 
double getChi2 () const
 Get chi2 of first hit. More...
 
double getDerivativeOfChi2 () const
 Get derivative of chi2 of first hit. More...
 
JResultPDF< JResult_t > & mul (const JNullType &object)
 Multiply with object. More...
 

Public Attributes

JResult_t f
 function value More...
 
JResult_t fp
 first derivative More...
 
JResult_t v
 integral <xmin,x] More...
 
JResult_t V
 integral <xmin,xmax> More...
 

Detailed Description

template<class JResult_t>
struct JTOOLS::JResultPDF< JResult_t >

Data structure for result including value, first derivative and integrals of function.

This data structure contains the following data mambers:

   JResultPDF::f   = function value;
   JResultPDF::fp  = first derivative;
   JResultPDF::v   = partial  integral;
   JResultPDF::V   = complete integral.

The partial and complete integrals are used to evaluate the probability of the first hit.

This class implements the JMATH::JMath interface.

Definition at line 211 of file JResult.hh.

Member Typedef Documentation

template<class JResult_t>
typedef JLANG::JClass<JResult_t>::argument_type JTOOLS::JResultPDF< JResult_t >::argument_type

Definition at line 215 of file JResult.hh.

Constructor & Destructor Documentation

template<class JResult_t>
JTOOLS::JResultPDF< JResult_t >::JResultPDF ( )
inline

Default constructor.

Definition at line 221 of file JResult.hh.

221  :
222  f (JMATH::zero),
223  fp(JMATH::zero),
224  v (JMATH::zero),
225  V (JMATH::zero)
226  {}
static const JZero zero
Function object to assign zero value.
Definition: JZero.hh:94
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JTOOLS::JResultPDF< JResult_t >::JResultPDF ( argument_type  __f,
argument_type  __fp,
argument_type  __v,
argument_type  __V 
)
inline

Constructor.

Parameters
__ffunction value
__fpfirst derivative
__vintegral <xmin,x]
__Vintegral <xmin,xmax>

Definition at line 237 of file JResult.hh.

240  :
241  f (__f ),
242  fp(__fp),
243  v (__v),
244  V (__V)
245  {}
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JTOOLS::JResultPDF< JResult_t >::JResultPDF ( argument_type  R,
argument_type  x,
const JRange< JResult_t > &  X 
)
inline

Constructor.

This constructor refers to the result of a signal with a constant rate R to produce an event occuring at the given moment x within the fixed range X.

Parameters
Rrate
xabscissa value
Xabscissa range

Definition at line 257 of file JResult.hh.

259  :
260  f (R),
261  fp(JMATH::zero),
262  v (R * (X.constrain(x) - X.getLowerLimit())),
263  V (R * (X.getUpperLimit() - X.getLowerLimit()))
264  {}
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:180
static const JZero zero
Function object to assign zero value.
Definition: JZero.hh:94
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:191
JResult_t f
function value
Definition: JResult.hh:387
T constrain(argument_type x) const
Constrain value to range.
Definition: JRange.hh:305
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389

Member Function Documentation

template<class JResult_t>
JResultPDF& JTOOLS::JResultPDF< JResult_t >::negate ( )
inline

Prefix unary minus for function value of PDF.

Returns
function value of PDF

Definition at line 272 of file JResult.hh.

273  {
274  f = -f;
275  fp = -fp;
276  v = -v;
277  V = -V;
278 
279  return *this;
280  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JResultPDF& JTOOLS::JResultPDF< JResult_t >::add ( const JResultPDF< JResult_t > &  value)
inline

Addition operator for function value of PDF.

Parameters
valuefunction value of PDF
Returns
function value of PDF

Definition at line 289 of file JResult.hh.

290  {
291  f += value.f;
292  fp += value.fp;
293  v += value.v;
294  V += value.V;
295 
296  return *this;
297  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JResultPDF& JTOOLS::JResultPDF< JResult_t >::sub ( const JResultPDF< JResult_t > &  value)
inline

Subtraction operator for function value of PDF.

Parameters
valuefunction value of PDF
Returns
function value of PDF

Definition at line 306 of file JResult.hh.

307  {
308  f -= value.f;
309  fp -= value.fp;
310  v -= value.v;
311  V -= value.V;
312 
313  return *this;
314  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JResultPDF& JTOOLS::JResultPDF< JResult_t >::mul ( const double  value)
inline

Multiplication operator for function value of PDF.

Parameters
valuemultiplication factor
Returns
function value of PDF

Definition at line 323 of file JResult.hh.

324  {
325  f *= value;
326  fp *= value;
327  v *= value;
328  V *= value;
329 
330  return *this;
331  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
JResultPDF& JTOOLS::JResultPDF< JResult_t >::div ( const double  value)
inline

Division operator for function value of PDF.

Parameters
valuedivision factor
Returns
function value of PDF

Definition at line 340 of file JResult.hh.

341  {
342  f /= value;
343  fp /= value;
344  v /= value;
345  V /= value;
346 
347  return *this;
348  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
double JTOOLS::JResultPDF< JResult_t >::getP ( ) const
inline

Get probability of first hit.

The probability is defined at the moment JResultPDF::f and JResultPDF::v have been evaluated and it is normalised to the total interval corresponding to JResultPDF::V.

Returns
probability

Definition at line 358 of file JResult.hh.

359  {
360  return exp(-v) * f / (1.0 - exp(-V));
361  }
JResult_t V
integral &lt;xmin,xmax&gt;
Definition: JResult.hh:390
JResult_t f
function value
Definition: JResult.hh:387
JResult_t v
integral &lt;xmin,x]
Definition: JResult.hh:389
template<class JResult_t>
double JTOOLS::JResultPDF< JResult_t >::getChi2 ( ) const
inline

Get chi2 of first hit.

The chi2 corresponds to -log(P), where P is the probability JResultPDF::f.

Returns
chi2

Definition at line 370 of file JResult.hh.

371  {
372  return -log(getP());
373  }
double getP() const
Get probability of first hit.
Definition: JResult.hh:358
template<class JResult_t>
double JTOOLS::JResultPDF< JResult_t >::getDerivativeOfChi2 ( ) const
inline

Get derivative of chi2 of first hit.

Returns
derivative

Definition at line 381 of file JResult.hh.

382  {
383  return fp/f - f;
384  }
JResult_t fp
first derivative
Definition: JResult.hh:388
JResult_t f
function value
Definition: JResult.hh:387
JResultPDF< JResult_t > & JMATH::JMath< JResultPDF< JResult_t > , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for product evaluation of objects.
Definition: JCalculator.hh:18

Member Data Documentation

template<class JResult_t>
JResult_t JTOOLS::JResultPDF< JResult_t >::f

function value

Definition at line 387 of file JResult.hh.

template<class JResult_t>
JResult_t JTOOLS::JResultPDF< JResult_t >::fp

first derivative

Definition at line 388 of file JResult.hh.

template<class JResult_t>
JResult_t JTOOLS::JResultPDF< JResult_t >::v

integral <xmin,x]

Definition at line 389 of file JResult.hh.

template<class JResult_t>
JResult_t JTOOLS::JResultPDF< JResult_t >::V

integral <xmin,xmax>

Definition at line 390 of file JResult.hh.


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