laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
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>

Inheritance diagram for LauEffModel:
LauAbsEffModel

Public Member Functions

 LauEffModel (const LauDaughters *daughters, const LauVetoes *vetoes)
 Constructor. More...
 
virtual ~LauEffModel ()
 Destructor.
 
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 setEffHisto (const TH2 *effHisto, const TH2 *errorHi, const TH2 *errorLo, 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...
 
void setEffSpline (const TH2 *effHisto, const TH2 *errorHi, const TH2 *errorLo, 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...
 
void addEffHisto (const TH2 *effHisto, Bool_t useInterpolation=kTRUE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Add a multiplicative efficiency variation across the phase space using a predetermined 2D histogram. More...
 
void addEffHisto (const TH2 *effHisto, const TH2 *errorHi, const TH2 *errorLo, Bool_t useInterpolation=kTRUE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Add a multiplicative efficiency variation across the phase space using a predetermined 2D histogram. More...
 
void addEffSpline (const TH2 *effHisto, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Add a multiplicative efficiency variation across the phase space using a spline based on a predetermined 2D histogram. More...
 
void addEffSpline (const TH2 *effHisto, const TH2 *errorHi, const TH2 *errorLo, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE)
 Add a multiplicative 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.
 
const LauDaughtersgetDaughters () const
 Return the daughters object.
 
- Public Member Functions inherited from LauAbsEffModel
 LauAbsEffModel ()
 Constructor.
 
virtual ~LauAbsEffModel ()
 Destructor.
 

Private Member Functions

 LauEffModel (const LauEffModel &rhs)
 Copy constructor - not implemented.
 
LauEffModeloperator= (const LauEffModel &rhs)
 Copy assignment operator - not implemented.
 
Double_t getEffHistValue (const LauKinematics *kinematics) const
 Get the efficiency from a two-dimensional histogram. More...
 

Private Attributes

const LauDaughtersdaughters_
 The daughters object.
 
const LauVetoesvetoes_
 The vetoes object.
 
std::vector< Lau2DAbsDP * > effHisto_
 The efficiency histogram objects.
 
Bool_t fluctuateEffHisto_
 Fluctuate histogram within the error.
 
Bool_t lowBinWarningIssued_
 Flag to track whether a warning has been issued for bin values less than zero.
 
Bool_t highBinWarningIssued_
 Flag to track whether a warning has been issued for bin values greater than one.
 

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 50 of file LauEffModel.hh.

Constructor & Destructor Documentation

◆ LauEffModel()

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 42 of file LauEffModel.cc.

Member Function Documentation

◆ addEffHisto() [1/2]

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

Add a multiplicative 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]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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 231 of file LauEffModel.cc.

◆ addEffHisto() [2/2]

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

Add a multiplicative 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]errorHithe 2-dimensional histogram that describes the upper uncertainty on the efficiency variation
[in]errorLothe 2-dimensional histogram that describes the lower uncertainty on 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]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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 258 of file LauEffModel.cc.

◆ addEffSpline() [1/2]

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

Add a multiplicative 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]errorHithe 2-dimensional histogram that describes the upper uncertainty on the efficiency variation
[in]errorLothe 2-dimensional histogram that describes the lower uncertainty on the efficiency variation
[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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 314 of file LauEffModel.cc.

◆ addEffSpline() [2/2]

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

Add a multiplicative 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]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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 289 of file LauEffModel.cc.

◆ calcEfficiency()

Double_t LauEffModel::calcEfficiency ( const LauKinematics kinematics) const
virtual

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

Implements LauAbsEffModel.

Definition at line 367 of file LauEffModel.cc.

◆ getEffHistValue()

Double_t LauEffModel::getEffHistValue ( const LauKinematics kinematics) const
private

Get the efficiency from a two-dimensional histogram.

Parameters
[in]kinematicsthe object that defines the DP position

Definition at line 343 of file LauEffModel.cc.

◆ passVeto()

Bool_t LauEffModel::passVeto ( const LauKinematics kinematics) const
virtual

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

Implements LauAbsEffModel.

Definition at line 420 of file LauEffModel.cc.

◆ setEffHisto() [1/2]

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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 68 of file LauEffModel.cc.

◆ setEffHisto() [2/2]

void LauEffModel::setEffHisto ( const TH2 *  effHisto,
const TH2 *  errorHi,
const TH2 *  errorLo,
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]errorHithe 2-dimensional histogram that describes the upper uncertainty on the efficiency variation
[in]errorLothe 2-dimensional histogram that describes the lower uncertainty on 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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 109 of file LauEffModel.cc.

◆ setEffSpline() [1/2]

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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 154 of file LauEffModel.cc.

◆ setEffSpline() [2/2]

void LauEffModel::setEffSpline ( const TH2 *  effHisto,
const TH2 *  errorHi,
const TH2 *  errorLo,
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]errorHithe 2-dimensional histogram that describes the upper uncertainty on the efficiency variation
[in]errorLothe 2-dimensional histogram that describes the lower uncertainty on 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 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 determine whether the supplied histogram is given in square DP coordinates

Definition at line 188 of file LauEffModel.cc.


The documentation for this class was generated from the following files:
  • /home/epp/phsdba/Development/Laura++/master-dev/laura/inc/LauEffModel.hh
  • /home/epp/phsdba/Development/Laura++/master-dev/laura/src/LauEffModel.cc