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

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

#include <Lau2DHistDPPdf.hh>

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 getMaxHeight () const
 Retrieve maximum height. 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...
 

Protected Member Functions

Double_t getBinHistValue (Int_t xBinNo, Int_t yBinNo) const
 Get the bin content from the histogram. More...
 
void calcMaxHeight ()
 Calculate maximum height. More...
 
void calcHistNorm ()
 Calculate the PDF normalisation. More...
 
void checkNormalisation ()
 Check the normalisation calculation. More...
 
void doBinFluctuation ()
 Fluctuate the histogram bin contents in accordance with their errors. More...
 

Private Attributes

TH2 * hist_
 The underlying histogram. More...
 
LauKinematicskinematics_
 DP kinematics. More...
 
const LauVetoesvetoes_
 Vetos within DP. 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...
 
Bool_t upperHalf_
 Boolean for using the upper half of DP. More...
 
Bool_t squareDP_
 Boolean for using square DP variables. 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)
[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 29 of file Lau2DHistDPPdf.cc.

Lau2DHistDPPdf::~Lau2DHistDPPdf ( )
virtual

Destructor.

Definition at line 96 of file Lau2DHistDPPdf.cc.

Member Function Documentation

void Lau2DHistDPPdf::calcHistNorm ( )
protected

Calculate the PDF normalisation.

Definition at line 114 of file Lau2DHistDPPdf.cc.

void Lau2DHistDPPdf::calcMaxHeight ( )
protected

Calculate maximum height.

Definition at line 102 of file Lau2DHistDPPdf.cc.

void Lau2DHistDPPdf::checkNormalisation ( )
protected

Check the normalisation calculation.

Definition at line 375 of file Lau2DHistDPPdf.cc.

void Lau2DHistDPPdf::doBinFluctuation ( )
protected

Fluctuate the histogram bin contents in accordance with their errors.

Definition at line 415 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 147 of file Lau2DHistDPPdf.cc.

Double_t Lau2DHistDPPdf::getHistNorm ( ) const
inline

Retrieve PDF normalisation.

Definition at line 57 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::getMaxHeight ( ) const
inline

Retrieve maximum height.

Definition at line 54 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::interpolateXY ( Double_t  x,
Double_t  y 
) const

Perform the interpolation (unnormalised)

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

Definition at line 177 of file Lau2DHistDPPdf.cc.

Double_t Lau2DHistDPPdf::interpolateXYNorm ( Double_t  x,
Double_t  y 
) const

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

Definition at line 169 of file Lau2DHistDPPdf.cc.

Member Data Documentation

Double_t Lau2DHistDPPdf::binXWidth_
private

The histogram x-axis bin width.

Definition at line 120 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::binYWidth_
private

The histogram y-axis bin width.

Definition at line 122 of file Lau2DHistDPPdf.hh.

TH2* Lau2DHistDPPdf::hist_
private

The underlying histogram.

Definition at line 98 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::invBinXWidth_
private

The histogram x-axis inverse bin width.

Definition at line 124 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::invBinYWidth_
private

The histogram y-axis inverse bin width.

Definition at line 126 of file Lau2DHistDPPdf.hh.

LauKinematics* Lau2DHistDPPdf::kinematics_
private

DP kinematics.

Definition at line 101 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxHeight_
private

The maximum height of 2D histogram.

Definition at line 129 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxX_
private

The histogram x-axis maximum.

Definition at line 109 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::maxY_
private

The histogram y-axis maximum.

Definition at line 113 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::minX_
private

The histogram x-axis minimum.

Definition at line 107 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::minY_
private

The histogram y-axis minimum.

Definition at line 111 of file Lau2DHistDPPdf.hh.

Int_t Lau2DHistDPPdf::nBinsX_
private

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

Definition at line 132 of file Lau2DHistDPPdf.hh.

Int_t Lau2DHistDPPdf::nBinsY_
private

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

Definition at line 134 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::norm_
private

The histogram normalisation.

Definition at line 137 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::rangeX_
private

The histogram x-axis range.

Definition at line 115 of file Lau2DHistDPPdf.hh.

Double_t Lau2DHistDPPdf::rangeY_
private

The histogram y-axis range.

Definition at line 117 of file Lau2DHistDPPdf.hh.

Bool_t Lau2DHistDPPdf::squareDP_
private

Boolean for using square DP variables.

Definition at line 144 of file Lau2DHistDPPdf.hh.

Bool_t Lau2DHistDPPdf::upperHalf_
private

Boolean for using the upper half of DP.

Definition at line 142 of file Lau2DHistDPPdf.hh.

Bool_t Lau2DHistDPPdf::useInterpolation_
private

Control boolean for using the linear interpolation.

Definition at line 140 of file Lau2DHistDPPdf.hh.

const LauVetoes* Lau2DHistDPPdf::vetoes_
private

Vetos within DP.

Definition at line 104 of file Lau2DHistDPPdf.hh.


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