Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3011)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3012)
@@ -6,7 +6,15 @@
  2004/02/03: Markus Gaug
  
-   * manalysis/MExtractedSignalPix.[h,cc]
+   * manalysis/MHExtractedSignalPix.[h,cc]
      - added Thomas B. modified version of MHPedestalPixel. Later will 
        remove MHPedestalPixel
+
+   * manalysis/MCalibrationPix.[h,cc]
+   * manalysis/MHCalibrationPixel.[h,cc]
+   * manalysis/MCalibrationCam.cc
+   * macros/calibration.C
+     - now split completely absolute and relative times. Absolute 
+       times are not fitted, but their histogram mean and rms are 
+       returned.
 
 
Index: trunk/MagicSoft/Mars/macros/calibration.C
===================================================================
--- trunk/MagicSoft/Mars/macros/calibration.C	(revision 3011)
+++ trunk/MagicSoft/Mars/macros/calibration.C	(revision 3012)
@@ -50,6 +50,6 @@
     read.DisableAutoScheme();
 
-    MGeomApply     geomapl;
-    MExtractSignal sigcalc;
+    MGeomApply      geomapl;
+    MExtractSignal2 sigcalc;
     //
     // We saw that the signal jumps between slices, 
@@ -57,8 +57,8 @@
     // Sliding window will be implemented asap.
     //		
-    sigcalc.SetRange(1,14,1,14);
+    //    sigcalc.SetRange(1,14,1,14);
 
     MPedCalcPedRun pedcalc;
-    pedcalc.SetUseHists();
+    //    MFillH fill("MPedestalCam", "MExtractedSignalCam");
 
     tlist.AddToList(&read);
@@ -66,4 +66,5 @@
     tlist.AddToList(&sigcalc);
     tlist.AddToList(&pedcalc);
+    //    tlist.AddToList(&fill);
 
     MGeomCamMagic  geomcam;
@@ -105,5 +106,4 @@
     MHCamera dispped12  (geomcam, "MPedestalPix;DeltaRmsSigma", "Rel. Diff. RMS per Slice (Calc.-Fitted)");
     MHCamera dispped14  (geomcam, "MPedestalPix;DeltaRmsSigmaError", "Rel. Diff. RMS Error per Slice (Calc.-Fitted)");
-
     dispped0.SetCamContent(pedcam, 0);
     dispped0.SetCamError(pedcam, 1);
@@ -215,5 +215,5 @@
     // faster results
     // 
-    //    timecalc.SetStepSize(0.02);
+    timecalc.SetStepSize(0.05);
 
     //
@@ -305,4 +305,6 @@
                       "Conversion Factor (Blind Pixel Method)");
     MHCamera disp16  (geomcam, "MCalibrationPix;RSigma/Charge", "Reduced Sigma per Charge");
+    MHCamera disp17  (geomcam, "MCalibrationPix;AbsTimeMean", "Abs. Arrival Times");
+    MHCamera disp18  (geomcam, "MCalibrationPix;AbsTimeRms", "RMS of Arrival Times");
 
     disp1.SetCamContent(calcam, 0);
@@ -335,9 +337,13 @@
     disp16.SetCamContent(calcam, 17);
 
+    disp17.SetCamContent(calcam, 18);
+    disp17.SetCamError(calcam, 19);
+    disp18.SetCamContent(calcam, 20);
+    disp18.SetCamError(calcam, 21);
 
     disp1.SetYTitle("Charge [FADC counts]");
     disp3.SetYTitle("\\sigma_{Charge} [FADC counts]");
     disp5.SetYTitle("P_{Charge} [1]");
-    disp6.SetYTitle("Arr. Time [ns]");
+    disp6.SetYTitle("Rel. Arr. Time [ns]");
     disp7.SetYTitle("\\sigma_{Time} [ns]");
     disp8.SetYTitle("P_{Time} [1]");
@@ -350,4 +356,6 @@
     disp15.SetYTitle("Conversion Factor [Phot/FADC Count]");
     disp16.SetYTitle("Reduced Sigma / Charge [1]");
+    disp17.SetYTitle("Mean Abs. Time [FADC slice]");
+    disp18.SetYTitle("RMS Abs. Time [FADC slices]");
 
     MStatusDisplay *d3 = new MStatusDisplay;
@@ -371,5 +379,5 @@
     CamDraw(c2,disp5,calcam,1,1,3);
 
-    // Times
+    // Rel. Times
     TCanvas &c3 = d3->AddTab("Fitted Rel. Times");
     c3.Divide(3,3);
@@ -378,4 +386,11 @@
     CamDraw(c3,disp7,calcam,2,3,1);
     CamDraw(c3,disp8,calcam,3,3,0);
+
+    // Abs. Times
+    TCanvas &c35 = d3->AddTab("Abs. Times");
+    c35.Divide(2,3);
+
+    CamDraw(c35,disp17,calcam,1,2,1);
+    CamDraw(c35,disp18,calcam,2,2,1);
 
     // Pedestals
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc	(revision 3011)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationCam.cc	(revision 3012)
@@ -474,4 +474,24 @@
 	val = -1.;
       break;
+    case 18:
+      if (!(*this)[idx].IsTimeFitValid())
+        return kFALSE;
+      val = (*this)[idx].GetAbsTimeMean();
+      break;
+    case 19:
+      if (!(*this)[idx].IsTimeFitValid())
+        return kFALSE;
+      val = (*this)[idx].GetAbsTimeMeanErr();
+      break;
+    case 20:
+      if (!(*this)[idx].IsTimeFitValid())
+        return kFALSE;
+      val = (*this)[idx].GetAbsTimeRms();
+      break;
+    case 21:
+      if (!(*this)[idx].IsTimeFitValid())
+        return kFALSE;
+      val = (*this)[idx].GetAbsTimeMeanErr()/TMath::Sqrt(2.);
+      break;
     default:
       return kFALSE;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationPix.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationPix.cc	(revision 3011)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationPix.cc	(revision 3012)
@@ -129,4 +129,7 @@
   fTimeLastLoGain                   =   0 ;
 
+  fAbsTimeMean                      =  -1.;
+  fAbsTimeRms                       =  -1.;
+
   fPheFFactorMethod                 =  -1.;
   fPheFFactorMethodError            =  -1.;
@@ -666,25 +669,22 @@
     }
 
-  Float_t first;
-  Float_t last;
-
   if (TESTBIT(fFlags,kHiGainSaturation))
     {
-      first = (Float_t)fHist->GetAbsTimeFirstLoGain();
-      last = (Float_t)fHist->GetAbsTimeLastLoGain();
-
-      if (first < (Float_t)fTimeFirstLoGain+1)
+
+      if (fAbsTimeMean < (Float_t)fTimeFirstLoGain+1)
         {
           *fLog << warn 
                 << "WARNING: Some absolute times smaller than limit in Pixel " 
-                << fPixId << " time: " << first << " Limit: " << fTimeFirstLoGain+1 << endl;
+                << fPixId << " time: " << fAbsTimeMean 
+                << " Limit: " << (Float_t)fTimeFirstLoGain+1. << endl;
           return kFALSE;
         }
 
-      if ((Float_t)fTimeLastLoGain-1 > last)
+      if (fAbsTimeMean > (Float_t)fTimeLastLoGain-1)
         {
           *fLog << warn 
                 << "WARNING: Some absolute times bigger than limit in Pixel " 
-                << fPixId << " time: " << last << " Limit: " << fTimeLastLoGain-1 << endl;
+                << fPixId << " time: " << fAbsTimeMean 
+                << " Limit: " << (Float_t)fTimeLastLoGain-1. << endl;
           return kFALSE;
         }
@@ -693,20 +693,20 @@
   else
     {
-      first = (Float_t)fHist->GetAbsTimeFirstHiGain();
-      last = (Float_t)fHist->GetAbsTimeLastHiGain();
-
-      if (first > ((Float_t)fTimeFirstHiGain+1.))
+
+      if (fAbsTimeMean < (Float_t)fTimeFirstHiGain+1.)
         {
           *fLog << warn 
                 << "WARNING: Some absolute times smaller than limit in Pixel " 
-                << fPixId << " time: " << first << " Limit: " << (Float_t)fTimeFirstHiGain+1. << endl;
+                << fPixId << " time: " << fAbsTimeMean 
+                << " Limit: " << (Float_t)fTimeFirstHiGain+1. << endl;
           //          return kFALSE;
         }
 
-      if (((Float_t)fTimeLastHiGain-1.) > last)
+      if (fAbsTimeMean > (Float_t)fTimeLastHiGain-1.)
         {
           *fLog << warn 
                 << "WARNING: Some absolute times bigger than limit in Pixel " 
-                << fPixId << " time: " << last << " Limit: " << (Float_t)fTimeLastHiGain-1. << endl;
+                << fPixId << " time: " << fAbsTimeMean 
+                << " Limit: " << (Float_t)fTimeLastHiGain-1. << endl;
           //          return kFALSE;
         }
@@ -766,4 +766,5 @@
 {
 
+
   if(!fHist->FitTime())
     {
@@ -777,4 +778,8 @@
   fTimeProb      = fHist->GetRelTimeProb();
 
+  fAbsTimeMean    = fHist->GetAbsTimeMean();
+  fAbsTimeMeanErr = fHist->GetAbsTimeMeanErr();
+  fAbsTimeRms     = fHist->GetAbsTimeRms();  
+
   if (CheckTimeFitValidity())
     SETBIT(fFlags,kTimeFitValid);
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationPix.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationPix.h	(revision 3011)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationPix.h	(revision 3012)
@@ -42,4 +42,8 @@
   Float_t fTimeProb;            // The probability of the fit function 
 
+  Float_t fAbsTimeMean;
+  Float_t fAbsTimeMeanErr;  
+  Float_t fAbsTimeRms;
+  
   Byte_t  fTimeFirstHiGain;           // The first used FADC slice
   Byte_t  fTimeLastHiGain;            // The last used FADC slice
@@ -100,6 +104,11 @@
   Float_t GetErrTime()             const { return fErrTime;        }  
   Float_t GetSigmaTime()           const { return fSigmaTime;      }
-  Float_t GetTimeProb()            const { return fTimeProb;  }      
+  Float_t GetTimeProb()            const { return fTimeProb;       }      
 
+  Float_t GetAbsTimeMean()         const { return fAbsTimeMean;    }
+  Float_t GetAbsTimeMeanErr()      const { return fAbsTimeMeanErr; }
+  Float_t GetAbsTimeRms()          const { return fAbsTimeRms;     }
+  
+  // Conversion Factors
   Float_t GetConversionHiLo()                 const  { return fConversionHiLo;        }
   Float_t GetConversionHiLoError()            const  { return fConversionHiLoError;   }
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.cc	(revision 3011)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.cc	(revision 3012)
@@ -53,5 +53,5 @@
 const Int_t   MHCalibrationPixel::fChargeNbinsLoGain = 1010;
 const Int_t   MHCalibrationPixel::fAbsTimeNbins      = 32;
-const Int_t   MHCalibrationPixel::fRelTimeNbins      = 240;
+const Int_t   MHCalibrationPixel::fRelTimeNbins      = 480;
 const Int_t   MHCalibrationPixel::fChargevsNbins     = 5000;
 const Axis_t  MHCalibrationPixel::fAbsTimeFirst      = - 0.25;
@@ -59,4 +59,5 @@
 const Axis_t  MHCalibrationPixel::fRelTimeFirst      = -11.;
 const Axis_t  MHCalibrationPixel::fRelTimeLast       =  12.;
+const Float_t MHCalibrationPixel::fProbLimit         = 0.001;
 
 // --------------------------------------------------------------------------
@@ -205,4 +206,7 @@
   fAbsTimeLastLoGain      = -1.;
   
+  fAbsTimeMean            = -1.;
+  fAbsTimeMeanErr         = -1.;
+  fAbsTimeRms             = -1.;
 
   fOffset = 0.;
@@ -324,76 +328,32 @@
   // Names Hi gain Histograms
   //
-  TString nameQHiGain = TString(fHChargeHiGain->GetName());
-  nameQHiGain += id;
-  fHChargeHiGain->SetName(nameQHiGain.Data());
-
-  TString nameTAHiGain = TString(fHAbsTimeHiGain->GetName());
-  nameTAHiGain += id;
-  fHAbsTimeHiGain->SetName(nameTAHiGain.Data());
-
-  TString nameTRHiGain = TString(fHRelTimeHiGain->GetName());
-  nameTRHiGain += id;
-  fHRelTimeHiGain->SetName(nameTRHiGain.Data());
-
-  TString nameQvsNHiGain  = TString(fHChargevsNHiGain->GetName());
-  nameQvsNHiGain += id;
-  fHChargevsNHiGain->SetName(nameQvsNHiGain.Data());
+  fHChargeHiGain->SetName(   Form("%s%d",fHChargeHiGain->GetName(),   id));
+  fHAbsTimeHiGain->SetName(  Form("%s%d",fHAbsTimeHiGain->GetName(),  id));
+  fHRelTimeHiGain->SetName(  Form("%s%d",fHRelTimeHiGain->GetName(),  id));
+  fHChargevsNHiGain->SetName(Form("%s%d",fHChargevsNHiGain->GetName(),id));
 
   //
   // Title Hi gain Histograms
   //
-  TString titleQHiGain = TString(fHChargeHiGain->GetTitle());
-  titleQHiGain += id;
-  fHChargeHiGain->SetTitle(titleQHiGain.Data());
-
-  TString titleTAHiGain = TString(fHAbsTimeHiGain->GetTitle());
-  titleTAHiGain += id;
-  fHAbsTimeHiGain->SetTitle(titleTAHiGain.Data());
-
-  TString titleTRHiGain = TString(fHRelTimeHiGain->GetTitle());
-  titleTRHiGain += id;
-  fHRelTimeHiGain->SetTitle(titleTRHiGain.Data());
-
-  TString titleQvsNHiGain  = TString(fHChargevsNHiGain->GetTitle());
-  titleQvsNHiGain += id;
-  fHChargevsNHiGain->SetTitle(titleQvsNHiGain.Data());
+  fHChargeHiGain->SetTitle(    Form("%s%d",fHChargeHiGain->GetTitle(),   id));
+  fHAbsTimeHiGain->SetTitle(   Form("%s%d",fHAbsTimeHiGain->GetTitle(),  id));
+  fHRelTimeHiGain->SetTitle(   Form("%s%d",fHRelTimeHiGain->GetTitle(),  id));
+  fHChargevsNHiGain->SetTitle( Form("%s%d",fHChargevsNHiGain->GetTitle(),id));
 
   //
   // Names Low Gain Histograms
   //
-  TString nameQLoGain = TString(fHChargeLoGain->GetName());
-  nameQLoGain += id;
-  fHChargeLoGain->SetName(nameQLoGain.Data());
-
-  TString nameTALoGain = TString(fHAbsTimeLoGain->GetName());
-  nameTALoGain += id;
-  fHAbsTimeLoGain->SetName(nameTALoGain.Data());
-
-  TString nameTRLoGain = TString(fHRelTimeLoGain->GetName());
-  nameTRLoGain += id;
-  fHRelTimeLoGain->SetName(nameTRLoGain.Data());
-
-  TString nameQvsNLoGain  = TString(fHChargevsNLoGain->GetName());
-  nameQvsNLoGain += id;
-  fHChargevsNLoGain->SetName(nameQvsNLoGain.Data());
+  fHChargeLoGain->SetName( Form("%s%d",fHChargeLoGain->GetName(),id));
+  fHAbsTimeLoGain->SetName( Form("%s%d",fHAbsTimeLoGain->GetName(),id));
+  fHRelTimeLoGain->SetName( Form("%s%d",fHRelTimeLoGain->GetName(),id));
+  fHChargevsNLoGain->SetName( Form("%s%d",fHChargevsNLoGain->GetName(),id));
 
   //
   // Titles Low Gain Histograms
   //
-  TString titleQLoGain = TString(fHChargeLoGain->GetTitle());
-  titleQLoGain += id;
-  fHChargeLoGain->SetTitle(titleQLoGain.Data());
-
-  TString titleTALoGain = TString(fHAbsTimeLoGain->GetTitle());
-  titleTALoGain += id;
-  fHAbsTimeLoGain->SetTitle(titleTALoGain.Data());
-
-  TString titleTRLoGain = TString(fHRelTimeLoGain->GetTitle());
-  titleTRLoGain += id;
-  fHRelTimeLoGain->SetTitle(titleTRLoGain.Data());
-
-  TString titleQvsNLoGain  = TString(fHChargevsNLoGain->GetTitle());
-  titleQvsNLoGain += id;
-  fHChargevsNLoGain->SetTitle(titleQvsNLoGain.Data());
+  fHChargeLoGain->SetTitle( Form("%s%d",fHChargeLoGain->GetTitle(),id));
+  fHAbsTimeLoGain->SetTitle( Form("%s%d",fHAbsTimeLoGain->GetTitle(),id));
+  fHRelTimeLoGain->SetTitle( Form("%s%d",fHRelTimeLoGain->GetTitle(),id));
+  fHChargevsNLoGain->SetTitle( Form("%s%d",fHChargevsNLoGain->GetTitle(),id));
 }
 
@@ -528,5 +488,5 @@
   gROOT->SetSelectedPad(NULL);
   
-  TCanvas *c = MakeDefCanvas(this,600,900); 
+  TCanvas *c = MH::MakeDefCanvas(this,600,900); 
   
   c->Divide(2,5);
@@ -537,7 +497,5 @@
 
   if (fHChargeHiGain->Integral() > 0)
-    gPad->SetLogy(1);
-  else
-    gPad->SetLogy(0);
+    gPad->SetLogy();
 
   fHChargeHiGain->Draw(opt);
@@ -553,7 +511,5 @@
 
       if (fHChargeLoGain->Integral() > 0)
-        gPad->SetLogy(1);
-      else
-        gPad->SetLogy(0);
+        gPad->SetLogy();
 
       fHChargeLoGain->Draw(opt);
@@ -561,11 +517,8 @@
       if (fChargeGausFit)
         {
-          if (IsChargeFitOK())
-            fChargeGausFit->SetLineColor(kGreen);          
-          else
-            fChargeGausFit->SetLineColor(kRed);
-          
+          fChargeGausFit->SetLineColor(IsChargeFitOK() ? kGreen : kRed);          
           fChargeGausFit->Draw("same");
         }
+
       c->Modified();
       c->Update();
@@ -587,9 +540,5 @@
       if (fChargeGausFit)
         {
-          if (IsChargeFitOK())
-            fChargeGausFit->SetLineColor(kGreen);          
-          else
-            fChargeGausFit->SetLineColor(kRed);
-          
+          fChargeGausFit->SetLineColor(IsChargeFitOK() ? kGreen : kRed);          
           fChargeGausFit->Draw("same");
         }
@@ -600,6 +549,4 @@
       if (fHChargeLoGain->Integral() > 0)
         gPad->SetLogy(1);
-      else
-        gPad->SetLogy(0);
       
       fHChargeLoGain->Draw(opt);
@@ -644,13 +591,10 @@
 	if (fRelTimeGausFit)
 	  {
-	    if (fRelTimeChisquare > 20.) 
-	      fRelTimeGausFit->SetLineColor(kRed);
-	    else
-	      fRelTimeGausFit->SetLineColor(kGreen);
-	    
+            fRelTimeGausFit->SetLineColor(IsTimeFitOK() ? kGreen : kRed);
 	    fRelTimeGausFit->Draw("same");
-	    c->Modified();
-	    c->Update();
 	  }
+
+        c->Modified();
+        c->Update();
       }
     else
@@ -658,15 +602,12 @@
 	if (fRelTimeGausFit)
 	  {
-	    if (fRelTimeChisquare > 20.) 
-	      fRelTimeGausFit->SetLineColor(kRed);
-	    else
-	      fRelTimeGausFit->SetLineColor(kGreen);
-	    
+            fRelTimeGausFit->SetLineColor(IsTimeFitOK() ? kGreen : kRed);
 	    fRelTimeGausFit->Draw("same");
-	    c->Modified();
-	    c->Update();
 	  }
-
-	c->cd(6);
+        
+        c->Modified();
+        c->Update();
+	
+        c->cd(6);
         gPad->SetTicks();
 	gPad->SetLogy(0);
@@ -747,18 +688,31 @@
 
   //
+  // From the absolute time, we only take the mean and RMS
+  //
+  fAbsTimeMean    = (Float_t)fHAbsTimeHiGain->GetMean();
+  fAbsTimeRms     = (Float_t)fHAbsTimeHiGain->GetRMS();
+  fAbsTimeMeanErr = (Float_t)fAbsTimeRms / TMath::Sqrt(fHAbsTimeHiGain->GetEntries());
+  
+  if (TESTBIT(fFlags,kUseLoGain))
+    {
+      fAbsTimeMean    = fHAbsTimeLoGain->GetMean();
+      fAbsTimeRms     = fHAbsTimeLoGain->GetRMS();
+      fAbsTimeMeanErr = fAbsTimeRms / TMath::Sqrt(fHAbsTimeLoGain->GetEntries());
+    }
+  
+  //
   // Get the fitting ranges
   //
   Axis_t rmin = fRelTimeLowerFitRangeHiGain;
+  Axis_t rmax = fRelTimeUpperFitRangeHiGain;
+  TH1F *hist = fHRelTimeHiGain;
+
   if (TESTBIT(fFlags,kUseLoGain))
-    rmin = fRelTimeLowerFitRangeLoGain;
-
-  Axis_t rmax = fRelTimeUpperFitRangeHiGain;
-  if (TESTBIT(fFlags,kUseLoGain))
-    rmin = fRelTimeUpperFitRangeLoGain;
-
-  TH1F *hist = fHRelTimeHiGain;
-  if (TESTBIT(fFlags,kUseLoGain))
-    hist = fHRelTimeLoGain;
-
+    {
+      rmin = fRelTimeLowerFitRangeLoGain;
+      rmax = fRelTimeUpperFitRangeLoGain;
+      hist = fHRelTimeLoGain;
+    }
+  
   const Stat_t   entries     = hist->Integral("width");
   const Double_t mu_guess    = hist->GetBinCenter(hist->GetMaximumBin());
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.h	(revision 3011)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationPixel.h	(revision 3012)
@@ -27,5 +27,6 @@
   static const Axis_t  fRelTimeFirst;
   static const Axis_t  fRelTimeLast;
-
+  static const Float_t fProbLimit;
+  
   Int_t fPixId;                  // Pixel Nr
 
@@ -80,17 +81,21 @@
   Double_t fRelTimeSigma;
 
-  Float_t   fRelTimeLowerFitRangeHiGain;
-  Float_t   fRelTimeUpperFitRangeHiGain;
-  Float_t   fRelTimeLowerFitRangeLoGain;
-  Float_t   fRelTimeUpperFitRangeLoGain;
-
-  Float_t   fAbsTimeFirstHiGain;
-  Float_t   fAbsTimeFirstLoGain;
-  Float_t   fAbsTimeLastHiGain;
-  Float_t   fAbsTimeLastLoGain;
-  
-  Byte_t    fFlags;
-
-  enum      { kUseLoGain, kChargeFitOK, kTimeFitOK };
+  Float_t  fAbsTimeMean;
+  Float_t  fAbsTimeMeanErr;  
+  Float_t  fAbsTimeRms;
+  
+  Float_t  fRelTimeLowerFitRangeHiGain;
+  Float_t  fRelTimeUpperFitRangeHiGain;
+  Float_t  fRelTimeLowerFitRangeLoGain;
+  Float_t  fRelTimeUpperFitRangeLoGain;
+
+  Float_t  fAbsTimeFirstHiGain;
+  Float_t  fAbsTimeFirstLoGain;
+  Float_t  fAbsTimeLastHiGain;
+  Float_t  fAbsTimeLastLoGain;
+  
+  Byte_t   fFlags;
+
+  enum     { kUseLoGain, kChargeFitOK, kTimeFitOK };
   
   virtual void DrawLegend();
@@ -130,4 +135,9 @@
   const Int_t    GetRelTimeNdf()       const { return fRelTimeNdf;      }   
 
+
+  const Float_t  GetAbsTimeMean()      const { return fAbsTimeMean;     }
+  const Float_t  GetAbsTimeMeanErr()   const { return fAbsTimeMeanErr;   }  
+  const Float_t  GetAbsTimeRms()       const { return fAbsTimeRms;      }
+  
   const TH1F *GetHCharge()                   { return fHChargeHiGain;   }
   const TH1F *GetHCharge()             const { return fHChargeHiGain;   } 
