Index: trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 6062)
+++ trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeCam.cc	(revision 6063)
@@ -173,5 +173,5 @@
 const Float_t MHCalibrationChargeCam::fgNumLoGainSaturationLimit = 0.005;
 const Float_t MHCalibrationChargeCam::fgTimeLowerLimit           = 1.;
-const Float_t MHCalibrationChargeCam::fgTimeUpperLimit           = 2.;
+const Float_t MHCalibrationChargeCam::fgTimeUpperLimit           = 3.;
 // 1Led Green, 1 LED blue, 5 LEDs blue, 10 LEDs blue, 10 LEDs UV, CT1, 5Leds Green
 const Float_t MHCalibrationChargeCam::gkHiGainInnerRefLines[7]   = { 245., 323. , 1065., 1467., 180., 211. , 533.5};   
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6062)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.cc	(revision 6063)
@@ -44,4 +44,5 @@
 #include <TLegend.h>
 #include <TPad.h>
+#include <TEnv.h>
 
 // mars core
@@ -87,19 +88,5 @@
 using namespace std;
 
-const Double_t MJPedestal::fgPedestalMin = 4.;
-const Double_t MJPedestal::fgPedestalMax = 16.;
-const Double_t MJPedestal::fgPedRmsMin   = 0.;
-const Double_t MJPedestal::fgPedRmsMax   = 20.;
-
-const Float_t  MJPedestal::fgRefPedClosedLids       = 9.635;
-const Float_t  MJPedestal::fgRefPedExtraGalactic    = 9.93;
-const Float_t  MJPedestal::fgRefPedGalactic         = 10.03;
-const Float_t  MJPedestal::fgRefPedRmsClosedLidsInner    = 1.7;
-const Float_t  MJPedestal::fgRefPedRmsExtraGalacticInner = 5.6;
-const Float_t  MJPedestal::fgRefPedRmsGalacticInner      = 6.92;
-const Float_t  MJPedestal::fgRefPedRmsClosedLidsOuter    = 1.7;
-const Float_t  MJPedestal::fgRefPedRmsExtraGalacticOuter = 3.35;
-const Float_t  MJPedestal::fgRefPedRmsGalacticOuter      = 4.2;
-
+const TString  MJPedestal::fgReferenceFile = "mjobs/pedestalref.rc";
 // --------------------------------------------------------------------------
 //
@@ -115,5 +102,5 @@
 //
 MJPedestal::MJPedestal(const char *name, const char *title) 
-    : fRuns(0), fExtractor(NULL), fDisplayType(kDisplayNormal),
+    : fRuns(0), fExtractor(NULL), fDisplayType(kDisplayDataCheck),
       fDataCheck(kFALSE), fExtractType(kUsePedRun), fExtractionType(kFundamental)
 {
@@ -124,4 +111,24 @@
     SetUsePedRun();
     SetPathIn("");
+    SetReferenceFile();
+
+    //
+    // Default references for case that no value references file is there
+    // (should not occur)
+    //
+
+    fPedestalMin                 = 4.;
+    fPedestalMax                 = 16.;
+    fPedRmsMin                   = 0.;
+    fPedRmsMax                   = 20.;
+    fRefPedClosedLids            = 9.635;
+    fRefPedExtraGalactic         = 9.93;
+    fRefPedGalactic              = 10.03;
+    fRefPedRmsClosedLidsInner    = 1.7;
+    fRefPedRmsExtraGalacticInner = 5.6;
+    fRefPedRmsGalacticInner      = 6.92;
+    fRefPedRmsClosedLidsOuter    = 1.7;
+    fRefPedRmsExtraGalacticOuter = 3.35;
+    fRefPedRmsGalacticOuter      = 4.2;
 }
 
@@ -395,6 +402,6 @@
         if (fExtractionType==kFundamental/*!fExtractorResolution*/)
           {
-            obj1->SetMinimum(fgPedestalMin);
-            obj1->SetMaximum(fgPedestalMax);
+            obj1->SetMinimum(fPedestalMin);
+            obj1->SetMaximum(fPedestalMax);
             //
             // Set the datacheck sizes:
@@ -436,6 +443,6 @@
         // for the datacheck, fix the ranges!!
         //
-        obj3->SetMinimum(fgPedRmsMin);
-        obj3->SetMaximum(fgPedRmsMax);
+        obj3->SetMinimum(fPedRmsMin);
+        obj3->SetMaximum(fPedRmsMax);
         //
         // Set the datacheck sizes:
@@ -571,14 +578,14 @@
   
   line.SetLineColor(kBlue);
-  TLine *l1 = line.DrawLine(0, what ? fgRefPedRmsGalacticInner : fgRefPedGalactic,
-                            x, what ? fgRefPedRmsGalacticInner : fgRefPedGalactic);
+  TLine *l1 = line.DrawLine(0, what ? fRefPedRmsGalacticInner : fRefPedGalactic,
+                            x, what ? fRefPedRmsGalacticInner : fRefPedGalactic);
   
   line.SetLineColor(kYellow);
-  TLine *l2 = line.DrawLine(0, what ? fgRefPedRmsExtraGalacticInner : fgRefPedExtraGalactic,
-                            x, what ? fgRefPedRmsExtraGalacticInner : fgRefPedExtraGalactic);
+  TLine *l2 = line.DrawLine(0, what ? fRefPedRmsExtraGalacticInner : fRefPedExtraGalactic,
+                            x, what ? fRefPedRmsExtraGalacticInner : fRefPedExtraGalactic);
   
   line.SetLineColor(kMagenta);
-  TLine *l3 = line.DrawLine(0, what ? fgRefPedRmsClosedLidsInner : fgRefPedClosedLids,
-                            x, what ? fgRefPedRmsClosedLidsInner : fgRefPedClosedLids);
+  TLine *l3 = line.DrawLine(0, what ? fRefPedRmsClosedLidsInner : fRefPedClosedLids,
+                            x, what ? fRefPedRmsClosedLidsInner : fRefPedClosedLids);
   
   if (geom->InheritsFrom("MGeomCamMagic"))
@@ -588,14 +595,14 @@
 
         line.SetLineColor(kBlue);
-        line.DrawLine(398, fgRefPedRmsGalacticOuter,
-                      x2,  fgRefPedRmsGalacticOuter);
+        line.DrawLine(398, fRefPedRmsGalacticOuter,
+                      x2,  fRefPedRmsGalacticOuter);
         
         line.SetLineColor(kYellow);
-        line.DrawLine(398, fgRefPedRmsExtraGalacticOuter,
-                      x2,  fgRefPedRmsExtraGalacticOuter);
+        line.DrawLine(398, fRefPedRmsExtraGalacticOuter,
+                      x2,  fRefPedRmsExtraGalacticOuter);
         
         line.SetLineColor(kMagenta);
-        line.DrawLine(398, fgRefPedRmsClosedLidsOuter,
-                      x2,  fgRefPedRmsClosedLidsOuter);
+        line.DrawLine(398, fRefPedRmsClosedLidsOuter,
+                      x2,  fRefPedRmsClosedLidsOuter);
       }
   
@@ -743,4 +750,22 @@
 
     SetExtractor((MExtractor*)tenv.GetTask());
+
+    fReferenceFile = GetEnv("ReferenceFile",fReferenceFile.Data());
+
+    TEnv refenv(fReferenceFile);
+    
+    fPedestalMin                 = refenv.GetValue("PedestalMin",fPedestalMin);                 
+    fPedestalMax                 = refenv.GetValue("PedestalMax",fPedestalMax);                 
+    fPedRmsMin                   = refenv.GetValue("PedRmsMin",fPedRmsMin);                   
+    fPedRmsMax                   = refenv.GetValue("PedRmsMax",fPedRmsMax);                   
+    fRefPedClosedLids            = refenv.GetValue("RefPedClosedLids",fRefPedClosedLids);            
+    fRefPedExtraGalactic         = refenv.GetValue("RefPedExtraGalactic",fRefPedExtraGalactic);         
+    fRefPedGalactic              = refenv.GetValue("RefPedGalactic",fRefPedGalactic);              
+    fRefPedRmsClosedLidsInner    = refenv.GetValue("RefPedRmsClosedLidsInner",fRefPedRmsClosedLidsInner);    
+    fRefPedRmsExtraGalacticInner = refenv.GetValue("RefPedRmsExtraGalacticInner",fRefPedRmsExtraGalacticInner); 
+    fRefPedRmsGalacticInner      = refenv.GetValue("RefPedRmsGalacticInner",fRefPedRmsGalacticInner);      
+    fRefPedRmsClosedLidsOuter    = refenv.GetValue("RefPedRmsClosedLidsOuter",fRefPedRmsClosedLidsOuter);    
+    fRefPedRmsExtraGalacticOuter = refenv.GetValue("RefPedRmsExtraGalacticOuter",fRefPedRmsExtraGalacticOuter); 
+    fRefPedRmsGalacticOuter      = refenv.GetValue("RefPedRmsGalacticOuter",fRefPedRmsGalacticOuter);      
 
     return kTRUE;
Index: trunk/MagicSoft/Mars/mjobs/MJPedestal.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 6062)
+++ trunk/MagicSoft/Mars/mjobs/MJPedestal.h	(revision 6063)
@@ -24,41 +24,46 @@
 {
 private:
-    static const Double_t fgPedestalMin;                 //! Minimum Axis value for pedestal datacheck display
-    static const Double_t fgPedestalMax;                 //! Maximum Axis value for pedestal datacheck display
-    static const Double_t fgPedRmsMin;                   //! Minimum Axis value for ped. RMS datacheck display
-    static const Double_t fgPedRmsMax;                   //! Maximum Axis value for ped. RMS datacheck display
 
-    static const Float_t  fgRefPedClosedLids;            //! Reference line pedestal for closed lids run
-    static const Float_t  fgRefPedExtraGalactic;         //! Reference line pedestal for extragalactic source
-    static const Float_t  fgRefPedGalactic;              //! Reference line pedestal for galactic source
+    static const TString  fgReferenceFile;   //! default for fReferenceFile ("PedestalRef.rc")
 
-    static const Float_t  fgRefPedRmsClosedLidsInner;    //! Ref. line ped. RMS for closed lids run - inner pixels
-    static const Float_t  fgRefPedRmsExtraGalacticInner; //! Ref. line ped. RMS for extragalactic source - inner pixels
-    static const Float_t  fgRefPedRmsGalacticInner;      //! Ref. line ped. RMS for galactic source - inner pixels
+    Axis_t fPedestalMin;                     //! Minimum Axis value for pedestal datacheck display
+    Axis_t fPedestalMax;                     //! Maximum Axis value for pedestal datacheck display
+    Axis_t fPedRmsMin;                       //! Minimum Axis value for ped. RMS datacheck display
+    Axis_t fPedRmsMax;                       //! Maximum Axis value for ped. RMS datacheck display
+				             
+    Float_t fRefPedClosedLids;               //! Reference line pedestal for closed lids run
+    Float_t fRefPedExtraGalactic;            //! Reference line pedestal for extragalactic source
+    Float_t fRefPedGalactic;                 //! Reference line pedestal for galactic source
 
-    static const Float_t  fgRefPedRmsClosedLidsOuter;    //! Ref. line ped. RMS for closed lids run - outer pixels
-    static const Float_t  fgRefPedRmsExtraGalacticOuter; //! Ref. line ped. RMS for extragalactic source - outer pixels
-    static const Float_t  fgRefPedRmsGalacticOuter;      //! Ref. line ped. RMS for galactic source - outer pixels
+    Float_t fRefPedRmsClosedLidsInner;       //! Ref. line ped. RMS for closed lids run - inner pixels
+    Float_t fRefPedRmsExtraGalacticInner;    //! Ref. line ped. RMS for extragalactic source - inner pixels
+    Float_t fRefPedRmsGalacticInner;         //! Ref. line ped. RMS for galactic source - inner pixels
 
-    MRunIter   *fRuns;                                   // Used pedestal runs
-    MExtractor *fExtractor;                              // Signal extractor, used to find the nr. of used FADC slices
+    Float_t fRefPedRmsClosedLidsOuter;       //! Ref. line ped. RMS for closed lids run - outer pixels
+    Float_t fRefPedRmsExtraGalacticOuter;    //! Ref. line ped. RMS for extragalactic source - outer pixels
+    Float_t fRefPedRmsGalacticOuter;         //! Ref. line ped. RMS for galactic source - outer pixels
 
-    MPedestalCam  fPedestalCamIn;                        // Handed over pedestal results
-    MPedestalCam  fPedestalCamOut;                       // Created pedestal results
-    MBadPixelsCam fBadPixels;                            // Bad Pixels
+    TString     fReferenceFile;              // File name containing the reference values
+
+    MRunIter   *fRuns;                       // Used pedestal runs
+    MExtractor *fExtractor;                  // Signal extractor, used to find the nr. of used FADC slices
+
+    MPedestalCam  fPedestalCamIn;            // Handed over pedestal results
+    MPedestalCam  fPedestalCamOut;           // Created pedestal results
+    MBadPixelsCam fBadPixels;                // Bad Pixels
 
     enum Display_t { kDisplayNone, kDisplayNormal, kDisplayDataCheck }; // Possible Display types
-    Display_t fDisplayType;                              // Chosen Display type
+    Display_t fDisplayType;                  // Chosen Display type
 
-    enum Storage_t { kNoStorage };                       // Possible flags for the storage of results
-    Byte_t fStorage;                                     // Bit-field for chosen storage type
+    enum Storage_t { kNoStorage };           // Possible flags for the storage of results
+    Byte_t fStorage;                         // Bit-field for chosen storage type
 
-    Bool_t fDataCheck;                                   // Flag if the data check is run on raw data
+    Bool_t fDataCheck;                       // Flag if the data check is run on raw data
 
     enum Extract_t { kUseData, kUsePedRun, kUseHists };  // Possible flags for the extraction of the pedestal
-    Extract_t fExtractType;                              // Chosen extractor type
+    Extract_t fExtractType;                  // Chosen extractor type
 
     enum Extraction { kFundamental, kWithExtractorRndm, kWithExtractor };
-    Int_t fExtractionType;                         // Flag if the extractor is used to calculate the pedestals
+    Int_t fExtractionType;                   // Flag if the extractor is used to calculate the pedestals
 
     MExtractor *ReadCalibration() const;
@@ -107,4 +112,6 @@
     void SetExtractionWithExtractor()     { fExtractionType=kWithExtractor;     /*fPedestalCamOut.SetName("MPedestalExtractor");*/     }
 
+    void SetReferenceFile( const TString ref=fgReferenceFile ) { fReferenceFile = ref; }
+
     MExtractor *GetExtractor() const { return fExtractor; }
 
