Index: /trunk/psphot/src/psphotEfficiency.c
===================================================================
--- /trunk/psphot/src/psphotEfficiency.c	(revision 42085)
+++ /trunk/psphot/src/psphotEfficiency.c	(revision 42086)
@@ -3,6 +3,4 @@
 #define MODEL_MASK (PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE | \
                     PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_LIMITS) // Mask to apply to models
-
-# define TESTING 0
 
 // Calculate the limiting magnitude for an image
@@ -122,7 +120,9 @@
              meanVar, *covarFactor, thresh, *norm, *magLim);
 
-    *radius = smoothSigma * smoothNsigma;
+    *radius = 5 * smoothSigma * smoothNsigma;
 
     *minFlux = 0.1 * sqrtf(meanVar);
+
+    psLogMsg ("psphot", PS_LOG_INFO, "Detection efficiency PSF radius: %d, minFlux: %f\n", *radius, *minFlux);
 
     return true;
@@ -291,4 +291,5 @@
     psphotRemoveAllSourcesByArray(realSources, recipe);
 
+# define TESTING 0
 #if TESTING
     {
@@ -340,4 +341,5 @@
     psphotSaveImage(NULL, readout->mask, "fake_mask.fits");
 #endif
+#undef TESTING
 
     // XXX Could speed this up significantly by only convolving the central pixels of each fake source
@@ -424,4 +426,7 @@
                     continue;
                 }
+
+		// XXX this radius is too small : for faint sources the modelSum < 0.8*modelNorm and the
+		// source is rejected.  Add a factor of 2.0 to be sure we get value fluxes
                 float sourceRadius = PS_MAX(radius, model->class->modelRadius(model->params, minFlux)); // Radius for source
                 psFree(model);
@@ -536,4 +541,5 @@
         psVectorInit(magMask, 0);
 
+# define TESTING 0
 #if TESTING
         psString name = NULL;
