Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5510)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5511)
@@ -28,5 +28,9 @@
      - High-low-gain inverted weights files for the TDAS-Extractor 
        nr. 29, 31, 33.
-  
+
+   * mjobs/MJCalibration.cc
+     - updated to new version of MPedCalcPedRun (only important for 
+       intensity calibration)
+      
 
  2004/11/30: Wolfgang Wittek
Index: /trunk/MagicSoft/Mars/macros/getExtractor.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/getExtractor.C	(revision 5510)
+++ /trunk/MagicSoft/Mars/macros/getExtractor.C	(revision 5511)
@@ -79,11 +79,9 @@
 //       28:          SetNameWeightsFile('msignal/cosmics_weights.dat')" << endl;
 //       29:          SetNameWeightsFile('msignal/cosmics_weights4.dat')" << endl;
-//       30:          SetNameWeightsFile('msignal/cosmics_weights_logain6.dat')" << endl;
-//       31:          SetNameWeightsFile('msignal/cosmics_weights_logain4.dat')" << endl;
+//       30:          SetNameWeightsFile('msignal/cosmics_weights_logain.dat')" << endl;
+//       31:          SetNameWeightsFile('msignal/cosmics_weights4_logain.dat')" << endl;
 //       32:          SetNameWeightsFile('msignal/calibration_weights_UV.dat')" << endl;
-//       33:          SetNameWeightsFile('msignal/calibration_weights_UV4.dat')" << endl;
-//       34:          SetNameWeightsFile('msignal/calibration_weights_UV_logain6.dat')" << endl;
-//       35:          SetNameWeightsFile('msignal/calibration_weights_UV_logain4.dat')" << endl;
-//       36:  Real Fit: (not yet implemented)" << endl;
+//       33:          SetNameWeightsFile('msignal/calibration_weights_UV_logain.dat')" << endl;
+//       34:  Real Fit: (not yet implemented)" << endl;
 // 
 // The extractor will also carry a meaningful name, storing all information about its 
@@ -189,8 +187,6 @@
     case 32:
     case 33:
-    case 34:
-    case 35:
       extractor = new MExtractTimeAndChargeDigitalFilter;
-      extractor->SetRange(0,14,2,14);
+      extractor->SetRange(0,18,2,14);
       useTimeAndCharge = kTRUE;
       break;
@@ -312,5 +308,5 @@
       break;
     case 31:
-      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/cosmics_weights_logain4.dat");
+      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/cosmics_weights4_logain.dat");
       break;
     case 32:
@@ -318,11 +314,5 @@
       break;
     case 33:
-      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/calibration_weights4_UV.dat");
-      break;
-    case 34:
-      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/calibration_weights_logain_UV.dat");
-      break;
-    case 35:
-      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/calibration_weights_logain4_UV.dat");
+      ((MExtractTimeAndChargeDigitalFilter*)extractor)->SetNameWeightsFile("msignal/calibration_weights_UV_logain.dat");
       break;
     default:
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5511)
@@ -861,23 +861,19 @@
       t7->SetTextColor(gStyle->GetColorPalette(Int_t(6./max*numcol + 1.)));
       t7->SetTextAlign(12);
-      TText *t8 = pave->AddText(Form("Deviating global F-Factor:                           %3i pixels",
+      TText *t9 = pave->AddText(Form("Deviating Number of Photons:                    %3i pixels",
                                        CountBadPixels(&disp24,7)));
-      t8->SetTextColor(gStyle->GetColorPalette(Int_t(7./max*numcol + 1.)));
-      t8->SetTextAlign(12);
-      TText *t9 = pave->AddText(Form("Deviating Number of Photons:                    %3i pixels",
-                                       CountBadPixels(&disp24,8)));
-      t9->SetTextColor(gStyle->GetColorPalette(Int_t(8./max*numcol + 1.)));
+      t9->SetTextColor(gStyle->GetColorPalette(Int_t(7./max*numcol + 1.)));
       t9->SetTextAlign(12);
       TText *t10= pave->AddText(Form("High-Gain Histogram Overflow:                  %3i pixels",
-                                       CountBadPixels(&disp24,9 )));
-      t10->SetTextColor(gStyle->GetColorPalette(Int_t(9./max*numcol + 1.)));
+                                       CountBadPixels(&disp24,8 )));
+      t10->SetTextColor(gStyle->GetColorPalette(Int_t(8./max*numcol + 1.)));
       t10->SetTextAlign(12);
       TText *t11= pave->AddText(Form("Low-Gain Histogram Overflow:                   %3i pixels",
-                                       CountBadPixels(&disp24,10)));
-      t11->SetTextColor(gStyle->GetColorPalette(Int_t(10./max*numcol + 1.)));
+                                       CountBadPixels(&disp24,9 )));
+      t11->SetTextColor(gStyle->GetColorPalette(Int_t(9./max*numcol + 1.)));
       t11->SetTextAlign(12);
       TText *t12= pave->AddText(Form("Previously Excluded:                                    %3i pixels",
-                                       CountBadPixels(&disp24,11)));
-      t12->SetTextColor(gStyle->GetColorPalette(Int_t(11./max*numcol + 1.)));
+                                       CountBadPixels(&disp24,10)));
+      t12->SetTextColor(gStyle->GetColorPalette(Int_t(10./max*numcol + 1.)));
       t12->SetTextAlign(12);
       pave->Draw();
@@ -943,4 +939,8 @@
       tt6->SetTextColor(gStyle->GetColorPalette(Int_t(7./max2*numcol + 1.)));
       tt6->SetTextAlign(12);
+      TText *tt8 = pave2->AddText(Form("Deviating global F-Factor:                        %3i pixels",
+                                       CountBadPixels(&disp25,8)));
+      tt8->SetTextColor(gStyle->GetColorPalette(Int_t(8./max2*numcol + 1.)));
+      tt8->SetTextAlign(12);
       pave2->Draw();
 
@@ -1677,6 +1677,14 @@
     filltme.SetDrawOption(drawoption.Data());
   */
+    //
+    // Set default extractors in case, none has been set...
+    //
+    if (!fExtractor)
+      fExtractor = &extract2;
+    if (!fTimeExtractor)
+      fTimeExtractor = &timespline;
+
     MTaskEnv taskenv("ExtractSignal");
-    taskenv.SetDefault(fExtractor ? fExtractor : &extract2);
+    taskenv.SetDefault(fExtractor);
 
     tlist.AddToList(&merge);
@@ -1684,15 +1692,5 @@
 
     MPedCalcPedRun           pedcalc;
-    pedcalc.SetWindowSize(fExtractor 
-                          ? (Int_t)TMath::Nint(fExtractor->GetNumHiGainSamples())
-                          : (Int_t)TMath::Nint(extract2.GetNumHiGainSamples())
-                          );
-    pedcalc.SetRange(fExtractor 
-                     ? fExtractor->GetHiGainFirst()
-                     : extract2.GetHiGainFirst(), 
-                     fExtractor 
-                     ? fExtractor->GetHiGainLast()
-                     : extract2.GetHiGainLast()
-                     );
+    pedcalc.SetExtractWindow(fExtractor->GetHiGainFirst(),TMath::Nint(fExtractor->GetNumHiGainSamples()));
 
     if (IsIntensity())
@@ -1709,5 +1707,5 @@
     if (!IsTimeAndCharge())
       {
-        taskenv2.SetDefault(fTimeExtractor ? fTimeExtractor : &timespline);
+        taskenv2.SetDefault(fTimeExtractor);
     
         if (IsRelTimes())
Index: /trunk/MagicSoft/Mars/mpedestal/MExtractPedestal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mpedestal/MExtractPedestal.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/mpedestal/MExtractPedestal.cc	(revision 5511)
@@ -151,5 +151,4 @@
 #include "MExtractPedestal.h"
 #include "MExtractTimeAndCharge.h"
-#include "MExtractTimeAndChargeDigitalFilter.h"
 
 #include "MParList.h"
@@ -422,13 +421,7 @@
   if (fExtractor)
     {
-      fExtractor->InitArrays();
+      if (!fExtractor->InitArrays())
+        return kFALSE;
       SetExtractWindow(fExtractor->GetHiGainFirst(),(Int_t)fExtractor->GetNumHiGainSamples());
-      if (fExtractor->InheritsFrom("MExtractTimeAndChargeDigitalFilter"))
-        {
-          MExtractTimeAndChargeDigitalFilter* df = (MExtractTimeAndChargeDigitalFilter*)fExtractor;
-          if (!df->IsWeightsSet())
-            if (!df->ReadWeightsFile(df->GetNameWeightsFile()))
-              return kFALSE;
-        }
     }
 
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5511)
@@ -139,5 +139,8 @@
                                 fLoGainFirst, fLoGainLast, fNumLoGainSamples);
   
-  InitArrays();
+
+  if (!InitArrays())
+    return kFALSE;
+  
   Print();
 
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.h	(revision 5511)
@@ -40,5 +40,5 @@
                                                            fWindowSizeLoGain = windowl;  }
   
-  virtual void InitArrays() {}
+  virtual Bool_t InitArrays() { return kTRUE; }
 
   virtual void FindTimeAndChargeHiGain(Byte_t *firstused, Byte_t *logain, Float_t &sum, Float_t &dsum,
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5511)
@@ -180,21 +180,4 @@
 // --------------------------------------------------------------------------
 //
-// PreProcess
-//
-// Calls:
-// - ReadWeightsFile(fNameWeightsFile) if the weights have not yet been set.
-// - Creates new arrays according to the extraction range
-//
-Int_t MExtractTimeAndChargeDigitalFilter::PreProcess(MParList *pList)
-{
-  if (!fWeightsSet)
-    if (!ReadWeightsFile(fNameWeightsFile))
-      return kFALSE;
-
-  return MExtractTimeAndCharge::PreProcess(pList);
-}
-
-// --------------------------------------------------------------------------
-//
 // ReInit
 //
@@ -220,5 +203,5 @@
 // Gets called in the ReInit() and initialized the arrays
 //
-void MExtractTimeAndChargeDigitalFilter::InitArrays()
+Bool_t MExtractTimeAndChargeDigitalFilter::InitArrays()
 {
   Int_t range = (Int_t)(fHiGainLast - fHiGainFirst + 1 + fHiLoLast);
@@ -226,4 +209,9 @@
   range = (Int_t)(fLoGainLast - fLoGainFirst + 1);
   fLoGainSignal.Set(range);
+
+  if (!fWeightsSet)
+    if (!ReadWeightsFile(fNameWeightsFile))
+      return kFALSE;
+
 }
 
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.h	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.h	(revision 5511)
@@ -53,7 +53,6 @@
 
   Bool_t ReInit(MParList *pList);
-  Int_t PreProcess(MParList *pList);
 
-  void InitArrays();
+  Bool_t InitArrays();
 
   Int_t  ReadEnv(const TEnv &env, TString prefix, Bool_t print);
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc	(revision 5511)
@@ -185,5 +185,5 @@
 // Gets called in the ReInit() and initialized the arrays
 //
-void MExtractTimeAndChargeSlidingWindow::InitArrays()
+Bool_t MExtractTimeAndChargeSlidingWindow::InitArrays()
 {
   Int_t range = (Int_t)(fHiGainLast - fHiGainFirst + 1 + fHiLoLast);
@@ -191,4 +191,7 @@
   range = (Int_t)(fLoGainLast - fLoGainFirst + 1);
   fLoGainSignal.Set(range);
+
+  return kTRUE;
+  
 }
 
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.h	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.h	(revision 5511)
@@ -29,5 +29,5 @@
   MArrayF fLoGainSignal;                 //! Store them in separate arrays
 
-  void InitArrays();
+  Bool_t  InitArrays();
   
   Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5511)
@@ -293,5 +293,5 @@
 // Gets called in the ReInit() and initialized the arrays
 //
-void MExtractTimeAndChargeSpline::InitArrays()
+Bool_t MExtractTimeAndChargeSpline::InitArrays()
 {
 
@@ -315,4 +315,6 @@
   fLoGainFirstDeriv .Reset();
   fLoGainSecondDeriv.Reset();
+
+  return kTRUE;
 
 }
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h	(revision 5510)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.h	(revision 5511)
@@ -43,7 +43,7 @@
   Bool_t ReInit( MParList *pList );
   
-  Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
+  Int_t  ReadEnv(const TEnv &env, TString prefix, Bool_t print);
 
-  void InitArrays();
+  Bool_t InitArrays();
   
   void CalcIntegralHiGain(Float_t &sum, Int_t startslice, Int_t lastslice);
