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

Class that implements the efficiency description across the signal Dalitz plot. More...

#include <LauEffModel.hh>

Public Member Functions

 LauEffModel (const LauDaughters *daughters, const LauVetoes *vetoes)
 Constructor. More...
 
virtual ~LauEffModel ()
 Destructor. More...
 
void setEffHisto (const TH2 *effHisto, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Set the efficiency variation across the phase space using a predetermined 2D histogram. More...
 
void setEffSpline (const TH2 *effHisto, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Set the efficiency variation across the phase space using a spline based on a predetermined 2D histogram. More...
 
Double_t calcEfficiency (const LauKinematics *kinematics) const
 Determine the efficiency for a given point in the Dalitz plot. More...
 
Bool_t passVeto (const LauKinematics *kinematics) const
 Determine whether the given DP position is outside the vetoes. More...
 
Bool_t fluctuateEffHisto () const
 Determine whether the efficiency histogram has had its bins fluctuated within their errors. More...
 

Private Member Functions

 LauEffModel (const LauEffModel &rhs)
 Copy constructor - not implemented. More...
 
Double_t getEffHistValue (Double_t xVal, Double_t yVal) const
 Get the efficiency from a two-dimensional histogram by interpolating in x and y. More...
 

Private Attributes

const LauDaughtersdaughters_
 The daughters object. More...
 
const LauVetoesvetoes_
 The vetoes object. More...
 
Lau2DAbsDPeffHisto_
 The efficiency histogram object. More...
 
Bool_t squareDP_
 Use of the square Dalitz plot. More...
 
Bool_t fluctuateEffHisto_
 Fluctuate histogram within the error. More...
 
Bool_t lowBinWarningIssued_
 Flag to track whether a warning has been issued for bin values less than zero. More...
 
Bool_t highBinWarningIssued_
 Flag to track whether a warning has been issued for bin values greater than one. More...
 

Detailed Description

Class that implements the efficiency description across the signal Dalitz plot.

Class that defines the efficiency model variation across the signal Dalitz plot. The method is based in a predetermined two-dimensional histogram to characterize the phase space acceptance. The efficiency variation is defined in terms of x = m_13^2, y = m_23^2 for the Dalitz plot (default) or x = m', y = theta' for the square Dalitz plot

Definition at line 37 of file LauEffModel.hh.

Constructor & Destructor Documentation

LauEffModel::LauEffModel ( const LauDaughters daughters,
const LauVetoes vetoes 
)

Constructor.

Parameters
[in]daughtersthe daughters particles of the Dalitz plot model
[in]vetoesthe object describing the vetoes applied in the phase space

Definition at line 32 of file LauEffModel.cc.

LauEffModel::~LauEffModel ( )
virtual

Destructor.

Definition at line 56 of file LauEffModel.cc.

LauEffModel::LauEffModel ( const LauEffModel rhs)
private

Copy constructor - not implemented.

Member Function Documentation

Double_t LauEffModel::calcEfficiency ( const LauKinematics kinematics) const

Determine the efficiency for a given point in the Dalitz plot.

The method uses the 2D histogram set by the setEffHisto() function and the vetoes information.

Parameters
[in]kinematicsthe object that defines the DP position
Returns
the efficiency value at the given point in the DP

Definition at line 130 of file LauEffModel.cc.

Bool_t LauEffModel::fluctuateEffHisto ( ) const
inline

Determine whether the efficiency histogram has had its bins fluctuated within their errors.

Definition at line 104 of file LauEffModel.hh.

Double_t LauEffModel::getEffHistValue ( Double_t  xVal,
Double_t  yVal 
) const
private

Get the efficiency from a two-dimensional histogram by interpolating in x and y.

Parameters
[in]xValthe value to be interpolated in x
[in]yValthe value to be interpolated in y

Definition at line 118 of file LauEffModel.cc.

Bool_t LauEffModel::passVeto ( const LauKinematics kinematics) const

Determine whether the given DP position is outside the vetoes.

Parameters
[in]kinematicsthe object that defines the DP position
Returns
kTRUE if the DP position is outside all veto regions, kFALSE otherwise

Definition at line 183 of file LauEffModel.cc.

void LauEffModel::setEffHisto ( const TH2 *  effHisto,
Bool_t  useInterpolation = kTRUE,
Bool_t  fluctuateBins = kFALSE,
Double_t  avEff = -1.0,
Double_t  absError = -1.0,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Set the efficiency variation across the phase space using a predetermined 2D histogram.

The efficiency is defined in terms of x = m_13^2, y = m_23^2 or x = m', y = theta' for the square Dalitz plot

Parameters
[in]effHistothe 2-dimensional histogram that describes the efficiency variation
[in]useInterpolationboolean flag decision to switch on/off 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. 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, values less than zero switch off this behaviour. The seed for the random number generator used to raise or lower the bins should first be set using LauRandom::setSeed.
[in]absErrorthe error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour
[in]useUpperHalfOnlyboolean flag to determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP.
[in]squareDPboolean flag to determine whether the supplied histogram is given in square DP coordinates

Definition at line 63 of file LauEffModel.cc.

void LauEffModel::setEffSpline ( const TH2 *  effHisto,
Bool_t  fluctuateBins = kFALSE,
Double_t  avEff = -1.0,
Double_t  absError = -1.0,
Bool_t  useUpperHalfOnly = kFALSE,
Bool_t  squareDP = kFALSE 
)

Set the efficiency variation across the phase space using a spline based on a predetermined 2D histogram.

The efficiency is defined in terms of x = m_13^2, y = m_23^2 or x = m', y = theta' for the square Dalitz plot

Parameters
[in]effHistothe 2-dimensional histogram that describes the efficiency variation
[in]fluctuateBinsboolean flag to determine whether the bin contents should be fluctuated in accordance with their errors. 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, values less than zero switch off this behaviour. The seed for the random number generator used to raise or lower the bins should first be set using LauRandom::setSeed.
[in]absErrorthe error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour
[in]useUpperHalfOnlyboolean flag to determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP.
[in]squareDPboolean flag to determine whether the supplied histogram is given in square DP coordinates

Definition at line 91 of file LauEffModel.cc.

Member Data Documentation

const LauDaughters* LauEffModel::daughters_
private

The daughters object.

Definition at line 118 of file LauEffModel.hh.

Lau2DAbsDP* LauEffModel::effHisto_
private

The efficiency histogram object.

Definition at line 124 of file LauEffModel.hh.

Bool_t LauEffModel::fluctuateEffHisto_
private

Fluctuate histogram within the error.

Definition at line 129 of file LauEffModel.hh.

Bool_t LauEffModel::highBinWarningIssued_
mutableprivate

Flag to track whether a warning has been issued for bin values greater than one.

Definition at line 135 of file LauEffModel.hh.

Bool_t LauEffModel::lowBinWarningIssued_
mutableprivate

Flag to track whether a warning has been issued for bin values less than zero.

Definition at line 132 of file LauEffModel.hh.

Bool_t LauEffModel::squareDP_
private

Use of the square Dalitz plot.

Definition at line 127 of file LauEffModel.hh.

const LauVetoes* LauEffModel::vetoes_
private

The vetoes object.

Definition at line 121 of file LauEffModel.hh.


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