Index: fact/tools/marsmacros/singlepe.C
===================================================================
--- fact/tools/marsmacros/singlepe.C	(revision 14167)
+++ fact/tools/marsmacros/singlepe.C	(revision 14170)
@@ -351,4 +351,24 @@
                 continue;
 
+            //search for maximum after threshold crossing
+            UInt_t k_max = 0;
+            for (UInt_t k=i; k<i+15 && k < roi-navg-end_skip-10; k++)
+            {
+                if (val[k+1] > val[k])
+                    k_max = k;
+            }
+
+            //search for half maximum before maximum
+            UInt_t k_half_max = 0;
+            for (UInt_t k=k_max; k>k_max-20; k--)
+            {
+                if (val[k-1] < val[k_max]/2 &&
+                    val[k] >= val[k_max]/2 )
+                {
+                    k_half_max = k;
+                }
+            }
+
+
             // Evaluate arrival time more precisely!!!
             // Get a better integration window
@@ -356,8 +376,8 @@
             Single single;
             single.fSignal = 0;
-            single.fTime   = i;
+            single.fTime   = k_half_max;
 
             // Crossing of the threshold is at 5
-            for (UInt_t j=i+5; j<i+5+integration_size; j++)
+            for (UInt_t j=k_half_max; j<k_half_max+integration_size; j++)
                 single.fSignal += ptr[j];
 
@@ -543,5 +563,5 @@
                     100,  0,  10);
     TH1F hGain     ("Gain",      "Gain distribution",
-                     50,  100,   250);
+                     50,  200,   350);
     TH1F hGainRMS  ("RelSigma",  "Distribution of rel. Sigma",
                     100,   0,   30);
