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. More...

#include <Lau2DHistDP.hh>

Inheritance diagram for Lau2DHistDP:
Lau2DAbsHistDP Lau2DAbsDP

Public Member Functions

 Lau2DHistDP (const TH2 *hist, const LauDaughters *daughters, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t avEffError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
 Lau2DHistDP (const TH2 *hist, const TH2 *errorHi, const TH2 *errorLo, const LauDaughters *daughters, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t avEffError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DHistDP ()
 Destructor. More...
 
Double_t interpolateXY (Double_t x, Double_t y) const
 Perform the interpolation. More...
 
- Public Member Functions inherited from Lau2DAbsHistDP
 Lau2DAbsHistDP (const LauDaughters *daughters, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DAbsHistDP ()
 Copy constructor. More...
 
virtual Bool_t usingSquareDP () const
 Determine whether the histogram is defined in the square DP. More...
 
- Public Member Functions inherited from Lau2DAbsDP
 Lau2DAbsDP ()
 Constructor. More...
 
virtual ~Lau2DAbsDP ()
 Destructor. More...
 

Protected Member Functions

Double_t getBinHistValue (Int_t xBinNo, Int_t yBinNo) const
 Get the raw bin content from the histogram. More...
 
- Protected Member Functions inherited from Lau2DAbsHistDP
void doBinFluctuation (TH2 *hist)
 Fluctuate the contents of each histogram bin independently, in accordance with their errors. More...
 
void doBinFluctuation (TH2 *hist, const TH2 *errorHi, const TH2 *errorLo)
 Fluctuate the contents of each histogram bin independently, in accordance with their errors. More...
 
void raiseOrLowerBins (TH2 *hist, const Double_t avEff, const Double_t avEffError)
 Rescale the histogram bin contents based on the desired average efficiency and its uncertainty. More...
 
Double_t computeAverageContents (const TH2 *hist) const
 Compute the average bin content for bins within the kinematic boundary. More...
 
Bool_t withinDPBoundaries (Double_t x, Double_t y) const
 Check whether the given co-ordinates are within the kinematic boundary. 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

 Lau2DHistDP (const Lau2DHistDP &rhs)
 Copy constructor - not implemented. More...
 
Lau2DHistDPoperator= (const Lau2DHistDP &rhs)
 Copy assignment operator - not implemented. More...
 

Private Attributes

TH2 * hist_
 The underlying histogram. More...
 
TH2 * errorHi_
 The histogram containing the upper errors. More...
 
TH2 * errorLo_
 The histogram containing the lower errors. 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...
 
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...
 
Bool_t useInterpolation_
 Control boolean for using the linear interpolation. More...
 

Detailed Description

Class for defining a 2D DP histogram.

Class for defining a 2D DP histogram. 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 not normalised to the total histogram area (useful for efficiency histograms for example). The histogram can be defined in the conventional DP (m13Sq vs m23Sq) or in the square DP.

Definition at line 34 of file Lau2DHistDP.hh.

Constructor & Destructor Documentation

Lau2DHistDP::Lau2DHistDP ( const TH2 *  hist,
const LauDaughters daughters,
Bool_t  useInterpolation = kTRUE,
Bool_t  fluctuateBins = kFALSE,
Double_t  avEff = -1.0,
Double_t  avEffError = -1.0,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Constructor.

Parameters
[in]histthe 2D DP histogram
[in]daughtersthe daughter particles
[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]avEffthe desired average efficiency - see Lau2DHistDP::raiseOrLowerBins. The seed for the random number generator used to raise or lower the bins should first be set using LauRandom::setSeed.
[in]avEffErrorthe error on that efficiency - see Lau2DHistDP::raiseOrLowerBins
[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 30 of file Lau2DHistDP.cc.

Lau2DHistDP::Lau2DHistDP ( const TH2 *  hist,
const TH2 *  errorHi,
const TH2 *  errorLo,
const LauDaughters daughters,
Bool_t  useInterpolation = kTRUE,
Bool_t  fluctuateBins = kFALSE,
Double_t  avEff = -1.0,
Double_t  avEffError = -1.0,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Constructor.

Parameters
[in]histthe 2D DP histogram
[in]errorHithe 2D DP histogram containing the upper uncertainty
[in]errorLothe 2D DP histogram containing the lower uncertainty
[in]daughtersthe daughter particles
[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]avEffthe desired average efficiency - see Lau2DHistDP::raiseOrLowerBins. The seed for the random number generator used to raise or lower the bins should first be set using LauRandom::setSeed.
[in]avEffErrorthe error on that efficiency - see Lau2DHistDP::raiseOrLowerBins
[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 74 of file Lau2DHistDP.cc.

Lau2DHistDP::~Lau2DHistDP ( )
virtual

Destructor.

Definition at line 169 of file Lau2DHistDP.cc.

Lau2DHistDP::Lau2DHistDP ( const Lau2DHistDP rhs)
private

Copy constructor - not implemented.

Member Function Documentation

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

Get the raw 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 183 of file Lau2DHistDP.cc.

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

Perform the interpolation.

Parameters
[in]xthe x-axis value
[in]ythe y-aixs value
Returns
the interpolated histogram value

Implements Lau2DAbsHistDP.

Definition at line 201 of file Lau2DHistDP.cc.

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

Copy assignment operator - not implemented.

Member Data Documentation

Double_t Lau2DHistDP::binXWidth_
private

The histogram x-axis bin width.

Definition at line 121 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::binYWidth_
private

The histogram y-axis bin width.

Definition at line 123 of file Lau2DHistDP.hh.

TH2* Lau2DHistDP::errorHi_
private

The histogram containing the upper errors.

Definition at line 103 of file Lau2DHistDP.hh.

TH2* Lau2DHistDP::errorLo_
private

The histogram containing the lower errors.

Definition at line 105 of file Lau2DHistDP.hh.

TH2* Lau2DHistDP::hist_
private

The underlying histogram.

Definition at line 101 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::maxX_
private

The histogram x-axis maximum.

Definition at line 110 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::maxY_
private

The histogram y-axis maximum.

Definition at line 114 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::minX_
private

The histogram x-axis minimum.

Definition at line 108 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::minY_
private

The histogram y-axis minimum.

Definition at line 112 of file Lau2DHistDP.hh.

Int_t Lau2DHistDP::nBinsX_
private

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

Definition at line 126 of file Lau2DHistDP.hh.

Int_t Lau2DHistDP::nBinsY_
private

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

Definition at line 128 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::rangeX_
private

The histogram x-axis range.

Definition at line 116 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::rangeY_
private

The histogram y-axis range.

Definition at line 118 of file Lau2DHistDP.hh.

Bool_t Lau2DHistDP::useInterpolation_
private

Control boolean for using the linear interpolation.

Definition at line 131 of file Lau2DHistDP.hh.


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