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

Abstract base class for defining a variation across a 2D DP based on a histogram. More...

#include <Lau2DAbsHistDP.hh>

Inheritance diagram for Lau2DAbsHistDP:
Lau2DAbsDP Lau2DHistDP Lau2DSplineDP

Public Member Functions

 Lau2DAbsHistDP (const LauDaughters *daughters, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
virtual ~Lau2DAbsHistDP ()
 Copy constructor. More...
 
virtual Double_t interpolateXY (Double_t x, Double_t y) const =0
 Perform the interpolation. 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

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

 Lau2DAbsHistDP (const Lau2DAbsHistDP &rhs)
 Copy constructor - not implemented. More...
 
Lau2DAbsHistDPoperator= (const Lau2DAbsHistDP &rhs)
 Copy assignment operator - not implemented. More...
 

Private Attributes

const LauKinematicskinematics_
 Kinematics used to check events are within DP boundary. 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

Abstract base class for defining a variation across a 2D DP based on a histogram.

Abstract base class for defining an unnormalised variation across a 2D DP based on a histogram. Contains helper methods to vary bin contents in the input histogram within uncertainties and scale the input histogram to match a given average value. The histogram can be defined in the conventional DP (m13Sq vs m23Sq) or in the square DP and one half can be used to describe symmetric DPs.

Definition at line 34 of file Lau2DAbsHistDP.hh.

Constructor & Destructor Documentation

Lau2DAbsHistDP::Lau2DAbsHistDP ( const LauDaughters daughters,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Constructor.

Parameters
[in]daughtersthe daughter particles
[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 31 of file Lau2DAbsHistDP.cc.

Lau2DAbsHistDP::~Lau2DAbsHistDP ( )
virtual

Copy constructor.

Destructor

Definition at line 47 of file Lau2DAbsHistDP.cc.

Lau2DAbsHistDP::Lau2DAbsHistDP ( const Lau2DAbsHistDP rhs)
private

Copy constructor - not implemented.

Member Function Documentation

Double_t Lau2DAbsHistDP::computeAverageContents ( const TH2 *  hist) const
protected

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

This method just uses the raw bin contents with no interpolation

Parameters
[in]histthe histogram
Returns
the average value over the DP

Definition at line 129 of file Lau2DAbsHistDP.cc.

void Lau2DAbsHistDP::doBinFluctuation ( TH2 *  hist)
protected

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

Parameters
[in,out]histthe histogram

Definition at line 51 of file Lau2DAbsHistDP.cc.

void Lau2DAbsHistDP::doBinFluctuation ( TH2 *  hist,
const TH2 *  errorHi,
const TH2 *  errorLo 
)
protected

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

Parameters
[in,out]histthe histogram
[in]errorHithe histogram containing the upper uncertainties on the bins
[in]errorLothe histogram containing the lower uncertainties on the bins

Definition at line 72 of file Lau2DAbsHistDP.cc.

void Lau2DAbsHistDP::getUpperHalf ( Double_t &  x,
Double_t &  y 
) const
protected

If only using the upper half of the (symmetric) DP then transform into the correct half.

Parameters
[in,out]xthe x co-ordinate
[in,out]ythe y co-ordinate

Definition at line 169 of file Lau2DAbsHistDP.cc.

virtual Double_t Lau2DAbsHistDP::interpolateXY ( Double_t  x,
Double_t  y 
) const
pure virtual

Perform the interpolation.

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

Implements Lau2DAbsDP.

Implemented in Lau2DHistDP, and Lau2DSplineDP.

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

Copy assignment operator - not implemented.

void Lau2DAbsHistDP::raiseOrLowerBins ( TH2 *  hist,
const Double_t  avEff,
const 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,out]histthe histogram
[in]avEffthe desired average efficiency
[in]avEffErrorthe error on that efficiency

Definition at line 119 of file Lau2DAbsHistDP.cc.

virtual Bool_t Lau2DAbsHistDP::usingSquareDP ( ) const
inlinevirtual

Determine whether the histogram is defined in the square DP.

Implements Lau2DAbsDP.

Definition at line 63 of file Lau2DAbsHistDP.hh.

Bool_t Lau2DAbsHistDP::withinDPBoundaries ( Double_t  x,
Double_t  y 
) const
protected

Check whether the given co-ordinates are within the kinematic boundary.

Parameters
[in]xthe x co-ordinate
[in]ythe y co-ordinate
Returns
true if the co-ordinates are within the kinematic boundary, otherwise false

Definition at line 164 of file Lau2DAbsHistDP.cc.

Member Data Documentation

const LauKinematics* Lau2DAbsHistDP::kinematics_
private

Kinematics used to check events are within DP boundary.

Definition at line 121 of file Lau2DAbsHistDP.hh.

Bool_t Lau2DAbsHistDP::squareDP_
private

Boolean for using square DP variables.

Definition at line 127 of file Lau2DAbsHistDP.hh.

Bool_t Lau2DAbsHistDP::upperHalf_
private

Boolean for using the upper half of DP.

Definition at line 124 of file Lau2DAbsHistDP.hh.


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