Index: trunk/ippTools/src/pxtools.c
===================================================================
--- trunk/ippTools/src/pxtools.c	(revision 28057)
+++ trunk/ippTools/src/pxtools.c	(revision 28089)
@@ -150,4 +150,5 @@
   return(true);
 }
+
 bool pxSetRunMaskfrac(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id,
 		      psS64 maskfrac_npix, psF32 maskfrac_static, psF32 maskfrac_dynamic,
@@ -156,4 +157,25 @@
   if (!p_psDBRunQueryF(config->dbh,query,tableName,(float) maskfrac_npix,maskfrac_static,
 		       maskfrac_dynamic, maskfrac_magic,maskfrac_advisory,stage_id_name,stage_id)) {
+    psError(PS_ERR_UNKNOWN, false,
+	    "failed to set maskfrac stats for %s %" PRId64,stage_id_name,stage_id);
+    return(false);
+  }
+  
+
+
+  return(true);
+}
+
+bool pxCamSetRunMaskfrac(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id,
+			 psS64 maskfrac_ref_npix, psF32 maskfrac_ref_static, psF32 maskfrac_ref_dynamic,
+			 psF32 maskfrac_ref_magic, psF32 maskfrac_ref_advisory,
+			 psS64 maskfrac_max_npix, psF32 maskfrac_max_static, psF32 maskfrac_max_dynamic,
+			 psF32 maskfrac_max_magic, psF32 maskfrac_max_advisory) {
+  char *query = "UPDATE %s SET maskfrac_ref_npix = %f, maskfrac_ref_static = %f, maskfrac_ref_dynamic = %f, maskfrac_ref_magic = %f, maskfrac_ref_advisory = %f, maskfrac_max_npix = %f, maskfrac_max_static = %f, maskfrac_max_dynamic = %f, maskfrac_max_magic = %f, maskfrac_max_advisory = %f WHERE %s = %" PRId64;
+  if (!p_psDBRunQueryF(config->dbh,query,tableName,(float) maskfrac_ref_npix,maskfrac_ref_static,
+		       maskfrac_ref_dynamic, maskfrac_ref_magic,maskfrac_ref_advisory,
+		       (float) maskfrac_max_npix,maskfrac_max_static,
+		       maskfrac_max_dynamic, maskfrac_max_magic,maskfrac_max_advisory,
+		       stage_id_name,stage_id)) {
     psError(PS_ERR_UNKNOWN, false,
 	    "failed to set maskfrac stats for %s %" PRId64,stage_id_name,stage_id);
