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

#include <Lau2DHistDP.hh>

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 Lau2DHistDP &rhs)
 Copy constructor. More...
 
virtual ~Lau2DHistDP ()
 Destructor. More...
 
Double_t interpolateXY (Double_t x, Double_t y) const
 Perform the interpolation. More...
 

Protected Member Functions

Double_t getBinHistValue (Int_t xBinNo, Int_t yBinNo) const
 Get the raw bin content from the histogram. More...
 
void doBinFluctuation ()
 Fluctuate the contents of each histogram bin independently, in accordance with their errors. More...
 
void raiseOrLowerBins (Double_t avEff, Double_t avEffError)
 Rescale the histogram bin contents based on the desired average efficiency and its uncertainty. More...
 
Double_t computeAverageContents () const
 Compute the average bin content for bins within the kinematic boundary. More...
 

Private Attributes

TH2 * hist_
 The underlying histogram. More...
 
const LauKinematicskinematics_
 Kinematics used to check events are within DP boundary. 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...
 
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.

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)
[in]avEffthe desired average efficiency - see Lau2DHistDP::raiseOrLowerBins
[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
[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 Lau2DHistDP rhs)

Copy constructor.

Definition at line 75 of file Lau2DHistDP.cc.

Lau2DHistDP::~Lau2DHistDP ( )
virtual

Destructor.

Definition at line 89 of file Lau2DHistDP.cc.

Member Function Documentation

Double_t Lau2DHistDP::computeAverageContents ( ) const
protected

Compute the average bin content for bins within the kinematic boundary.

This method just uses the raw bin contents with no interpolation

Returns
the average value over the DP

Definition at line 323 of file Lau2DHistDP.cc.

void Lau2DHistDP::doBinFluctuation ( )
protected

Fluctuate the contents of each histogram bin independently, in accordance with their errors.

Definition at line 296 of file Lau2DHistDP.cc.

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 95 of file Lau2DHistDP.cc.

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

Perform the interpolation.

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

Definition at line 113 of file Lau2DHistDP.cc.

void Lau2DHistDP::raiseOrLowerBins ( Double_t  avEff,
Double_t  avEffError 
)
protected

Rescale the histogram bin contents based on the desired average efficiency and its uncertainty.

The new average is sampled from a Gaussian distribution G(x;avEff,avEffError). The histogram is then rescaled according to newAvg/oldAvg.

Parameters
[in]avEffthe desired average efficiency
[in]avEffErrorthe error on that efficiency

Definition at line 313 of file Lau2DHistDP.cc.

Member Data Documentation

Double_t Lau2DHistDP::binXWidth_
private

The histogram x-axis bin width.

Definition at line 115 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::binYWidth_
private

The histogram y-axis bin width.

Definition at line 117 of file Lau2DHistDP.hh.

TH2* Lau2DHistDP::hist_
private

The underlying histogram.

Definition at line 96 of file Lau2DHistDP.hh.

const LauKinematics* Lau2DHistDP::kinematics_
private

Kinematics used to check events are within DP boundary.

Definition at line 99 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::maxX_
private

The histogram x-axis maximum.

Definition at line 104 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::maxY_
private

The histogram y-axis maximum.

Definition at line 108 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::minX_
private

The histogram x-axis minimum.

Definition at line 102 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::minY_
private

The histogram y-axis minimum.

Definition at line 106 of file Lau2DHistDP.hh.

Int_t Lau2DHistDP::nBinsX_
private

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

Definition at line 120 of file Lau2DHistDP.hh.

Int_t Lau2DHistDP::nBinsY_
private

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

Definition at line 122 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::rangeX_
private

The histogram x-axis range.

Definition at line 110 of file Lau2DHistDP.hh.

Double_t Lau2DHistDP::rangeY_
private

The histogram y-axis range.

Definition at line 112 of file Lau2DHistDP.hh.

Bool_t Lau2DHistDP::squareDP_
private

Boolean for using square DP variables.

Definition at line 129 of file Lau2DHistDP.hh.

Bool_t Lau2DHistDP::upperHalf_
private

Boolean for using the upper half of DP.

Definition at line 127 of file Lau2DHistDP.hh.

Bool_t Lau2DHistDP::useInterpolation_
private

Control boolean for using the linear interpolation.

Definition at line 125 of file Lau2DHistDP.hh.


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