Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationCam.h	(revision 4314)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationCam.h	(revision 4315)
@@ -117,5 +117,5 @@
 
   // Clone
-  TObject *Clone(const char *) const;
+  virtual TObject *Clone(const char *) const;
 
   // Draw
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 4314)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 4315)
@@ -314,4 +314,5 @@
         hist.GetHGausHist()->SetTitle("Summed FADC slices average HiGain Area Idx ");
         hist.SetNbins(fAverageNbins);
+        hist.SetLast(2.*hist.GetLast());
         hist.GetHAbsTime()->SetTitle("Absolute Arrival Time average HiGain Area Idx ");
 
@@ -357,4 +358,5 @@
           hist.GetHGausHist()->SetTitle("Summed FADC slices average HiGain Sector ");
           hist.SetNbins(fAverageNbins);
+          hist.SetLast (2.*hist.GetLast());
           hist.GetHAbsTime()->SetTitle("Absolute Arrival Time average HiGain Sector ");
 
@@ -830,5 +832,4 @@
   for (Int_t i=0; i<nareas;i++) 
     {
-
       pad->cd(2*(i+1)-1);
       GetAverageHiGainArea(i).Draw("datacheck");
@@ -837,2 +838,71 @@
     }      
 }
+
+
+// --------------------------------------------------------------------------
+//
+// Our own clone function is necessary since root 3.01/06 or Mars 0.4
+// I don't know the reason. 
+//
+// Creates new MHCalibrationCam
+//
+TObject *MHCalibrationChargeCam::Clone(const char *) const
+{
+
+  const Int_t navhi = fAverageHiGainAreas->GetEntries();
+  const Int_t navlo = fAverageLoGainAreas->GetEntries();
+  const Int_t nsehi = fAverageHiGainSectors->GetEntries();
+  const Int_t nselo = fAverageLoGainSectors->GetEntries();
+  
+  //
+  // FIXME, this might be done faster and more elegant, by direct copy.
+  //
+  MHCalibrationChargeCam *cam = new MHCalibrationChargeCam();
+
+  cam->fAverageHiGainAreas->Expand(navhi);
+  cam->fAverageLoGainAreas->Expand(navlo);
+  cam->fAverageHiGainSectors->Expand(nsehi);
+  cam->fAverageLoGainSectors->Expand(nselo);
+
+  cam->fAverageHiGainAreas->Expand(navhi);
+  cam->fAverageLoGainAreas->Expand(navlo);
+  cam->fAverageHiGainSectors->Expand(nsehi);
+  cam->fAverageLoGainSectors->Expand(nselo);
+
+  for (int i=0; i<navhi; i++)
+    {
+      //      delete (*cam->fAverageHiGainAreas)[i];
+      (*cam->fAverageHiGainAreas)[i] = (*fAverageHiGainAreas)[i]->Clone();
+    }
+  for (int i=0; i<navlo; i++)
+    {
+      //      delete (*cam->fAverageLoGainAreas)[i];
+      (*cam->fAverageLoGainAreas)[i] = (*fAverageLoGainAreas)[i]->Clone();
+    }
+  for (int i=0; i<nsehi; i++)
+    {
+      //      delete (*cam->fAverageHiGainSectors)[i];
+      (*cam->fAverageHiGainSectors)[i] = (*fAverageHiGainSectors)[i]->Clone();
+    }
+  for (int i=0; i<nselo; i++)
+    {
+      //      delete (*cam->fAverageLoGainSectors)[i];
+      (*cam->fAverageLoGainSectors)[i] = (*fAverageLoGainSectors)[i]->Clone();
+    }
+
+  cam->fAverageAreaNum         = fAverageAreaNum;
+  cam->fAverageAreaSat         = fAverageAreaSat;
+  cam->fAverageAreaSigma       = fAverageAreaSigma;      
+  cam->fAverageAreaSigmaVar    = fAverageAreaSigmaVar;   
+  cam->fAverageAreaRelSigma    = fAverageAreaRelSigma;
+  cam->fAverageAreaRelSigmaVar = fAverageAreaRelSigmaVar;   
+  cam->fAverageSectorNum       = fAverageSectorNum;      
+  cam->fRunNumbers             = fRunNumbers;
+
+  cam->fPulserFrequency        = fPulserFrequency;
+  cam->fAverageNbins           = fAverageNbins;
+
+  return cam;
+
+}
+
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.h
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.h	(revision 4314)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.h	(revision 4315)
@@ -43,4 +43,6 @@
   ~MHCalibrationChargeCam() {}
   
+  TObject *Clone(const char *) const;
+
   void SetTimeLowerLimit    ( const Float_t f=fgTimeLowerLimit         ) { fTimeLowerLimit    = f;   }
   void SetTimeUpperLimit    ( const Float_t f=fgTimeUpperLimit         ) { fTimeUpperLimit    = f;   }
