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

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