20 |
|
my @weights; |
21 |
|
my $nGoodJobs = 0; |
22 |
|
my $nBadJobs = 0; |
23 |
+ |
my $nIncompleteJobs = 0; |
24 |
|
my $counting = 0; |
25 |
|
my %exitCodes; |
26 |
|
my %signals; |
27 |
+ |
my %partial; |
28 |
|
my %crossSections; |
29 |
|
my %dirs; |
30 |
|
my $integratedLuminosity = 10000; |
54 |
|
$exitCodes{$dir}{$jobNumber} = $fileContents; |
55 |
|
$counting = 1; |
56 |
|
} |
57 |
< |
if ($fileContents =~ m/signal/) |
57 |
> |
elsif ($fileContents =~ m/signal/) |
58 |
|
{ |
59 |
|
$fileContents =~ s/.*\(signal ([^)]*)\).*/$1/g; |
60 |
|
$nBadJobs++; |
62 |
|
$signals{$dir}{$jobNumber} = $fileContents; |
63 |
|
$counting = 1; |
64 |
|
} |
65 |
+ |
else |
66 |
+ |
{ |
67 |
+ |
$nIncompleteJobs++; |
68 |
+ |
$partial{$dir}{$jobNumber} = 1; |
69 |
+ |
} |
70 |
|
} |
71 |
|
if ($file =~ m/^.*\/crossSectionInPicobarn\.txt$/) |
72 |
|
{ |
87 |
|
{ |
88 |
|
my $jobNumber = $file; |
89 |
|
$jobNumber =~ s/^.*_([^_]*)\.root$/$1/; |
90 |
< |
$badJob = defined $signals{$dir} && defined $signals{$dir}{$jobNumber}; |
90 |
> |
$badJob = (defined $signals{$dir} && defined $signals{$dir}{$jobNumber}) || (defined $partial{$dir} && defined $partial{$dir}{$jobNumber}); |
91 |
|
} |
92 |
|
next if $badJob; |
93 |
|
if ($file =~ m/^.*\.root$/) |
149 |
|
my $goodEvents = countEvents ("$opt{'prefix'}.root", $cutFlow); |
150 |
|
print "$nGoodJobs jobs ran successfully over $nTotalEvents ($goodEvents weighted) events.\n" if $counting; |
151 |
|
print "$nBadJobs jobs failed to run.\n" if $counting; |
152 |
+ |
print "$nIncompleteJobs jobs have not finished.\n" if $counting; |
153 |
|
|
154 |
|
sub |
155 |
|
processArgs |