Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 4657)
+++ trunk/MagicSoft/Mars/Changelog	(revision 4658)
@@ -22,4 +22,8 @@
 
  2004/08/17: Markus Gaug
+
+   * mcalib/MCalibrationChargeCam.[h,cc]
+     - removed Init() function which is already fulfilled by the Init() 
+       function of MCalibrationCam
 
    * mbadpixels/MBadPixelsCam.cc
Index: trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc	(revision 4658)
@@ -460,6 +460,7 @@
 // 18: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kMeanTimeInLast2Bins )
 // 19: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kDeviatingNumPhes    )
-// 20: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kRelTimeNotFitted )
+// 20: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kRelTimeNotFitted    )
 // 21: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kRelTimeOscillating  )
+// 22: MBadPixelsPix::IsUncalibrated(MBadPixelsPix::kDeviatingNumPhots   )
 //
 Bool_t MBadPixelsCam::GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type) const
@@ -580,4 +581,9 @@
       val = 1;
       break;
+    case 22:
+      if  (!(*this)[idx].IsUncalibrated(MBadPixelsPix::kDeviatingNumPhots))
+        return kFALSE;
+      val = 1;
+      break;
     default:
       return kFALSE;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 4658)
@@ -1005,6 +1005,4 @@
       const Int_t   aidx  = (*fGeom)[i].GetAidx();
 
-      camphes.Fill(i,nphe);
-      camphes.SetUsed(i);
 
       areaphes    [aidx] += nphe;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.cc	(revision 4658)
@@ -158,14 +158,4 @@
 }
 
-// -------------------------------------------------------------------
-//
-// Calls:
-// - MCalibrationCam::Init()
-//
-void MCalibrationChargeCam::Init(const MGeomCam &geom)
-{
-  MCalibrationCam::Init(geom);
-}
-
 // -----------------------------------------------
 //
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.h	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCam.h	(revision 4658)
@@ -46,7 +46,4 @@
   Bool_t  IsFFactorMethodValid            () const;
 
-  // Inits
-  void  Init                   ( const MGeomCam &geom         );
-  
   // Prints
   void   Print(Option_t *o="")         const;
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationTestCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationTestCalc.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationTestCalc.cc	(revision 4658)
@@ -121,5 +121,5 @@
     }
   
-  fCam = (MCalibrationTestCam*)pList->FindCreateObj(AddSerialNumber("MCalibrationTestCam"));
+  fCam = (MCalibrationTestCam*)pList->FindCreateObj("MCalibrationTestCam");
   if (!fCam)
     {
@@ -411,5 +411,4 @@
           bad.SetUncalibrated( MBadPixelsPix::kDeviatingNumPhots );
           bad.SetUnsuitable  ( MBadPixelsPix::kUnsuitableRun     );
-          pix.SetExcluded();
           continue;
         }
@@ -561,6 +560,15 @@
 {
 
-  const TArrayI &arr = fTestCam->GetNotInterpolateablePixels();
-  const Int_t   size = arr.GetSize();
+  TArrayI arr(0);
+  
+  for (Int_t i=0; i<fCam->GetSize(); i++)
+    if ((*fCam)[i].IsExcluded())
+      {
+        const Int_t s = arr.GetSize();
+        arr.Set(s+1);
+        arr[s] = i;
+      }
+
+  const Int_t size = arr.GetSize();
   
   if (size == 0)
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationTestCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationTestCam.h	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationTestCam.h	(revision 4658)
@@ -64,4 +64,7 @@
   void  SetNumUninterpolated            ( const UInt_t i, const Int_t aidx );
   void  SetNumUninterpolatedInMaxCluster( const UInt_t i ) { fNumUninterpolatedInMaxCluster = i; }
+
+  // Draw
+  void DrawPixelContent( Int_t num) const {}
   
   ClassDef(MCalibrationTestCam, 1) // Container Test Calibration Results Camera
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 4658)
@@ -243,5 +243,5 @@
 {
 
-  MExtractedSignalCam *signal = (MExtractedSignalCam*)pList->FindObject("MExtractedSignalCam");
+  MExtractedSignalCam *signal = (MExtractedSignalCam*)pList->FindObject(AddSerialNumber("MExtractedSignalCam"));
   if (!signal)
   {
@@ -250,5 +250,5 @@
   }
 
-  fCam = (MCalibrationCam*)pList->FindObject("MCalibrationChargeCam");
+  fCam = (MCalibrationCam*)pList->FindObject(AddSerialNumber("MCalibrationChargeCam"));
   if (!fCam)
     {
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.cc	(revision 4658)
@@ -90,4 +90,6 @@
 #include "MParList.h"
 
+#include "MCalibrationTestCam.h"
+
 #include "MCalibrationCam.h"
 #include "MCalibrationPix.h"
@@ -117,5 +119,4 @@
   SetAverageNbins(5000);
 
-  fNotInterpolateablePixels.Set(0);
 }
 
@@ -157,4 +158,5 @@
   }
 
+
   const Int_t npixels  = fGeom->GetNumPixels();
   const Int_t nsectors = fGeom->GetNumSectors();
@@ -378,10 +380,5 @@
       
       if (hist.IsEmpty())
-        {
-          const Int_t size = fNotInterpolateablePixels.GetSize();
-          fNotInterpolateablePixels.Set(size+1);
-          fNotInterpolateablePixels[size] = i;
-          continue;
-        }
+        continue;
 
       if (!hist.FitGaus())
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.h	(revision 4657)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationTestCam.h	(revision 4658)
@@ -12,4 +12,5 @@
 #endif
 
+
 class MGeomCam;
 class MHCalibrationTestCam : public MHCalibrationCam
@@ -23,6 +24,4 @@
   TArrayF fRmsSigmaPhotPerArea   ;
 
-  TArrayI fNotInterpolateablePixels;
-  
   Bool_t ReInitHists(MParList *pList);
   Bool_t FillHists(const MParContainer *par, const Stat_t w=1);
@@ -42,6 +41,4 @@
   const Float_t  GetRmsSigmaPhotPerArea  ( const Int_t aidx ) const { return fRmsSigmaPhotPerArea  [aidx]; }
 
-  const TArrayI &GetNotInterpolateablePixels ()               const { return fNotInterpolateablePixels;    }
-  
   void CalcAverageSigma();
   
Index: trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc	(revision 4657)
+++ trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.cc	(revision 4658)
@@ -27,4 +27,8 @@
 //  MJExtractCalibTest
 //
+// If the flag SetDataCheckDisplay() is set, only the most important distributions
+//  are displayed. 
+// Otherwise, (default: SetNormalDisplay()), a good selection of plots is given
+//
 /////////////////////////////////////////////////////////////////////////////
 #include "MJExtractCalibTest.h"
@@ -53,6 +57,8 @@
 #include "MCalibrationRelTimeCam.h"
 #include "MCalibrationQECam.h"
+#include "MCalibrationTestCam.h"
 #include "MCalibrationTestCalc.h"
 #include "MHCamEvent.h"
+#include "MHCalibrationTestCam.h"
 
 #include "MReadMarsFile.h"
@@ -79,7 +85,9 @@
 //
 // Sets fUseCosmicsFilter to kTRUE, fRuns to 0, fExtractor to NULL, fTimeExtractor to NULL
+// fDisplay to kNormalDisplay
 //
 MJExtractCalibTest::MJExtractCalibTest(const char *name, const char *title) 
-    : fUseCosmicsFilter(kTRUE), fRuns(NULL), fExtractor(NULL), fTimeExtractor(NULL)
+    : fUseCosmicsFilter(kTRUE), fRuns(NULL), fExtractor(NULL), fTimeExtractor(NULL),
+      fDisplayType(kNormalDisplay)
 {
     fName  = name  ? name  : "MJExtractCalibTest";
@@ -105,5 +113,6 @@
   // Get container from list
   //
-  MGeomCam &geomcam = *(MGeomCam*)plist.FindObject("MGeomCam");
+  MGeomCam  &geomcam = *(MGeomCam*) plist.FindObject("MGeomCam");
+  MHCalibrationTestCam &testcam = *(MHCalibrationTestCam*)plist.FindObject("MHCalibrationTestCam");
   
   // Create histograms to display
@@ -112,14 +121,27 @@
   MHCamera disp3 (geomcam, "Test;PhotonsPerArea",    "Equiv. Cherenkov Photons per Area");
   MHCamera disp4 (geomcam, "Test;SigmaPhotPerArea",  "Sigma equiv. Cher. Photons per Area");
+  MHCamera disp5 (geomcam, "Test;Phot",              "Calibrated Photons");
+  MHCamera disp6 (geomcam, "Test;PhotPerArea",       "Calibrated Photons per Area");
+  MHCamera disp7 (geomcam, "Test;NotInterpolate",    "Not interpolated pixels");
+  MHCamera disp8 (geomcam, "Test;DeviatingPhots",    "Deviating Number Photons");
 
   // Fitted charge means and sigmas
-  disp1.SetCamContent(fTestCam,  0);
-  disp1.SetCamError(  fTestCam,  1);
-  disp2.SetCamContent(fTestCam,  2);
-  disp2.SetCamError(  fTestCam,  3);
-  disp3.SetCamContent(fTestCam,  7);
-  disp3.SetCamError(  fTestCam,  8);
-  disp4.SetCamContent(fTestCam,  9);
-  disp4.SetCamError(  fTestCam,  10);
+  disp1.SetCamContent(testcam,  0);
+  disp1.SetCamError(  testcam,  1);
+  disp2.SetCamContent(testcam,  2);
+  disp2.SetCamError(  testcam,  3);
+  disp3.SetCamContent(testcam,  7);
+  disp3.SetCamError(  testcam,  8);
+  disp4.SetCamContent(testcam,  9);
+  disp4.SetCamError(  testcam,  10);
+
+  disp5.SetCamContent(fTestCam,  0);
+  disp5.SetCamError(  fTestCam,  1);
+  disp6.SetCamContent(fTestCam,  2);
+  disp6.SetCamError(  fTestCam,  3);
+  disp7.SetCamError(  fTestCam,  4);
+
+  disp8.SetCamError(  fBadPixels, 22);
+
 
   disp1.SetYTitle("Photons");
@@ -127,15 +149,36 @@
   disp3.SetYTitle("Photons per Area [mm^{-2}]");
   disp4.SetYTitle("\\sigma_{phot} per Area [mm^{-2}]");
+
+  disp5.SetYTitle("Photons");
+  disp6.SetYTitle("Photons per Area [mm^{-2}]");
+  disp7.SetYTitle("[1]");
+  disp8.SetYTitle("[1]");
   
   gStyle->SetOptStat(1111);
   gStyle->SetOptFit();
 
-  TCanvas &c = fDisplay->AddTab("TestCharges");
-  c.Divide(4,4);
-
-  disp1.CamDraw(c, 1, 4, 2, 1);
-  disp2.CamDraw(c, 2, 4, 2, 1);        
-  disp3.CamDraw(c, 3, 4, 1, 1);        
-  disp4.CamDraw(c, 4, 4, 2, 1);        
+  if (fDisplayType == kNormalDisplay)
+    {
+
+      TCanvas &c = fDisplay->AddTab("TestCharges");
+      c.Divide(4,4);
+      
+      disp1.CamDraw(c, 1, 4, 2, 1);
+      disp2.CamDraw(c, 2, 4, 2, 1);        
+      disp3.CamDraw(c, 3, 4, 1, 1);        
+      disp4.CamDraw(c, 4, 4, 2, 1);        
+    }
+  
+  TCanvas &c2 = fDisplay->AddTab("TestResult");
+  c2.Divide(2,4);
+
+  disp5.CamDraw(c2, 1, 2, 2, 1);
+  disp6.CamDraw(c2, 2, 2, 2, 1);        
+
+  TCanvas &c3 = fDisplay->AddTab("TestDefects");
+  c3.Divide(2,2);
+
+  disp7.CamDraw(c3, 1, 2, 0);
+  disp8.CamDraw(c3, 2, 2, 0);        
 
   return;
@@ -234,6 +277,7 @@
   *fLog << endl;
   
-  MCerPhotEvt    cerphot;
-  MPedPhotCam    pedphot;
+  MCerPhotEvt          cerphot;
+  MPedPhotCam          pedphot;
+  MHCalibrationTestCam testcam;
 
   // Setup Lists
@@ -244,4 +288,5 @@
   plist.AddToList(&cerphot);
   plist.AddToList(&pedphot);
+  plist.AddToList(&testcam);
   plist.AddToList(&fTestCam);
   plist.AddToList(&fBadPixels);
@@ -493,5 +538,5 @@
     if (fTestCam.Write()<=0)
     {
-        *fLog << err << "Unable to write MHCalibrationTestCam to " << oname << endl;
+        *fLog << err << "Unable to write MCalibrationTestCam to " << oname << endl;
         return kFALSE;
     }
Index: trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h	(revision 4657)
+++ trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h	(revision 4658)
@@ -2,6 +2,6 @@
 #define MARS_MJExtractCalibTest
 
-#ifndef MARS_MHCalibrationTestCam
-#include "MHCalibrationTestCam.h"
+#ifndef MARS_MCalibrationTestCam
+#include "MCalibrationTestCam.h"
 #endif
 #ifndef MARS_MHCalibrationTestTimeCam
@@ -35,8 +35,16 @@
   
   MBadPixelsCam            fBadPixels;
-  MHCalibrationTestCam     fTestCam;
+  MCalibrationTestCam      fTestCam;
   MHCalibrationTestTimeCam fTestTimeCam;
   MPedPhotCam              fPedPhotCam;
 
+  enum  Display_t                                      // Possible Display types
+    {
+      kDataCheckDisplay,
+      kNormalDisplay
+    };
+  
+  Display_t fDisplayType;                              // Chosen Display type
+  
   Bool_t ReadPedPhotCam();
   
@@ -58,5 +66,5 @@
   const char* GetOutputFile() const;
   
-  MHCalibrationTestCam     &GetTestCam()      { return fTestCam; }
+  MCalibrationTestCam      &GetTestCam()      { return fTestCam; }
   MHCalibrationTestTimeCam &GetTestTimeCam()  { return fTestTimeCam; }  
   MPedPhotCam          &GetPedPhotCam() { return fPedPhotCam; }
@@ -67,5 +75,9 @@
   void SetBadPixels(const MBadPixelsCam &bad) { bad.Copy(fBadPixels); }
   void SetUseCosmicsFilter( const Bool_t b )    { fUseCosmicsFilter = b;  }
-     
+
+  // Displays
+  void SetDataCheckDisplay() { fDisplayType = kDataCheckDisplay; }
+  void SetNormalDisplay()    { fDisplayType = kNormalDisplay;    }
+  
   Bool_t ProcessD(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam);
   Bool_t ProcessT(MPedestalCam &pedcam, MCalibrationRelTimeCam &relcam);  
