Index: trunk/MagicSoft/Mars/ganymed.cc
===================================================================
--- trunk/MagicSoft/Mars/ganymed.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/ganymed.cc	(revision 6977)
@@ -66,5 +66,6 @@
     gLog << "   --outf=filename           Filename for output file (eg. status display)" << endl;
     gLog << "   --sum[=filename]          Enable writing of summary file (events after cut0)" << endl;
-    gLog << "   --res[=filename]          Enable writing of result file (surviving events)" << endl;
+//    gLog << "   --res[=filename]          Enable writing of result file (surviving events)" << endl;
+    gLog << "   --skip-res                Disable writing of result events" << endl;
     gLog << "   --write-only              Only write output files. No histograms filled." << endl;
     gLog << "   --print-ds                Print Dataset information" << endl;
@@ -130,6 +131,7 @@
     const Bool_t  kWriteSummary  = arg.HasOnlyAndRemove("--sum");
     const TString kNameSummary   = arg.GetStringAndRemove("--sum=");
-    const Bool_t  kWriteResult   = arg.HasOnlyAndRemove("--res");
-    const TString kNameResult    = arg.GetStringAndRemove("--res=");
+    const Bool_t  kSkipResult    = arg.HasOnlyAndRemove("--skip-res");
+//    const Bool_t  kWriteResult   = arg.HasOnlyAndRemove("--res");
+//    const TString kNameResult    = arg.GetStringAndRemove("--res=");
 
     if (kWobbleModeOn && kWobbleModeOff)
@@ -237,13 +239,14 @@
     job.SetNameOutFile(kOutfile);
     job.SetNameSummaryFile(kNameSummary);
-    job.SetNameResultFile(kNameResult);
+    //job.SetNameResultFile(kNameResult);
     job.EnableWriteOnly(kWriteOnly);
     job.EnableWobbleMode(iswobble);
     job.EnableFullDisplay(kFullDisplay);
     job.EnableMonteCarloMode(kIsMc);
+    job.EnableStorageOfResult(!kSkipResult);
     if (kWriteSummary) // Don't change flag set in SetNameSummaryFile
         job.EnableStorageOfSummary();
-    if (kWriteResult)  // Don't change flag set in SetNameSummaryFile
-        job.EnableStorageOfResult();
+    //if (kWriteResult)  // Don't change flag set in SetNameSummaryFile
+    //    job.EnableStorageOfResult();
 
     if (!job.ProcessFile(seq))
Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.cc	(revision 6977)
@@ -84,5 +84,6 @@
     fPointPos(0), fTimeEffOn(0), fTime(0),
     fSkipHistTime(kFALSE), fSkipHistTheta(kFALSE), fSkipHistEnergy(kFALSE),
-    fNumTimeBins(10), fMatrix(0)
+    fForceUsingSize(kFALSE), fNumTimeBins(10), fMatrix(0)
+
 {
     //
@@ -95,5 +96,5 @@
     fHAlpha.SetTitle("Alpha");
     fHAlpha.SetXTitle("\\Theta [deg]");
-    fHAlpha.SetYTitle("E_{est} [GeV]");
+    //fHAlpha.SetYTitle("E_{est} [GeV]");
     fHAlpha.SetZTitle("|\\alpha| [\\circ]");
     fHAlpha.SetDirectory(NULL);
@@ -108,5 +109,5 @@
 
 
-    //fHEnergy.SetName("Energy");
+    fHEnergy.SetName("Excess");
     //fHEnergy.SetTitle(" N_{exc} vs. E_{est} ");
     //fHEnergy.SetXTitle("E_{est} [GeV]");
@@ -256,24 +257,7 @@
 
     fHillas = 0;
-    /*
-    if (fSizeMin>=0 || fSizeMax>=0)
-    {
-        fHillas = (MHillas*)pl->FindObject("MHillas");
-        if (!fHillas)
-        {
-            *fLog << warn << "Size cut set, but MHillas not found... abort." << endl;
-            return kFALSE;
-        }
-    }
-    */
-    fEnergy = (MParameterD*)pl->FindObject("MEnergyEst", "MParameterD");
+    fEnergy = fForceUsingSize ? 0 : (MParameterD*)pl->FindObject("MEnergyEst", "MParameterD");
     if (!fEnergy)
-    { /*
-        if (fEnergyMin>=0 || fEnergyMax>=0)
-        {
-            *fLog << warn << "Energy cut set, but MEnergyEst not found... abort." << endl;
-            return kFALSE;
-        } */
-
+    {
         *fLog << warn << "MEnergyEst [MParameterD] not found... " << flush;
 
@@ -285,13 +269,13 @@
             *fLog << "ignored." << endl;
 
-        fHEnergy.SetName("ExcessSize");
         fHEnergy.SetTitle(" N_{exc} vs. Size ");
-        fHEnergy.SetXTitle("Size [\\gamma]");
+        fHEnergy.SetXTitle("Size [phe]");
+        fHAlpha.SetYTitle("Size [phe]");
     }
     else
     {
-        fHEnergy.SetName("ExcessEnergy");
         fHEnergy.SetTitle(" N_{exc} vs. E_{est} ");
         fHEnergy.SetXTitle("E_{est} [GeV]");
+        fHAlpha.SetYTitle("E_{est} [GeV]");
     }
 
@@ -325,5 +309,4 @@
     binse.SetEdges(fOffData ? *fOffData : fHAlpha, 'y');
     binsa.SetEdges(fOffData ? *fOffData : fHAlpha, 'z');
-
     if (!fOffData)
     {
@@ -336,7 +319,16 @@
             binse.SetEdges(1, 10, 100000);
         else
-            binse.SetEdges(*pl, "BinningEnergyEst");
+            if (fEnergy)
+                binse.SetEdges(*pl, "BinningEnergyEst");
+            else
+                binse.SetEdges(*pl, "BinningSize");
 
         binsa.SetEdges(*pl, "BinningAlpha");
+    }
+    else
+    {
+        fHEnergy.SetTitle(fOffData->GetTitle());
+        fHEnergy.SetXTitle(fOffData->GetYaxis()->GetTitle());
+        fHAlpha.SetYTitle(fOffData->GetYaxis()->GetTitle());
     }
 
@@ -946,4 +938,9 @@
         rc = kTRUE;
     }
+    if (IsEnvDefined(env, prefix, "ForceUsingSize", print))
+    {
+        fForceUsingSize = GetEnvValue(env, prefix, "ForceUsingSize", fForceUsingSize);
+        rc = kTRUE;
+    }
     return rc;
 }
Index: trunk/MagicSoft/Mars/mhflux/MHAlpha.h
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhflux/MHAlpha.h	(revision 6977)
@@ -106,4 +106,5 @@
     Bool_t fSkipHistTheta;
     Bool_t fSkipHistEnergy;
+    Bool_t fForceUsingSize;
 
     UShort_t fNumTimeBins;      // Number of time bins to fill together
@@ -141,5 +142,7 @@
     void SetOffData(const MHAlpha &h)
     {
-        fOffData = &h.fHAlpha;
+        fOffData        = &h.fHAlpha;
+        fForceUsingSize =  h.fForceUsingSize;
+        fNumTimeBins    =  h.fNumTimeBins;
     }
     void SetNumTimeBins(UShort_t n) { fNumTimeBins = n; }
@@ -161,4 +164,5 @@
     void SkipHistTheta(Bool_t b=kTRUE)  { fSkipHistTheta=b; }
     void SkipHistEnergy(Bool_t b=kTRUE) { fSkipHistEnergy=b; }
+    void ForceUsingSize(Bool_t b=kTRUE) { fForceUsingSize=b; }
 
     void DrawAll(); //*MENU*
Index: trunk/MagicSoft/Mars/mhist/MHCamEvent.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamEvent.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHCamEvent.cc	(revision 6977)
@@ -210,5 +210,5 @@
 // Return fSum for "sum" and fRms for "rms"
 //
-TH1 *MHCamEvent::GetHistByName(const TString name)
+TH1 *MHCamEvent::GetHistByName(const TString name) const
 {
     return fSum;
Index: trunk/MagicSoft/Mars/mhist/MHCamEvent.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamEvent.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHCamEvent.h	(revision 6977)
@@ -43,5 +43,5 @@
     void SetType(Int_t type) { fType = type; }
 
-    TH1 *GetHistByName(const TString name="");
+    TH1 *GetHistByName(const TString name="") const;
 
     void Paint(Option_t *o="");
Index: trunk/MagicSoft/Mars/mhist/MHCamEventRot.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamEventRot.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHCamEventRot.h	(revision 6977)
@@ -51,5 +51,5 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name) { return &fHist; }
+    TH1 *GetHistByName(const TString name) const { return const_cast<TH2D*>(&fHist); }
 
     void SetNameTime(const char *name) { fNameTime=name; }
Index: trunk/MagicSoft/Mars/mhist/MHEvent.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHEvent.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHEvent.h	(revision 6977)
@@ -43,5 +43,5 @@
     EventType_t fType;
 
-    TH1 *GetHistByName(const TString name) { return (TH1*)fHist; }
+    TH1 *GetHistByName(const TString name) const { return (TH1*)fHist; }
 
     Bool_t SetupFill(const MParList *plist);
Index: trunk/MagicSoft/Mars/mhist/MHStarMap.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHStarMap.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHStarMap.h	(revision 6977)
@@ -45,5 +45,5 @@
     void SetMm2Deg(Float_t mmdeg);
 
-    TH1 *GetHistByName(const TString name) { return (TH1*)fStarMap; }
+    TH1 *GetHistByName(const TString name) const { return (TH1*)fStarMap; }
 
     TH2F *GetHist() { return fStarMap; }
Index: trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.cc	(revision 6977)
@@ -167,5 +167,5 @@
 }
 
-TH1 *MHTriggerLvl0::GetHistByName(const TString name)
+TH1 *MHTriggerLvl0::GetHistByName(const TString name) const
 {
     return fSum;
Index: trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhist/MHTriggerLvl0.h	(revision 6977)
@@ -32,5 +32,5 @@
     void SetThreshold(Double_t t) { fThreshold = t; }
 
-    TH1 *GetHistByName(const TString name="");
+    TH1 *GetHistByName(const TString name="") const;
 
     void Draw(Option_t * ="");
Index: trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.cc
===================================================================
--- trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.cc	(revision 6977)
@@ -360,5 +360,5 @@
 //  so remember to cast the returned object if you want to work with it.
 //
-TH1 *MHMcTriggerLvl2::GetHistByName(const TString name)
+TH1 *MHMcTriggerLvl2::GetHistByName(const TString name) const
 {
   
Index: trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.h
===================================================================
--- trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhistmc/MHMcTriggerLvl2.h	(revision 6977)
@@ -48,5 +48,5 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
 
     TH1F *GetHistLutPseudoSize() const { return fHistLutPseudoSize; }
Index: trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.cc
===================================================================
--- trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.cc	(revision 6977)
@@ -206,5 +206,5 @@
 // Return histogram of TGraph
 //
-TH1 *MHPixVsTime::GetHistByName(const TString name)
+TH1 *MHPixVsTime::GetHistByName(const TString name) const
 {
     return fGraph->GetHistogram();
Index: trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.h
===================================================================
--- trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhvstime/MHPixVsTime.h	(revision 6977)
@@ -52,5 +52,5 @@
     void SetTitle(const char *title);
 
-    TH1 *GetHistByName(const TString name="");
+    TH1 *GetHistByName(const TString name="") const;
     TGraph *GetGraph() { return fGraph; }
 
Index: trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.cc
===================================================================
--- trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.cc	(revision 6977)
@@ -231,5 +231,5 @@
 // Return fHistogram from TGraph
 //
-TH1 *MHSectorVsTime::GetHistByName(const TString name)
+TH1 *MHSectorVsTime::GetHistByName(const TString name) const
 {
     return fGraph->GetHistogram();
Index: trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.h
===================================================================
--- trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mhvstime/MHSectorVsTime.h	(revision 6977)
@@ -64,5 +64,5 @@
     void SetAreaIndex(const TArrayI &a)  { fAreaIndex=a; }
 
-    TH1 *GetHistByName(const TString name="");
+    TH1 *GetHistByName(const TString name="") const;
     //TGraph *GetGraph() { return fGraph; }
 
Index: trunk/MagicSoft/Mars/mimage/MHHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 6977)
@@ -386,5 +386,5 @@
 }
 
-TH1 *MHHillas::GetHistByName(const TString name)
+TH1 *MHHillas::GetHistByName(const TString name) const
 {
     if (name.Contains("Width", TString::kIgnoreCase))
Index: trunk/MagicSoft/Mars/mimage/MHHillas.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.h	(revision 6977)
@@ -43,5 +43,10 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
+    TObject *FindObject(const TObject *obj) const { return 0; }
+    TObject *FindObject(const char *name) const
+    {
+        return (TObject*)GetHistByName(name);
+    }
 
     TH1F *GetHistLength() { return fLength; }
Index: trunk/MagicSoft/Mars/mimage/MHHillasExt.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 6977)
@@ -294,14 +294,14 @@
 }
 
-TH1 *MHHillasExt::GetHistByName(const TString name)
+TH1 *MHHillasExt::GetHistByName(const TString name) const
 {
     if (name.Contains("Asym", TString::kIgnoreCase))
-        return &fHAsym;
-    if (name.Contains("M3Long", TString::kIgnoreCase))
-        return &fHM3Long;
-    if (name.Contains("M3Trans", TString::kIgnoreCase))
-        return &fHM3Trans;
+        return const_cast<TH1F*>(&fHAsym);
+    if (name.Contains("M3L", TString::kIgnoreCase))
+        return const_cast<TH1F*>(&fHM3Long);
+    if (name.Contains("M3T", TString::kIgnoreCase))
+        return const_cast<TH1F*>(&fHM3Trans);
     if (name.Contains("MaxDist", TString::kIgnoreCase))
-        return &fHMaxDist;
+        return const_cast<TH1F*>(&fHMaxDist);
 
     return NULL;
Index: trunk/MagicSoft/Mars/mimage/MHHillasExt.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillasExt.h	(revision 6977)
@@ -37,5 +37,10 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
+    TObject *FindObject(const TObject *obj) const { return 0; }
+    TObject *FindObject(const char *name) const
+    {
+        return (TObject*)GetHistByName(name);
+    }
 
     void Draw(Option_t *opt=NULL);
Index: trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 6977)
@@ -293,5 +293,5 @@
 }
 
-TH1 *MHHillasSrc::GetHistByName(const TString name)
+TH1 *MHHillasSrc::GetHistByName(const TString name) const
 {
     if (name.Contains("Alpha", TString::kIgnoreCase))
Index: trunk/MagicSoft/Mars/mimage/MHHillasSrc.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasSrc.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHHillasSrc.h	(revision 6977)
@@ -32,5 +32,10 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
+    TObject *FindObject(const TObject *obj) const { return 0; }
+    TObject *FindObject(const char *name) const
+    {
+        return (TObject*)GetHistByName(name);
+    }
 
     TH1F *GetHistAlpha()         { return fAlpha; }
Index: trunk/MagicSoft/Mars/mimage/MHImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 6977)
@@ -297,12 +297,12 @@
 }
 
-TH1 *MHImagePar::GetHistByName(const TString name)
+TH1 *MHImagePar::GetHistByName(const TString name) const
 {
     if (name.Contains("SatHi", TString::kIgnoreCase))
-        return &fHistSatHi;
+        return const_cast<TH1F*>(&fHistSatHi);
     if (name.Contains("SatLo", TString::kIgnoreCase))
-        return &fHistSatLo;
+        return const_cast<TH1F*>(&fHistSatLo);
     if (name.Contains("Islands", TString::kIgnoreCase))
-        return &fHistIslands;
+        return const_cast<TH1F*>(&fHistIslands);
 
     return NULL;
Index: trunk/MagicSoft/Mars/mimage/MHImagePar.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHImagePar.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHImagePar.h	(revision 6977)
@@ -33,5 +33,10 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
+    TObject *FindObject(const TObject *obj) const { return 0; }
+    TObject *FindObject(const char *name) const
+    {
+        return (TObject*)GetHistByName(name);
+    }
 
     TH1F &GetHistSatHi()   { return fHistSatHi; }
Index: trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 6977)
@@ -367,22 +367,22 @@
 }
 
-TH1 *MHNewImagePar::GetHistByName(const TString name)
+TH1 *MHNewImagePar::GetHistByName(const TString name) const
 {
     if (name.Contains("Leakage1", TString::kIgnoreCase))
-        return &fHistLeakage1;
+        return const_cast<TH1F*>(&fHistLeakage1);
     if (name.Contains("Leakage2", TString::kIgnoreCase))
-        return &fHistLeakage2;
+        return const_cast<TH1F*>(&fHistLeakage2);
+    if (name.Contains("Conc1", TString::kIgnoreCase)) // must be first!
+        return const_cast<TH1F*>(&fHistConc1);
     if (name.Contains("Conc", TString::kIgnoreCase))
-        return &fHistConc;
-    if (name.Contains("Conc1", TString::kIgnoreCase))
-        return &fHistConc1;
+        return const_cast<TH1F*>(&fHistConc);
     if (name.Contains("UsedPix", TString::kIgnoreCase))
-        return &fHistUsedPix;
+        return const_cast<TH1F*>(&fHistUsedPix);
     if (name.Contains("CorePix", TString::kIgnoreCase))
-        return &fHistCorePix;
+        return const_cast<TH1F*>(&fHistCorePix);
     if (name.Contains("UsedArea", TString::kIgnoreCase))
-        return &fHistUsedArea;
+        return const_cast<TH1F*>(&fHistUsedArea);
     if (name.Contains("CoreArea", TString::kIgnoreCase))
-        return &fHistCoreArea;
+        return const_cast<TH1F*>(&fHistCoreArea);
 
     return NULL;
Index: trunk/MagicSoft/Mars/mimage/MHNewImagePar.h
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHNewImagePar.h	(revision 6976)
+++ trunk/MagicSoft/Mars/mimage/MHNewImagePar.h	(revision 6977)
@@ -35,5 +35,10 @@
     Bool_t Fill(const MParContainer *par, const Stat_t w=1);
 
-    TH1 *GetHistByName(const TString name);
+    TH1 *GetHistByName(const TString name) const;
+    TObject *FindObject(const TObject *obj) const { return 0; }
+    TObject *FindObject(const char *name) const
+    {
+        return (TObject*)GetHistByName(name);
+    }
 
     TH1F &GetHistLeakage1()  { return fHistLeakage1; }
Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6977)
@@ -652,14 +652,14 @@
     evt8.EnableSqrtVariance();
   */
-    MFillH fill0(&evt0, "MPedestalFundamental",    "FillPedFLG");
+    MFillH fill0(&evt0, "MPedestalFundamental",       "FillPedFLG");
     MFillH fill1(&evt1, "MPedestalFromExtractorRndm", "FillPedRmsFLG");
-    MFillH fill2(&evt2, "MExtractedSignalCam",     "FillExtracted");
+    MFillH fill2(&evt2, "MExtractedSignalCam",        "FillExtracted");
     // MFillH fill3(&evt3, "MPedPhotFundamental",  "FillPedPhot");
-    MFillH fill4(&evt4, "MPedPhotFromExtractorRndm", "FillPedRMS");
-    MFillH fill5(&evt5, "MSignalCam",              "FillInterpolated");
-    MFillH fill6(&evt6, "MBadPixelsCam",           "FillUnsuitable");
-    MFillH fill7(&evt7, "MSignalCam",              "FillTimes");
-    MFillH fill8(&evt8, "MCalibConstCam",          "FillConv");
-    MFillH fill9(&evt9, "MSignalCam",              "FillPulse");
+    MFillH fill4(&evt4, "MPedPhotFromExtractorRndm",  "FillPedRMS");
+    MFillH fill5(&evt5, "MSignalCam",                 "FillInterpolated");
+    MFillH fill6(&evt6, "MBadPixelsCam",              "FillUnsuitable");
+    MFillH fill7(&evt7, "MSignalCam",                 "FillTimes");
+    MFillH fill8(&evt8, "MCalibConstCam",             "FillConv");
+    MFillH fill9(&evt9, "MSignalCam",                 "FillPulse");
 
     MTaskEnv fillflorian("FinalFantasy");
Index: trunk/MagicSoft/Mars/sponde.cc
===================================================================
--- trunk/MagicSoft/Mars/sponde.cc	(revision 6976)
+++ trunk/MagicSoft/Mars/sponde.cc	(revision 6977)
@@ -52,5 +52,8 @@
     gLog << " Operation Mode:" << endl;
     gLog << "   --refill                  Refill the excess histogram from result file" << endl;
-    gLog << "                             (usefull to change the binning)" << endl << endl;
+    gLog << "                             (usefull to change the binning)" << endl;
+    gLog << "   --accurate                Fill original energy/theta distribution from data" << endl;
+    gLog << "                             (do not weight the histogram)" << endl;
+    gLog << "   --raw-mc                  Use the mc sample as it is" << endl << endl;
     gLog << " Options:" << endl;
     gLog.Usage();
@@ -104,17 +107,19 @@
     gLog.Setup(arg);
 
-    const TString kConfig       = arg.GetStringAndRemove("--config=", "sponde.rc");
-
-    const Bool_t  kPrintSeq     = arg.HasOnlyAndRemove("--print-ds");
-    const Bool_t  kPrintFiles   = arg.HasOnlyAndRemove("--print-files");
-    const Bool_t  kDebugMem     = arg.HasOnlyAndRemove("--debug-mem");
+    const TString kConfig       =  arg.GetStringAndRemove("--config=", "sponde.rc");
+
+    const Bool_t  kPrintSeq     =  arg.HasOnlyAndRemove("--print-ds");
+    const Bool_t  kPrintFiles   =  arg.HasOnlyAndRemove("--print-files");
+    const Bool_t  kDebugMem     =  arg.HasOnlyAndRemove("--debug-mem");
     Int_t  kDebugEnv = arg.HasOnlyAndRemove("--debug-env") ? 1 : 0;
     kDebugEnv = arg.GetIntAndRemove("--debug-env=", kDebugEnv);
 
-    const Bool_t  kQuit          = arg.HasOnlyAndRemove("-q");
-    const Bool_t  kBatch         = arg.HasOnlyAndRemove("-b");
-    const Bool_t  kOverwrite     = arg.HasOnlyAndRemove("-f");
-
-    const Bool_t  kRefill        = arg.HasOnlyAndRemove("--refill");
+    const Bool_t  kQuit          =  arg.HasOnlyAndRemove("-q");
+    const Bool_t  kBatch         =  arg.HasOnlyAndRemove("-b");
+    const Bool_t  kOverwrite     =  arg.HasOnlyAndRemove("-f");
+
+    const Bool_t  kRefill        =  arg.HasOnlyAndRemove("--refill");
+    const Bool_t  kSimple        = !arg.HasOnlyAndRemove("--accurate");
+    const Bool_t  kRawMc         =  arg.HasOnlyAndRemove("--raw-mc");
 
     if (arg.GetNumOptions()>0)
@@ -207,5 +212,8 @@
     job.SetPathOut(kOutfile);
     job.SetPathIn(kInfile);
+
     job.EnableRefilling(kRefill);
+    job.EnableSimpleMode(kSimple);
+    job.EnableRawMc(kRawMc);
 
     if (!job.Process(seq))
Index: trunk/MagicSoft/Mars/sponde.rc
===================================================================
--- trunk/MagicSoft/Mars/sponde.rc	(revision 6977)
+++ trunk/MagicSoft/Mars/sponde.rc	(revision 6977)
@@ -0,0 +1,1 @@
+EstimateEnergy.Rule: (0.380075+(MPointingPos.fZd*MPointingPos.fZd*0.00109028))*pow(MHillas.fSize,0.892462)
