#!/usr/bin/perl

$rc = `fgrep "COMP = KELLY" ~/reacsource/NORED/*.dat`;
@rc=split/\n/,$rc;
print "$#rc\n";
$last="";
$REAC[1]="PI\\+ P --> PI\\+ P";
$REAC[2]="PI- P --> PI- P";
$REAC[3]="PI- P --> PI0 N";
$OBS[1]="POL";
$OBS[2]="SIG";
$OBS[3]="DSIG/DOMEGA";
foreach $r (1...3){
foreach $o (1...3){
$dir="output$r$o";
$html="/var/www/docs/kelly$r$o.html";
#$mk = `mkdir $dir`;
mkdir $dir;
open OUTPUT,">$dir/list";
open HTML,">$html";
print HTML "<html>\n";
print HTML "<body>\n";
print HTML "<a href='kelly11.html'>kelly11</a>, \n";
print HTML "<a href='kelly12.html'>kelly12</a>, \n";
print HTML "<a href='kelly13.html'>kelly13</a><br/> \n";
print HTML "<a href='kelly21.html'>kelly21</a>, \n";
print HTML "<a href='kelly22.html'>kelly22</a>, \n";
print HTML "<a href='kelly23.html'>kelly23</a><br\>\n";
print HTML "<a href='kelly31.html'>kelly31</a>, \n";
print HTML "<a href='kelly32.html'>kelly32</a>, \n";
print HTML "<a href='kelly33.html'>kelly33</a><br\>\n";
print HTML "<b>$REAC[$r]</b><br>\n";
print HTML "<b>$OBS[$o]</b><br>\n";
print HTML "<table border='1'>\n";
print HTML "<tr><th>File</th><th>NAME</th><th>REFERENCE</th></tr>\n";
foreach $n (1...$#rc){
    ($file,$dummy)=split/:/,$rc[$n];
    @name=split/\//,$file;
    $name=$name[$#name];
    ($shortname,$dummy)=split/\./,$name;    
    open INPUT,"<$file";
    $wantre="no";
    $wantob="no";
    while ($line=<INPUT>){
        if($line=~m/^OBS/){
            $line=~s/\(//g;
            $line=~s/\)//g;
        }
        if($line=~m/RE = $REAC[$r]/) { $wantre="yes";}
        if($line=~m/OBS = $OBS[$o]/) {  $wantob="yes";}
    }
    close INPUT;
    $wantre="yes";
    $wantob="yes";
    if($wantre eq "yes" && $wantob eq "yes"){
        print OUTPUT "\n$n $name ";
        open INPUT,"<$file";
        $dataset=0;
        while($line=<INPUT>){
            chomp $line;
            $oline=$line;
            $line=~s/;//g;

            if($line=~m/^SC =/){
                $line=~s/SC = //;
                print OUTPUT "$line";
                $sc = $line;
                print HTML "<tr><td>($n) $name</td><td>$line</td>\n";
            } 
            elsif($line=~m/^R =/){
                ($ref,$type,$date)=split/\s*;\s*/,$oline;
                $ref=~s/R = //;
                $type=~s/TY = //;
                $date=~s/D = //;
                print OUTPUT "\t$ref\t$type\t$date";
                print HTML "<td>$ref</td>\n";
                $ref =~ s/,\s+/,/g;
                $db=`echo "select p.InspireId,p.RedId,p.HepdataId \
                          from Papers p, PaperRefs pr \
                          where p.PAPER_ID=pr.PAPER_ID \
                          and   pr.Description like '$ref'" | mysql hepdata`;
                undef @db;
                @db=split/\n/,$db;          
                if($#db==1) { 
                    print OUTPUT "\t$#db\t$db[1]"; 
                    print HTML "<td>$db[1]</td>"; 
                } 
                else {
                    print HTML "<td>-</td>"; 
                }
                print OUTPUT "\n";
            }
            elsif($line=~m/^CR =/){
                $comment=$line;
                until ( $line eq "TABLE;" || $line eq "SYSTEMATICS;") {
                    $line=<INPUT>;
                    chomp $line;
                    if($line ne "TABLE;" && $line ne "SYSTEMATICS;") { 
                        $comment=$comment.$line;
                    }
                }
                @comment=split/\/\/\//,$comment;
                foreach $n (1...$#comment){
 #                   print"($n) $comment[$n]\n";
                } 
            }
            elsif($line=~m/^RE =/){
                ($dummy,$reac)=split/\s*=\s*/,$line;
                print OUTPUT "$reac";
            }
            elsif($line=~m/^OBS =/){
                ($dummy,$obs)=split/\s*=\s*/,$line;
                print OUTPUT "\t$obs";
            }
            elsif($line=~m/^PLAB =/){
                ($dummy,$plab)=split/\s*=\s*/,$line;
                ($lower,$upper)=split/,/,$plab;
                if($upper == $lower) {
                    $lower=1000*$lower; 
                    printf OUTPUT "\t%0.1f MeV/c",$lower; 
                    $dataset++;
        #            printf HTML "<td><font size='-2'><a href='kelly/output$r$o/$shortname$dataset.dat'>%0.1f</a></font></td>",$lower; 
                }
                else{ print OUTPUT "\t$plab"; }
            }
            elsif($line=~m/^PLAB. =/){
                ($dummy,$plab)=split/\s*=\s*/,$line;
                ($lower,$upper)=split/,/,$plab;
                if($upper == $lower) {
                    $lower=1000*$lower; 
                    printf OUTPUT "\t%0.1f",$lower; 
                }
                else{ print OUTPUT "\t$plab"; }
            }
            elsif($line=~m/^N = YN/) {
                @yname=split/\s*=\s*/,$line;
                $yname=$yname[$#yname];
            }
            elsif($line=~m/^\*F/) {
               # $dataset++;
                ($dummy,$xname) = split/\s*=\s*/,$last;
                print OUTPUT "\t$xname v $yname";
                $count=0;
                open DATASET,">$dir/$shortname$dataset.dat";
                print DATASET "file $name dataset $dataset\n";

                print DATASET "$reac\n";
                print DATASET "$obs\n";
                print DATASET "$lower MeV/c\n";
                print DATASET "$sc $ref $type $date\n";
                print DATASET "$yname as a function of $xname\n";
                until($line eq "*CF *"){
                    $line=<INPUT>;
                    chomp $line;
                    if($line ne "*CF *" ) { print DATASET "$line\n"; }
                    $count++;
                }
                $count--;
                print OUTPUT "\t($count)";
                print OUTPUT "\n";
            }
     #       if($line=~m/^N =/){ print "$line\n";}
            $last=$line;
        }
    }
}
close OUTPUT;
print HTML "</table>\n";
print HTML "</body>\n";
print HTML "</html>\n";
close HTML;
}
}

exit()
