ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UfCode/UserArea/StatTools/gridCI.pl
Revision: 1.1
Committed: Wed Dec 8 10:57:12 2010 UTC (14 years, 4 months ago) by kkotov
Content type: application/x-perl
Branch: MAIN
CVS Tags: V2012-H-02, V2012-01-00, V2011-01-01, V2011-01-00, AnnaDimuon, V01-00-01, V01-00-00, HEAD
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/usr/bin/perl -w
2
3 use strict;
4 use POSIX ":sys_wait_h";
5
6 #my @free_nodes = ("localhots","localhots","localhots","localhots");
7 my @free_nodes = ("localhots");
8 my %busy_nodes = ();
9
10 my $mass_min = 1000;
11 my $mass_max = 2000;
12 my $mass_bins = 50;
13
14 my $lambda_min = 1000;
15 my $lambda_max = 2000;
16 my $lambda_bins = 50;
17
18 my $f = 1.;
19 my $fp = 1.;
20 my $fs = 1.;
21
22 for my $m (0..$mass_bins) {
23 for my $l (0..$lambda_bins) {
24
25 while( $#free_nodes < 0 ){
26 foreach my $pid (keys %busy_nodes){
27 if( waitpid($pid,WNOHANG)>0 ){
28 my $node = delete $busy_nodes{$pid};
29 push @free_nodes, $node;
30 }
31 }
32 sleep(1);
33 }
34
35 my $mass = $m*($mass_max -$mass_min )/$mass_bins + $mass_min;
36 my $lambda = $l*($lambda_max-$lambda_min)/$lambda_bins + $lambda_min;
37
38 my $host = pop @free_nodes;
39 my $pid = fork();
40 die "Can't fork process for m=$m l=$l fs=$fs" unless( defined($pid) );
41 $busy_nodes{$pid} = $host;
42
43 if( $pid==0 ){
44 exec "/raid/raid3/cms/kkotov/Pythia/qStarCI $lambda $mass $f $fp $fs > /raid/raid3/cms/kkotov/Pythia/xsecCI/$lambda\_$mass\_$fs.txt 2>&1";
45 }
46
47 }
48 }
49
50