Index: /trunk/dbconfig/cam.md
===================================================================
--- /trunk/dbconfig/cam.md	(revision 29901)
+++ /trunk/dbconfig/cam.md	(revision 29902)
@@ -113,4 +113,8 @@
     maskfrac_max_magic  F32     0.0
     maskfrac_max_advisory F32   0.0
+    deteff         F32      0
+    deteff_err     F32      0
+    deteff_lq      F32      0
+    deteff_uq      F32      0
     quality        S16      0
 END
Index: /trunk/dbconfig/changes.txt
===================================================================
--- /trunk/dbconfig/changes.txt	(revision 29901)
+++ /trunk/dbconfig/changes.txt	(revision 29902)
@@ -1981,2 +1981,11 @@
     FOREIGN KEY(minidvodb_id) REFERENCES minidvodbRun(minidvodb_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
+
+ALTER TABLE chipProcessedImfile ADD column deteff_magref FLOAT;
+ALTER TABLE camProcessedExp ADD column deteff FLOAT AFTER maskfrac_max_advisory;
+ALTER TABLE camProcessedExp ADD column deteff_err FLOAT AFTER deteff;
+ALTER TABLE camProcessedExp ADD column deteff_lq FLOAT AFTER deteff_err;
+ALTER TABLE camProcessedExp ADD column deteff_uq FLOAT AFTER deteff_lq;
+UPDATE dbversion set schema_version = '1.1.66',  updated= CURRENT_TIMESTAMP();
+
+-- Version 1.1.67
Index: /trunk/dbconfig/chip.md
===================================================================
--- /trunk/dbconfig/chip.md	(revision 29901)
+++ /trunk/dbconfig/chip.md	(revision 29902)
@@ -105,4 +105,5 @@
     maskfrac_magic  F32     0.0
     maskfrac_advisory F32   0.0
+    deteff_magref   F32     0.0
 END
 
Index: /trunk/dbconfig/config.md
===================================================================
--- /trunk/dbconfig/config.md	(revision 29901)
+++ /trunk/dbconfig/config.md	(revision 29902)
@@ -2,4 +2,4 @@
     pkg_name        STR     ippdb
     pkg_namespace   STR     ippdb
-    pkg_version     STR     1.1.65
+    pkg_version     STR     1.1.66
 END
Index: /trunk/ippTools/share/camtool_find_pendingimfile.sql
===================================================================
--- /trunk/ippTools/share/camtool_find_pendingimfile.sql	(revision 29901)
+++ /trunk/ippTools/share/camtool_find_pendingimfile.sql	(revision 29902)
@@ -2,4 +2,7 @@
     camRun.cam_id,
     chipProcessedImfile.*,
+    (IF(exp_time IS NOT NULL AND deteff_magref IS NOT NULL,
+       (2.5 * LOG10(exp_time) + chipProcessedImfile.deteff_magref),  NULL))
+        AS deteff_inst,
     rawExp.exp_name,
     rawExp.camera,
Index: /trunk/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- /trunk/ippTools/share/pxadmin_create_tables.sql	(revision 29901)
+++ /trunk/ippTools/share/pxadmin_create_tables.sql	(revision 29902)
@@ -371,4 +371,5 @@
     maskfrac_magic FLOAT,
     maskfrac_advisory FLOAT,
+    deteff_magref FLOAT,
     PRIMARY KEY(chip_id, exp_id, class_id),
     KEY(data_state),
@@ -486,5 +487,4 @@
     n_astrom INT,
     path_base VARCHAR(255),
-    quality SMALLINT NOT NULL DEFAULT 0,
     fault SMALLINT NOT NULL,
     software_ver VARCHAR(16),
@@ -499,4 +499,9 @@
     maskfrac_max_magic FLOAT,
     maskfrac_max_advisory FLOAT,
+    deteff FLOAT,
+    deteff_err FLOAT,
+    deteff_lq FLOAT,
+    deteff_uq FLOAT,
+    quality SMALLINT NOT NULL DEFAULT 0,
     PRIMARY KEY(cam_id),
     KEY(fault),
@@ -1050,4 +1055,5 @@
         hostname VARCHAR(64),
         good_frac FLOAT,
+        mjd_obs DOUBLE,
         quality SMALLINT NOT NULL DEFAULT 0,
         fault SMALLINT,
Index: /trunk/ippTools/src/camtool.c
===================================================================
--- /trunk/ippTools/src/camtool.c	(revision 29901)
+++ /trunk/ippTools/src/camtool.c	(revision 29902)
@@ -519,4 +519,25 @@
     PXOPT_LOOKUP_F32(maskfrac_max_magic, config->args, "-maskfrac_max_magic", false, false);
     PXOPT_LOOKUP_F32(maskfrac_max_advisory, config->args, "-maskfrac_max_advisory", false, false);
+
+    // we store actual detection efficiency by adding in zpt_obs
+    PXOPT_LOOKUP_F32(deteff_inst, config->args, "-deteff_inst", false, false);
+    PXOPT_LOOKUP_F32(deteff_inst_lq, config->args, "-deteff_inst_lq", false, false);
+    PXOPT_LOOKUP_F32(deteff_inst_uq, config->args, "-deteff_inst_uq", false, false);
+    // error is dd
+    PXOPT_LOOKUP_F32(deteff_err, config->args, "-deteff_inst_err", false, false);
+    psF32 deteff = NAN;
+    psF32 deteff_uq = NAN;
+    psF32 deteff_lq = NAN;
+    if (isfinite(zpt_obs)) {
+        if (isfinite(deteff_inst)) {
+            deteff = deteff_inst + zpt_obs;
+        }
+        if (isfinite(deteff_inst_uq)) {
+            deteff_uq = deteff_inst_uq + zpt_obs;
+        }
+        if (isfinite(deteff_inst_lq)) {
+            deteff_lq = deteff_inst_lq + zpt_obs;
+        }
+    }
 
 /*     psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s psastro %s ppstats %s ppImage %s streaks %s\n", */
@@ -666,4 +687,8 @@
         maskfrac_max_magic,
         maskfrac_max_advisory,
+        deteff,
+        deteff_err,
+        deteff_lq,
+        deteff_uq,
         quality
         );
Index: /trunk/ippTools/src/camtoolConfig.c
===================================================================
--- /trunk/ippTools/src/camtoolConfig.c	(revision 29901)
+++ /trunk/ippTools/src/camtoolConfig.c	(revision 29902)
@@ -198,4 +198,9 @@
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_max_advisory", 0, "define advisory mask fraction", NAN);
 
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-deteff_inst", 0, "define deteff", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-deteff_inst_err", 0, "define deteff_err", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-deteff_inst_lq", 0, "define deteff_lq", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-deteff_inst_uq", 0, "define deteff_uq", NAN);
+
 
     // -processedexp
Index: /trunk/ippTools/src/chiptool.c
===================================================================
--- /trunk/ippTools/src/chiptool.c	(revision 29901)
+++ /trunk/ippTools/src/chiptool.c	(revision 29902)
@@ -601,4 +601,5 @@
     PXOPT_LOOKUP_F32(maskfrac_magic, config->args, "-maskfrac_magic", false, false);
     PXOPT_LOOKUP_F32(maskfrac_advisory, config->args, "-maskfrac_advisory", false, false);
+    PXOPT_LOOKUP_F32(deteff_magref, config->args, "-deteff_magref", false, false);
 
     psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s psastro %s ppstats %s ppImage %s streaks %s\n",
@@ -706,5 +707,6 @@
 				   maskfrac_dynamic,
 				   maskfrac_magic,
-				   maskfrac_advisory
+				   maskfrac_advisory,
+                                   deteff_magref
             )) {
         // rollback
@@ -715,20 +717,4 @@
         return false;
     }
-
-#if 0
-    // XXX I've decided to make the transaction cover the Exp migration as
-    // well.  Otherwise, if the last imfile in an exp is moved and the exp
-    // migration fails then the data base is left in a situation where the exp
-    // migration can't happen.
-
-    if (!chipProcessedCompleteExp(config)) {
-        // rollback
-        if (!psDBRollback(config->dbh)) {
-            psError(PS_ERR_UNKNOWN, false, "database error");
-        }
-        psError(PS_ERR_UNKNOWN, false, "database error");
-        return false;
-    }
-#endif
 
     if (!psDBCommit(config->dbh)) {
Index: /trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- /trunk/ippTools/src/chiptoolConfig.c	(revision 29901)
+++ /trunk/ippTools/src/chiptoolConfig.c	(revision 29902)
@@ -196,4 +196,5 @@
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_magic", 0, "define magic mask fraction", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_advisory", 0, "define advisory mask fraction", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-deteff_magref", 0, "define deteff_magref", NAN);
 
     // -processedimfile
Index: /trunk/ippconfig/isp/camera.config
===================================================================
--- /trunk/ippconfig/isp/camera.config	(revision 29901)
+++ /trunk/ippconfig/isp/camera.config	(revision 29902)
@@ -77,3 +77,3 @@
 PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}		# Rule for generating photcode
 # don't censor any masked pixels when making postage stamps
-MASK.NO.CENSOR               U32 0xFFFFFFFF
+MASK.NO.CENSOR               U32 4294967295
Index: /trunk/ippconfig/megacam/camera.config
===================================================================
--- /trunk/ippconfig/megacam/camera.config	(revision 29901)
+++ /trunk/ippconfig/megacam/camera.config	(revision 29902)
@@ -155,3 +155,3 @@
 
 # don't censor any masked pixels
-NO.CENSOR               U32 0xFFFFFFFF
+MASK.NO.CENSOR          U32 4294967295
Index: /trunk/ippconfig/recipes/ppStats.config
===================================================================
--- /trunk/ippconfig/recipes/ppStats.config	(revision 29901)
+++ /trunk/ippconfig/recipes/ppStats.config	(revision 29902)
@@ -84,4 +84,6 @@
   HEADER        STR     IQ_M4_LQ
   HEADER        STR     IQ_M4_UQ
+  HEADER        STR     DETEFF.MAGREF
+
 
   HEADER	STR	PSLIB_V
Index: /trunk/ippconfig/recipes/ppStatsFromMetadata.config
===================================================================
--- /trunk/ippconfig/recipes/ppStatsFromMetadata.config	(revision 29901)
+++ /trunk/ippconfig/recipes/ppStatsFromMetadata.config	(revision 29902)
@@ -187,4 +187,7 @@
   ENTRY VAL MASKFRAC_MAGIC	  F32  CONSTANT		-maskfrac_magic
   ENTRY VAL MASKFRAC_ADVISORY	  F32  CONSTANT		-maskfrac_advisory
+
+  # Detection Efficiency
+  ENTRY  VAL  DETEFF.MAGREF       F32  CONSTANT         -deteff_magref            
 END
 
@@ -255,4 +258,10 @@
   ENTRY	 VAL  IMAGE_V		  STR  CONSTANT		-ver_ppimage
   ENTRY	 VAL  STREAK_V		  STR  CONSTANT		-ver_streaks
+
+  # Detection Efficiency
+  ENTRY  VAL  deteff_inst         F64  ROBUST_MEDIAN    -deteff_inst            
+  ENTRY  VAL  deteff_inst         F64  ROBUST_STDEV     -deteff_inst_err            
+  ENTRY  VAL  deteff_inst         F64  UQ               -deteff_inst_uq            
+  ENTRY  VAL  deteff_inst         F64  LQ               -deteff_inst_lq            
 END
 
Index: /trunk/ippconfig/simtest/camera.config
===================================================================
--- /trunk/ippconfig/simtest/camera.config	(revision 29901)
+++ /trunk/ippconfig/simtest/camera.config	(revision 29902)
@@ -80,3 +80,3 @@
 
 # don't censor any masked pixels when making postage stamps
-MASK.NO.CENSOR               U32 0xFFFFFFFF
+MASK.NO.CENSOR               U32 4294967295
Index: /trunk/psphot/src/psphotEfficiency.c
===================================================================
--- /trunk/psphot/src/psphotEfficiency.c	(revision 29901)
+++ /trunk/psphot/src/psphotEfficiency.c	(revision 29902)
@@ -512,4 +512,7 @@
     psMetadataAddPtr(readout->analysis, PS_LIST_TAIL, PM_DETEFF_ANALYSIS, PS_META_REPLACE | PS_DATA_UNKNOWN,
                      "Detection efficiency", de);
+    psMetadataAddF32(readout->analysis, PS_LIST_TAIL, "DETEFF.MAGREF", 
+        PS_META_REPLACE, "Magnitude reference", magLim);
+
     psFree(de);
 
Index: /trunk/psphot/src/psphotOutput.c
===================================================================
--- /trunk/psphot/src/psphotOutput.c	(revision 29901)
+++ /trunk/psphot/src/psphotOutput.c	(revision 29902)
@@ -283,4 +283,6 @@
     psMetadataItemSupplement (&status, header, analysis, "MSKY_NY");
 
+    psMetadataItemSupplement (&status, header, analysis, "DETEFF.MAGREF");
+
     psMetadataAddF32 (header, PS_LIST_TAIL, "DT_PHOT", PS_META_REPLACE, "elapsed psphot time", psTimerMark ("psphotReadout"));
 
