Index: trunk/MagicSoft/Mars/mjobs/MJSpectrum.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJSpectrum.cc	(revision 6985)
+++ trunk/MagicSoft/Mars/mjobs/MJSpectrum.cc	(revision 6987)
@@ -344,5 +344,5 @@
 
     MFillH fill1("MHAlphaOff [MHAlpha]", "MHillasSrc", "FillAlphaOff");
-    MFillH fill2("MHAlpha",              "MHillasSrc", "FillAlphaOn");
+    MFillH fill2("MHAlphaOn  [MHAlpha]", "MHillasSrc", "FillAlphaOn");
 
     MFDataMember f0("DataType.fVal", '<', 0.5, "FilterOffData");
@@ -381,8 +381,8 @@
     }
 
-    const MHAlpha *halpha = (MHAlpha *)plist.FindObject("MHAlpha");
+    const MHAlpha *halpha = (MHAlpha *)plist.FindObject("MHAlphaOn");
     if (!halpha)
     {
-        *fLog << err << GetDescriptor() << ": MHAlpha not found... abort." << endl;
+        *fLog << err << GetDescriptor() << ": MHAlphaOn [MHAlpha] not found... abort." << endl;
         return kFALSE;
     }
@@ -615,5 +615,5 @@
     cout << "Searching..." << endl;
 
-    TH1D *excess = (TH1D*)arr.FindObjectInCanvas("Excess", "TH1D", "MHAlpha");
+    TH1 *excess = (TH1D*)arr.FindObjectInCanvas("Excess", "TH1D", "MHAlpha");
     if (!excess)
         return kFALSE;
@@ -633,18 +633,27 @@
 
     excess->SetTitle("Number of excess events vs Size (data, mc/blue)");
+    excess->Scale(1./excess->Integral());
+    excess = excess->DrawCopy();
+    // Don't do this on the original object!
     excess->SetStats(kFALSE);
-    excess->Scale(1./excess->Integral());
-    excess->DrawCopy();
+
+    cout << "ExcessSize..." << endl;
 
     TObject *o=0;
     if ((o=plist.FindObject("ExcessSize")))
     {
-        TH1F *histsel = (TH1F*)o->FindObject("");
-        histsel->SetStats(kFALSE);
-        histsel->Scale(1./histsel->Integral());
-        histsel->SetLineColor(kBlue);
-        histsel->SetBit(kCanDelete);
-        histsel->DrawCopy("same");
-    }
+        TH1 *histsel = (TH1F*)o->FindObject("");
+        if (histsel)
+        {
+            histsel->Scale(1./histsel->Integral());
+            histsel->SetLineColor(kBlue);
+            histsel->SetBit(kCanDelete);
+            histsel = histsel->DrawCopy("same");
+            // Don't do this on the original object!
+            histsel->SetStats(kFALSE);
+        }
+    }
+
+    cout << "Dist..." << endl;
 
     // -------------- Comparison of Image Parameters --------------
@@ -652,12 +661,20 @@
     PlotSame(arr, plist, "Dist",   "HilSrc",  "MHHilSrcMCPost");
 
+    cout << "Length..." << endl;
+
     c.cd(3);
     PlotSame(arr, plist, "Length", "PostCut", "MHHillasMCPost");
 
+    cout << "M3l..." << endl;
+
     c.cd(4);
     PlotSame(arr, plist, "M3l",    "HilExt",  "MHHilExtMCPost");
 
+    cout << "Conc1..." << endl;
+
     c.cd(5);
     PlotSame(arr, plist, "Conc1",  "NewPar",  "MHNewParMCPost");
+
+    cout << "Width..." << endl;
 
     c.cd(6);
Index: trunk/MagicSoft/Mars/mjobs/MJStar.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJStar.cc	(revision 6985)
+++ trunk/MagicSoft/Mars/mjobs/MJStar.cc	(revision 6987)
@@ -53,4 +53,5 @@
 #include "MReadReports.h"
 #include "MReadMarsFile.h"
+#include "MF.h"
 #include "MFDeltaT.h"
 #include "MFSoftwareTrigger.h"
@@ -61,4 +62,7 @@
 #include "MSrcPosCalc.h"
 #include "MHillasCalc.h"
+#include "../mmuon/MMuonSearchParCalc.h"
+#include "../mmuon/MMuonCalibParCalc.h"
+#include "../mmuon/MMuonSetup.h"
 #include "MFillH.h"
 #include "MWriteRootFile.h"
@@ -108,5 +112,5 @@
 }
 
-Bool_t MJStar::ProcessFile(Bool_t ismc)
+Bool_t MJStar::Process(Bool_t ismc)
 {
     if (!fSequence.IsValid())
@@ -156,4 +160,22 @@
     MObservatory obs;
     plist.AddToList(&obs);
+
+    MMuonSetup muonsetup;
+    plist.AddToList(&muonsetup);
+
+    // Setup binnings for muon analysis
+    MBinning bins1("BinningRadius");
+    MBinning bins2("BinningArcWidth");
+    MBinning bins3("BinningRingBroadening");
+    MBinning bins4("BinningSizeVsArcRadius");
+    MBinning bins5("BinningMuonWidth");
+    MBinning bins6("BinningArcPhi");
+    plist.AddToList(&bins1);
+    plist.AddToList(&bins2);
+    plist.AddToList(&bins3);
+    plist.AddToList(&bins4);
+    plist.AddToList(&bins5);
+    plist.AddToList(&bins6);
+
 
     // Setup Tasklist
@@ -276,4 +298,11 @@
     write.AddContainer("MObservatory",  "RunHeaders");
 
+    // Muon Setup
+    write.AddContainer("BinningRadius",          "RunHeaders");
+    write.AddContainer("BinningArcWidth",        "RunHeaders");
+    write.AddContainer("BinningRingBroadening",  "RunHeaders");
+    write.AddContainer("BinningSizeVsArcRadius", "RunHeaders");
+    write.AddContainer("MMuonSetup",             "RunHeaders");
+
     if (ismc)
     {
@@ -327,4 +356,40 @@
     tlist2.AddToList(&fill4);
     tlist2.AddToList(&fill5);
+
+    // *********************************************************
+    MMuonSetup setup;
+    plist.AddToList(&setup);
+
+    MF fmuon1("MHillas.fSize>150", "MuonPreCut");
+
+    MF fmuon2("(MMuonSearchPar.fRadius>180) &&"
+              "(MMuonSearchPar.fRadius<400) &&"
+              "(MMuonSearchPar.fDeviation<45)", "MuonSearchCut");
+    fmuon2.SetFilter(&fmuon1);
+
+    MF fmuon3("(MMuonCalibPar.fArcPhi>175)  &&"
+              "(MMuonSearchPar.fDeviation<37)", "MuonFinalCut");
+
+    MMuonSearchParCalc muscalc;
+    muscalc.SetFilter(&fmuon1);
+
+    MMuonCalibParCalc mcalc;
+    mcalc.SetFilter(&fmuon2);
+
+    MFillH fill11("MHSingleMuon", "", "FillMuon");
+    MFillH fill10("MHMuonPar",    "", "FillMuonPar");
+    fill11.SetFilter(&fmuon2);
+    fill10.SetFilter(&fmuon3);
+
+    tlist2.AddToList(&fmuon1);
+    tlist2.AddToList(&muscalc);
+    tlist2.AddToList(&fmuon2);
+    tlist2.AddToList(&fill11);
+    tlist2.AddToList(&mcalc);
+    tlist2.AddToList(&fmuon3);
+    tlist2.AddToList(&fill10);
+
+    // *********************************************************
+
     //tlist2.AddToList(&fill6);
     //tlist2.AddToList(&fill7);
Index: trunk/MagicSoft/Mars/mjobs/MJStar.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJStar.h	(revision 6985)
+++ trunk/MagicSoft/Mars/mjobs/MJStar.h	(revision 6987)
@@ -14,5 +14,5 @@
     MJStar(const char *name=NULL, const char *title=NULL);
 
-    Bool_t ProcessFile(Bool_t ismc=kFALSE);
+    Bool_t Process(Bool_t ismc=kFALSE);
 
     ClassDef(MJStar, 0) // Tool to create a pedestal file (MPedestalCam)
