Skip to content
Snippets Groups Projects
Commit 2c41064b authored by Marc Pelizaeus's avatar Marc Pelizaeus
Browse files

Add scripts for job control

parent 5a9b824a
No related branches found
No related tags found
No related merge requests found
$MYPACKAGE/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp -c MassIndep.cfg --mode dumpDefaultParams
cp defaultparams.dat startParams.dat
set list = `grep enableHyp MassIndep.cfg|awk '{print $3}'| sed -e 's/Hyp//'`
foreach hypo ( $list )
grep -i $hypo startParams.dat | grep -v Gam | grep J | sort | awk '{print "mnParFix = "$1}'
end
#$MYPACKAGE/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp -c MassIndep.cfg --mode dumpDefaultParams
#cp defaultparams.dat startParams.dat
set list = `grep enableHyp MassIndep.cfg|awk '{print $3}'| sed -e 's/Hyp//'`
foreach hypo ( $list )
grep -i $hypo startParams.dat | grep -v Gam | grep J | sort | awk '{print "mnParFix = "$1}'
end
#!/usr/bin/perl -w
use strict;
sub sortParams {
my $a = $_[0];
my $b = $_[1];
my %dlsa = decayLS($a);
my %dlsb = decayLS($b);
if($dlsa{"state"} eq $dlsb{"state"} && $dlsa{"prod"} eq $dlsb{"prod"}){
if($dlsa{"S"} <=> $dlsb{"S"} ){ return ($dlsa{"S"} <=> $dlsb{"S"}) };
if($dlsa{"L"} <=> $dlsb{"L"} ){ return ($dlsa{"L"} <=> $dlsb{"L"}) };
}
if( $dlsa{"state"} eq $dlsb{"state"} && $dlsa{"prod"} <=> $dlsb{"prod"} ) {return -($dlsa{"prod"} <=> $dlsb{"prod"})};
return ($dlsa{"state"} cmp $dlsb{"state"} );
}
sub decayLS {
my $pname = $_[0];
my %dls;
if($pname=~/L(.)S(.)/){
$dls{"L"}=$1;
$dls{"S"}=$2;
}
if($pname=~/PsiTo(.+)Gam/){
$dls{"state"} = $1;
$dls{"prod"} = 1;
}
if($pname=~/S.(.+)ToPhiPhi/){
$dls{"state"} = $1;
$dls{"prod"} = 0;
}
return %dls;
}
my %params;
my $resultFile = $ARGV[0];
open(FILE, $resultFile);
foreach my $line(<FILE>){
chomp $line;
if($line=~ /(^J.+)\t(.+)\t(.+)/){
my $parname =$1;
my $parval = $2;
my $parerr = $3;
my $pair = [];
push @$pair, $parval;
push @$pair, $parerr;
$params{$parname} = $pair;
}
}
close FILE;
open TEX, ">tmp.tex";
print TEX "\\documentclass{article}\n";
print TEX "\\begin{document}\n";
print TEX "\\begin{verbatim}$resultFile\\end{verbatim}\n\n";
print TEX "\\begin{table}\n";
print TEX "\\begin{tabular}{l|l|l|l|l}\n";
print TEX "Ampl. & M & dM & Phi & dPhi \\\\ \n";
foreach my $parname( sort {sortParams($a,$b)} (keys %params) ){
next if( !($parname=~/Mag/) );
my $magName = $parname;
my $phiName = $parname;
my $name = $parname;
my %dls = decayLS($parname);
$name=~s/Mag//;
$phiName=~s/Mag/Phi/;
my $mag = $params{$magName}[0];
my $magErr = $params{$magName}[1];
my $phi = $params{$phiName}[0];
my $phiErr = $params{$phiName}[1];
my $tname = $dls{"state"} ." (L=" .$dls{"L"} ." S=" .$dls{"S"} .") " .$dls{"prod"};
my $ls = "(L=" .$dls{"L"} ." S=" .$dls{"S"} .")";
my $pflag="D";
if($dls{"prod"}){$pflag="P"};
$tname = sprintf("%6s %s %s",$dls{"state"},$pflag, $ls);
printf("%s\t%.3f\t%.3f\t%.3f\t%.3f\n", $tname, $mag, $magErr, $phi, $phiErr);
printf TEX ("%s&%.3f&%.3f&%.3f&%.3f\\\\\n", $tname, $mag, $magErr, $phi, $phiErr);
}
print TEX "\\end{tabular}\n\\end{table}\n\\end{document}\n";
close TEX;
system("pdflatex tmp.tex; cp tmp.pdf ~/WWW/d0.pdf");
#!/bin/tcsh
set package = /data/sleipnir1/marc/PawianPhase/Pawian/Examples/JpsiGamKsKlKK/
set singleFiles = "components.pdf"
foreach dir (`find -type d -name "????"|sort`)
if (! (-e $dir/finalResult.dat )) then
echo No final result for directory $dir
continue
endif
echo $dir
cd $dir
set singleFiles = "$singleFiles $dir/tmp.pdf $dir/qaPlots.ps"
#$package/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp -c MassIndep.cfg --paramFile finalResult.dat --mode qaMode
$package/scripts/makeTexTable.pl ../$dir/finalResult.dat
root -b -q -x $package/plotQA.C
rm tmp.aux tmp.tex tmp.log
cd ..
end
rm MassIndep.root
find -name "*.root" | xargs -n10 hadd -f MassIndep.root
root -b -q -x $package'/plotMassIndep.C+("MassIndep.root")'
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=FitResultsQa.pdf $singleFiles
#!/bin/tcsh
set package = /data/sleipnir1/marc/PawianPhase/Pawian/Examples/JpsiGamKsKlKK/
set singleFiles = "components.pdf"
foreach dir (`find -type d -name "????"|sort`)
if (! (-e $dir/finalResult.dat )) then
echo No final result for directory $dir
continue
endif
echo $dir
cd $dir
set singleFiles = "$singleFiles $dir/tmp.pdf $dir/qaPlots.ps"
//$package/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp -c MassIndep.cfg --paramFile finalResult.dat --mode qaMode
$package/scripts/makeTexTable.pl ../$dir/finalResult.dat
root -b -q -x $package/plotQA.C
rm tmp.aux tmp.tex tmp.log
cd ..
end
rm MassIndep.root
find -name "*.root" | xargs -n10 hadd -f MassIndep.root
root -b -q -x $package'/plotMassIndep.C+("MassIndep.root")'
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=FitResultsQa.pdf $singleFiles
#!/usr/bin/perl -w
use strict;
use File::Basename;
my $baseDir = $ARGV[0];
my $templConfig = $baseDir."/MassIndep.cfg";
my $templStart = $baseDir."/startParams.dat";
my $queue="pwa";
my $app = "/data/sleipnir1/marc/PawianPhase/Pawian/Examples/JpsiGamKsKlKK/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp";
my $newConfig = `cat $templConfig`;
my $massMin=2.05;
my $binWidth=0.1;
my $nbins=10;
my $bin=0;
while($bin<$nbins){
my $rangeMin=$massMin+$bin*$binWidth;
my $rangeMax = $rangeMin+$binWidth;
my $rangeMean = sprintf("%.0f",($rangeMin+0.5*$binWidth)*1000);
my $fitDir = $baseDir."/" .$rangeMean;
my $fitConfig = $fitDir ."/" .basename($templConfig);
my $fitStart = $fitDir ."/" .basename($templStart);
if(! (-e $fitDir)) {system("mkdir $fitDir");}
open CONF, ">$fitConfig";
foreach my $line(split "\n", $newConfig){
if($line=~/massRangeMin/){
print CONF "massRangeMin = $rangeMin\n";
next; #line
}
if($line=~/massRangeMax/){
print CONF "massRangeMax = $rangeMax\n";
next; #line
}
if($line=~/paramFile/){
print CONF "paramFile = $fitStart\n";
next; #line
}
print CONF $line ."\n";
}
close CONF;
system("cp $templStart $fitDir/");
chdir($fitDir);
my $cmd = "bsub -q $queue -o $fitDir/batch.log \"$app -c $fitConfig --mode pwa >&! $fitDir/fit.log\"";
print $cmd."\n";
system($cmd);
chdir("-");
$bin++;
}
#!/usr/bin/perl -w
use strict;
use File::Basename;
my $baseDir = $ARGV[0];
my $templConfig = $baseDir."/MassIndep.cfg";
my $templStart = $baseDir."/startParams.dat";
my $queue="pwa";
my $app = "/data/sleipnir1/marc/PawianPhase/Pawian/Examples/JpsiGamKsKlKK/bin/gcc-4.1.2/release/link-static/MJpsiGamKlKsKKApp";
my $newConfig = `cat $templConfig`;
my $massMin=2.05;
my $binWidth=0.1;
my $nbins=10;
my $bin=0;
while($bin<$nbins){
my $rangeMin=$massMin+$bin*$binWidth;
my $rangeMax = $rangeMin+$binWidth;
my $rangeMean = sprintf("%.0f",($rangeMin+0.5*$binWidth)*1000);
my $fitDir = $baseDir."/" .$rangeMean;
my $fitConfig = $fitDir ."/" .basename($templConfig);
my $fitStart = $fitDir ."/" .basename($templStart);
if(! (-e $fitDir)) {system("mkdir $fitDir");}
open CONF, ">$fitConfig";
foreach my $line(split "\n", $newConfig){
if($line=~/massRangeMin/){
print CONF "massRangeMin = $rangeMin\n";
next; #line
}
if($line=~/massRangeMax/){
print CONF "massRangeMax = $rangeMax\n";
next; #line
}
if($line=~/paramFile/){
print CONF "paramFile = $fitStart\n";
next; #line
}
print CONF $line ."\n";
}
close CONF;
system("cp $templStart $fitDir/");
chdir($fitDir);
my $cmd = "bsub -q $queue -o $fitDir/batch.log \"$app -c $fitConfig --mode pwa >&! $fitDir/fit.log\"";
print $cmd."\n";
#system($cmd);
chdir("-");
$bin++;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment