19 #ifndef ROOT_TUnfoldSys 20 #define ROOT_TUnfoldSys 129 const Int_t *binMap=0);
134 const Int_t *binMap=0);
void InitTUnfoldSys(void)
Initialize pointers and TMaps.
TMatrixDSparse * fEmatUncorrX
Result: syst.error from fDA2 on fX.
virtual void ClearResults(void)
Clear all data members which depend on the unfolding results.
Double_t GetChi2Sys(void)
Calculate total chi**2 including all systematic errors.
void GetEmatrixInput(TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
Covariance matrix contribution from input measurement uncertainties.
TMap * fBgrErrScaleIn
Input: background sources correlated error.
Bool_t GetDeltaSysSource(TH1 *hist_delta, const char *source, const Int_t *binMap=0)
Correlated one-sigma shifts correspinding to a given systematic uncertainty.
TMap * fBgrIn
Input: size of background sources.
void VectorMapToHist(TH1 *hist_delta, const TMatrixDSparse *delta, const Int_t *binMap)
Map delta to hist_delta, possibly summing up bins.
virtual TMatrixDSparse * PrepareCorrEmat(const TMatrixDSparse *m1, const TMatrixDSparse *m2, const TMatrixDSparse *dsys)
Propagate correlated systematic shift to an output vector.
TMatrixDSparse * fDAinRelSq
Input: normalized errors from input matrix.
virtual void PrepareSysError(void)
Matrix calculations required to propagate systematic errors.
TSortedList * GetSysSources(void) const
Get a new list of all systematic uuncertainty sources.
An algorithm to unfold distributions from detector to truth level, with background subtraction and pr...
void SetTauError(Double_t delta_tau)
Specify an uncertainty on tau.
Double_t fDtau
Input: error on tau.
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 the input data for subsequent calls to DoUnfold(Double_t).
TSortedList * GetBgrSources(void) const
Get a new list of all background sources.
void GetEmatrixSysBackgroundUncorr(TH2 *ematrix, const char *source, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
Covariance contribution from background uncorrelated uncertainty.
TMap * fSysIn
Input: correlated errors.
#define ClassDef(name, id)
void ScaleColumnsByVector(TMatrixDSparse *m, const TMatrixTBase< Double_t > *v) const
Scale columns of a matrix by the corresponding rows of a vector.
void GetEmatrixSysUncorr(TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
Covariance contribution from uncorrelated uncertainties of the response matrix.
regularise the amplitude of the output distribution
EHistMap
arrangement of axes for the response matrix (TH2 histogram)
EConstraint
type of extra constraint
TMatrixDSparse * fDeltaSysTau
Result: systematic shift from tau.
void GetEmatrixSysBackgroundScale(TH2 *ematrix, const char *source, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
Covariance contribution from background normalisation uncertainty.
A sorted doubly linked list.
matrix gives the absolute shifts
void DoBackgroundSubtraction(void)
Perform background subtraction.
TMatrixDSparse * GetSummedErrorMatrixXX(void)
Determine total error matrix on the vector x.
TMatrixDSparse * GetSummedErrorMatrixYY(void)
Determine total error matrix on the vector Ax.
ERegMode
choice of regularisation scheme
TMap * fBgrErrUncorrInSq
Input: uncorr error squared from bgr sources.
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.
virtual ~ TUnfoldSys(void)
TMap * fDeltaCorrX
Result: syst.shift from fSysIn on fX.
TMap * fDeltaCorrAx
Result: syst.shift from fSysIn on fAx.
Service class for 2-Dim histogram classes.
virtual TMatrixDSparse * PrepareUncorrEmat(const TMatrixDSparse *m1, const TMatrixDSparse *m2)
Propagate uncorrelated systematic errors to a covariance matrix.
void GetEmatrixTotal(TH2 *ematrix, const Int_t *binMap=0)
Get total error matrix, summing up all contributions.
Bool_t GetDeltaSysTau(TH1 *delta, const Int_t *binMap=0)
Correlated one-sigma shifts from shifting tau.
static constexpr double m2
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.
enforce preservation of the area
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.
TMatrixDSparse * fVyyData
Input: error on fY prior to bgr subtraction.
void GetEmatrixSysTau(TH2 *ematrix, const Int_t *binMap=0, Bool_t clearEmat=kTRUE)
Covariance matrix contribution from error on regularisation parameter.
TMatrixD * fDAinColRelSq
Input: normalized column err.sq. (inp.matr.)
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
TUnfoldSys(void)
Only for use by root streamer or derived classes.
TMatrixDSparse * fEmatUncorrAx
Result: syst.error from fDA2 on fAx.
#define TUnfold_CLASS_VERSION
void AddSysError(const TH2 *sysError, const char *name, EHistMap histmap, ESysErrMode mode)
Specify a correlated systematic uncertainty.
An algorithm to unfold distributions from detector to truth level.
matrix gives the relative shifts
TMatrixD * fYData
Input: fY prior to bgr subtraction.
void GetRhoItotal(TH1 *rhoi, const Int_t *binMap=0, TH2 *invEmat=0)
Get global correlatiocn coefficients, summing up all contributions.
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.
ESysErrMode
type of matrix specified with AddSysError()
Bool_t GetDeltaSysBackgroundScale(TH1 *delta, const char *source, const Int_t *binMap=0)
Correlated one-sigma shifts from background normalisation uncertainty.
matrix is an alternative to the default matrix, the errors are the difference to the original matrix ...
TMatrixD * fAoutside
Input: underflow/overflow bins.