Index: trunk/ippScripts/scripts/detrend_reject_imfile.pl
===================================================================
--- trunk/ippScripts/scripts/detrend_reject_imfile.pl	(revision 12671)
+++ trunk/ippScripts/scripts/detrend_reject_imfile.pl	(revision 12672)
@@ -115,4 +115,5 @@
 my @variances;			# Array of variances
 my @meanStdevs;			# Array of mean stdevs
+my @names;			# Array of names (class_id)
 open my $list1File, '>' . $list1Name;
 open my $list2File, '>' . $list2Name;
@@ -125,5 +126,5 @@
     ## calculate the root-mean-square of the bd_stdevs
     push @variances, $file->{bg_stdev}*$file->{bg_stdev};
-
+    push @names, $file->{class_id};
 }
 close $list1File;
@@ -172,4 +173,10 @@
 my $reject_exp_sn           = rejection_limit( 'EXP.SN',           $det_type, $filter );
 
+my $logName = "$exp_tag.detreject.$det_id.$iter.log"; # Name for log
+my $logFile;
+unless ($no_op) {
+    open $logFile, "> $logName" or &my_die("Unable to open log file $logName", $det_id, $iter, $exp_tag, $PS_EXIT_SYS_ERROR);
+}
+
 # Reject based on the stats of the imfiles
 # it is VALID to reject on more than one criterion
@@ -179,4 +186,5 @@
     $mean -= $expected;
     my $stdev = sqrt($variances[$i]);	# Stdev for this imfile
+    my $name = $names[$i];
 
     last if $no_op;
@@ -184,41 +192,37 @@
     if ($reject_imfile_mean) {
 	if (abs($mean) > $reject_imfile_mean * $stdev) {
-	    print "Rejecting exposure based on bad imfile mean for imfile $i: " .
+	    print $logFile "Rejecting exposure based on bad imfile mean for $name: " .
 		$mean . " vs " . $reject_imfile_mean . "\n";
 	    $reject = 1;
-	    last;
 	}
     }  else {
-	print "no rejection for imfile mean\n";
+	print "No rejection on imfile mean for $name\n";
     }
     if ($reject_imfile_stdev) {
 	if ($stdev > $reject_imfile_stdev) {
-	    print "Rejecting exposure based on bad imfile stdev for imfile $i: " .
+	    print $logFile "Rejecting exposure based on bad imfile stdev for $name: " .
 		$stdev . " vs " . $reject_imfile_stdev . "\n";
 	    $reject = 1;
-	    last;
-	}
-    } else {
-	print "no rejection for imfile stdev\n";
+	}
+    } else {
+	print "No rejection on imfile stdev for $name\n";
     }
     if ($reject_imfile_meanstdev) {
 	if ($meanStdevs[$i] > $reject_imfile_meanstdev) {
-	    print "Rejecting exposure based on bad imfile mean stdev for imfile $i: " .
+	    print $logFile "Rejecting exposure based on bad imfile mean stdev for $name: " .
 		$meanStdevs[$i] . " vs " . $reject_imfile_meanstdev . "\n";
 	    $reject = 1;
-	    last;
-	}
-    } else {
-	print "no rejection for imfile mean stdev\n";
+	}
+    } else {
+	print "No rejection on imfile mean stdev for $name\n";
     }
     if ($reject_imfile_sn) {
 	if ($mean < $stdev * $reject_imfile_sn) {
-	    print "Rejecting exposure based on bad imfile S/N for imfile $i: \n";
-	    print "mean: " . $mean . " vs " . "stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n";
-	    $reject = 1;
-	    last;
-	}
-    } else {
-	print "no rejection for imfile S/N\n";
+	    print $logFile "Rejecting exposure based on bad imfile S/N for $name: ";
+	    print $logFile "mean: " . $mean . " vs " . "stdev*SNlimit: " . $stdev * $reject_imfile_sn . "\n";
+	    $reject = 1;
+	}
+    } else {
+	print "No rejection on imfile S/N for $name\n";
     }
 }
@@ -240,5 +244,7 @@
 if ($stdev > 0) { $exp_sn = $mean / $stdev; }
 
-print "exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n";
+unless ($no_op) {
+    print $logFile "Exposure mean $mean, stdev $stdev, mean stdev $meanStdev, exp s/n: $exp_sn\n";
+}
 
 ## Reject based on the exposure ensemble stats
@@ -247,41 +253,45 @@
     if ($reject_exp_mean) {
 	if (abs($mean) > $reject_exp_mean * $stdev) {
-	    print "Rejecting exposure based on bad mean: \n";
-	    print "mean: $mean, stdev: $stdev (limit is: % $reject_exp_mean\n";
+	    print $logFile "Rejecting exposure based on bad mean: \n";
+	    print $logFile "mean: $mean, stdev: $stdev (limit is: % $reject_exp_mean\n";
 	    $reject = 1;
 	} 
     } else {
-	print "no rejection for exp mean\n";
+	print $logFile "No rejection for exp mean\n";
     }
     # reject if the exposure ensemble stdev is deviant
     if ($reject_exp_stdev) {
 	if ($stdev > $reject_exp_stdev) {
-	    print "Rejecting exposure based on bad stdev: " . $stdev . " vs " .
+	    print $logFile "Rejecting exposure based on bad stdev: " . $stdev . " vs " .
 		$reject_exp_stdev . "\n";
 	    $reject = 1;
 	}
     } else {
-	print "no rejection for exp stdev\n";
+	print $logFile "No rejection for exp stdev\n";
     }
     # reject if the exposure ensemble mean stdev is deviant
     if ($reject_exp_meanstdev) {
 	if ($meanStdev > $reject_exp_meanstdev) {
-	    print "Rejecting exposure based on bad mean stdev: " . $meanStdev . " vs " .
+	    print $logFile "Rejecting exposure based on bad mean stdev: " . $meanStdev . " vs " .
 		$reject_exp_meanstdev . "\n";
 	    $reject = 1;
 	}
     } else {
-	print "no rejection for exp mean stdev\n";
+	print $logFile "No rejection for exp mean stdev\n";
     }
     # reject if the signal-to-noise is insufficient
     if ($reject_exp_sn) {
 	if (abs($mean) < abs($stdev * $reject_exp_sn)) {
-	    print "Rejecting exposure based on poor S/N: \n";
-	    print "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n";
-	    $reject = 1;
-	}
-    } else {
-	print "no rejection for exp S/N\n";
-    }
+	    print $logFile "Rejecting exposure based on poor S/N: \n";
+	    print $logFile "signal: $mean vs noise: $stdev (s/n limit is: $reject_exp_sn)\n";
+	    $reject = 1;
+	}
+    } else {
+	print $logFile "No rejection for exp S/N\n";
+    }
+}
+
+unless ($no_op) {
+    close $logFile;
 }
 
