Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6906)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6907)
@@ -866,5 +866,5 @@
 
     MGeomCam &geomcam = *(MGeomCam*)plist.FindObject("MGeomCam");
-
+/*
     //
     // Get container from list
@@ -894,5 +894,5 @@
         disp21.CamDraw(c0, 2, 2, 1);
       }
-
+ */
     if (!fIsHiLoCalibration)
       return;
Index: trunk/MagicSoft/Mars/mjobs/MJCut.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCut.cc	(revision 6906)
+++ trunk/MagicSoft/Mars/mjobs/MJCut.cc	(revision 6907)
@@ -56,4 +56,5 @@
 #include "../mhflux/MAlphaFitter.h"
 #include "MBinning.h"
+#include "MWeight.h"
 #include "MDataSet.h"
 #include "MParameters.h"
@@ -71,8 +72,9 @@
 MJCut::MJCut(const char *name, const char *title)
     : fStoreSummary(kFALSE), fStoreResult(kFALSE), fWriteOnly(kFALSE),
-    fIsWobble(kFALSE), fEstimateEnergy(0), fCalcHadronness(0)
+    fIsWobble(kFALSE), fFullDisplay(kFALSE), fEstimateEnergy(0),
+    fCalcHadronness(0)
 {
     fName  = name  ? name  : "MJCut";
-    fTitle = title ? title : "Standard program to perform g/h-seperation cuts";
+    fTitle = title ? title : "Standard program to perform g/h-separation cuts";
 }
 
@@ -260,13 +262,18 @@
 //   "DataType"     to  "Events"
 //
-void MJCut::SetupWriter(MWriteRootFile &write, const char *name) const
-{
-    write.SetName(name);
-    write.AddContainer("MHillas",        "Events");
-    write.AddContainer("MHillasSrc",     "Events");
-    write.AddContainer("MHillasSrcAnti", "Events", kFALSE);
-    write.AddContainer("MHadronness",    "Events", kFALSE);
-    write.AddContainer("MEnergyEst",     "Events", kFALSE);
-    write.AddContainer("DataType",       "Events");
+void MJCut::SetupWriter(MWriteRootFile *write, const char *name) const
+{
+    if (!write)
+        return;
+
+    write->SetName(name);
+    write->AddContainer("MHillas",        "Events");
+    write->AddContainer("MHillasSrc",     "Events");
+    write->AddContainer("MHillasSrcAnti", "Events", kFALSE);
+    write->AddContainer("MNewImagePar",   "Events", kFALSE);
+    write->AddContainer("MNewImagePar2",  "Events", kFALSE);
+    write->AddContainer("MHadronness",    "Events", kFALSE);
+    write->AddContainer("MEnergyEst",     "Events", kFALSE);
+    write->AddContainer("DataType",       "Events");
 
     // Should not be the default: Either as option, or as
@@ -326,8 +333,14 @@
     MBinning bins3(50, 0,  60,   "BinningTheta",     "cos");
     MBinning bins4("BinningFalseSource");
+    //MBinning bins5("BinningWidth");
+    //MBinning bins6("BinningLength");
+    //MBinning bins7("BinningDist");
     plist.AddToList(&bins1);
     plist.AddToList(&bins2);
     plist.AddToList(&bins3);
     plist.AddToList(&bins4);
+    //plist.AddToList(&bins5);
+    //plist.AddToList(&bins6);
+    //plist.AddToList(&bins7);
 
     // --------------------------------------------------------------------------------
@@ -368,10 +381,8 @@
     fname1 += fNameResult.IsNull()  ?  (TString) Form("ganymed%08d-result.root",  set.GetNumAnalysis()) : fNameResult;
 
-    MWriteRootFile write0(fPathOut.IsNull()?0:fname0.Data(), fOverwrite?"RECREATE":"NEW");
-    MWriteRootFile write1(fPathOut.IsNull()?0:fname1.Data(), fOverwrite?"RECREATE":"NEW");
-    if (CanStoreSummary())
-        SetupWriter(write0, "WriteAfterCut0");
-    if (CanStoreSummary())
-        SetupWriter(write1, "WriteAfterCut3");
+    MWriteRootFile *write0 = CanStoreSummary() ? new MWriteRootFile(fPathOut.IsNull()?0:fname0.Data(), fOverwrite?"RECREATE":"NEW") : 0;
+    MWriteRootFile *write1 = CanStoreResult()  ? new MWriteRootFile(fPathOut.IsNull()?0:fname1.Data(), fOverwrite?"RECREATE":"NEW") : 0;
+    SetupWriter(write0, "WriteAfterCut0");
+    SetupWriter(write1, "WriteAfterCut3");
 
 
@@ -384,10 +395,18 @@
     taskenv2.SetDefault(fCalcHadronness);
 
-    MFillH fill1a("MHHillasOffPre  [MHHillas]", "MHillas",    "FillHillasPre");
-    MFillH fill2a("MHHillasOffPost [MHHillas]", "MHillas",    "FillHillasPost");
-    MFillH fill3a("MHVsSizeOffPost [MHVsSize]", "MHillasSrc", "FillVsSizePost");
+    MFillH fill1a("MHHillasOffPre  [MHHillas]",      "MHillas",      "FillHillasPre");
+    MFillH fill2a("MHHillasOffPost [MHHillas]",      "MHillas",      "FillHillasPost");
+    MFillH fill3a("MHVsSizeOffPost [MHVsSize]",      "MHillasSrc",   "FillVsSizePost");
+    MFillH fill4a("MHHilExtOffPost [MHHillasExt]",   "MHillasSrc",   "FillHilExtPost");
+    MFillH fill5a("MHHilSrcOffPost [MHHillasSrc]",   "MHillasSrc",   "FillHilSrcPost");
+    MFillH fill6a("MHImgParOffPost [MHImagePar]",    "MImagePar",    "FillImgParPost");
+    MFillH fill7a("MHNewParOffPost [MHNewImagePar]", "MNewImagePar", "FillNewParPost");
     fill1a.SetNameTab("PreCut");
     fill2a.SetNameTab("PostCut");
     fill3a.SetNameTab("VsSize");
+    fill4a.SetNameTab("HilExt");
+    fill5a.SetNameTab("HilSrc");
+    fill6a.SetNameTab("ImgPar");
+    fill7a.SetNameTab("NewPar");
 
     MPrint print2("MEffectiveOnTime");
@@ -412,10 +431,10 @@
     tlist2.AddToList(&taskenv2);
     tlist2.AddToList(&cont0);
-    if (CanStoreSummary())
-        tlist2.AddToList(&write0);
+    if (write0)
+        tlist2.AddToList(write0);
     if (!fWriteOnly)
         tlist2.AddToList(&fill1a);
     tlist2.AddToList(&cont1);
-    if (!fWriteOnly)
+    if (!fWriteOnly && !fIsWobble)
         tlist2.AddToList(&ffs);
     tlist2.AddToList(&cont2);
@@ -423,11 +442,18 @@
     {
         tlist2.AddToList(&fill2a);
-        tlist2.AddToList(&fill3a);
+        if (fFullDisplay)
+        {
+            tlist2.AddToList(&fill3a);
+            tlist2.AddToList(&fill4a);
+            tlist2.AddToList(&fill5a);
+            tlist2.AddToList(&fill6a);
+            tlist2.AddToList(&fill7a);
+        }
     }
     if (!fWriteOnly)
         tlist2.AddToList(&falpha);
     tlist2.AddToList(&cont3);
-    if (CanStoreResult())
-        tlist2.AddToList(&write1);
+    if (write1)
+        tlist2.AddToList(write1);
 
     tlist.AddToList(&readoff);
@@ -461,4 +487,6 @@
             return kFALSE;
         }
+
+        //plist.FindObject("MTimeEffectiveOnTime")->Clear();
     }
 
@@ -473,14 +501,31 @@
         scalc.SetWobbleMode(kFALSE); /********************/
 
-    MFillH fill1b("MHHillasOnPre  [MHHillas]", "MHillas",    "FillHillasPre");
-    MFillH fill2b("MHHillasOnPost [MHHillas]", "MHillas",    "FillHillasPost");
-    MFillH fill3b("MHVsSizeOnPost [MHVsSize]", "MHillasSrc", "FillVsSizePost");
+    MFillH fill1b("MHHillasOnPre  [MHHillas]",      "MHillas",      "FillHillasPre");
+    MFillH fill2b("MHHillasOnPost [MHHillas]",      "MHillas",      "FillHillasPost");
+    MFillH fill3b("MHVsSizeOnPost [MHVsSize]",      "MHillasSrc",   "FillVsSizePost");
+    MFillH fill4b("MHHilExtOnPost [MHHillasExt]",   "MHillasSrc",   "FillHilExtPost");
+    MFillH fill5b("MHHilSrcOnPost [MHHillasSrc]",   "MHillasSrc",   "FillHilSrcPost");
+    MFillH fill6b("MHImgParOnPost [MHImagePar]",    "MImagePar",    "FillImgParPost");
+    MFillH fill7b("MHNewParOnPost [MHNewImagePar]", "MNewImagePar", "FillNewParPost");
     fill1b.SetNameTab("PreCut");
     fill2b.SetNameTab("PostCut");
     fill3b.SetNameTab("VsSize");
+    fill4b.SetNameTab("HilExt");
+    fill5b.SetNameTab("HilSrc");
+    fill6b.SetNameTab("ImgPar");
+    fill7b.SetNameTab("NewPar");
     fill1b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
     fill2b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
     fill3b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
-
+    fill4b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
+    fill5b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
+    fill6b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
+    fill7b.SetDrawOption(set.HasOffSequences()||fIsWobble?"same":"");
+/*
+    MWeight weight;
+    weight.SetWeight(-1);
+    fill2a.SetWeight(&weight);
+    fill3a.SetWeight(&weight);
+  */
     MFillH falpha2("MHAlpha", "MHillasSrc", "FillAlpha");
     MFillH ffs2("MHFalseSource", "MHillas", "FillFS");
@@ -490,8 +535,23 @@
     {
         tlist2.Replace(&fill1b);
+/*        if (fIsWobble)
+        {
+            tlist2.AddToListAfter(&fill2b, &fill2a);
+            tlist2.AddToListAfter(&fill3b, &fill3a);
+        }
+        else
+        */
         tlist2.Replace(&fill2b);
-        tlist2.Replace(&fill3b);
+        if (fFullDisplay)
+        {
+            tlist2.Replace(&fill3b);
+            tlist2.Replace(&fill4b);
+            tlist2.Replace(&fill5b);
+            tlist2.Replace(&fill6b);
+            tlist2.Replace(&fill7b);
+        }
         tlist2.Replace(&falpha2);
-        tlist2.Replace(&ffs2);
+        if (!fIsWobble)
+            tlist2.Replace(&ffs2);
     }
 
@@ -518,4 +578,9 @@
     }
 
+    if (write0)
+        delete write0;
+    if (write1)
+        delete write1;
+
     tlist.PrintStatistics();
 
Index: trunk/MagicSoft/Mars/mjobs/MJCut.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCut.h	(revision 6906)
+++ trunk/MagicSoft/Mars/mjobs/MJCut.h	(revision 6907)
@@ -17,4 +17,5 @@
     Bool_t  fWriteOnly;
     Bool_t  fIsWobble;
+    Bool_t  fFullDisplay;
 
     TString fNameSummary;
@@ -27,5 +28,5 @@
     TString GetOutputFile(UInt_t num) const;
     Bool_t  CheckEnvLocal();
-    void    SetupWriter(MWriteRootFile &write, const char *name) const;
+    void    SetupWriter(MWriteRootFile *write, const char *name) const;
     Bool_t  WriteTasks(UInt_t num, TObjArray &cont) const;
     Bool_t  WriteResult(UInt_t num) const;
@@ -44,4 +45,5 @@
     void EnableWriteOnly(Bool_t b=kTRUE)         { fWriteOnly    = b; }
     void EnableWobbleMode(Bool_t b=kTRUE)        { fIsWobble     = b; }
+    void EnableFullDisplay(Bool_t b=kTRUE)       { fFullDisplay  = b; }
 
     void SetNameSummaryFile(const char *name="");
@@ -52,5 +54,5 @@
     void SetHadronnessCalculator(const MTask *task=0);
 
-    ClassDef(MJCut, 0) // Standard program to perform g/h-seperation cuts
+    ClassDef(MJCut, 0) // Standard program to perform g/h-separation cuts
 };
 
Index: trunk/MagicSoft/Mars/mjobs/MJOptimize.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJOptimize.cc	(revision 6906)
+++ trunk/MagicSoft/Mars/mjobs/MJOptimize.cc	(revision 6907)
@@ -497,8 +497,8 @@
 
     gMinuit = new TMinuit(fParameters.GetSize());
-    //gMinuit->SetPrintLevel(-1);
 
     gMinuit->SetFCN(fcn);
     gMinuit->SetObjectFit(this);
+    gMinuit->SetPrintLevel(-1); // Don't print when DefineParameter
 
     //
@@ -526,4 +526,7 @@
             gMinuit->FixParameter(i);
     }
+
+    gMinuit->SetPrintLevel(1); // Switch on pritning again
+    gMinuit->mnprin(1,0);      // Print all parameters
 
     fEvtLoop = &evtloop;
