laura is hosted by Hepforge, IPPP Durham
Laura++  v2r2p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Class for defining a 2D DP spline PDF. More...

#include <Lau2DSplineDPPdf.hh>

Inheritance diagram for Lau2DSplineDPPdf:
Lau2DAbsHistDPPdf Lau2DAbsDPPdf

Public Member Functions

 Lau2DSplineDPPdf (const TH2 *hist, LauKinematics *kinematics, const LauVetoes *vetoes, Bool_t fluctuateBins=kFALSE, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DSplineDPPdf ()
 Destructor. More...
 
Double_t getHistNorm () const
 Retrieve PDF normalisation. More...
 
Double_t interpolateXY (Double_t x, Double_t y) const
 Perform the interpolation (unnormalised) More...
 
Double_t interpolateXYNorm (Double_t x, Double_t y) const
 Perform the interpolation and divide by the normalisation. More...
 
- Public Member Functions inherited from Lau2DAbsHistDPPdf
 Lau2DAbsHistDPPdf (LauKinematics *kinematics, const LauVetoes *vetoes, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DAbsHistDPPdf ()
 Destructor. More...
 
Double_t getMaxHeight () const
 Retrieve maximum height of the PDF. More...
 
- Public Member Functions inherited from Lau2DAbsDPPdf
 Lau2DAbsDPPdf ()
 Constructor. More...
 
virtual ~Lau2DAbsDPPdf ()
 Destructor. More...
 

Protected Member Functions

void calcHistNorm ()
 Calculate the PDF normalisation. More...
 
- Protected Member Functions inherited from Lau2DAbsHistDPPdf
const LauKinematicsgetKinematics () const
 Get the kinematics object. More...
 
const LauVetoesgetVetoes () const
 Get the vetoes object. More...
 
void calcMaxHeight (TH2 *hist)
 Calculate maximum height. More...
 
void doBinFluctuation (TH2 *hist)
 Fluctuate the histogram bin contents in accordance with their errors. More...
 
Bool_t withinDPBoundaries (Double_t x, Double_t y) const
 Check whether the given co-ordinates are within the kinematic boundary. More...
 
void updateKinematics (Double_t x, Double_t y) const
 Update the current co-ordinates in the kinematic space. More...
 
void getUpperHalf (Double_t &x, Double_t &y) const
 If only using the upper half of the (symmetric) DP then transform into the correct half. More...
 

Private Member Functions

 Lau2DSplineDPPdf (const Lau2DSplineDPPdf &rhs)
 Copy constructor - not implemented. More...
 
Lau2DSplineDPPdfoperator= (const Lau2DSplineDPPdf &rhs)
 Copy assignment operator - not implemented. More...
 

Private Attributes

Double_t maxHeight_
 The maximum height of 2D histogram. More...
 
Double_t norm_
 The histogram normalisation. More...
 
Lau2DCubicSplinespline_
 A 2D cubic spline generated from the histogram. More...
 

Detailed Description

Class for defining a 2D DP spline PDF.

Class for defining a 2D DP spline PDF. Employs a 2D cubic spline to get the histogram value based on an input histogram. The returned values are normalised to the total area. The histogram can be defined in the conventional DP (m13Sq vs m23Sq) or in the square DP.

Definition at line 34 of file Lau2DSplineDPPdf.hh.

Constructor & Destructor Documentation

Lau2DSplineDPPdf::Lau2DSplineDPPdf ( const TH2 *  hist,
LauKinematics kinematics,
const LauVetoes vetoes,
Bool_t  fluctuateBins = kFALSE,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Constructor.

Parameters
[in]histthe 2D DP histogram
[in]kinematicsthe current DP kinematics
[in]vetoesthe vetoes within the DP
[in]fluctuateBinsboolean flag to determine whether the bin contents should be fluctuated in accordance with their errors (useful for systematic error evaluation). The seed for the random number generator used to fluctuate the bins should first be set using LauRandom::setSeed.
[in]useUpperHalfOnlyboolean flag to specify that the supplied histogram contains only the upper half of a symmetric DP
[in]squareDPboolean flag to specify whether the supplied histogram is in square DP coordinates

Definition at line 31 of file Lau2DSplineDPPdf.cc.

Lau2DSplineDPPdf::~Lau2DSplineDPPdf ( )
virtual

Destructor.

Definition at line 59 of file Lau2DSplineDPPdf.cc.

Lau2DSplineDPPdf::Lau2DSplineDPPdf ( const Lau2DSplineDPPdf rhs)
private

Copy constructor - not implemented.

Member Function Documentation

void Lau2DSplineDPPdf::calcHistNorm ( )
protected

Calculate the PDF normalisation.

Definition at line 95 of file Lau2DSplineDPPdf.cc.

Double_t Lau2DSplineDPPdf::getHistNorm ( ) const
inlinevirtual

Retrieve PDF normalisation.

Returns
the normalisation factor

Implements Lau2DAbsHistDPPdf.

Definition at line 57 of file Lau2DSplineDPPdf.hh.

Double_t Lau2DSplineDPPdf::interpolateXY ( Double_t  x,
Double_t  y 
) const
virtual

Perform the interpolation (unnormalised)

Parameters
[in]xthe x-axis value
[in]ythe y-aixs value
Returns
the unnormalised PDF value

Implements Lau2DAbsHistDPPdf.

Definition at line 73 of file Lau2DSplineDPPdf.cc.

Double_t Lau2DSplineDPPdf::interpolateXYNorm ( Double_t  x,
Double_t  y 
) const
virtual

Perform the interpolation and divide by the normalisation.

Parameters
[in]xthe x-axis abscissa value
[in]ythe y-axis abscissa value
Returns
the normalised PDF value

Implements Lau2DAbsHistDPPdf.

Definition at line 65 of file Lau2DSplineDPPdf.cc.

Lau2DSplineDPPdf& Lau2DSplineDPPdf::operator= ( const Lau2DSplineDPPdf rhs)
private

Copy assignment operator - not implemented.

Member Data Documentation

Double_t Lau2DSplineDPPdf::maxHeight_
private

The maximum height of 2D histogram.

Definition at line 87 of file Lau2DSplineDPPdf.hh.

Double_t Lau2DSplineDPPdf::norm_
private

The histogram normalisation.

Definition at line 90 of file Lau2DSplineDPPdf.hh.

Lau2DCubicSpline* Lau2DSplineDPPdf::spline_
private

A 2D cubic spline generated from the histogram.

Definition at line 93 of file Lau2DSplineDPPdf.hh.


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