#!/usr/bin/perl -w use strict; use File::Basename; open(FH, $ARGV[0]); open(OFH, "> doublehit.dat"); my $line; my $filename; my $full_filename; while ( $line = ) { if ( $line =~ /^Reflections\ from\ indexing\ in\ (.+)$/ ) { $full_filename = $1; $filename = basename($full_filename); } if ( $line =~ /^Peak\ statistics:\ (\d+)\ .*\ (\d+)\ .*\ (\d+)\ .*\ (\d+)\ / ) { my $foundclose = $1; my $found = $2; my $indclose = $3; my $hits = $3; $filename =~ /LCLS_(\d+)_([A-Za-z]+)(\d+)_r\d+_(\d\d)(\d\d)(\d\d)_/; my $year = $1; my $month = $2; my $day = $3; my $hour = $4; my $min = $5; my $sec = $6; my $div; if ( $foundclose > 0 ) { $div = $found / $foundclose; } else { $div = 0.0; } printf(OFH "%s/%s/%s-%s:%s:%s %f\n", $year, $month, $day, $hour, $min, $sec, $div); if ( $div > 4.0 ) { printf("Double hit: %s\n", $full_filename); } if ( $div == 1.0 ) { printf("Single hit: %s\n", $full_filename); } } } close(FH); close(OFH); open(GP, "| gnuplot"); print(GP "set term postscript enhanced font \"Helvetica,20\"\n"); print(GP "set output \"doublehit.ps\"\n"); print(GP "set xtics nomirror out rotate by -60\n"); print(GP "set xdata time\n"); print(GP "set timefmt \"%Y/%b/%d-%H:%M:%S\"\n"); print(GP "set format x \"%d/%b %H:%M\"\n"); print(GP "unset key\n"); print(GP "plot [] [0:5] \"doublehit.dat\" u 1:2 w points\n"); close(GP); system("ps2pdf doublehit.ps"); unlink("doublehit.dat"); unlink("doublehit.ps");