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

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

#include <Lau2DHistDPPdf.hh>

Inheritance diagram for Lau2DHistDPPdf:
Lau2DAbsHistDPPdf Lau2DAbsDPPdf

Public Member Functions

 Lau2DHistDPPdf (const TH2 *hist, LauKinematics *kinematics, const LauVetoes *vetoes, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DHistDPPdf ()
 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

Double_t getBinHistValue (Int_t xBinNo, Int_t yBinNo) const
 Get the bin content from the histogram. More...
 
void calcHistNorm ()
 Calculate the PDF normalisation. More...
 
void checkNormalisation ()
 Check the normalisation calculation. 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

 Lau2DHistDPPdf (const Lau2DHistDPPdf &rhs)
 Copy constructor - not implemented. More...
 
Lau2DHistDPPdfoperator= (const Lau2DHistDPPdf &rhs)
 Copy assignment operator - not implemented. More...
 

Private Attributes

TH2 * hist_
 The underlying histogram. More...
 
Double_t minX_
 The histogram x-axis minimum. More...
 
Double_t maxX_
 The histogram x-axis maximum. More...
 
Double_t minY_
 The histogram y-axis minimum. More...
 
Double_t maxY_
 The histogram y-axis maximum. More...
 
Double_t rangeX_
 The histogram x-axis range. More...
 
Double_t rangeY_
 The histogram y-axis range. More...
 
Double_t binXWidth_
 The histogram x-axis bin width. More...
 
Double_t binYWidth_
 The histogram y-axis bin width. More...
 
Double_t invBinXWidth_
 The histogram x-axis inverse bin width. More...
 
Double_t invBinYWidth_
 The histogram y-axis inverse bin width. More...
 
Double_t maxHeight_
 The maximum height of 2D histogram. More...
 
Int_t nBinsX_
 The number of bins on the x-axis of the histogram. More...
 
Int_t nBinsY_
 The number of bins on the y-axis of the histogram. More...
 
Double_t norm_
 The histogram normalisation. More...
 
Bool_t useInterpolation_
 Control boolean for using the linear interpolation. More...
 

Detailed Description

Class for defining a 2D DP histogram PDF.

Class for defining a 2D DP histogram PDF. Employs linear interpolation to get the histogram value based on how far away a point in (x,y) is to nearby bin centres. 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 33 of file Lau2DHistDPPdf.hh.

Constructor & Destructor Documentation

Lau2DHistDPPdf::Lau2DHistDPPdf ( const TH2 *  hist,
LauKinematics kinematics,
const LauVetoes vetoes,
Bool_t  useInterpolation = kTRUE,
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]useInterpolationboolean flag to determine whether linear interpolation between bins should be used or simply the raw bin values
[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 (or lower half if using square DP coordinates)
[in]squareDPboolean flag to specify whether the supplied histogram is in square DP coordinates

Definition at line 29 of file Lau2DHistDPPdf.cc.

Lau2DHistDPPdf::~Lau2DHistDPPdf ( )
virtual

Destructor.

Definition at line 92 of file Lau2DHistDPPdf.cc.

Lau2DHistDPPdf::Lau2DHistDPPdf ( const Lau2DHistDPPdf rhs)
private

Copy constructor - not implemented.

Member Function Documentation

void Lau2DHistDPPdf::calcHistNorm ( )
protected

Calculate the PDF normalisation.

Definition at line 98 of file Lau2DHistDPPdf.cc.

void Lau2DHistDPPdf::checkNormalisation ( )
protected

Check the normalisation calculation.

Definition at line 318 of file Lau2DHistDPPdf.cc.

Double_t Lau2DHistDPPdf::getBinHistValue ( Int_t  xBinNo,
Int_t  yBinNo 
) const
protected

Get the bin content from the histogram.

Parameters
[in]xBinNothe x-axis bin number
[in]yBinNothe y-axis bin number
Returns
the bin conent

Definition at line 131 of file Lau2DHistDPPdf.cc.

Double_t Lau2DHistDPPdf::getHistNorm ( ) const
inlinevirtual

Retrieve PDF normalisation.

Returns
the normalisation factor

Implements Lau2DAbsHistDPPdf.

Definition at line 58 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::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 161 of file Lau2DHistDPPdf.cc.

Double_t Lau2DHistDPPdf::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 153 of file Lau2DHistDPPdf.cc.

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

Copy assignment operator - not implemented.

Member Data Documentation

Double_t Lau2DHistDPPdf::binXWidth_
private

The histogram x-axis bin width.

Definition at line 115 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::binYWidth_
private

The histogram y-axis bin width.

Definition at line 117 of file Lau2DHistDPPdf.hh.

TH2* Lau2DHistDPPdf::hist_
private

The underlying histogram.

Definition at line 99 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::invBinXWidth_
private

The histogram x-axis inverse bin width.

Definition at line 119 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::invBinYWidth_
private

The histogram y-axis inverse bin width.

Definition at line 121 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxHeight_
private

The maximum height of 2D histogram.

Definition at line 124 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxX_
private

The histogram x-axis maximum.

Definition at line 104 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxY_
private

The histogram y-axis maximum.

Definition at line 108 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::minX_
private

The histogram x-axis minimum.

Definition at line 102 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::minY_
private

The histogram y-axis minimum.

Definition at line 106 of file Lau2DHistDPPdf.hh.

Int_t Lau2DHistDPPdf::nBinsX_
private

The number of bins on the x-axis of the histogram.

Definition at line 127 of file Lau2DHistDPPdf.hh.

Int_t Lau2DHistDPPdf::nBinsY_
private

The number of bins on the y-axis of the histogram.

Definition at line 129 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::norm_
private

The histogram normalisation.

Definition at line 132 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::rangeX_
private

The histogram x-axis range.

Definition at line 110 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::rangeY_
private

The histogram y-axis range.

Definition at line 112 of file Lau2DHistDPPdf.hh.

Bool_t Lau2DHistDPPdf::useInterpolation_
private

Control boolean for using the linear interpolation.

Definition at line 135 of file Lau2DHistDPPdf.hh.


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