aboutsummaryrefslogtreecommitdiff
path: root/scripts/double-hit
blob: a3d4eb07499063f8956e502c7306f5ba9314ece6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/perl -w

use strict;
use File::Basename;

open(FH, $ARGV[0]);
open(OFH, "> doublehit.dat");

my $line;
my $filename;

while ( $line = <FH> ) {

	if ( $line =~ /^Reflections\ from\ indexing\ in\ (.+)$/ ) {
		$filename = basename($1);
	}

	if ( $line =~ /^Peak\ statistics:\ (\d+)\ .*\ (\d+)\ .*\ (\d+)\ / ) {

		my $found = $1;
		my $close = $2;
		my $hits = $3;

		$filename =~ /LCLS_(\d+)_([A-Za-z]+)(\d+)_r\d+_(\d+)_/;
		my $year = $1;
		my $month = $2;
		my $day = $3;
		my $time = $4;

		# Yeah, I know.
		if ( $month eq "Jan" ) { $month = "01"; }
		if ( $month eq "Feb" ) { $month = "02"; }
		if ( $month eq "Mar" ) { $month = "03"; }
		if ( $month eq "Apr" ) { $month = "04"; }
		if ( $month eq "May" ) { $month = "05"; }
		if ( $month eq "Jun" ) { $month = "06"; }
		if ( $month eq "Jul" ) { $month = "07"; }
		if ( $month eq "Aug" ) { $month = "08"; }
		if ( $month eq "Sep" ) { $month = "09"; }
		if ( $month eq "Oct" ) { $month = "10"; }
		if ( $month eq "Nov" ) { $month = "11"; }
		if ( $month eq "Dec" ) { $month = "12"; }

		my $div;

		if ( $close > 0 ) {
			$div = $found / $close;
		} else {
			$div = 0.0;
		}

		printf(OFH "%s%s%s%s %f\n", $year, $month, $day, $time,
		                            $div);
	}

}

close(FH);
close(OFH);

open(GP, "| gnuplot");
printf(GP "set term postscript enhanced font \"Helvetica,20\"\n");
printf(GP "set output \"doublehit.ps\"\n");
printf(GP "set xtics nomirror out rotate by -60\n");
print(GP "set format x \"%15.0f\"\n");
printf(GP "unset key\n");
printf(GP "plot [] [1:4] \"doublehit.dat\" u 1:2 w points\n");
close(GP);

system("ps2pdf doublehit.ps");
unlink("doublehit.dat");
unlink("doublehit.ps");