#include <TSVDUnfold.h>
Inheritance diagram for TSVDUnfold:
Public Member Functions | |
TSVDUnfold (const TH1D *bdat, const TH1D *bini, const TH1D *xini, const TH2D *Adet) | |
TSVDUnfold (const TSVDUnfold &other) | |
virtual | ~TSVDUnfold () |
void | SetNormalize (Bool_t normalize) |
TH1D * | Unfold (Int_t kreg) |
TH2D * | GetUnfoldCovMatrix (const TH2D *cov, Int_t ntoys, Int_t seed=1) |
TH2D * | GetAdetCovMatrix (Int_t ntoys, Int_t seed=1) |
Int_t | GetKReg () const |
TH1D * | GetD () const |
TH1D * | GetSV () const |
TSVDUnfold (const TH1D *bdat, const TH1D *bini, const TH1D *xini, const TH2D *Adet) | |
TSVDUnfold (const TSVDUnfold &other) | |
virtual | ~TSVDUnfold () |
void | SetNormalize (Bool_t normalize) |
TH1D * | Unfold (Int_t kreg) |
TH2D * | GetUnfoldCovMatrix (const TH2D *cov, Int_t ntoys, Int_t seed=1) |
TH2D * | GetAdetCovMatrix (Int_t ntoys, Int_t seed=1) |
Int_t | GetKReg () const |
TH1D * | GetD () const |
TH1D * | GetSV () const |
Static Public Member Functions | |
static Double_t | ComputeChiSquared (const TH1D &truspec, const TH1D &unfspec, const TH2D &covmat, Double_t regpar=0.01) |
static Double_t | ComputeChiSquared (const TH1D &truspec, const TH1D &unfspec, const TH2D &covmat, Double_t regpar=0.01) |
Private Member Functions | |
void | FillCurvatureMatrix (TMatrixD &tCurv, TMatrixD &tC) const |
void | InitHistos () |
void | FillCurvatureMatrix (TMatrixD &tCurv, TMatrixD &tC) const |
void | InitHistos () |
Static Private Member Functions | |
static Double_t | GetCurvature (const TVectorD &vec, const TMatrixD &curv) |
static void | H2V (const TH1D *histo, TVectorD &vec) |
static void | H2Verr (const TH1D *histo, TVectorD &vec) |
static void | V2H (const TVectorD &vec, TH1D &histo) |
static void | H2M (const TH2D *histo, TMatrixD &mat) |
static TMatrixD | MatDivVec (const TMatrixD &mat, const TVectorD &vec, Int_t zero=0) |
static TVectorD | CompProd (const TVectorD &vec1, const TVectorD &vec2) |
static TVectorD | VecDiv (const TVectorD &vec1, const TVectorD &vec2, Int_t zero=0) |
static void | RegularisedSymMatInvert (TMatrixDSym &mat, Double_t eps=1e-3) |
static Double_t | GetCurvature (const TVectorD &vec, const TMatrixD &curv) |
static void | H2V (const TH1D *histo, TVectorD &vec) |
static void | H2Verr (const TH1D *histo, TVectorD &vec) |
static void | V2H (const TVectorD &vec, TH1D &histo) |
static void | H2M (const TH2D *histo, TMatrixD &mat) |
static TMatrixD | MatDivVec (const TMatrixD &mat, const TVectorD &vec, Int_t zero=0) |
static TVectorD | CompProd (const TVectorD &vec1, const TVectorD &vec2) |
static TVectorD | VecDiv (const TVectorD &vec1, const TVectorD &vec2, Int_t zero=0) |
static void | RegularisedSymMatInvert (TMatrixDSym &mat, Double_t eps=1e-3) |
Private Attributes | |
Int_t | fNdim |
Int_t | fDdim |
Truth and reconstructed dimensions. | |
Bool_t | fNormalize |
Derivative for curvature matrix. | |
Int_t | fKReg |
Normalize unfolded spectrum to 1. | |
TH1D * | fDHist |
Regularisation parameter. | |
TH1D * | fSVHist |
const TH1D * | fBdat |
const TH1D * | fBini |
const TH1D * | fXini |
const TH2D * | fAdet |
TH1D * | fToyhisto |
TH2D * | fToymat |
Toy MC histogram. | |
Bool_t | fToyMode |
Toy MC detector response matrix. | |
Bool_t | fMatToyMode |
Internal switch for covariance matrix propagation. | |
TH1D * | fDHist |
Regularisation parameter. | |
TH1D * | fSVHist |
const TH1D * | fBdat |
const TH1D * | fBini |
const TH1D * | fXini |
const TH2D * | fAdet |
TH1D * | fToyhisto |
TH2D * | fToymat |
Toy MC histogram. |
Definition at line 54 of file TSVDUnfold.h.
TSVDUnfold::TSVDUnfold | ( | const TSVDUnfold & | other | ) |
Definition at line 125 of file TSVDUnfold.cxx.
TSVDUnfold::~TSVDUnfold | ( | ) | [virtual] |
Definition at line 146 of file TSVDUnfold.cxx.
TSVDUnfold::TSVDUnfold | ( | const TH1D * | bdat, | |
const TH1D * | bini, | |||
const TH1D * | xini, | |||
const TH2D * | Adet | |||
) |
TSVDUnfold::TSVDUnfold | ( | const TSVDUnfold & | other | ) |
virtual TSVDUnfold::~TSVDUnfold | ( | ) | [virtual] |
void TSVDUnfold::SetNormalize | ( | Bool_t | normalize | ) | [inline] |
Definition at line 72 of file TSVDUnfold.h.
References fNormalize.
Referenced by TSVDUnfoldExample().
Definition at line 152 of file TSVDUnfold.cxx.
References TNamed::Clone(), CompProd(), fAdet, fBdat, fBini, fDHist, FillCurvatureMatrix(), fKReg, fMatToyMode, fNdim, fNormalize, fSVHist, fToyhisto, fToymat, fToyMode, fXini, GetCurvature(), GetKReg(), TDecompSVD::GetSig(), TDecompSVD::GetU(), TDecompSVD::GetV(), h, H2M(), H2V(), H2Verr(), i, TObject::Info(), InitHistos(), k, MatDivVec(), TVectorT< Element >::Sum(), TMatrixT< Element >::Transpose(), V2H(), and VecDiv().
Referenced by GetAdetCovMatrix(), GetUnfoldCovMatrix(), and TSVDUnfoldExample().
Definition at line 265 of file TSVDUnfold.cxx.
References TNamed::Clone(), fAdet, fBdat, fNdim, fToyhisto, fToyMode, g, TH1D::GetBinContent(), TH2D::GetBinContent(), TH1::GetBinError(), GetKReg(), i, j, k, kFALSE, TMatrixT< Element >::kTransposed, RooFitShortHand::L(), TMath::Power(), random, TH2D::SetBinContent(), TH1D::SetBinContent(), TH1::SetBinError(), TMath::Sqrt(), and Unfold().
Referenced by TSVDUnfoldExample().
Definition at line 362 of file TSVDUnfold.cxx.
References TNamed::Clone(), fAdet, fMatToyMode, fNdim, fToymat, fXini, TH1D::GetBinContent(), TH2D::GetBinContent(), GetKReg(), i, j, k, kFALSE, m, random, TH2D::SetBinContent(), TH1D::SetBinContent(), and Unfold().
Referenced by TSVDUnfoldExample().
Int_t TSVDUnfold::GetKReg | ( | ) | const [inline] |
Definition at line 92 of file TSVDUnfold.h.
References fKReg.
Referenced by GetAdetCovMatrix(), GetUnfoldCovMatrix(), and Unfold().
TH1D * TSVDUnfold::GetD | ( | ) | const |
Definition at line 421 of file TSVDUnfold.cxx.
References TMath::Abs(), fDHist, TH1D::GetBinContent(), TH1::GetNbinsX(), i, and TH1D::SetBinContent().
Referenced by TSVDUnfoldExample().
TH1D * TSVDUnfold::GetSV | ( | ) | const |
Definition at line 431 of file TSVDUnfold.cxx.
References fSVHist.
Referenced by TSVDUnfoldExample().
Double_t TSVDUnfold::ComputeChiSquared | ( | const TH1D & | truspec, | |
const TH1D & | unfspec, | |||
const TH2D & | covmat, | |||
Double_t | regpar = 0.01 | |||
) | [static] |
Definition at line 669 of file TSVDUnfold.cxx.
References TH1D::GetBinContent(), TH2D::GetBinContent(), TH1::GetNbinsX(), i, j, n, and RegularisedSymMatInvert().
Referenced by G__G__Hist_390_0_10(), and G__setup_memfuncTSVDUnfold().
Definition at line 518 of file TSVDUnfold.cxx.
References fDdim, TMatrixTBase< Element >::GetNrows(), i, j, and k.
Referenced by Unfold().
void TSVDUnfold::InitHistos | ( | ) | [private] |
Definition at line 605 of file TSVDUnfold.cxx.
References fDHist, fNdim, fSVHist, and TH1::Sumw2().
Referenced by Unfold().
Definition at line 438 of file TSVDUnfold.cxx.
References TH1::GetBinContent(), TH1::GetNbinsX(), histo, and i.
Referenced by Unfold().
Definition at line 445 of file TSVDUnfold.cxx.
References TH1::GetBinError(), TH1::GetNbinsX(), histo, and i.
Referenced by Unfold().
Definition at line 452 of file TSVDUnfold.cxx.
References TVectorT< Element >::GetNrows(), histo, i, and TH1::SetBinContent().
Referenced by Unfold().
Definition at line 459 of file TSVDUnfold.cxx.
References TH1::GetBinContent(), TH1::GetNbinsX(), TH1::GetNbinsY(), histo, i, and j.
Referenced by Unfold().
TMatrixD TSVDUnfold::MatDivVec | ( | const TMatrixD & | mat, | |
const TVectorD & | vec, | |||
Int_t | zero = 0 | |||
) | [static, private] |
Definition at line 485 of file TSVDUnfold.cxx.
References TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), i, and j.
Referenced by Unfold().
Definition at line 502 of file TSVDUnfold.cxx.
References TVectorT< Element >::GetNrows(), and i.
Referenced by Unfold().
TVectorD TSVDUnfold::VecDiv | ( | const TVectorD & | vec1, | |
const TVectorD & | vec2, | |||
Int_t | zero = 0 | |||
) | [static, private] |
Definition at line 470 of file TSVDUnfold.cxx.
References TVectorT< Element >::GetNrows(), and i.
Referenced by Unfold().
void TSVDUnfold::RegularisedSymMatInvert | ( | TMatrixDSym & | mat, | |
Double_t | eps = 1e-3 | |||
) | [static, private] |
Definition at line 616 of file TSVDUnfold.cxx.
References TMath::Abs(), TMatrixTBase< Element >::GetNrows(), i, TMatrixTSym< Element >::Invert(), j, n, and ymax.
Referenced by ComputeChiSquared().
void TSVDUnfold::SetNormalize | ( | Bool_t | normalize | ) | [inline] |
Int_t TSVDUnfold::GetKReg | ( | ) | const [inline] |
TH1D* TSVDUnfold::GetD | ( | ) | const |
TH1D* TSVDUnfold::GetSV | ( | ) | const |
static Double_t TSVDUnfold::ComputeChiSquared | ( | const TH1D & | truspec, | |
const TH1D & | unfspec, | |||
const TH2D & | covmat, | |||
Double_t | regpar = 0.01 | |||
) | [static] |
static Double_t TSVDUnfold::GetCurvature | ( | const TVectorD & | vec, | |
const TMatrixD & | curv | |||
) | [static, private] |
void TSVDUnfold::InitHistos | ( | ) | [private] |
static TMatrixD TSVDUnfold::MatDivVec | ( | const TMatrixD & | mat, | |
const TVectorD & | vec, | |||
Int_t | zero = 0 | |||
) | [static, private] |
static TVectorD TSVDUnfold::CompProd | ( | const TVectorD & | vec1, | |
const TVectorD & | vec2 | |||
) | [static, private] |
static TVectorD TSVDUnfold::VecDiv | ( | const TVectorD & | vec1, | |
const TVectorD & | vec2, | |||
Int_t | zero = 0 | |||
) | [static, private] |
static void TSVDUnfold::RegularisedSymMatInvert | ( | TMatrixDSym & | mat, | |
Double_t | eps = 1e-3 | |||
) | [static, private] |
Int_t TSVDUnfold::fNdim [private] |
Definition at line 123 of file TSVDUnfold.h.
Referenced by GetAdetCovMatrix(), GetUnfoldCovMatrix(), InitHistos(), and Unfold().
Int_t TSVDUnfold::fDdim [private] |
Truth and reconstructed dimensions.
Definition at line 124 of file TSVDUnfold.h.
Referenced by FillCurvatureMatrix().
Bool_t TSVDUnfold::fNormalize [private] |
Derivative for curvature matrix.
Definition at line 125 of file TSVDUnfold.h.
Referenced by SetNormalize(), and Unfold().
Int_t TSVDUnfold::fKReg [private] |
TH1D* TSVDUnfold::fDHist [private] |
Regularisation parameter.
Definition at line 127 of file TSVDUnfold.h.
Referenced by GetD(), InitHistos(), and Unfold().
TH1D* TSVDUnfold::fSVHist [private] |
const TH1D* TSVDUnfold::fBdat [private] |
const TH1D* TSVDUnfold::fBini [private] |
const TH1D* TSVDUnfold::fXini [private] |
const TH2D* TSVDUnfold::fAdet [private] |
Definition at line 134 of file TSVDUnfold.h.
Referenced by GetAdetCovMatrix(), GetUnfoldCovMatrix(), and Unfold().
TH1D* TSVDUnfold::fToyhisto [private] |
TH2D* TSVDUnfold::fToymat [private] |
Toy MC histogram.
Definition at line 138 of file TSVDUnfold.h.
Referenced by GetAdetCovMatrix(), and Unfold().
Bool_t TSVDUnfold::fToyMode [private] |
Toy MC detector response matrix.
Definition at line 139 of file TSVDUnfold.h.
Referenced by GetUnfoldCovMatrix(), and Unfold().
Bool_t TSVDUnfold::fMatToyMode [private] |
Internal switch for covariance matrix propagation.
Definition at line 140 of file TSVDUnfold.h.
Referenced by GetAdetCovMatrix(), and Unfold().
TH1D* TSVDUnfold::fDHist [private] |
TH1D* TSVDUnfold::fSVHist [private] |
Definition at line 128 of file TSVDUnfold.h.
const TH1D* TSVDUnfold::fBdat [private] |
Definition at line 131 of file TSVDUnfold.h.
const TH1D* TSVDUnfold::fBini [private] |
Definition at line 132 of file TSVDUnfold.h.
const TH1D* TSVDUnfold::fXini [private] |
Definition at line 133 of file TSVDUnfold.h.
const TH2D* TSVDUnfold::fAdet [private] |
Definition at line 134 of file TSVDUnfold.h.
TH1D* TSVDUnfold::fToyhisto [private] |
Definition at line 137 of file TSVDUnfold.h.
TH2D* TSVDUnfold::fToymat [private] |