Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 5956)
+++ trunk/MagicSoft/Mars/Changelog	(revision 5957)
@@ -66,9 +66,9 @@
  2005/01/24 Markus Gaug
 
-  * msignal/MExtractTimeAndCharge.cc
-    - call Clear() for two results containers at beginning of Process()
-
-  * msignal/MExtractedSignalPix.cc
-    - change sign of default initializer to negative.
+   * msignal/MExtractTimeAndCharge.cc
+     - call Clear() for two results containers at beginning of Process()
+
+   * msignal/MExtractedSignalPix.cc
+     - change sign of default initializer to negative.
 
 
@@ -76,19 +76,19 @@
  2005/01/23 Markus Gaug
   
-  * mhcalib/MHCalibrationHiLoCam.[h,cc]
-    - updated to new logain switch setting in MExtractTimeAndCharge
-    - extract also high-gain vs. low-gain time difference
-
-  * mhcalib/MHCalibrationCam.[h,cc]
-  * mhcalib/MHCalibrationChargeCam.[h,cc]
-    - updated reading of conf. values in ReadEnv
-
-  * mhcalib/MCalibrationHiLoCam.[h,cc]
-  * mhcalib/MCalibrationHiLoPix.[h,cc]
-  * mhcalib/MCalibrationIntensityHiLoCam.[h,cc]
-    - updated accordingly
-
-  * mbadpixels/MBadPixelsCam.cc
-    - removed some bugs in the Print() function
+   * mhcalib/MHCalibrationHiLoCam.[h,cc]
+     - updated to new logain switch setting in MExtractTimeAndCharge
+     - extract also high-gain vs. low-gain time difference
+
+   * mhcalib/MHCalibrationCam.[h,cc]
+   * mhcalib/MHCalibrationChargeCam.[h,cc]
+     - updated reading of conf. values in ReadEnv
+
+   * mhcalib/MCalibrationHiLoCam.[h,cc]
+   * mhcalib/MCalibrationHiLoPix.[h,cc]
+   * mhcalib/MCalibrationIntensityHiLoCam.[h,cc]
+     - updated accordingly
+
+   * mbadpixels/MBadPixelsCam.cc
+     - removed some bugs in the Print() function
 
 
Index: trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc	(revision 5956)
+++ trunk/MagicSoft/Mars/mhflux/MHFalseSource.cc	(revision 5957)
@@ -220,31 +220,4 @@
 // --------------------------------------------------------------------------
 //
-// Calculate Significance as
-// significance = (s-b)/sqrt(s+k*k*b) mit k=s/b
-//
-// s: total number of events in signal region
-// b: number of background events in signal region
-// 
-Double_t MHFalseSource::Significance(Double_t s, Double_t b)
-{
-    return MMath::SignificanceSym(s, b);
-}
-
-// --------------------------------------------------------------------------
-//
-//  calculates the significance according to Li & Ma
-//  ApJ 272 (1983) 317, Formula 17
-//
-//  s                    // s: number of on events
-//  b                    // b: number of off events
-//  alpha = t_on/t_off;  // t: observation time
-//
-Double_t MHFalseSource::SignificanceLiMa(Double_t s, Double_t b, Double_t alpha)
-{
-    return MMath::SignificanceLiMaSigned(s, b);
-}
-
-// --------------------------------------------------------------------------
-//
 // Set binnings (takes BinningFalseSource) and prepare filling of the
 // histogram.
@@ -599,5 +572,5 @@
                 const Double_t b = h2->GetBinContent(n);
 
-                const Double_t sig = SignificanceLiMa(s, b);
+                const Double_t sig = MMath::SignificanceLiMaSigned(s, b);
 
                 h4->SetBinContent(n, sig);
@@ -825,4 +798,41 @@
     gPad->Modified();
     gPad->cd();
+}
+
+// --------------------------------------------------------------------------
+//
+// The following resources are available:
+//
+//    MHFalseSource.DistMin: 0.5
+//    MHFalseSource.DistMax: 1.4
+//    MHFalseSource.DWMin:   0.1
+//    MHFalseSource.DWMax:   0.3
+//
+Int_t MHFalseSource::ReadEnv(const TEnv &env, TString prefix, Bool_t print)
+{
+    Bool_t rc = kFALSE;
+    if (IsEnvDefined(env, prefix, "DistMin", print))
+    {
+        rc = kTRUE;
+        SetMinDist(GetEnvValue(env, prefix, "DistMin", fMinDist));
+    }
+    if (IsEnvDefined(env, prefix, "DistMax", print))
+    {
+        rc = kTRUE;
+        SetMaxDist(GetEnvValue(env, prefix, "DistMax", fMaxDist));
+    }
+
+    if (IsEnvDefined(env, prefix, "DWMin", print))
+    {
+        rc = kTRUE;
+        SetMinDW(GetEnvValue(env, prefix, "DWMin", fMinDist));
+    }
+    if (IsEnvDefined(env, prefix, "DWMax", print))
+    {
+        rc = kTRUE;
+        SetMaxDW(GetEnvValue(env, prefix, "DWMax", fMaxDist));
+    }
+
+    return rc;
 }
 
@@ -965,4 +975,6 @@
                 continue;
 
+            // This is a quick hack to correct for the lower acceptance at
+            // the edge of the camera
             h->Scale(entries/h->GetEntries());
 
@@ -970,4 +982,6 @@
             {
                 hoff = fHistOff->ProjectionZ("AlphaFitOff", ix, ix, iy, iy);
+                // This is a quick hack to correct for the lower acceptance at
+                // the edge of the camera
                 hoff->Scale(entries/h->GetEntries());
                 scale = fit.Scale(*hoff, *h);
@@ -982,8 +996,8 @@
  
             // Fill results into some histograms
-            h0a.Fill(fit.GetGausA()); // gaus-A
+            h0a.Fill(fit.GetGausA());        // gaus-A
             h0b.Fill(fit.GetCoefficient(3)); // 3
-            h1.Fill(fit.GetGausMu());  // mu
-            h2.Fill(fit.GetGausSigma());  // sigma-gaus
+            h1.Fill(fit.GetGausMu());        // mu
+            h2.Fill(fit.GetGausSigma());     // sigma-gaus
             if (polynom>1 && !fHistOff)
                 h3.Fill(fit.GetCoefficient(5));
@@ -1193,5 +1207,5 @@
             const Double_t b = f2.Integral(0, (float)i)/w;
 
-            const Double_t sig = SignificanceLiMa(s, b);
+            const Double_t sig = MMath::SignificanceLiMaSigned(s, b);
 
             g->SetPoint(g->GetN(), i, sig);
Index: trunk/MagicSoft/Mars/mhflux/MHFalseSource.h
===================================================================
--- trunk/MagicSoft/Mars/mhflux/MHFalseSource.h	(revision 5956)
+++ trunk/MagicSoft/Mars/mhflux/MHFalseSource.h	(revision 5957)
@@ -59,7 +59,4 @@
     MHFalseSource(const char *name=NULL, const char *title=NULL);
 
-    Bool_t SetupFill(const MParList *pList);
-    Bool_t Fill(const MParContainer *par, const Stat_t w=1);
-
     TH1 *GetHistByName(const TString name) { return &fHist; }
 
@@ -90,9 +87,14 @@
     }
 
+    // MParContainer
+    Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
+
+    // MH
+    Bool_t SetupFill(const MParList *pList);
+    Bool_t Fill(const MParContainer *par, const Stat_t w=1);
+
+    // TObject
     void Paint(Option_t *opt="");
     void Draw(Option_t *option="");
-
-    static Double_t Significance(Double_t s, Double_t b);
-    static Double_t SignificanceLiMa(Double_t s, Double_t b, Double_t alpha=1);
 
     ClassDef(MHFalseSource, 1) //3D-histogram in alpha, x and y
Index: trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 5956)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 5957)
@@ -113,4 +113,9 @@
 
     TFile file(oname, "RECREATE");
+    if (!file.IsOpen())
+    {
+        *fLog << err << "ERROR - Couldn't open file " << oname << " for writing..." << endl;
+        return kFALSE;
+    }
 
     *fLog << inf << " - MStatusDisplay..." << flush;
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5956)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 5957)
@@ -1563,5 +1563,5 @@
     // Input containers
     //
-    pedcam.SetName("MPedestalCam");
+    pedcam.SetName("MPedestalCam"); // MPedestalFundamental
     plist.AddToList(&pedcam);
     plist.AddToList(&fBadPixels);
@@ -1962,5 +1962,8 @@
 {
     if (fPathOut.IsNull())
+    {
+        *fLog << inf << "No output path specified via SetPathOut - no output written." << endl;
         return kTRUE;
+    }
 
     const TString oname(GetOutputFile());
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 5956)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 5957)
@@ -752,5 +752,8 @@
 
     if (fPathOut.IsNull())
+    {
+        *fLog << inf << "No output path specified via SetPathOut - no output written." << endl;
         return kTRUE;
+    }
 
     const TString oname(GetOutputFile());
Index: trunk/MagicSoft/Mars/mjobs/MJob.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJob.h	(revision 5956)
+++ trunk/MagicSoft/Mars/mjobs/MJob.h	(revision 5957)
@@ -49,4 +49,5 @@
     ~MJob();
 
+    // Setter
     void   SetPathOut(const char *path=".");
     void   SetPathIn(const char *path=".");
@@ -60,4 +61,10 @@
     void   SetSequence(const MSequence &seq) { fSequence = seq; }
 
+    // Getter
+    TString GetPathOut() const  { return fPathOut; }
+    TString GetPathIn() const   { return fPathIn; }
+    TString GetPathData() const { return fPathData; }
+
+    // Others
     MStatusDisplay *GetDisplay() { return fDisplay; }
 
