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

Class for defining variations across a 2D DP using a spline. More...

#include <Lau2DSplineDP.hh>

Inheritance diagram for Lau2DSplineDP:
Lau2DAbsHistDP Lau2DAbsDP

Public Member Functions

 Lau2DSplineDP (const TH2 *hist, const LauDaughters *daughters, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t avEffError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Constructor. More...
 
 Lau2DSplineDP (const TH2 *hist, const TH2 *errorHi, const TH2 *errorLo, const LauDaughters *daughters, 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 ~Lau2DSplineDP ()
 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...
 
- Public Member Functions inherited from Lau2DAbsDP
 Lau2DAbsDP ()
 Constructor. More...
 
virtual ~Lau2DAbsDP ()
 Destructor. More...
 

Private Member Functions

 Lau2DSplineDP (const Lau2DSplineDP &rhs)
 Copy constructor - not implemented. More...
 
Lau2DSplineDPoperator= (const Lau2DSplineDP &rhs)
 Copy assignment operator - not implemented. More...
 

Private Attributes

Lau2DCubicSplinespline_
 A 2D cubic spline generated from the histogram. More...
 

Additional Inherited Members

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

Detailed Description

Class for defining variations across a 2D DP using a spline.

Class for defining variations across a 2D DP using a spline. Employs a 2D cubic spline to get the histogram value based on an input histogram. 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 35 of file Lau2DSplineDP.hh.

Constructor & Destructor Documentation

Lau2DSplineDP::Lau2DSplineDP ( const TH2 *  hist,
const LauDaughters daughters,
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]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 Lau2DSplineDP::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 Lau2DSplineDP::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 31 of file Lau2DSplineDP.cc.

Lau2DSplineDP::Lau2DSplineDP ( const TH2 *  hist,
const TH2 *  errorHi,
const TH2 *  errorLo,
const LauDaughters daughters,
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]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 Lau2DSplineDP::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 Lau2DSplineDP::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 57 of file Lau2DSplineDP.cc.

Lau2DSplineDP::~Lau2DSplineDP ( )
virtual

Destructor.

Definition at line 149 of file Lau2DSplineDP.cc.

Lau2DSplineDP::Lau2DSplineDP ( const Lau2DSplineDP rhs)
private

Copy constructor - not implemented.

Member Function Documentation

Double_t Lau2DSplineDP::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 155 of file Lau2DSplineDP.cc.

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

Copy assignment operator - not implemented.

Member Data Documentation

Lau2DCubicSpline* Lau2DSplineDP::spline_
private

A 2D cubic spline generated from the histogram.

Definition at line 91 of file Lau2DSplineDP.hh.


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