TUnfoldSys adds error propagation of systematic errors to TUnfold Also, background sources (with errors) can be subtracted. The following sources of systematic error are considered: (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) 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) a systematic error on the regularisation parameter tau (d) uncorrelated errors on background sources, taken as the errors provided with the background histograms (e) scale errors on background sources Source (a) is providede with the original histogram histA TUnfoldSys(histA,...) Sources (b) are added by calls to AddSysError() The systematic uncertainty on tau (c) is set by SetTauError() Backgound sources causing errors of type (d) and (e) are added by SubtractBackground() NOTE: Systematic errors (a), (b), (c) are propagated to the result AFTER unfolding Background errors (d) and (e) are added to the data errors BEFORE unfolding For this reason: errors of type (d) and (e) are INCLUDED in the standard error matrix and other methods provided by the base class TUnfold: GetOutput() GetEmatrix() whereas errors of type (a), (b), (c) are NOT INCLUDED in the methods provided by the base class TUnfold. Accessing error matrices: The error sources (b),(c) and (e) propagate to shifts of the result. These shifts may be accessed as histograms using the methods GetDeltaSysSource() corresponds to (b) GetDeltaSysTau() corresponds to (c) GetDeltaSysBackgroundScale() corresponds to (e) The error sources (a) and (d) originate from many uncorrelated errors, which in general ar NOT uncorrelated on the result vector. Thus, there is no corresponding shift of the output vector, only error matrices are available Method to get error matrix corresponds to error sources GetEmatrixSysUncorr() (a) GetEmatrixSysSource() (b) GetEmatrixSysTau() (c) GetEmatrixSysBackgroundUncorr() (d) GetEmatrixSysBackgroundScale() (e) GetEmatrixInput() (0) GetEmatrix() (0)+(d)+(e) GetEmatrixTotal() (0)+(a)+(b)+(c)+(d)+(e) Example: TH2D *histA,*histAsys1,*histAsys2,*histBgr1,*histBgr2; TH1D *data; assume the above histograms are filled: histA: migration matrix from generator (x-axis) to detector (y-axis) the errors of histA are the uncorrelated systematic errors histAsys1: alternative migration matrix, when systematic #1 is applied histAsys1: alternative migration matrix, when systematic #2 is applied histBgr: known background to the data, with errors set up the unfolding: TUnfoldSys unfold(histA,TUnfold::kHistMapOutputVert); unfold.SetInput(input); // this background has 5% scale uncertainty unfold.SubtractBackground(histBgr1,"bgr1",1.0,0.05); // this background is scaled by 0.8 and has 10% scale uncertainty unfold.SubtractBackground(histBgr2,"bgr2",0.8,0.1); unfold.AddSysError(histAsys1,"syserror1",TUnfold::kHistMapOutputVert, TUnfoldSys::kSysErrModeMatrix); unfold.AddSysError(histAsys2,"syserror2",TUnfold::kHistMapOutputVert, TUnfoldSys::kSysErrModeMatrix); run the unfolding: see description of class TUnfold unfold.ScanLcurve( ...) retrieve the output the errors include errors from input, from histBgr1 and from histBgr2 unfold.GetOutput(output); retreive systematic shifts corresponding to correlated error sources In the example, there are 4 correlated sources: * 5% scale error on bgr1 * 10% scale error on bgr2 * the systematic error "syserror1" * the systematic error "syserror2" These error s are returned as vectors (corresponding to one-sigma shifts of each source) unfold.GetDeltaSysBackgroundScale(bgr1shifts,"bgr1"); unfold.GetDeltaSysBackgroundScale(bgr2shifts,"bgr2"); unfold.GetDeltaSysSource(sys1shifts,"syserror1"); unfold.GetDeltaSysSource(sys2shifts,"syserror2"); retreive errors from uncorrelated sources In the example, there are four sources of uncorrelated error * the input vector (statistical errors of the data) * the input matrix histA (Monte Carlo statistical errors) * the errors on bgr1 (Monte Carlo statistical errors) * the errors on bgr2 (Monte Carlo statistical errors) These errors are returned as error matrices unfold.GetEmatrixInput(stat_error); unfold.GetEmatrixSysUncorr(uncorr_sys); unfold.GetEmatrixSysBackgroundUncorr(bgr1uncorr,"bgr1"); unfold.GetEmatrixSysBackgroundUncorr(bgr2uncorr,"bgr2"); Error matrices can be added to existing histograms. This is useful to retreive the sum of several error matrices. If the last argument of the .GetEmatrixXXX methods is set to kFALSE, the histogram is not cleared, but the error matrix is simply added. Example: add all errors from background subtraction unfold.GetEmatrixSysBackgroundUncorr(bgrerror,"bgr1",0,kTRUE); unfold.GetEmatrixSysBackgroundCorr(bgrerror,"bgr1",0,kFALSE); unfold.GetEmatrixSysBackgroundUncorr(bgrerror,"bgr2",0,kFALSE); unfold.GetEmatrixSysBackgroundCorr(bgrerror,"bgr2",0,kFALSE); There is a special function to get the total error: unfold.GetEmatrixTotal(err_total);
TUnfoldSys(const TUnfoldSys&) | |
TUnfoldSys(const TH2* hist_A, TUnfold::EHistMap histmap, TUnfold::ERegMode regmode = kRegModeSize, TUnfold::EConstraint constraint = kEConstraintNone) | |
virtual | ~TUnfoldSys() |
void | TObject::AbstractMethod(const char* method) const |
void | AddSysError(const TH2* sysError, const char* name, TUnfold::EHistMap histmap, TUnfoldSys::ESysErrMode mode) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual Double_t | TUnfold::DoUnfold(Double_t tau) |
Double_t | TUnfold::DoUnfold(Double_t tau, const TH1* hist_y, Double_t scaleBias = 0.0) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
TH1D* | TUnfold::GetBias(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
Double_t | TUnfold::GetChi2A() const |
Double_t | TUnfold::GetChi2L() const |
Double_t | GetChi2Sys() |
void | GetDeltaSysBackgroundScale(TH1* delta, const char* source, const Int_t* binMap = 0) |
void | GetDeltaSysSource(TH1* hist_delta, const char* source, const Int_t* binMap = 0) |
void | GetDeltaSysTau(TH1* delta, const Int_t* binMap = 0) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
void | TUnfold::GetEmatrix(TH2* ematrix, const Int_t* binMap = 0) const |
TH2D* | TUnfold::GetEmatrix(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
void | GetEmatrixInput(TH2* ematrix, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixSysBackgroundScale(TH2* ematrix, const char* source, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixSysBackgroundUncorr(TH2* ematrix, const char* source, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixSysSource(TH2* ematrix, const char* source, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixSysTau(TH2* ematrix, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixSysUncorr(TH2* ematrix, const Int_t* binMap = 0, Bool_t clearEmat = kTRUE) |
void | GetEmatrixTotal(TH2* ematrix, const Int_t* binMap = 0) |
TH1D* | TUnfold::GetFoldedOutput(const char* name, const char* title, Double_t y0 = 0.0, Double_t y1 = 0.0) const |
virtual const char* | TObject::GetIconName() const |
TH1D* | TUnfold::GetInput(const char* name, const char* title, Double_t y0 = 0.0, Double_t y1 = 0.0) const |
virtual Double_t | TUnfold::GetLcurveX() const |
virtual Double_t | TUnfold::GetLcurveY() const |
TH2D* | TUnfold::GetLsquared(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
virtual const char* | TObject::GetName() const |
Int_t | TUnfold::GetNdf() const |
Int_t | TUnfold::GetNpar() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
void | TUnfold::GetOutput(TH1* output, const Int_t* binMap = 0) const |
TH1D* | TUnfold::GetOutput(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
Double_t | TUnfold::GetRhoAvg() const |
Double_t | TUnfold::GetRhoI(TH1* rhoi, TH2* ematrixinv = 0, const Int_t* binMap = 0) const |
TH1D* | TUnfold::GetRhoI(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
void | TUnfold::GetRhoIJ(TH2* rhoij, const Int_t* binMap = 0) const |
TH2D* | TUnfold::GetRhoIJ(const char* name, const char* title, Double_t x0 = 0.0, Double_t x1 = 0.0) const |
Double_t | TUnfold::GetRhoMax() const |
Double_t | TUnfold::GetTau() const |
virtual const char* | TObject::GetTitle() const |
static const char* | TUnfold::GetTUnfoldVersion() |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TUnfoldSys& | operator=(const TUnfoldSys&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
Int_t | TUnfold::RegularizeBins(int start, int step, int nbin, TUnfold::ERegMode regmode) |
Int_t | TUnfold::RegularizeBins2D(int start_bin, int step1, int nbin1, int step2, int nbin2, TUnfold::ERegMode regmode) |
Int_t | TUnfold::RegularizeCurvature(int left_bin, int center_bin, int right_bin, Double_t scale_left = 1.0, Double_t scale_right = 1.0) |
Int_t | TUnfold::RegularizeDerivative(int left_bin, int right_bin, Double_t scale = 1.0) |
Int_t | TUnfold::RegularizeSize(int bin, Double_t scale = 1.0) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
virtual Int_t | TUnfold::ScanLcurve(Int_t nPoint, Double_t tauMin, Double_t tauMax, TGraph** lCurve, TSpline** logTauX = 0, TSpline** logTauY = 0) |
void | TUnfold::SetBias(const TH1* bias) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | TUnfold::SetConstraint(TUnfold::EConstraint constraint) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual Int_t | SetInput(const TH1* hist_y, Double_t scaleBias = 0.0, Double_t oneOverZeroError = 0.0) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetTauError(Double_t delta_tau) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
void | SubtractBackground(const TH1* hist_bgr, const char* name, Double_t scale = 1.0, Double_t scale_error = 0.0) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
void | InitTUnfoldSys() |
enum ESysErrMode { | kSysErrModeMatrix | |
kSysErrModeShift | ||
kSysErrModeRelative | ||
}; | ||
enum TUnfold::EConstraint { | kEConstraintNone | |
kEConstraintArea | ||
}; | ||
enum TUnfold::ERegMode { | kRegModeNone | |
kRegModeSize | ||
kRegModeDerivative | ||
kRegModeCurvature | ||
kRegModeMixed | ||
}; | ||
enum TUnfold::EHistMap { | kHistMapOutputHoriz | |
kHistMapOutputVert | ||
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
TMatrixDSparse* | TUnfold::fA | Input: matrix |
TMatrixD* | fAoutside | Input: underflow/overflow bins |
TMap* | fBgrErrCorrIn | Input: background sources correlated error |
TMap* | fBgrErrUncorrIn | Input: uncorrelated error from bgr sources |
TMap* | fBgrIn | Input: size of background sources |
Double_t | TUnfold::fBiasScale | Input: scale factor for the bias |
TUnfold::EConstraint | TUnfold::fConstraint | Input: type of constraint to use |
TMatrixD* | fDAinColRelSq | Input: normalized column err.sq. (inp.matr.) |
TMatrixDSparse* | fDAinRelSq | Input: normalized errors from input matrix |
TMap* | fDeltaCorrAx | Result: syst.shift from fSysIn on fAx |
TMap* | fDeltaCorrX | Result: syst.shift from fSysIn on fX |
TMatrixDSparse* | fDeltaSysTau | Result: systematic shift from tau |
Double_t | fDtau | Input: error on tau |
TMatrixDSparse* | fEmatUncorrAx | Result: syst.error from fDA2 on fAx |
TMatrixDSparse* | fEmatUncorrX | Result: syst.error from fDA2 on fX |
TArrayI | TUnfold::fHistToX | Input: histogram bins -> matrix indices |
TMatrixDSparse* | TUnfold::fLsquared | Input: regularisation conditions squared |
TUnfold::ERegMode | TUnfold::fRegMode | Input: type of regularisation |
TArrayD | TUnfold::fSumOverY | Input: sum of all columns |
TMap* | fSysIn | Input: correlated errors |
Double_t | TUnfold::fTauSquared | Input: regularisation parameter |
TMatrixDSparse* | TUnfold::fVyy | Input: covariance matrix for y |
TMatrixDSparse* | fVyyData | Input: error on fY prior to bgr subtraction |
TMatrixD* | TUnfold::fX0 | Input: x0 |
TArrayI | TUnfold::fXToHist | Input: matrix indices -> histogram bins |
TMatrixD* | TUnfold::fY | Input: y |
TMatrixD* | fYData | Input: fY prior to bgr subtraction |
arguments: hist_A: matrix that describes the migrations histmap: mapping of the histogram axes to the unfolding output regmode: global regularisation mode data members initialized to something different from zero: fDA2, fDAcol initialize TUnfold
add a correlated error source sysError: alternative matrix or matrix of absolute/relative shifts name: name of the error source histmap: mapping of the histogram axes to the unfolding output mode: format of the error source
Define the input data for subsequent calls to DoUnfold(Double_t) input: input distribution with errors scaleBias: scale factor applied to the bias oneOverZeroError: for bins with zero error, this number defines 1/error. Return value: number of bins with bad error +10000*number of unconstrained output bins Note: return values>=10000 are fatal errors, for the given input, the unfolding can not be done! Calls the SetInput metghod of the base class, then renames the input vectors fY and fVyy, then performs the background subtraction Data members modified: fYData,fY,fVyyData,fVyy,fVyyinvData,fVyyinv and those modified by TUnfold::SetInput() and those modified by DoBackgroundSubtraction() LM: WARNING: Coverity detects here a false USE_AFTER_FREE for fY and fVyy the objects are deleted but then re-created immediatly afterwards in TUnfold::SetInput
Store background source bgr: background distribution with uncorrelated errors name: name of this background source scale: scale factor applied to the background scaleError: error on scale factor (correlated error) Data members modified: fBgrIn,fBgrErrUncorrIn,fBgrErrCorrIn and those modified by DoBackgroundSubtraction() save background source
calculations required for syst.error data members modified fEmatUncorrX, fEmatUncorrAx, fDeltaCorrX, fDeltaCorrAx
get output error contribution from statistical fluctuations in A ematrix: output error matrix histogram binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors data members modified: fVYAx, fESparse, fEAtV, fErrorAStat
propagate uncorrelated systematic errors to a covariance matrix m0,m1 : coefficients (matrices) for propagating the errors the error matrix is calculated by standard error propagation, where the derivative of the result vector X wrt the matrix A is given by dX_k / dA_ij = M0_kj * Z0_i - M1_ki * Z1_j where: the matrices M0 and M1 are arguments to this function the vectors Z0, Z1 : GetDXDAZ() The matrix A is calculated from a matrix B as A_ij = B_ij / sum_k B_kj where k runs over additional indices of B, not present in A. (underflow and overflow bins, used for efficiency corrections) define: Norm_j = sum_k B_kj (data member fSumOverY) the derivative of A wrt this input matrix B is given by: dA_ij / dB_kj = ( delta_ik - A_ij ) * 1/Norm_j The covariance matrix Vxx is: Vxx_mn = sum_ijlk [ (dX_m / dA_ij) * (dA_ij / dB_kj) * DB_kj * (dX_n / dA_lj) * (dA_lj / dB_kj) ] where DB_kj is the error on B_kj squared Simplify the sum over k: sum_k [ (dA_ij / dB_kj) * DB_kj * (dA_lj / dB_kj) ] = sum_k [ ( delta_ik - A_ij ) * 1/Norm_j * DB_kj * * ( delta_lk - A_lj ) * 1/Norm_j ] = sum_k [ ( delta_ik*delta_lk - delta_ik*A_lj - delta_lk*A_ij + A_ij * A_lj ) * DB_kj / Norm_j^2 ] introduce normalized errors: Rsq_kj = DB_kj / Norm_j^2 after summing over k: delta_ik*delta_lk*Rsq_kj -> delta_il*Rsq_ij delta_ik*A_lj*Rsq_kj -> A_lj*Rsq_ij delta_lk*A_ij*Rsq_kj -> A_ij*Rsq_lj A_ij*A_lj*Rsq_kj -> A_ij*A_lj*sum_k(Rsq_kj) introduce sum of normalized errors squared: SRsq_j = sum_k(Rsq_kj) Note: Rsq_ij is stored as fDAinRelSq (excludes extra indices of B) and SRsq_j is stored as fDAinColRelSq (sum includes all indices of B) Vxx_nm = sum_ijl [ (dX_m / dA_ij) * (dX_n / dA_lj) (delta_il*Rsq_ij - A_lj*Rsq_ij - A_ij*Rsq_lj + A_ij*A_lj *SRsq_j) ] Vxx_nm = sum_j [ F_mj * F_nj * SRsq_j - sum_j [ G_mj * F_nj ] - sum_j [ F_mj * G_nj ] + sum_ij [ (dX_m / dA_ij) * (dX_n / dA_lj) * Rsq_ij ] where: F_mj = sum_i [ (dX_m / dA_ij) * A_ij ] G_mj = sum_i [ (dX_m / dA_ij) * Rsq_ij ] In order to avoid explicitly calculating the 3-dimensional tensor (dX_m/dA_ij) the sums are evaluated further, using dX_k / dA_ij = M0_kj * Z0_i - M1_ki * Z1_j F_mj = M0_mj * (A# Z0)_j - (M1 A)_mj Z1_j G_mj = M0_mj * (Rsq# Z0)_j - (M1 Rsq)_mj Z1_j and sum_ij [ (dX_m/dA_ij) * (dX_n/dA_ij) * Rsq_ij ] = sum_j [ M0_mj * M0_nj * [ sum_i (Z0_i)^2 * Rsq_ij ] ] + sum_i [ M1_mi * M1_ni * [ sum_j (Z1_j)^2 * Rsq_ij ] ] - sum_i [ M1_mi * H_ni + M1_ni * H_mi] where: H_mi = Z0_i * sum_j [ M0_mj * Z1_j * Rsq_ij ] collect all contributions: Vxx_nm = r0 -r1 -r2 +r3 +r4 -r5 -r6 r0 = sum_j [ F_mj * F_nj * SRsq_j ] r1 = sum_j [ G_mj * F_nj ] r2 = sum_j [ F_mj * G_nj ] r3 = sum_j [ M0_mj * M0_nj * [ sum_i (Z0_i)^2 * Rsq_ij ] ] r4 = sum_i [ M1_mi * M1_ni * [ sum_j (Z1_j)^2 * Rsq_ij ] ] r5 = sum_i [ M1_mi * H_ni ] r6 = sum_i [ M1_ni * H_mi ] calculate contributions containing matrices F and G r0,r1,r2
calculate systematic shift from a given source ematrix: output source: name of the error source binMap: see method GetEmatrix()
get correlated shift induced by a background source delta: output shift vector histogram source: name of background source binMap: see method GetEmatrix() see PrepareSysError()
calculate systematic shift from tau variation ematrix: output binMap: see method GetEmatrix()
calculate systematic shift from a given source ematrix: output source: name of the error source binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors
calculate systematic shift from a given background scale error ematrix: output source: name of the error source binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors
calculate error matrix from error in regularisation parameter ematrix: output binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors
calculate error matrix from error in input vector alone ematrix: output binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors
propagate error matrix vyy to the result vyy: error matrix on input data fY ematrix: output binMap: see method GetEmatrix() clearEmat: set kTRUE to clear the histogram prior to adding the errors
get total error including statistical error ematrix: output binMap: see method GetEmatrix()
sum over bins of *delta, as defined in binMap,fXToHist hist_delta: histogram to return summed vector delta: vector to sum and remap