Index: trunk/Ohana/src/relastro/test/mana.sh
===================================================================
--- trunk/Ohana/src/relastro/test/mana.sh	(revision 39610)
+++ trunk/Ohana/src/relastro/test/mana.sh	(revision 39612)
@@ -40,4 +40,20 @@
 end
 
+macro testobj3
+  if ($0 != 3)
+    echo "USAGE: testobj3 (Nstars) (foutliers)"
+    break
+  end
+
+  $Nmin:pos = 99
+  $Nmin:pm  = 99
+  $Nmin:plx = 99
+
+  foreach mode pos pm plx
+    exec ../bin/fitobj3.lin64 $mode -Nstars $1 -foutliers $2 -Nminpoints $Nmin:$mode > test.$mode.dat
+    checkstats test.$mode.dat $mode
+  end
+end
+
 macro testobj2
   if ($0 != 3)
@@ -46,6 +62,12 @@
   end
 
-  exec ../bin/fitobj2.lin64 plx -Nstars $1 -foutliers $2 > test.plx.dat
-  checkstats test.plx.dat
+  $Nmin:pos = 1
+  $Nmin:pm  = 5
+  $Nmin:plx = 7
+
+  foreach mode pos pm plx
+    exec ../bin/fitobj2.lin64 $mode -Nstars $1 -foutliers $2 -Nminpoints $Nmin:$mode > test.$mode.dat
+    checkstats test.$mode.dat $mode
+  end
 end
 
@@ -58,11 +80,5 @@
   foreach mode pos pm plx
     exec ../bin/fitobj.lin64 $mode > test.$mode.dat
-    if ("$mode" == "plx")
-      echo "is plx"
-      reload test.$mode.dat 1
-    else
-      reload test.$mode.dat 0
-    end
-
+    checkstats.obj test.$mode.dat $mode
     fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
   end
@@ -108,5 +124,5 @@
   data $1
   if ($2)
-    # read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
+    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
     read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
   else
@@ -145,14 +161,20 @@
 end
 
-macro teststats
-  if ($0 != 2)
-    echo "USAGE: teststats (file)"
+macro checkstats.obj
+  if ($0 != 3)
+    echo "USAGE: checkstats.obj (file) (mode)"
     break
   end
 
   data $1
-  read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
-  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
-  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
+  if ("$2" == "pos")
+    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
+  end
+  if ("$2" == "pm")
+    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 23
+  end
+  if ("$2" == "plx")
+    read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
+  end
 
   foreach f R D uD uR P
@@ -185,47 +207,27 @@
   # echo chisq
   vstat -q chisq; $mean_chisq = $MEAN
-
-  fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
-
-end
-
-macro checkstats
-  if ($0 != 2) 
-    echo "USAGE: checkstats (file)"
-    break
-  end
-
-  teststats $1
-  
-  delete dRbin oRbin
-  for i 0 100
-    subset tmp = dRf if (Npts == $i)
-    vstat tmp -q
-    concat $SIGMA dRbin
-    concat $MEAN oRbin
-  end
-
-  create n 0 dRbin[]
-  set dRmod = 0.010 / sqrt (n)
-  lim n -0.001 0.015; clear; box; plot n dRbin
-  plot -c red -pt 7 n dRmod
-end
-
-macro load.stack
-  if ($0 != 2) 
-    echo "USAGE: load.stack (file)"
+end
+
+macro teststats
+  if ($0 != 3)
+    echo "USAGE: teststats (file) (mode)"
     break
   end
 
   data $1
-  read Npts 1 Nout 2 Nstk 3 Ro 4 Do 5 uRo 6 uDo 7 Po 8 Rx 10 Dx 11 uRx 12 uDx 3 Px 14 Tx 16 dRo 18 dDo 19 duRo 20 duDo 21 dPo 22 Nfit 23 Rstk 25 Dstk 26 dRstk 27 dDstk 28 chisq 32
-  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
-  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
-
-  foreach f uD uR P
+
+  if ("$2" == "pos")
+    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 24
+  end
+  if ("$2" == "pm")
+    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 25
+  end
+  if ("$2" == "plx")
+    read Npts 1 Nout 2 Ro 3 Do 4 uRo 5 uDo 6 Po 7 Rx 9 Dx 10 uRx 11 uDx 12 Px 13 Tx 15 dRo 17 dDo 18 duRo 19 duDo 20 dPo 21 Nfit 22 chisq 26
+  end
+
+  foreach f R D uD uR P
     set d$f = $f\o - $f\x
   end
-  set sdR = 3600*(Ro - Rstk)*dcos(Do)
-  set sdD = 3600*(Do - Dstk)
 
   set Rf = Rx - uRx*(Tx - $Tref)/3600.0/dcos(Dx)
@@ -242,7 +244,4 @@
   vstat -q dP ;  $value_dP  =  $SIGMA*1000
 
-  vstat -q sdR;  $value_sdR =  $SIGMA*1000
-  vstat -q sdD;  $value_sdD =  $SIGMA*1000
-
   # echo "fit errors"
   vstat -q dRo;  $value_dRo  = $MEAN*1000; $sigma_dRo  = $SIGMA*1000
@@ -259,6 +258,78 @@
 
   fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
+
+end
+
+macro checkstats
+  if ($0 != 3) 
+    echo "USAGE: checkstats (file) (mode)"
+    break
+  end
+
+  teststats $1 $2
   
-  delete dRbin oRbin
+  delete -q dRbin oRbin
+  for i 0 100
+    subset tmp = dRf if (Npts == $i)
+    vstat tmp -q
+    concat $SIGMA dRbin
+    concat $MEAN oRbin
+  end
+
+  create n 0 dRbin[]
+  set dRmod = 0.010 / sqrt (n)
+  lim n -0.001 0.015; clear; box; plot n dRbin
+  plot -c red -pt 7 n dRmod
+end
+
+macro load.stack
+  if ($0 != 2) 
+    echo "USAGE: load.stack (file)"
+    break
+  end
+
+  data $1
+  read Npts 1 Nout 2 Nstk 3 Ro 4 Do 5 uRo 6 uDo 7 Po 8 Rx 10 Dx 11 uRx 12 uDx 3 Px 14 Tx 16 dRo 18 dDo 19 duRo 20 duDo 21 dPo 22 Nfit 23 Rstk 25 Dstk 26 dRstk 27 dDstk 28 chisq 32
+  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 24
+  # read Ro 1 Do 2 uRo 3 uDo 4 Po 5 Rx 7 Dx 8 uRx 9 uDx 10 Px 11 Tx 13 dRo 15 dDo 16 duRo 17 duDo 18 dPo 19 Nfit 20 chisq 22
+
+  foreach f uD uR P
+    set d$f = $f\o - $f\x
+  end
+  set sdR = 3600*(Ro - Rstk)*dcos(Do)
+  set sdD = 3600*(Do - Dstk)
+
+  set Rf = Rx - uRx*(Tx - $Tref)/3600.0/dcos(Dx)
+  set Df = Dx - uDx*(Tx - $Tref)/3600.0
+
+  set dRf = 3600*(Ro - Rf)*dcos(Dx)
+  set dDf = 3600*(Do - Df) 
+
+  # echo "fit scatter"
+  vstat -q dRf;  $value_dRf =  $SIGMA*1000
+  vstat -q dDf;  $value_dDf =  $SIGMA*1000
+  vstat -q duR;  $value_duR =  $SIGMA*1000
+  vstat -q duD;  $value_duD =  $SIGMA*1000
+  vstat -q dP ;  $value_dP  =  $SIGMA*1000
+
+  vstat -q sdR;  $value_sdR =  $SIGMA*1000
+  vstat -q sdD;  $value_sdD =  $SIGMA*1000
+
+  # echo "fit errors"
+  vstat -q dRo;  $value_dRo  = $MEAN*1000; $sigma_dRo  = $SIGMA*1000
+  vstat -q dDo;  $value_dDo  = $MEAN*1000; $sigma_dDo  = $SIGMA*1000
+  vstat -q duRo; $value_duRo = $MEAN*1000; $sigma_duRo = $SIGMA*1000
+  vstat -q duDo; $value_duDo = $MEAN*1000; $sigma_duDo = $SIGMA*1000
+  vstat -q dPo ; $value_dPo  = $MEAN*1000; $sigma_dPo  = $SIGMA*1000
+
+  # echo "Nfit"
+  vstat -q Nfit; $mean_Nfit = $MEAN
+
+  # echo chisq
+  vstat -q chisq; $mean_chisq = $MEAN
+
+  fprintf "%5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %5.2f %5.2f %5.2f %5.2f %5.2f : %6.2f %5.2f" $value_dRf $value_dDf $value_duR $value_duD $value_dP $value_dRo $value_dDo $value_duRo $value_duDo $value_dPo $sigma_dRo $sigma_dDo $sigma_duRo $sigma_duDo $sigma_dPo $mean_Nfit $mean_chisq
+  
+  delete -q dRbin oRbin
   for i 0 100
     subset tmp = dRf if (Npts == $i)
