|
Laura++
v3r0p1
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...
|
|
Bool_t | usingSquareDP () const |
| Determine whether the efficiency histogram is in the square DP. 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 177 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 195 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 213 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 230 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 261 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 |
( |
Double_t |
xVal, |
|
|
Double_t |
yVal |
|
) |
| const |
|
private |
Get the efficiency from a two-dimensional histogram by interpolating in x and y.
- Parameters
-
[in] | xVal | the value to be interpolated in x |
[in] | yVal | the value to be interpolated in y |
Definition at line 247 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 314 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 55 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 86 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 117 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 determine whether, in the case of a symmetric DP, the histogram supplied only includes the upper half of the DP. |
[in] | squareDP | boolean flag to determine whether the supplied histogram is given in square DP coordinates |
Definition at line 147 of file LauEffModel.cc.
Bool_t LauEffModel::usingSquareDP |
( |
| ) |
const |
|
inlinevirtual |
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 259 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 256 of file LauEffModel.hh.
Bool_t LauEffModel::squareDP_ |
|
private |
The documentation for this class was generated from the following files:
|