@@ -18,7 +18,7 @@ class RooUnfoldResponse;
1818class TH1 ;
1919class TH1D ;
2020class TH2D ;
21- class TSVDUnfold ;
21+ class TSVDUnfold_local ;
2222
2323class RooUnfoldSvd : public RooUnfold {
2424
@@ -38,16 +38,20 @@ class RooUnfoldSvd : public RooUnfold {
3838
3939 RooUnfoldSvd (const RooUnfoldResponse* res, const TH1* meas, Int_t kreg= 0 , Int_t ntoyssvd= 1000 ,
4040 const char * name= 0 , const char * title= 0 );
41+ RooUnfoldSvd (const RooUnfoldResponse* res, const TH1* meas, double taureg, Int_t ntoyssvd= 1000 ,
42+ const char * name= 0 , const char * title= 0 );
4143
4244 void SetKterm (Int_t kreg);
45+ void SetTauTerm (double taureg);
4346 void SetNtoysSVD (Int_t ntoyssvd);
4447 Int_t GetKterm () const ;
48+ double GetTauTerm () const ;
4549 Int_t GetNtoysSVD () const ;
4650
4751 virtual void SetRegParm (Double_t parm);
4852 virtual Double_t GetRegParm () const ;
4953 virtual void Reset ();
50- TSVDUnfold * Impl ();
54+ TSVDUnfold_local * Impl ();
5155
5256protected:
5357 void Assign (const RooUnfoldSvd& rhs); // implementation of assignment operator
@@ -62,8 +66,10 @@ class RooUnfoldSvd : public RooUnfold {
6266
6367protected:
6468 // instance variables
65- TSVDUnfold * _svd; // ! Implementation in TSVDUnfold object (no streamer)
69+ TSVDUnfold_local * _svd; // ! Implementation in TSVDUnfold object (no streamer)
6670 Int_t _kreg;
71+ double _taureg;
72+ bool _use_tau_unfolding;
6773 Int_t _nb;
6874 Int_t _ntoyssvd;
6975
@@ -155,7 +161,10 @@ inline
155161Double_t RooUnfoldSvd::GetRegParm () const
156162{
157163 // Return regularisation parameter
158- return GetKterm ();
164+ if (_use_tau_unfolding)
165+ return _taureg;
166+ else
167+ return _kreg;
159168}
160169
161170#endif
0 commit comments