Index: trunk/MagicSoft/Mars/manalysis/AnalysisLinkDef.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/AnalysisLinkDef.h	(revision 2438)
+++ trunk/MagicSoft/Mars/manalysis/AnalysisLinkDef.h	(revision 2440)
@@ -8,5 +8,8 @@
 #pragma link C++ class MCerPhotEvt+;
 #pragma link C++ class MCerPhotAnal+;
+#pragma link C++ class MCerPhotAnal2+;
 #pragma link C++ class MCerPhotCalc+;
+
+//#pragma link C++ class MRelSignal+;
 
 #pragma link C++ class MBlindPixels+;
@@ -57,18 +60,4 @@
 #pragma link C++ class MMinuitInterface+;
 #pragma link C++ class MFiltercutsCalc+;
-#pragma link C++ class MMcPedestalRead+;
-
 
 #endif
-
-
-
-
-
-
-
-
-
-
-
-
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc	(revision 2438)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.cc	(revision 2440)
@@ -16,7 +16,7 @@
 !
 !
-!   Author(s): Thomas Bretz  12/2000 <mailto:tbretz@uni-sw.gwdg.de>
+!   Author(s): Thomas Bretz, 12/2000 <mailto:tbretz@astro.uni-wuerzburg.de>
 !
-!   Copyright: MAGIC Software Development, 2000-2001
+!   Copyright: MAGIC Software Development, 2000-2003
 !
 !
@@ -24,19 +24,18 @@
 
 /////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-//  MMcPedestalCopy                                                        //
-//                                                                         //
-//  This task looks for the ìnformation about FADC pedestals in            //
-//  MMcFadcHeader and translates it to the pedestal values in              //
-//  MPedestalCam                                                           //
-//                                                                         //
-//  Input Containers:                                                      //
-//   MMcFadcHeader                                                         //
-//                                                                         //
-//  Output Containers:                                                     //
-//   MPedestalCam                                                          //
-//                                                                         //
+//
+//  MMcPedestalCopy
+//
+//  This task looks for the ìnformation about FADC pedestals in
+//  MMcFadcHeader and translates it to the pedestal values in
+//  MPedestalCam
+//
+//  Input Containers:
+//   MMcFadcHeader
+//
+//  Output Containers:
+//   MPedestalCam
+//
 /////////////////////////////////////////////////////////////////////////////
-
 #include "MMcPedestalCopy.h"
 
@@ -50,4 +49,5 @@
 
 #include "MRawRunHeader.h"
+#include "MMcRunHeader.hxx"
 #include "MMcFadcHeader.hxx"
 
@@ -89,15 +89,11 @@
 // --------------------------------------------------------------------------
 //
-// Check runtype and search for MPedestalCam and MMcFadcHeader.
-// If the runtype check fails the task is removed from the task list.
+// Search for MPedestalCam and MMcFadcHeader.
 //
 Int_t MMcPedestalCopy::PreProcess(MParList *pList)
 {
-    if (!CheckRunType(pList))
-    {
-        *fLog << warn << dbginf << " MMcPedestalCopy is for Monte Carlo files only... ";
-        *fLog << "removing task from list." << endl;
-        return kSKIP;
-    }
+    fMcRun = (MMcRunHeader*)pList->FindObject("MMcRunHeader");
+    if (!fMcRun)
+        *fLog << warn << dbginf << "MMcRunHeader not found... assuming camera<0.7" << endl;
 
     fPedCam = (MPedestalCam*)pList->FindCreateObj("MPedestalCam");
@@ -108,5 +104,5 @@
     if (!fMcPed)
     {
-        *fLog << warn << dbginf << "MMcFadcHeader not found... aborting." << endl;
+        *fLog << err << dbginf << "MMcFadcHeader not found... aborting." << endl;
         return kFALSE;
     }
@@ -128,4 +124,6 @@
     const int num = fPedCam->GetSize();
 
+    const Bool_t camver70 = fMcRun && fMcRun->GetCamVersion()>=70;
+
     for (int i=0; i<num; i++)
     {
@@ -136,14 +134,12 @@
 
         const Float_t pedest = fMcPed->GetPedestal(i);
-        //const Float_t pedrms = pedest/sqrt((float)num);
+        const Float_t sigma  = camver70 ? fMcPed->GetPedestalRmsHigh(i) : fMcPed->GetElecNoise(i);
 
-        const Float_t sigma  = fMcPed->GetElecNoise(i);
-        //const Float_t sigrms = sigma/sqrt(num*2.);
-
-        //pix.SetPedestalRms(pedrms, sigrms);
         pix.Set(pedest, sigma);
     }
 
+    if (camver70)
+        fPedCam->SetReadyToSave();
+
     return kTRUE;
 }
-
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h	(revision 2438)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalCopy.h	(revision 2440)
@@ -7,4 +7,5 @@
 
 class MMcFadcHeader;
+class MMcRunHeader;
 class MPedestalCam;
 
@@ -13,9 +14,11 @@
 private:
     const MMcFadcHeader *fMcPed;
+    const MMcRunHeader  *fMcRun;
+
     MPedestalCam *fPedCam;
 
     Bool_t CheckRunType(MParList *pList) const;
 
-    Int_t PreProcess(MParList *pList);
+    Int_t  PreProcess(MParList *pList);
     Bool_t ReInit(MParList *pList);
 
Index: trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc	(revision 2438)
+++ trunk/MagicSoft/Mars/manalysis/MMcPedestalNSBAdd.cc	(revision 2440)
@@ -111,4 +111,18 @@
 // --------------------------------------------------------------------------
 //
+// Check for the camera version. This class should not be used with
+// camera files >= 0.7
+//
+Bool_t MMcPedestalNSBAdd::CheckCamVersion(MParList *pList) const
+{
+    const MMcRunHeader *run = (MMcRunHeader*)pList->FindObject("MMcRunHeader");
+    if (!run)
+        *fLog << warn << dbginf << "MMcRunHeader not found... assuming camera<0.7" << endl;
+
+    return !run || run->GetCamVersion()<70;
+}
+
+// --------------------------------------------------------------------------
+//
 // - check whether we have a monte carlo file. if not skip this task
 // - try to get MMcFadcHeader, MGeomCam and MPedestalCam from the parameter
@@ -118,10 +132,4 @@
 Int_t MMcPedestalNSBAdd::PreProcess(MParList *pList)
 {
-    if (!CheckRunType(pList))
-    {
-        *fLog << warn << dbginf << "Warning - MMcPedestalNSB is for Monte Carlo files only... removing this task from list." << endl;
-        return kSKIP;
-    }
-
     fFadc = (MMcFadcHeader*)pList->FindObject("MMcFadcHeader");
     if (!fFadc)
@@ -141,12 +149,4 @@
     if (!fPedCam)
 	return kFALSE;
-
-    const MMcRunHeader *mcrunheader = (MMcRunHeader*)pList->FindObject("MMcRunHeader");
-    if (!mcrunheader && fDnsbPixel<0)
-    {
-        *fLog << err << dbginf << "Using the default argument only ";
-        *fLog << "allowed if MMcRunHeader is available... aborting." << endl;
-        return kFALSE;
-    }
 
     return kTRUE;
@@ -202,4 +202,7 @@
         return kFALSE;
 
+    if (!CheckCamVersion(pList))
+        return kTRUE;
+
     const Float_t dnsbpix = GetDnsb(pList) * 50.0/15.0;
 
@@ -220,4 +223,6 @@
     }
 
+    fPedCam->SetReadyToSave();
+
     return kTRUE;
 }
Index: trunk/MagicSoft/Mars/manalysis/Makefile
===================================================================
--- trunk/MagicSoft/Mars/manalysis/Makefile	(revision 2438)
+++ trunk/MagicSoft/Mars/manalysis/Makefile	(revision 2440)
@@ -49,4 +49,5 @@
 	   MCerPhotEvt.cc \
            MCerPhotAnal.cc \
+           MCerPhotAnal2.cc \
 	   MCerPhotCalc.cc \
 	   MPedCalcPedRun.cc \
@@ -66,7 +67,7 @@
            MMinuitInterface.cc \
            MFiltercutsCalc.cc \
-           MCT1PadONOFF.cc \
-           MMcPedestalRead.cc
+           MCT1PadONOFF.cc
 
+#           MRelSignal.cc \
 
 SRCS    = $(SRCFILES)
