|
Laura++
v3r3
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>
|
| 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 | 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. More...
|
|
const LauDaughters * | getDaughters () const |
| Return the daughters object. More...
|
|
| LauAbsEffModel () |
| Constructor. More...
|
|
virtual | ~LauAbsEffModel () |
| Destructor. More...
|
|
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.
- Parameters
-
[in] | daughters | the daughters particles of the Dalitz plot model |
[in] | vetoes | the object describing the vetoes applied in the phase space |
Definition at line 29 of file LauEffModel.cc.
LauEffModel::~LauEffModel |
( |
| ) |
|
|
virtual |
Copy constructor - not implemented.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | useInterpolation | boolean flag decision to switch on/off linear interpolation between bins should be used or simply the raw bin values. |
[in] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 168 of file LauEffModel.cc.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | errorHi | the 2-dimensional histogram that describes the upper uncertainty on the efficiency variation |
[in] | errorLo | the 2-dimensional histogram that describes the lower uncertainty on the efficiency variation |
[in] | useInterpolation | boolean flag decision to switch on/off linear interpolation between bins should be used or simply the raw bin values. |
[in] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 184 of file LauEffModel.cc.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 200 of file LauEffModel.cc.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | errorHi | the 2-dimensional histogram that describes the upper uncertainty on the efficiency variation |
[in] | errorLo | the 2-dimensional histogram that describes the lower uncertainty on the efficiency variation |
[in] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 215 of file LauEffModel.cc.
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] | kinematics | the object that defines the DP position |
- Returns
- the efficiency value at the given point in the DP
Implements LauAbsEffModel.
Definition at line 254 of file LauEffModel.cc.
Bool_t LauEffModel::fluctuateEffHisto |
( |
| ) |
const |
|
inlinevirtual |
Determine whether the efficiency histogram has had its bins fluctuated within their errors.
Implements LauAbsEffModel.
Definition at line 213 of file LauEffModel.hh.
Double_t LauEffModel::getEffHistValue |
( |
const LauKinematics * |
kinematics | ) |
const |
|
private |
Get the efficiency from a two-dimensional histogram.
- Parameters
-
[in] | kinematics | the object that defines the DP position |
Definition at line 230 of file LauEffModel.cc.
Copy assignment operator - not implemented.
Bool_t LauEffModel::passVeto |
( |
const LauKinematics * |
kinematics | ) |
const |
|
virtual |
Determine whether the given DP position is outside the vetoes.
- Parameters
-
[in] | kinematics | the object that defines the DP position |
- Returns
- kTRUE if the DP position is outside all veto regions, kFALSE otherwise
Implements LauAbsEffModel.
Definition at line 301 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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | useInterpolation | boolean flag decision to switch on/off linear interpolation between bins should be used or simply the raw bin values. |
[in] | fluctuateBins | boolean 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] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 54 of file LauEffModel.cc.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | errorHi | the 2-dimensional histogram that describes the upper uncertainty on the efficiency variation |
[in] | errorLo | the 2-dimensional histogram that describes the lower uncertainty on the efficiency variation |
[in] | useInterpolation | boolean flag decision to switch on/off linear interpolation between bins should be used or simply the raw bin values. |
[in] | fluctuateBins | boolean 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] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 83 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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | fluctuateBins | boolean 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] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 112 of file LauEffModel.cc.
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] | effHisto | the 2-dimensional histogram that describes the efficiency variation |
[in] | errorHi | the 2-dimensional histogram that describes the upper uncertainty on the efficiency variation |
[in] | errorLo | the 2-dimensional histogram that describes the lower uncertainty on the efficiency variation |
[in] | fluctuateBins | boolean 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] | avEff | the 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] | absError | the error on that efficiency - see Lau2DHistDP::raiseOrLowerBins, values less than zero switch off this behaviour |
[in] | useUpperHalfOnly | boolean 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] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 140 of file LauEffModel.cc.
Bool_t LauEffModel::fluctuateEffHisto_ |
|
private |
Bool_t LauEffModel::highBinWarningIssued_ |
|
mutableprivate |
Flag to track whether a warning has been issued for bin values greater than one.
Definition at line 250 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 247 of file LauEffModel.hh.
The documentation for this class was generated from the following files:
|