Index: trunk/ippTools/share/dettool_addprocessedexp.sql
===================================================================
--- trunk/ippTools/share/dettool_addprocessedexp.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_addprocessedexp.sql	(revision 19621)
@@ -21,5 +21,5 @@
 WHERE
   detRun.state = 'run'
-  AND detRun.mode = 'master'
+  AND (detRun.mode = 'master' or detRun.mode = 'verify')
   AND detProcessedExp.det_id IS NULL
   AND detProcessedExp.exp_id IS NULL
Index: trunk/ippTools/share/dettool_childlessrun.sql
===================================================================
--- trunk/ippTools/share/dettool_childlessrun.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_childlessrun.sql	(revision 19621)
@@ -5,5 +5,6 @@
  FROM detRun
  LEFT JOIN detRun as foo
-   ON foo.parent = detRun.det_id
+   ON foo.ref_det_id = detRun.det_id
+-- XXX do we need to restrict to foo.ref_iter = detRun.iteration ?   
  WHERE
    detRun.state = 'stop'
Index: trunk/ippTools/share/dettool_stop_completed_correct_runs.sql
===================================================================
--- trunk/ippTools/share/dettool_stop_completed_correct_runs.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_stop_completed_correct_runs.sql	(revision 19621)
@@ -8,5 +8,6 @@
     FROM detRun AS det1
     INNER JOIN detRun as det2
-        ON det1.parent = det2.det_id 
+        ON det1.ref_det_run = det2.det_id 
+	-- do we need to restrict by iteration?  not clear this logic below is right or tested
     JOIN detNormalizedImfile as imfile
         ON det2.det_id = imfile.det_id
Index: trunk/ippTools/share/dettool_tocorrectimfile.sql
===================================================================
--- trunk/ippTools/share/dettool_tocorrectimfile.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_tocorrectimfile.sql	(revision 19621)
@@ -1,2 +1,3 @@
+-- select imfiles from detRun 1 (the reference detRun) that match the desired correction in detRun 2
 SELECT
     det1.*,
@@ -14,9 +15,9 @@
     imfile.fault
 FROM detRun AS det1
-INNER JOIN detRun as det2
-    ON det1.parent = det2.det_id 
+JOIN detRun as det2
+    ON det1.ref_det_id = det2.det_id 
 JOIN detNormalizedImfile as imfile
-    ON det2.det_id = imfile.det_id
-    AND det2.iteration = imfile.iteration
+    ON det1.ref_det_id = imfile.det_id
+    AND det1.ref_iter = imfile.iteration
 LEFT JOIN detRegisteredImfile
     ON det1.det_id = detRegisteredImfile.det_id
Index: trunk/ippTools/share/dettool_toprocessedexp.sql
===================================================================
--- trunk/ippTools/share/dettool_toprocessedexp.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_toprocessedexp.sql	(revision 19621)
@@ -48,5 +48,5 @@
     WHERE
         detRun.state = 'run'
-        AND detRun.mode = 'master'
+        AND (detRun.mode = 'master' or detRun.mode = 'verify')
         AND detProcessedExp.det_id IS NULL
         AND detProcessedExp.exp_id IS NULL
Index: trunk/ippTools/share/dettool_toprocessedimfile.sql
===================================================================
--- trunk/ippTools/share/dettool_toprocessedimfile.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_toprocessedimfile.sql	(revision 19621)
@@ -19,5 +19,5 @@
 WHERE
     detRun.state = 'run'
-    AND detRun.mode = 'master'
+    AND (detRun.mode = 'master' or detRun.mode = 'verify')
     AND detProcessedImfile.det_id IS NULL
     AND detProcessedImfile.exp_id IS NULL
Index: trunk/ippTools/share/dettool_toresidimfile.sql
===================================================================
--- trunk/ippTools/share/dettool_toresidimfile.sql	(revision 19607)
+++ trunk/ippTools/share/dettool_toresidimfile.sql	(revision 19621)
@@ -14,4 +14,6 @@
     detProcessedImfile.uri,
     detNormalizedImfile.uri AS det_uri,
+    detRun.det_id AS ref_det_id,
+    detRun.iteration AS ref_iter,
     rawExp.camera,
     rawExp.exp_tag
@@ -53,30 +55,40 @@
     detRun.workdir,
     detRun.reduction,
-    rawImfile.exp_id,
-    rawImfile.class_id,
-    rawImfile.uri,
-    'NULL' AS det_uri,
+    detProcessedImfile.exp_id,
+    detProcessedImfile.class_id,
+    detProcessedImfile.uri,
+    detNormalizedImfile.uri AS det_uri,
+    detRun.ref_det_id,
+    detRun.ref_iter,
     rawExp.camera,
     rawExp.exp_tag
 FROM detRun
+JOIN detRun AS detRunRef
+  ON detRunRef.det_id = detRun.ref_det_id
 JOIN detInputExp
-    USING(det_id, iteration)
+  ON detInputExp.det_id    = detRun.det_id
+ AND detInputExp.iteration = detRun.iteration
 JOIN rawExp
-    ON detInputExp.exp_id = rawExp.exp_id
-JOIN rawImfile
-    ON detInputExp.exp_id = rawImfile.exp_id
+  ON rawExp.exp_id = detInputExp.exp_id
+JOIN detProcessedImfile
+  ON detProcessedImfile.det_id    = detRun.det_id
+ AND detProcessedImfile.exp_id    = detInputExp.exp_id
+JOIN detNormalizedImfile
+  ON detNormalizedImfile.det_id    = detRun.ref_det_id
+ AND detNormalizedImfile.iteration = detRun.ref_iter
+ AND detNormalizedImfile.class_id  = detProcessedImfile.class_id
 LEFT JOIN detResidImfile
-    ON detRun.det_id = detResidImfile.det_id
-    AND detRun.iteration = detResidImfile.iteration
-    AND rawImfile.exp_id = detResidImfile.exp_id
-    AND rawImfile.class_id = detResidImfile.class_id
+  ON detResidImfile.det_id    = detRun.det_id      
+ AND detResidImfile.iteration = detRun.iteration   
+ AND detResidImfile.exp_id    = detProcessedImfile.exp_id   
+ AND detResidImfile.class_id  = detProcessedImfile.class_id 
 WHERE
-    detRun.state = 'run'
-    AND detRun.mode = 'verify'
-    -- AND detNormalizedImfile.fault = 0
-    -- AND detNormalizedExp.fault = 0
-    AND detResidImfile.det_id IS NULL
-    AND detResidImfile.iteration IS NULL
-    AND detResidImfile.exp_id IS NULL
-    AND detResidImfile.class_id IS NULL
+ detRun.state = 'run'
+ AND detRun.mode = 'verify'
+ AND detRunRef.state = 'stop'
+ AND detNormalizedImfile.fault = 0
+ AND detResidImfile.det_id IS NULL
+ AND detResidImfile.iteration IS NULL
+ AND detResidImfile.exp_id IS NULL
+ AND detResidImfile.class_id IS NULL
 ORDER BY exp_id
Index: trunk/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- trunk/ippTools/share/pxadmin_create_tables.sql	(revision 19607)
+++ trunk/ippTools/share/pxadmin_create_tables.sql	(revision 19621)
@@ -444,5 +444,7 @@
     solang_max FLOAT,
     label VARCHAR(64),
-    parent INT,
+    ref_det_id BIGINT,
+    ref_iter INT,
+    -- parent INT, :: dropping this
     PRIMARY KEY(det_id),
     KEY(det_id),
@@ -452,5 +454,5 @@
     KEY(state),
     KEY(label),
-    KEY(parent),
+    -- KEY(parent), :: dropping this
     INDEX(det_id, iteration))
 ENGINE=innodb DEFAULT CHARSET=latin1;
@@ -616,4 +618,6 @@
     det_id BIGINT,
     iteration INT,
+    ref_det_id BIGINT,
+    ref_iter INT,
     exp_id BIGINT,
     class_id VARCHAR(64),
@@ -647,5 +651,5 @@
     FOREIGN KEY (det_id, exp_id, class_id)
     REFERENCES  detProcessedImfile(det_id, exp_id, class_id),
-    FOREIGN KEY (det_id, iteration)
+    FOREIGN KEY (ref_det_id, ref_iter)
     REFERENCES  detNormalizedExp(det_id, iteration)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
