Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5462)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5463)
@@ -21,4 +21,11 @@
                                                  -*-*- END OF LINE -*-*-
 
+ 2004/11/23: Markus Gaug
+ 
+   * mbadpixels/MBadPixelsCam.[h,cc]
+     - improved the Print() function such that the individual pixels 
+       matching a certain badness-criterion are listed.
+
+
  2004/11/23: Raquel de los Reyes
 
@@ -51,4 +58,6 @@
        sigma per mean which is anyhow reflected by the number of photo-
        electrons.
+     - put a class MPedCalcPedRun in the tasklist for the intensity 
+       calibration (does not affect normal calibration).
 
 
Index: /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc	(revision 5462)
+++ /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.cc	(revision 5463)
@@ -333,8 +333,7 @@
 void MBadPixelsCam::Print(Option_t *o) const
 {
+
   *fLog << all << GetDescriptor() << ":" << endl;
-  
   *fLog << "Pixels without problems:" << endl;
-  *fLog << endl;
     
   Int_t count = 0;
@@ -354,12 +353,8 @@
         *fLog << endl;
     }
-  *fLog << endl;
-  *fLog << count << " normal pixels :-))" << endl;
-  *fLog << endl;
-  count = 0;
-  
-  
+  *fLog << count << " normal pixels" << endl;
+  *fLog << endl;
+
   *fLog << "Pixels unsuited for the whole run:" << endl;
-  *fLog << endl;
   
   for (Int_t i=0; i<GetSize(); i++)
@@ -377,5 +372,5 @@
         *fLog << endl;
     }
-  *fLog << endl;
+
   *fLog << count << " unsuited pixels :-(" << endl;
   *fLog << endl;
@@ -384,5 +379,4 @@
   
   *fLog << all << "Pixels unreliable for the whole run:" << endl;
-  *fLog << all << endl;
   
   for (Int_t i=0; i<GetSize(); i++)
@@ -401,19 +395,48 @@
     }
   
-  *fLog << endl;
   *fLog << count << " unreliable pixels :-(" << endl;
   *fLog << endl;
-
-  count = 0;
-  
-  *fLog << all << "Charge is Pedestal:" << endl;
-  *fLog << all << endl;
-  
+  *fLog << endl;
+  *fLog << all << "Unsuited pixels statistics:" << endl;
+  *fLog << endl;
+  
+  PrintBadPixels(MBadPixelsPix::kChargeIsPedestal,"Signal smaller 3 Pedestal RMS");
+  PrintBadPixels(MBadPixelsPix::kChargeSigmaNotValid,"Signal smaller 3 Pedestal RMS");
+  PrintBadPixels(MBadPixelsPix::kChargeRelErrNotValid,"Signal Rel. error too large");
+  PrintBadPixels(MBadPixelsPix::kLoGainSaturation,"Low Gain Saturation");
+  PrintBadPixels(MBadPixelsPix::kMeanTimeInFirstBin,"Mean Arr. Time In First Extraction Bin");
+  PrintBadPixels(MBadPixelsPix::kMeanTimeInLast2Bins,"Mean Arr. Time In Last 2 Extraction Bins");
+  PrintBadPixels(MBadPixelsPix::kDeviatingNumPhes,"Deviating Number of Photo-electrons");
+  PrintBadPixels(MBadPixelsPix::kDeviatingNumPhots,"Deviating Number of Photons");
+  PrintBadPixels(MBadPixelsPix::kHiGainOverFlow,"High-Gain Histogram Overflow");
+  PrintBadPixels(MBadPixelsPix::kLoGainOverFlow,"Low-Gain Histogram Overflow");
+
+  *fLog << endl;
+  *fLog << all << "Unreliable pixels statistics:" << endl;
+  *fLog << endl;
+  
+  PrintBadPixels(MBadPixelsPix::kChargeSigmaNotValid,"Signal Sigma smaller Pedestal RMS");
+  PrintBadPixels(MBadPixelsPix::kHiGainNotFitted    ,"High Gain Signals could not be fitted");
+  PrintBadPixels(MBadPixelsPix::kLoGainNotFitted    ,"Low  Gain Signals could not be fitted");
+  PrintBadPixels(MBadPixelsPix::kRelTimeNotFitted   ,"Relative Arr. Times could not be fitted");
+  PrintBadPixels(MBadPixelsPix::kHiGainOscillating  ,"High Gain Signals Oscillation");
+  PrintBadPixels(MBadPixelsPix::kLoGainOscillating  ,"Low  Gain Signals Oscillation");
+  PrintBadPixels(MBadPixelsPix::kRelTimeOscillating ,"Relative Arr. Times Oscillation");
+  PrintBadPixels(MBadPixelsPix::kDeviatingFFactor   ,"Deviating global F-Factor");
+}
+
+void MBadPixelsCam::PrintBadPixels( MBadPixelsPix::UncalibratedType_t typ, const char *text) const 
+{
+
+
+  *fLog << "Pixels with " << text << ": " << endl;
+  UInt_t count = 0;
+
   for (Int_t i=0; i<GetSize(); i++)
     {
-      if ((*this)[i].IsUncalibrated(MBadPixelsPix::kChargeIsPedestal))
+      if ((*this)[i].IsUncalibrated(typ))
         {
           *fLog << i << " ";
-          count ++;
+          count++;
         }
       
@@ -425,105 +448,6 @@
     }
   
-  *fLog << endl;
-  *fLog << count << " ChargeIsPedestal :-(" << endl;
-  *fLog << endl;
-
-  count = 0;
-  
-  *fLog << all << "Charge Sigma not valid:" << endl;
-  *fLog << all << endl;
-  
-  for (Int_t i=0; i<GetSize(); i++)
-    {
-      if ((*this)[i].IsUncalibrated(MBadPixelsPix::kChargeSigmaNotValid))
-        {
-          *fLog << i << " ";
-          count ++;
-        }
-      
-      if (count == 0)
-        continue;
-      
-      if (!(count % 25))
-        *fLog << endl;
-    }
-  
-  *fLog << endl;
-  *fLog << count << " ChargeSigmaNotValid :-(" << endl;
-  *fLog << endl;
-
-  count = 0;
-  
-  *fLog << all << "Rel. Error Charge not valid:" << endl;
-  *fLog << all << endl;
-  
-  for (Int_t i=0; i<GetSize(); i++)
-    {
-      if ((*this)[i].IsUncalibrated(MBadPixelsPix::kChargeRelErrNotValid))
-        {
-          *fLog << i << " ";
-          count ++;
-        }
-      
-      if (count == 0)
-        continue;
-      
-      if (!(count % 25))
-        *fLog << endl;
-    }
-  
-  *fLog << endl;
-  *fLog << count << " ChargeRelErrNotValid :-(" << endl;
-  *fLog << endl;
-
-
-  count = 0;
-  
-  *fLog << all << " Deviating number photo-electrons:" << endl;
-  *fLog << all << endl;
-  
-  for (Int_t i=0; i<GetSize(); i++)
-    {
-      if ((*this)[i].IsUncalibrated(MBadPixelsPix::kDeviatingNumPhes))
-        {
-          *fLog << i << " ";
-          count ++;
-        }
-      
-      if (count == 0)
-        continue;
-      
-      if (!(count % 25))
-        *fLog << endl;
-    }
-  
-  *fLog << endl;
-  *fLog << count << " DeviatingNumPhes :-(" << endl;
-  *fLog << endl;
-
-  count = 0;
-  
-  *fLog << all << " Deviating F-Factor:" << endl;
-  *fLog << all << endl;
-  
-  for (Int_t i=0; i<GetSize(); i++)
-    {
-      if ((*this)[i].IsUncalibrated(MBadPixelsPix::kDeviatingFFactor))
-        {
-          *fLog << i << " ";
-          count ++;
-        }
-      
-      if (count == 0)
-        continue;
-      
-      if (!(count % 25))
-        *fLog << endl;
-    }
-  
-  *fLog << endl;
-  *fLog << count << " DeviatingFFactor :-(" << endl;
-  *fLog << endl;
-
+  *fLog << Form("%3i",count) << " pixels in total " << endl;
+  *fLog << endl;
 }
 
Index: /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.h
===================================================================
--- /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.h	(revision 5462)
+++ /trunk/MagicSoft/Mars/mbadpixels/MBadPixelsCam.h	(revision 5463)
@@ -20,4 +20,6 @@
     Short_t GetNumMaxCluster(MBadPixelsPix::UnsuitableType_t type, TObjArray &list, Int_t idx, Int_t aidx) const;
 
+    void PrintBadPixels( MBadPixelsPix::UncalibratedType_t typ, const char *text) const;
+    
 public:
     MBadPixelsCam(const char *name=NULL, const char *title=NULL);
