TSVDUnfold Class Reference

#include <TSVDUnfold.h>

Inheritance diagram for TSVDUnfold:

TObject TObject List of all members.

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)
TH1DUnfold (Int_t kreg)
TH2DGetUnfoldCovMatrix (const TH2D *cov, Int_t ntoys, Int_t seed=1)
TH2DGetAdetCovMatrix (Int_t ntoys, Int_t seed=1)
Int_t GetKReg () const
TH1DGetD () const
TH1DGetSV () 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)
TH1DUnfold (Int_t kreg)
TH2DGetUnfoldCovMatrix (const TH2D *cov, Int_t ntoys, Int_t seed=1)
TH2DGetAdetCovMatrix (Int_t ntoys, Int_t seed=1)
Int_t GetKReg () const
TH1DGetD () const
TH1DGetSV () 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.
TH1DfDHist
 Regularisation parameter.
TH1DfSVHist
const TH1DfBdat
const TH1DfBini
const TH1DfXini
const TH2DfAdet
TH1DfToyhisto
TH2DfToymat
 Toy MC histogram.
Bool_t fToyMode
 Toy MC detector response matrix.
Bool_t fMatToyMode
 Internal switch for covariance matrix propagation.
TH1DfDHist
 Regularisation parameter.
TH1DfSVHist
const TH1DfBdat
const TH1DfBini
const TH1DfXini
const TH2DfAdet
TH1DfToyhisto
TH2DfToymat
 Toy MC histogram.

Detailed Description

Definition at line 54 of file TSVDUnfold.h.


Constructor & Destructor Documentation

TSVDUnfold::TSVDUnfold ( const TH1D bdat,
const TH1D bini,
const TH1D xini,
const TH2D Adet 
)

Definition at line 84 of file TSVDUnfold.cxx.

References Fatal(), and Form().

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]


Member Function Documentation

void TSVDUnfold::SetNormalize ( Bool_t  normalize  )  [inline]

Definition at line 72 of file TSVDUnfold.h.

References fNormalize.

Referenced by TSVDUnfoldExample().

TH1D * TSVDUnfold::Unfold ( Int_t  kreg  ) 

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().

TH2D * TSVDUnfold::GetUnfoldCovMatrix ( const TH2D cov,
Int_t  ntoys,
Int_t  seed = 1 
)

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().

TH2D * TSVDUnfold::GetAdetCovMatrix ( Int_t  ntoys,
Int_t  seed = 1 
)

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().

void TSVDUnfold::FillCurvatureMatrix ( TMatrixD tCurv,
TMatrixD tC 
) const [private]

Definition at line 518 of file TSVDUnfold.cxx.

References fDdim, TMatrixTBase< Element >::GetNrows(), i, j, and k.

Referenced by Unfold().

Double_t TSVDUnfold::GetCurvature ( const TVectorD vec,
const TMatrixD curv 
) [static, private]

Definition at line 511 of file TSVDUnfold.cxx.

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().

void TSVDUnfold::H2V ( const TH1D histo,
TVectorD vec 
) [static, private]

Definition at line 438 of file TSVDUnfold.cxx.

References TH1::GetBinContent(), TH1::GetNbinsX(), histo, and i.

Referenced by Unfold().

void TSVDUnfold::H2Verr ( const TH1D histo,
TVectorD vec 
) [static, private]

Definition at line 445 of file TSVDUnfold.cxx.

References TH1::GetBinError(), TH1::GetNbinsX(), histo, and i.

Referenced by Unfold().

void TSVDUnfold::V2H ( const TVectorD vec,
TH1D histo 
) [static, private]

Definition at line 452 of file TSVDUnfold.cxx.

References TVectorT< Element >::GetNrows(), histo, i, and TH1::SetBinContent().

Referenced by Unfold().

void TSVDUnfold::H2M ( const TH2D histo,
TMatrixD mat 
) [static, private]

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().

TVectorD TSVDUnfold::CompProd ( const TVectorD vec1,
const TVectorD vec2 
) [static, private]

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]

Definition at line 72 of file TSVDUnfold.h.

References fNormalize.

TH1D* TSVDUnfold::Unfold ( Int_t  kreg  ) 

TH2D* TSVDUnfold::GetUnfoldCovMatrix ( const TH2D cov,
Int_t  ntoys,
Int_t  seed = 1 
)

TH2D* TSVDUnfold::GetAdetCovMatrix ( Int_t  ntoys,
Int_t  seed = 1 
)

Int_t TSVDUnfold::GetKReg (  )  const [inline]

Definition at line 92 of file TSVDUnfold.h.

References fKReg.

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]

void TSVDUnfold::FillCurvatureMatrix ( TMatrixD tCurv,
TMatrixD tC 
) const [private]

static Double_t TSVDUnfold::GetCurvature ( const TVectorD vec,
const TMatrixD curv 
) [static, private]

void TSVDUnfold::InitHistos (  )  [private]

static void TSVDUnfold::H2V ( const TH1D histo,
TVectorD vec 
) [static, private]

static void TSVDUnfold::H2Verr ( const TH1D histo,
TVectorD vec 
) [static, private]

static void TSVDUnfold::V2H ( const TVectorD vec,
TH1D histo 
) [static, private]

static void TSVDUnfold::H2M ( const TH2D histo,
TMatrixD mat 
) [static, 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]


Member Data Documentation

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]

Normalize unfolded spectrum to 1.

Definition at line 126 of file TSVDUnfold.h.

Referenced by GetKReg(), and Unfold().

TH1D* TSVDUnfold::fDHist [private]

Regularisation parameter.

Definition at line 127 of file TSVDUnfold.h.

Referenced by GetD(), InitHistos(), and Unfold().

TH1D* TSVDUnfold::fSVHist [private]

Definition at line 128 of file TSVDUnfold.h.

Referenced by GetSV(), InitHistos(), and Unfold().

const TH1D* TSVDUnfold::fBdat [private]

Definition at line 131 of file TSVDUnfold.h.

Referenced by GetUnfoldCovMatrix(), and Unfold().

const TH1D* TSVDUnfold::fBini [private]

Definition at line 132 of file TSVDUnfold.h.

Referenced by Unfold().

const TH1D* TSVDUnfold::fXini [private]

Definition at line 133 of file TSVDUnfold.h.

Referenced by GetAdetCovMatrix(), and Unfold().

const TH2D* TSVDUnfold::fAdet [private]

Definition at line 134 of file TSVDUnfold.h.

Referenced by GetAdetCovMatrix(), GetUnfoldCovMatrix(), and Unfold().

TH1D* TSVDUnfold::fToyhisto [private]

Definition at line 137 of file TSVDUnfold.h.

Referenced by GetUnfoldCovMatrix(), and Unfold().

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]

Regularisation parameter.

Definition at line 127 of file TSVDUnfold.h.

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]

Toy MC histogram.

Definition at line 138 of file TSVDUnfold.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:47:30 2011 for ROOT_528-00b_version by  doxygen 1.5.1