Index: /trunk/FACT++/src/ratescan.cc
===================================================================
--- /trunk/FACT++/src/ratescan.cc	(revision 12290)
+++ /trunk/FACT++/src/ratescan.cc	(revision 12291)
@@ -77,5 +77,6 @@
     uint64_t fTriggersPatch[160];
 
-    uint64_t fOnTimeStart;
+    float fElapsedTime;
+    float fOnTime;
 
     float fResolution;
@@ -137,5 +138,5 @@
         if (curr==&fRates)
         {
-            if (curr->getSize()!=sizeof(FTM::DimTriggerRates))
+            if (!CheckEventSize(curr->getSize(), "infoHandler[DimTriggerRates]", sizeof(FTM::DimTriggerRates)))
                 return;
 
@@ -155,5 +156,6 @@
                 memset(fTriggersPatch, 0, 160*sizeof(uint64_t));
 
-                fOnTimeStart = sdata.fOnTimeCounter;
+                fOnTime = 0;
+                fElapsedTime = 0;
                 return;
             }
@@ -170,4 +172,11 @@
             if (fReference==kPatch)
                 reference = fTriggersPatch[fReferenceIdx];
+
+            fOnTime      += sdata.fOnTime;
+            fElapsedTime += sdata.fElapsedTime;
+
+            reference *= fElapsedTime*10;
+
+            cout << fElapsedTime << " " << fOnTime << endl;
 
             if ((reference==0 || sqrt(reference)>fResolution*reference) && fSeconds<fSecondsMax)
@@ -190,8 +199,7 @@
             for (int i=0; i<160; i++)
                 sout2 << float(fTriggersPatch[i])/fSeconds << " ";
-            sout3 << fSeconds << " ";
-            sout3 << float(sdata.fOnTimeCounter-fOnTimeStart)/fSeconds/1000000;
-
-            Info(sout1.str()+sout3.str());
+            sout3 << fElapsedTime << " " << fOnTime;
+
+            Info(sout1.str());
 
 
