Index: trunk/MagicSoft/Mars/macros/pixfirerate.C
===================================================================
--- trunk/MagicSoft/Mars/macros/pixfirerate.C	(revision 2244)
+++ trunk/MagicSoft/Mars/macros/pixfirerate.C	(revision 2251)
@@ -36,5 +36,5 @@
 /////////////////////////////////////////////////////////////////////////////
 
-void pixfirerate(TString filename="20030603_01731_D_cosmics_E.root")
+void pixfirerate(TString filename="rawfile.root")
 {
     //
@@ -57,6 +57,6 @@
     // The tasklist is identified in the eventloop by its name
     //
+    MTaskList tlist;
     MParList  plist;
-    MTaskList tlist;
     plist.AddToList(&tlist);
 
@@ -73,31 +73,28 @@
     MReadMarsFile read("Events");
     read.DisableAutoScheme();
+    read.AddFile(filename);
+    tlist.AddToList(&read);
 
-    MHTrigLvl0 trigmap1(10.,"Above 10");
-    MHTrigLvl0 trigmap2(20.,"Above 20");
-    MHTrigLvl0 trigmap3(50.,"Above 50");
-    MHTrigLvl0 trigmap4(100.,"Above 100");
-    MHTrigLvl0 trigmap5(200.,"Above 200");
+    Double_t threshold[] = { 10, 20, 100, 200, -1 };
 
-    plist.AddToList(&trigmap1);
-    plist.AddToList(&trigmap2);
-    plist.AddToList(&trigmap3);
-    plist.AddToList(&trigmap4);
-    plist.AddToList(&trigmap5);
+    Int_t cnt = 0;
+    while (threshold[cnt]>0) cnt++;
 
-    MFillH fill1("Above 10","MRawEvtData");
-    MFillH fill2("Above 20","MRawEvtData");
-    MFillH fill3("Above 50","MRawEvtData");
-    MFillH fill4("Above 100","MRawEvtData");
-    MFillH fill5("Above 200","MRawEvtData");
+    for (int i=0; i<cnt; i++)
+    {
+        TString name = "Above ";
+        TString num;
+        num += threshold[i];
+        name += num.Strip(TString::kBoth);
+        TString title = "Firerate [%] of pixels with signal > ";
+        title += num.Strip(TString::kBoth);
 
-    read.AddFile(filename);
-
-    tlist.AddToList(&read);
-    tlist.AddToList(&fill1);
-    tlist.AddToList(&fill2);
-    tlist.AddToList(&fill3);
-    tlist.AddToList(&fill4);
-    tlist.AddToList(&fill5);
+        MHTriggerLvl0 *trigmap = new MHTriggerLvl0(threshold[i], name, title);
+        MFillH *fillh = new MFillH(trigmap, "MRawEvtData");
+        trigmap->SetBit(kCanDelete);
+        fillh->SetBit(kCanDelete);
+        plist.AddToList(trigmap);
+        tlist.AddToList(fillh);
+    }
 
     MEvtLoop evtloop;
