TUnfoldSysV17 Class Reference

An algorithm to unfold distributions from detector to truth level, with background subtraction and propagation of systematic uncertainties. More...

#include <TUnfoldSys.h>

Inherits TUnfoldV17.

Inherited by TUnfoldDensityV17.

Collaboration diagram for TUnfoldSysV17:
Collaboration graph
[legend]

List of all members.

Public Types

enum  ESysErrMode { kSysErrModeMatrix = 0, kSysErrModeShift = 1, kSysErrModeRelative = 2 }
 

type of matrix specified with AddSysError()

More...

Public Member Functions

 TUnfoldSysV17 (const TH2 *hist_A, EHistMap histmap, ERegMode regmode=kRegModeSize, EConstraint constraint=kEConstraintArea)
 set up response matrix A, uncorrelated uncertainties of A and regularisation scheme
 TUnfoldSysV17 (void)
 only for use by root streamer or derived classes
virtual ~TUnfoldSysV17 (void)
void AddSysError (const TH2 *sysError, const char *name, EHistMap histmap, ESysErrMode mode)
 Specify a correlated systematic uncertainty.
void SubtractBackground (const TH1 *hist_bgr, const char *name, Double_t scale=1.0, Double_t scale_error=0.0)
 Specify a source of background.
virtual Int_t SetInput (const TH1 *hist_y, Double_t scaleBias=0.0, Double_t oneOverZeroError=0.0, const TH2 *hist_vyy=0, const TH2 *hist_vyy_inv=0)
 Define input data for subsequent calls to DoUnfold(tau).
void SetTauError (Double_t delta_tau)
 Specify an uncertainty on tau.
TSortedList * GetBgrSources (void) const
 Get a new list of all background sources.
TSortedList * GetSysSources (void) const
 Get a new list of all systematic uuncertainty sources.
void GetBackground (TH1 *bgr, const char *bgrSource=0, const Int_t *binMap=0, Int_t includeError=3, Bool_t clearHist=kTRUE) const
 get background into a histogram
void GetEmatrixSysBackgroundUncorr (TH2 *ematrix, const char *source, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 covariance contribution from background uncorrelated uncertainty
void GetEmatrixSysBackgroundScale (TH2 *ematrix, const char *source, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 covariance contribution from background normalisation uncertainty
Bool_t GetDeltaSysBackgroundScale (TH1 *delta, const char *source, const Int_t *binMap=0)
 correlated one-sigma shifts from background normalisation uncertainty
void GetEmatrixSysUncorr (TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 Covariance contribution from uncorrelated uncertainties of the response matrix.
void GetEmatrixSysSource (TH2 *ematrix, const char *source, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 covariance contribution from a systematic variation of the response matrix
Bool_t GetDeltaSysSource (TH1 *hist_delta, const char *source, const Int_t *binMap=0)
 correlated one-sigma shifts correspinding to a given systematic uncertainty
void GetEmatrixSysTau (TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 covariance matrix contribution from error on regularisation parameter
Bool_t GetDeltaSysTau (TH1 *delta, const Int_t *binMap=0)
 correlated one-sigma shifts from shifting tau
void GetEmatrixInput (TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
 covariance matrix contribution from input measurement uncertainties
void GetEmatrixTotal (TH2 *ematrix, const Int_t *binMap=0)
 Get total error matrix, summing up all contributions.
void GetRhoItotal (TH1 *rhoi, const Int_t *binMap=0, TH2 *invEmat=0)
 Get global correlatiocn coefficients, summing up all contributions.
Double_t GetChi2Sys (void)
 calculate total chi**2 including all systematic errors

Protected Member Functions

virtual void ClearResults (void)
 reset all results
virtual void PrepareSysError (void)
 Matrix calculations required to propagate systematic errors.
virtual TMatrixDSparse * PrepareUncorrEmat (const TMatrixDSparse *m1, const TMatrixDSparse *m2)
 propagate uncorrelated systematic errors to a covariance matrix
virtual TMatrixDSparse * PrepareCorrEmat (const TMatrixDSparse *m1, const TMatrixDSparse *m2, const TMatrixDSparse *dsys)
 propagate correlated systematic shift to an output vector
void ScaleColumnsByVector (TMatrixDSparse *m, const TMatrixTBase< Double_t > *v) const
 scale columns of a matrix by the corresponding rows of a vector
void VectorMapToHist (TH1 *hist_delta, const TMatrixDSparse *delta, const Int_t *binMap)
 map delta to hist_delta, possibly summing up bins
void GetEmatrixFromVyy (const TMatrixDSparse *vyy, TH2 *ematrix, const Int_t *binMap, Bool_t clearEmat)
 propagate an error matrix on the input vector to the unfolding result
void DoBackgroundSubtraction (void)
 perform background subtraction
TMatrixDSparse * GetSummedErrorMatrixYY (void)
 determine total error matrix on the vector Ax
TMatrixDSparse * GetSummedErrorMatrixXX (void)
 determine total error matrix on the vector x

Protected Attributes

TMatrixDSparse * fDAinRelSq
 Input: normalized errors from input matrix.
TMatrixD * fDAinColRelSq
 Input: normalized column err.sq. (inp.matr.).
TMatrixD * fAoutside
 Input: underflow/overflow bins.
TMap * fSysIn
 Input: correlated errors.
TMap * fBgrIn
 Input: size of background sources.
TMap * fBgrErrUncorrInSq
 Input: uncorr error squared from bgr sources.
TMap * fBgrErrScaleIn
 Input: background sources correlated error.
Double_t fDtau
 Input: error on tau.
TMatrixD * fYData
 Input: fY prior to bgr subtraction.
TMatrixDSparse * fVyyData
 Input: error on fY prior to bgr subtraction.
TMatrixDSparse * fEmatUncorrX
 Result: syst.error from fDA2 on fX.
TMatrixDSparse * fEmatUncorrAx
 Result: syst.error from fDA2 on fAx.
TMap * fDeltaCorrX
 Result: syst.shift from fSysIn on fX.
TMap * fDeltaCorrAx
 Result: syst.shift from fSysIn on fAx.
TMatrixDSparse * fDeltaSysTau
 Result: systematic shift from tau.

Private Member Functions

void InitTUnfoldSys (void)

Detailed Description

An algorithm to unfold distributions from detector to truth level, with background subtraction and propagation of systematic uncertainties.

TUnfoldSys is used to decompose a measurement y into several sources x, given the measurement uncertainties, background b and a matrix of migrations A. The method can be applied to a large number of problems, where the measured distribution y is a linear superposition of several Monte Carlo shapes. Beyond such a simple template fit, TUnfoldSys has an adjustable regularisation term and also supports an optional constraint on the total number of events. Background sources can be specified, with a normalisation constant and normalisation uncertainty. In addition, variants of the response matrix may be specified, these are taken to determine systematic uncertainties.

For most applications, it is better to use the derived class TUnfoldDensity instead of TUnfoldSys. TUnfoldDensity adds features to TUnfoldSys, related to possible complex multidimensional arrangements of bins. For innocent users, the most notable improvement of TUnfoldDensity over TUnfoldSys are the getter functions. For TUnfoldSys, histograms have to be booked by the user and the getter functions fill the histogram bins. TUnfoldDensity simply returns a new, already filled histogram.

If you use this software, please consider the following citation
S.Schmitt, JINST 7 (2012) T10003 [arXiv:1205.6201]
Detailed documentation and updates are available on http://desy.de/~sschmitt

Brief recipy to use TUnfoldSys:

Description of (systematic) uncertainties available in TUnfoldSys. There are covariance matrix contributions and there are systematic shifts. Systematic shifts correspond to the variation of a (buicance) parameter, for example a background normalisation or a one-sigma variation of a correlated systematic error.

Set by

Access covariance matrix

Access vector of shifts

Description

(a)

TUnfoldSys constructor

GetEmatrixSysUncorr()

n.a.

uncorrelated errors on the input matrix histA, taken as the errors provided with the histogram. These are typically statistical errors from finite Monte Carlo samples.

(b)

AddSysError()

GetEmatrixSysSource()

GetDeltaSysSource()

correlated shifts of the input matrix histA. These shifts are taken as one-sigma effects when switchig on a given error soure. Several such error sources may be defined

(c)

SetTauError()

GetEmatrixSysTau()

GetDeltaSysTau()

A systematic error on the regularisation parameter tau

(d)

SubtractBackground()

GetEmatrixSysBackgroundUncorr()

n.a.

uncorrelated errors on background sources, originating from the errors provided with the background histograms

(e)

SubtractBackground

GetEmatrixSysBackgroundScale()

GetDeltaSysBackgroundScale()

scale errors on background sources

(i)

SetInput()

GetEmatrixInput()

n.a.

statistical uncertainty of the input (the measurement)

(i)+(d)+(e)

see above

GetEmatrix()

n.a.

Partial sun of uncertainties: all sources which are propagated to the covariance before unfolding

(i)+(a)+(b)+(c)+(d)+(e)

see above

GetEmatrixTotal()

n.a.

All known error sources summed up

Note: (a), (b), (c) are propagated to the result AFTER unfolding, whereas the background errors (d) and (e) are added to the data errors BEFORE unfolding. For this reason the errors of type (d) and (e) are INCLUDED in the standard error matrix and other methods provided by the base class TUnfold, whereas errors of type (a), (b), (c) are NOT INCLUDED in the methods provided by the base class TUnfold.

Definition at line 56 of file TUnfoldSys.h.


Member Enumeration Documentation

type of matrix specified with AddSysError()

Enumerator:
kSysErrModeMatrix 

matrix is an alternative to the default matrix, the errors are the difference to the original matrix

kSysErrModeShift 

matrix gives the absolute shifts

kSysErrModeRelative 

matrix gives the relative shifts

Definition at line 103 of file TUnfoldSys.h.


Constructor & Destructor Documentation

TUnfoldSysV17::TUnfoldSysV17 ( const TH2 *  hist_A,
EHistMap  histmap,
ERegMode  regmode = kRegModeSize,
EConstraint  constraint = kEConstraintArea 
)

set up response matrix A, uncorrelated uncertainties of A and regularisation scheme

Parameters:
[in] hist_A matrix that describes the migrations
[in] histmap mapping of the histogram axes to the unfolding output
[in] regmode (default=kRegModeSize) global regularisation mode
[in] constraint (default=kEConstraintArea) type of constraint

For further details, consult the constructir of the class TUnfold. The uncertainties of hist_A are taken to be uncorrelated and aper propagated to the unfolding result, method GetEmatrixSysUncorr().

Definition at line 200 of file TUnfoldSysV17.cxx.

TUnfoldSysV17::TUnfoldSysV17 ( void   ) 

only for use by root streamer or derived classes

Definition at line 181 of file TUnfoldSysV17.cxx.

virtual TUnfoldSysV17::~TUnfoldSysV17 ( void   )  [virtual]

Member Function Documentation

void TUnfoldSysV17::AddSysError ( const TH2 *  sysError,
const char *  name,
EHistMap  histmap,
ESysErrMode  mode 
)

Specify a correlated systematic uncertainty.

Parameters:
[in] sysError alternative matrix or matrix of absolute/relative shifts
[in] name identifier of the error source
[in] histmap mapping of the histogram axes
[in] mode format of the error source

sysError corresponds to a one-sigma variation. If may be given in various forms, specified by mode

  • mode=kSysErrModeMatrix the histogram sysError corresponds to an alternative response matrix.
  • mode=kSysErrModeShift the content of the histogram sysError are the absolute shifts of the response matrix
  • mode=kSysErrModeRelative the content of the histogram sysError specifies the relative uncertainties

Internally, all three cases are transformed to the case mode=kSysErrModeMatrix.

Definition at line 289 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::ClearResults ( void   )  [protected, virtual]

reset all results

Reimplemented from TUnfoldV17.

Definition at line 694 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::DoBackgroundSubtraction ( void   )  [protected]

perform background subtraction

This prepares the data members for the base class TUnfold, such that the background is properly taken into account.

Definition at line 373 of file TUnfoldSysV17.cxx.

Referenced by SetInput().

void TUnfoldSysV17::GetBackground ( TH1 *  bgrHist,
const char *  bgrSource = 0,
const Int_t *  binMap = 0,
Int_t  includeError = 3,
Bool_t  clearHist = kTRUE 
) const

get background into a histogram

Parameters:
inout] bgrHist target histogram, content and errors will be altered
[in] bgrSource (default=0) name of backgrond source or zero to add all sources of background
[in] binMap (default=0) remap histogram bins
[in] includeError (default=3) include uncorrelated(1), correlated (2) or both (3) sources of uncertainty in the histogram errors
[in] clearHist (default=true) reset histogram before adding up the specified background sources

the array binMap is explained with the method GetOutput(). The flag clearHist may be used to add background from several sources in successive calls to GetBackground().

Definition at line 582 of file TUnfoldSysV17.cxx.

TSortedList * TUnfoldSysV17::GetBgrSources ( void   )  const

Get a new list of all background sources.

The user is responsible for deleting the list

Definition at line 1589 of file TUnfoldSysV17.cxx.

Double_t TUnfoldSysV17::GetChi2Sys ( void   ) 

calculate total chi**2 including all systematic errors

Definition at line 1429 of file TUnfoldSysV17.cxx.

Bool_t TUnfoldSysV17::GetDeltaSysBackgroundScale ( TH1 *  hist_delta,
const char *  source,
const Int_t *  binMap = 0 
)

correlated one-sigma shifts from background normalisation uncertainty

Parameters:
[out] hist_delta histogram to store shifts
[in] source identifier of the background source
[in] binMap (default=0) remapping of histogram bins

returns true if the background source was found.
This method returns the shifts of the unfolding result induced by varying the normalisation of the identified background by one sigma.
the array binMap is explained with the method GetOutput().

Definition at line 1104 of file TUnfoldSysV17.cxx.

Bool_t TUnfoldSysV17::GetDeltaSysSource ( TH1 *  hist_delta,
const char *  name,
const Int_t *  binMap = 0 
)

correlated one-sigma shifts correspinding to a given systematic uncertainty

Parameters:
[out] hist_delta histogram to store shifts
[in] name identifier of the background source
[in] binMap (default=0) remapping of histogram bins

returns true if the error source was found.
This method returns the shifts of the unfolding result induced by varying the identified systematic source by one sigma.
the array binMap is explained with the method GetOutput().

Definition at line 1076 of file TUnfoldSysV17.cxx.

Bool_t TUnfoldSysV17::GetDeltaSysTau ( TH1 *  hist_delta,
const Int_t *  binMap = 0 
)

correlated one-sigma shifts from shifting tau

Parameters:
[out] hist_delta histogram to store shifts
[in] source identifier of the background source
[in] binMap (default=0) remapping of histogram bins

returns true if the background source was found.
This method returns the shifts of the unfolding result induced by varying the normalisation of the identified background by one sigma.
the array binMap is explained with the method GetOutput().

Definition at line 1135 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetEmatrixFromVyy ( const TMatrixDSparse *  vyy,
TH2 *  ematrix,
const Int_t *  binMap,
Bool_t  clearEmat 
) [protected]

propagate an error matrix on the input vector to the unfolding result

Parameters:
[in] vyy input error matrix
inout] ematrix histogram to be updated
[in] binMap mapping of histogram bins
[in] clearEmat if set, clear histogram before adding this covariance contribution

Definition at line 1300 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetEmatrixInput ( TH2 *  ematrix,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

covariance matrix contribution from input measurement uncertainties

Parameters:
inout] ematrix output histogram
[in] binMap (default=0) remapping of histogram bins
[in] clearEmat (default=true) if true, clear the histogram

this method returns the covariance contributions to the unfolding result from the uncertainties or covariance of the input data. In many cases, these are the "statistical uncertainties".
The array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 1257 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetEmatrixSysBackgroundScale ( TH2 *  ematrix,
const char *  name,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

covariance contribution from background normalisation uncertainty

Parameters:
inout] ematrix output histogram
[in] source identifier of the background source
[in] binMap (default=0) remapping of histogram bins
[in] clearEmat (default=true) if true, clear the histogram prior to adding the covariance matrix contribution

this method returns the uncertainties on the unfolding result arising from the background source source and its normalisation uncertainty. See method SubtractBackground() how to set the normalisation uncertainty
the array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 1194 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetEmatrixSysBackgroundUncorr ( TH2 *  ematrix,
const char *  source,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

covariance contribution from background uncorrelated uncertainty

Parameters:
[in] ematrix output histogram
[in] source identifier of the background source
[in] binMap (default=0) remapping of histogram bins
[in] clearEmat (default=true) if true, clear the histogram

this method returns the covariance contributions to the unfolding result arising from the background source source and the uncorrelated (background histogram uncertainties). Also see method SubtractBackground()
the array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 1279 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetEmatrixSysSource ( TH2 *  ematrix,
const char *  name,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

covariance contribution from a systematic variation of the response matrix

Parameters:
inout] ematrix covariance matrix histogram
[in] name identifier of the systematic variation
[in] binMap (default=0) remapping of histogram bins
[in] clearEmat (default=true) if true, clear the histogram prior to adding the covariance matrix contribution

Returns the covariance matrix contribution from shifting the given uncertainty source within one sigma
the array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 1163 of file TUnfoldSysV17.cxx.

Referenced by GetEmatrixTotal().

void TUnfoldSysV17::GetEmatrixSysTau ( TH2 *  ematrix,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

covariance matrix contribution from error on regularisation parameter

Parameters:
inout] ematrix output histogram
[in] binMap (default=0) remapping of histogram bins
[in] clearEmat (default=true) if true, clear the histogram

this method returns the covariance contributions to the unfolding result from the assigned uncertainty on the parameter tau, see method SetTauError().
the array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 1226 of file TUnfoldSysV17.cxx.

Referenced by GetEmatrixTotal().

void TUnfoldSysV17::GetEmatrixSysUncorr ( TH2 *  ematrix,
const Int_t *  binMap = 0,
Bool_t  clearEmat = kTRUE 
)

Covariance contribution from uncorrelated uncertainties of the response matrix.

Parameters:
inout] ematrix covariance matrix histogram
[in] binMap mapping of histogram bins
[in] clearEmat if true, ematrix is cleared prior to adding this covariance matrix contribution

This method propagates the uncertainties of the response matrix histogram, specified with the constructor, to the unfolding result. It is assumed that the entries of that histogram are bin-to-bin uncorrelated. In many cases this corresponds to the "Monte Carlo statistical uncertainties".
The array binMap is explained with the method GetOutput(). The flag clearEmat may be used to add covariance matrices from several uncertainty sources.

Definition at line 810 of file TUnfoldSysV17.cxx.

Referenced by GetEmatrixTotal().

void TUnfoldSysV17::GetEmatrixTotal ( TH2 *  ematrix,
const Int_t *  binMap = 0 
)

Get total error matrix, summing up all contributions.

Parameters:
[out] ematrix histogram which will be filled
[in] binMap (default=0) remapping of histogram bins

the array binMap is explained with the method GetOutput().

Definition at line 1325 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::GetRhoItotal ( TH1 *  rhoi,
const Int_t *  binMap = 0,
TH2 *  invEmat = 0 
)

Get global correlatiocn coefficients, summing up all contributions.

Parameters:
[out] rhoi histogram which will be filled
[in] binMap (default=0) remapping of histogram bins
[out] invEmat (default=0) inverse of error matrix

return the global correlation coefficients, including all error sources. If invEmat is nonzero, the inverse of the error matrix is returned in that histogram
the array binMap is explained with the method GetOutput().

Definition at line 1464 of file TUnfoldSysV17.cxx.

TMatrixDSparse * TUnfoldSysV17::GetSummedErrorMatrixXX ( void   )  [protected]

determine total error matrix on the vector x

Definition at line 1387 of file TUnfoldSysV17.cxx.

Referenced by GetRhoItotal().

TMatrixDSparse * TUnfoldSysV17::GetSummedErrorMatrixYY ( void   )  [protected]

determine total error matrix on the vector Ax

Definition at line 1345 of file TUnfoldSysV17.cxx.

Referenced by GetChi2Sys().

TSortedList * TUnfoldSysV17::GetSysSources ( void   )  const

Get a new list of all systematic uuncertainty sources.

The user is responsible for deleting the list

Definition at line 1575 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::InitTUnfoldSys ( void   )  [private]

Definition at line 653 of file TUnfoldSysV17.cxx.

Referenced by TUnfoldSysV17().

TMatrixDSparse * TUnfoldSysV17::PrepareCorrEmat ( const TMatrixDSparse *  m1,
const TMatrixDSparse *  m2,
const TMatrixDSparse *  dsys 
) [protected, virtual]

propagate correlated systematic shift to an output vector

Parameters:
[in] m1 coefficients
[in] m2 coeffiicients
[in] dsys matrix of correlated shifts from this source

Definition at line 1027 of file TUnfoldSysV17.cxx.

Referenced by PrepareSysError().

void TUnfoldSysV17::PrepareSysError ( void   )  [protected, virtual]

Matrix calculations required to propagate systematic errors.

Definition at line 707 of file TUnfoldSysV17.cxx.

Referenced by GetDeltaSysSource(), GetDeltaSysTau(), GetSummedErrorMatrixXX(), and GetSummedErrorMatrixYY().

TMatrixDSparse * TUnfoldSysV17::PrepareUncorrEmat ( const TMatrixDSparse *  m_0,
const TMatrixDSparse *  m_1 
) [protected, virtual]

propagate uncorrelated systematic errors to a covariance matrix

Parameters:
[in] m_0 coefficients for error propagation
[in] m_1 coefficients for error propagation

returns the covariance matrix

Definition at line 827 of file TUnfoldSysV17.cxx.

Referenced by PrepareSysError().

void TUnfoldSysV17::ScaleColumnsByVector ( TMatrixDSparse *  m,
const TMatrixTBase< Double_t > *  v 
) const [protected]

scale columns of a matrix by the corresponding rows of a vector

[inout] m matrix
[in] v vector

the entries mij are multiplied by vj.

Definition at line 1487 of file TUnfoldSysV17.cxx.

Int_t TUnfoldSysV17::SetInput ( const TH1 *  input,
Double_t  scaleBias = 0.0,
Double_t  oneOverZeroError = 0.0,
const TH2 *  hist_vyy = 0,
const TH2 *  hist_vyy_inv = 0 
) [virtual]

Define input data for subsequent calls to DoUnfold(tau).

Parameters:
[in] input input distribution with uncertainties
[in] scaleBias (default=0) scale factor applied to the bias
[in] oneOverZeroError (default=0) for bins with zero error, this number defines 1/error.
[in] hist_vyy (default=0) if non-zero, this defines the data covariance matrix
[in] hist_vyy_inv (default=0) if non-zero and hist_vyy is set, defines the inverse of the data covariance matrix. This feature can be useful for repeated unfoldings in cases where the inversion of the input covariance matrix is lengthy

Return value: nError1+10000*nError2

  • nError1: number of bins where the uncertainty is zero. these bins either are not used for the unfolding (if oneOverZeroError==0) or 1/uncertainty is set to oneOverZeroError.
  • nError2: return values>10000 are fatal errors, because the unfolding can not be done. The number nError2 corresponds to the number of truth bins which are not constrained by data points.

Reimplemented from TUnfoldV17.

Definition at line 482 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::SetTauError ( Double_t  delta_tau  ) 

Specify an uncertainty on tau.

Parameters:
[in] delta_tau new uncertainty on tau

The default is to have no uncertyainty on tau.

Definition at line 1056 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::SubtractBackground ( const TH1 *  bgr,
const char *  name,
Double_t  scale = 1.0,
Double_t  scale_error = 0.0 
)

Specify a source of background.

Parameters:
[in] bgr background distribution with uncorrelated errors
[in] name identifier for this background source
[in] scale normalisation factor applied to the background
[in] scaleError normalisation uncertainty

The contribution scale*bgr is subtracted from the measurement prior to unfolding. The following contributions are added to the input covarianc ematrix

  • using the uncorrelated histogram errors dbgr, the contribution (scale*dbgri)2 is added to the diagonals of the covariance
  • using the histogram contents, the background normalisation uncertainty contribution dscale*bgri dscale*bgrj is added to the covariance matrix

Definition at line 532 of file TUnfoldSysV17.cxx.

void TUnfoldSysV17::VectorMapToHist ( TH1 *  hist_delta,
const TMatrixDSparse *  delta,
const Int_t *  binMap 
) [protected]

map delta to hist_delta, possibly summing up bins

Parameters:
[out] hist_delta result histogram
[in] delta vector to be mapped to the histogram
[in] binMap mapping of histogram bins

grooups of bins of delta are mapped to bins of hist_delta. The histogram contents are set to the sum over the group of bins. The histogram errors are reset to zero.
The array binMap is explained with the method GetOutput()

Definition at line 1539 of file TUnfoldSysV17.cxx.

Referenced by GetDeltaSysSource(), and GetDeltaSysTau().


Member Data Documentation

TMatrixD* TUnfoldSysV17::fAoutside [protected]

Input: underflow/overflow bins.

Definition at line 65 of file TUnfoldSys.h.

Referenced by InitTUnfoldSys().

TMap* TUnfoldSysV17::fBgrErrScaleIn [protected]

Input: background sources correlated error.

Definition at line 73 of file TUnfoldSys.h.

Referenced by DoBackgroundSubtraction(), and InitTUnfoldSys().

Input: uncorr error squared from bgr sources.

Definition at line 71 of file TUnfoldSys.h.

Referenced by DoBackgroundSubtraction(), and InitTUnfoldSys().

TMap* TUnfoldSysV17::fBgrIn [protected]

Input: size of background sources.

Definition at line 69 of file TUnfoldSys.h.

Referenced by DoBackgroundSubtraction(), GetBgrSources(), and InitTUnfoldSys().

TMatrixD* TUnfoldSysV17::fDAinColRelSq [protected]

Input: normalized column err.sq. (inp.matr.).

Definition at line 63 of file TUnfoldSys.h.

Referenced by InitTUnfoldSys().

TMatrixDSparse* TUnfoldSysV17::fDAinRelSq [protected]

Input: normalized errors from input matrix.

Definition at line 61 of file TUnfoldSys.h.

Referenced by InitTUnfoldSys().

TMap* TUnfoldSysV17::fDeltaCorrAx [protected]

Result: syst.shift from fSysIn on fAx.

Definition at line 87 of file TUnfoldSys.h.

Referenced by ClearResults(), GetSummedErrorMatrixYY(), InitTUnfoldSys(), and PrepareSysError().

TMap* TUnfoldSysV17::fDeltaCorrX [protected]

Result: syst.shift from fSysIn on fX.

Definition at line 85 of file TUnfoldSys.h.

Referenced by ClearResults(), GetDeltaSysSource(), GetEmatrixTotal(), GetSummedErrorMatrixXX(), InitTUnfoldSys(), and PrepareSysError().

TMatrixDSparse* TUnfoldSysV17::fDeltaSysTau [protected]

Result: systematic shift from tau.

Definition at line 89 of file TUnfoldSys.h.

Referenced by ClearResults(), GetDeltaSysTau(), GetSummedErrorMatrixXX(), GetSummedErrorMatrixYY(), InitTUnfoldSys(), PrepareSysError(), and SetTauError().

Double_t TUnfoldSysV17::fDtau [protected]

Input: error on tau.

Definition at line 75 of file TUnfoldSys.h.

Referenced by InitTUnfoldSys(), PrepareSysError(), and SetTauError().

TMatrixDSparse* TUnfoldSysV17::fEmatUncorrAx [protected]

Result: syst.error from fDA2 on fAx.

Definition at line 83 of file TUnfoldSys.h.

Referenced by ClearResults(), GetSummedErrorMatrixYY(), InitTUnfoldSys(), and PrepareSysError().

TMatrixDSparse* TUnfoldSysV17::fEmatUncorrX [protected]

Result: syst.error from fDA2 on fX.

Definition at line 81 of file TUnfoldSys.h.

Referenced by ClearResults(), GetSummedErrorMatrixXX(), InitTUnfoldSys(), and PrepareSysError().

TMap* TUnfoldSysV17::fSysIn [protected]

Input: correlated errors.

Definition at line 67 of file TUnfoldSys.h.

Referenced by GetSysSources(), InitTUnfoldSys(), and PrepareSysError().

TMatrixDSparse* TUnfoldSysV17::fVyyData [protected]

Input: error on fY prior to bgr subtraction.

Definition at line 79 of file TUnfoldSys.h.

Referenced by DoBackgroundSubtraction(), InitTUnfoldSys(), and SetInput().

TMatrixD* TUnfoldSysV17::fYData [protected]

Input: fY prior to bgr subtraction.

Definition at line 77 of file TUnfoldSys.h.

Referenced by DoBackgroundSubtraction(), InitTUnfoldSys(), and SetInput().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Enumerations Enumerator Defines

Generated on 17 Nov 2016 for TUnfold by  doxygen 1.6.1