Index: /trunk/MagicSoft/Mars/macros/readIPR.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/readIPR.C	(revision 8383)
+++ /trunk/MagicSoft/Mars/macros/readIPR.C	(revision 8384)
@@ -51,15 +51,12 @@
     tlist.AddToList(&read);
 
-    // Create the container for the IPRs
-    MTriggerIPR ipr;
-    plist.AddToList(&ipr);
+    MHCamEvent evt0(0, "IPR", "Individual Pixel Rate;;IPR [Hz]");
+    //    evt0b.SetThreshold(0);
 
-    // Create the histo to display the IPRs
-    MHCamEvent IPRhist("IPRhist","IPRs");
-    plist.AddToList(&IPRhist);
-        
-    // create a task to fill a histogram from the container
-    MFillH fillIPR(&IPRhist, "MTriggerIPR");
-    tlist.AddToList(&fillIPR);
+    MFillH fill0(&evt0, "MTriggerIPR", "FillIPR");
+
+    tlist.AddToList(&fill0);
+
+    MStatusDisplay *d = new MStatusDisplay;
 
     //
@@ -68,80 +65,10 @@
     MEvtLoop evtloop;
     evtloop.SetParList(&plist);
+    evtloop.SetDisplay(d);
 
-    //
-    // Execute the analysis
-    //
-    if (!evtloop.PreProcess())
-      return;
-    
     if (!evtloop.Eventloop())
       return;
 
     tlist.PrintStatistics();
-
-    //-----------------------------------
-    // Now display the result of the loop
-    //
-
-    // create a MHCamera histo where the sum off all events is filled
-    MHCamera &h = *(MHCamera*)IPRhist.GetHistByName("sum");
-
-    TCanvas *c = MH::MakeDefCanvas();
-    c->Divide(2, 2);
-
-    MHCamera *disp1=h.Clone();
-    MHCamera *disp2=h.Clone();
-    //MHCamera *disp3=h.Clone();
-    disp2->SetCamContent(h, 1);
-    //disp3->SetCamContent(h, 2);
-
-    disp1->SetYTitle("Rate [Hz]");
-    disp2->SetYTitle("\\sigma_{Rate} [Hz]");
-    //disp3->SetYTitle("\\sigma_{Rate} [%]");
-    disp1->SetName("IPRs;avg");
-    disp2->SetName("IPRs;err");
-    //disp3->SetName("IPRs;rel");
-    disp1->SetTitle("IPRs Average");
-    disp2->SetTitle("IPRs error");
-    //disp3->SetTitle("IPRs relative error");
-
-    c->cd(1);
-    TText text(0.1, 0.95, &fname[fname.Last('/')+1]);
-    text.SetTextSize(0.03);
-    text.DrawClone();
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    gPad->SetLogy();
-    disp1->Draw();
-    disp1->SetBit(kCanDelete);
-    c->cd(2);
-    gPad->SetBorderMode(0);
-    gPad->Divide(1,1);
-    gPad->cd(1);
-    gPad->SetLogy();
-    disp2->Draw();
-    disp2->SetBit(kCanDelete);
-    //c->cd(3);
-    //gPad->SetBorderMode(0);
-    //gPad->Divide(1,1);
-    //gPad->cd(1);
-    //gPad->SetLogy();
-    //disp3->Draw();
-    //disp3->SetBit(kCanDelete);
-    c->cd(3);
-    gPad->SetBorderMode(0);
-    disp1->Draw("EPhist");
-    c->cd(4);
-    gPad->SetBorderMode(0);
-    gPad->SetLogy();
-    disp2->Draw("Phist");
-    //c->cd(6);
-    //gPad->SetBorderMode(0);
-    //gPad->SetLogy();
-    //disp3->Draw("Phist");
-
-    c->SaveAs(fname(0, fname.Last('.')+1) + "ps");
-    //c->SaveAs(fname(0, fname.Last('.')+1) + "root");
 }
 
Index: /trunk/MagicSoft/Mars/mars.rc
===================================================================
--- /trunk/MagicSoft/Mars/mars.rc	(revision 8383)
+++ /trunk/MagicSoft/Mars/mars.rc	(revision 8384)
@@ -26,42 +26,39 @@
 #ExtractSignal.WeightsFile: msignal/MC_weights46.dat
 # -------------------------------------------------------------------------
-# Define here an extractor which can be used for the December 04 data.
-# -------------------------------------------------------------------------
-#ExtractSignal: MExtractTimeAndChargeSpline, MExtractTimeAndChargeDigitalFilterPeakSearch, MExtractTimeAndChargeSlidingWindow
-# -------------------------------------------------------------------------
 # Define here parameters valid for all extractors above
 # -------------------------------------------------------------------------
-#ExtractSignal.HiGainFirst:         0
-#ExtractSignal.HiGainLast:         15
-#ExtractSignal.LoGainFirst:         3
-#ExtractSignal.LoGainLast:         14
-#ExtractSignal.SaturationLimit:   250
-#ExtractSignal.OffsetLoGain:     1.51
-#ExtractSignal.OffsetLoGain:        0
-#ExtractSignal.LoGainSwitch:      150
-#ExtractSignal.LoGainStartShift: -2.8
-#ExtractSignal.LoGainStartShift: -2.8
+#ExtractSignal.LoGainSwitch:      120
+#ExtractSignal.LoGainStartShift: -2.5
 # -------------------------------------------------------------------------
 # Define here parameters valid for the spline:
 # -------------------------------------------------------------------------
-#ExtractSignal.Resolution:        0.05
-#ExtractSignal.RiseTimeHiGain:    0.5
-#ExtractSignal.FallTimeHiGain:    1.5
+#ExtractSignal.HiGainFirst:         0
+#ExtractSignal.HiGainLast:         14
+#ExtractSignal.LoGainFirst:         1
+#ExtractSignal.LoGainLast:         14
+#ExtractSignal.Resolution:       0.05
+#ExtractSignal.RiseTimeHiGain:   0.64
+#ExtractSignal.FallTimeHiGain:   0.76
 #ExtractSignal.LoGainStretch:     1.5
+#ExtractSignal.OffsetLoGain:      1.3
 #ExtractSignal.ExtractionType: Integral <default>
 #ExtractSignal.ExtractionType: Amplitude
 # -------------------------------------------------------------------------
-# Define here parameters valid for the sliding window:
+# Define here parameters valid for the Digital Filter:
 # -------------------------------------------------------------------------
-#ExtractSignal.HiGainWindowSize:     6
-#ExtractSignal.LoGainWindowSize:     6
-# -------------------------------------------------------------------------
-# Define here parameters valid for the digital filter with peak search:
-# -------------------------------------------------------------------------
-#ExtractSignal.OffsetLeftFromPeak:   3
-#ExtractSignal.OffsetRightFromPeak:  3
-#ExtractSignal.PeakSearchWindowSize: 2
-#ExtractSignal.HiGainFailureLimit:  10
-#ExtractSignal.LoGainFailureLimit:  25
+#ExtractSignal.HiGainFirst:         0
+#ExtractSignal.HiGainLast:         16
+#ExtractSignal.LoGainFirst:         1
+#ExtractSignal.LoGainLast:         14
+#ExtractSignal.OffsetLoGain:     0.95
+
+# =========================================================================
+# To look into MUX data use the following setup
+# =========================================================================
+#ExtractSignal: MExtractTimeAndChargeSpline
+#ExtractSignal.RiseTimeHiGain:   4.3
+#ExtractSignal.FallTimeHiGain:   5.1
+#ExtractSignal.HiGainFirst:      15
+#ExtractSignal.HiGainLast:       65
 
 # -------------------------------------------------------------------------
@@ -88,11 +85,7 @@
 #  e.g. Standard, Absolute, Scaled, Time
 # -------------------------------------------------------------------------
-MImgCleanStd.CleanMethod: Scaled
-MImgCleanStd.CleanLevel1: 4.5
-MImgCleanStd.CleanLevel2: 3.0
-
-#MImgCleanStd.CleanMethod: Absolute
-#MImgCleanStd.CleanLevel1: 8.5
-#MImgCleanStd.CleanLevel2: 4.0
+MImgCleanStd.CleanMethod: Absolute
+MImgCleanStd.CleanLevel1: 8.5
+MImgCleanStd.CleanLevel2: 4.0
 
 # -------------------------------------------------------------------------
@@ -105,3 +98,2 @@
 #Cut.1: (MMuonSearchPar.fRadius>180) && (MMuonSearchPar.fRadius<400) && (MMuonSearchPar.fDeviation<45)
 #Cut.2: (MMuonCalibPar.fArcPhi>190)  && (MMuonSearchPar.fDeviation<35) && (MMuonCalibPar.fArcWidth<0.20) && (MMuonCalibPar.fArcWidth>0.04)
-
Index: /trunk/MagicSoft/Mars/mbase/MEnv.h
===================================================================
--- /trunk/MagicSoft/Mars/mbase/MEnv.h	(revision 8383)
+++ /trunk/MagicSoft/Mars/mbase/MEnv.h	(revision 8384)
@@ -31,4 +31,6 @@
 
     TObject    *Clone(const char *newname="") const;
+
+    Bool_t      Touch(const char *name) { return !TString(GetValue(name, "")).IsNull(); }
 
     Int_t       GetValue(const char *name, Int_t dflt);
