Index: /trunk/FACT++/src/ftmctrl.cc
===================================================================
--- /trunk/FACT++/src/ftmctrl.cc	(revision 12312)
+++ /trunk/FACT++/src/ftmctrl.cc	(revision 12313)
@@ -1252,5 +1252,5 @@
 
         const FTM::DimTriggerRates rates(fHeader, fDynamicData, fStaticData,
-                                         rate, tdiff*1e-7, odiff*1e-7);
+                                         rate, tdiff*1e-6, odiff*1e-6);
 
         fDimTriggerRates.Update(rates);
@@ -2397,5 +2397,10 @@
             const vector<uint16_t> pix2 = conf.Vec<uint16_t>("trigger.disable-pixel."+*it);
 
-            vector<uint16_t> pat, pix;
+            const vector<uint16_t> ftu1 = conf.Vec<uint16_t>("disable-ftu.default");
+            const vector<uint16_t> ftu2 = conf.Vec<uint16_t>("disable-ftu."+*it);
+
+            vector<uint16_t> ftu, pat, pix;
+            ftu.insert(ftu.end(), ftu1.begin(), ftu1.end());
+            ftu.insert(ftu.end(), ftu2.begin(), ftu2.end());
             pat.insert(pat.end(), pat1.begin(), pat1.end());
             pat.insert(pat.end(), pat2.begin(), pat2.end());
@@ -2403,4 +2408,15 @@
             pix.insert(pix.end(), pix2.begin(), pix2.end());
 
+            for (vector<uint16_t>::const_iterator ip=ftu.begin(); ip!=ftu.end(); ip++)
+            {
+                if (*ip>FTM::StaticData::kMaxPatchIdx)
+                {
+                    ostringstream str;
+                    str << "disable-ftu.*=" << *ip << " exceeds allowed maximum of " << FTM::StaticData::kMaxPatchIdx << "!";
+                    T::Error(str);
+                    return 2;
+                }
+                data.DisableFTU(*ip);
+            }
             for (vector<uint16_t>::const_iterator ip=pat.begin(); ip!=pat.end(); ip++)
             {
@@ -2412,5 +2428,5 @@
                     return 2;
                 }
-                data.DisableFTU(*ip);
+                data.EnablePatch(*ip, false);
             }
             for (vector<uint16_t>::const_iterator ip=pix.begin(); ip!=pix.end(); ip++)
@@ -2526,4 +2542,5 @@
         ("trigger.threshold.logic.*",            var<uint16_t>(),  "")
         ("ftu-report-interval.*",                var<uint16_t>(),  "")
+        ("disable-ftu.*",                        var<uint16_t>(),  "")
         ("light-pulser.external.enable-group1.*", var<bool>(),     "Enable LED group 1 of external light pulser")
         ("light-pulser.external.enable-group2.*", var<bool>(),     "Enable LED group 2 of external light pulser")
