#! /bin/sh # This is the LHEA perl script: /cvmfs/extras-fp7.egi.eu/extras/heasoft/ftools/x86_64-unknown-linux-gnu-libc2.19-0/bin/gisxspec # The purpose of this special block is to make this script work with # the user's local perl, regardless of where that perl is installed. # The variable LHEAPERL is set by the initialization script to # point to the local perl installation. #------------------------------------------------------------------------------- eval ' if [ "x$LHEAPERL" = x ]; then echo "Please run standard LHEA initialization before attempting to run /cvmfs/extras-fp7.egi.eu/extras/heasoft/ftools/x86_64-unknown-linux-gnu-libc2.19-0/bin/gisxspec." exit 3 elif [ "$LHEAPERL" = noperl ]; then echo "During LHEA initialization, no acceptable version of Perl was found." echo "Cannot execute script /cvmfs/extras-fp7.egi.eu/extras/heasoft/ftools/x86_64-unknown-linux-gnu-libc2.19-0/bin/gisxspec." exit 3 elif [ `$LHEAPERL -v < /dev/null 2> /dev/null | grep -ic "perl"` -eq 0 ]; then echo "LHEAPERL variable does not point to a usable perl." exit 3 else # Force Perl into 32-bit mode (to match the binaries) if necessary: if [ "x$HD_BUILD_ARCH_32_BIT" = xyes ]; then if [ `$LHEAPERL -V 2> /dev/null | grep -ic "USE_64_BIT"` -ne 0 ]; then VERSIONER_PERL_PREFER_32_BIT=yes export VERSIONER_PERL_PREFER_32_BIT fi fi exec $LHEAPERL -x $0 ${1+"$@"} fi ' if(0); # Do not delete anything above this comment from an installed LHEA script! #------------------------------------------------------------------------------- #!/usr/bin/perl ##!/usr1/local/bin/perl use Getopt::Std; use HEACORE::HEAINIT; use HEACORE::HEAUTILS; use HEACORE::PIL; getopt(); if (defined $opt_h) { print<comfile.xco"; print FD "\n"; print FD "set datadir ./\n"; foreach $file (@elist) { @tmplist = split(/\//,$file); $file =$tmplist[$#tmplist]; print FD "read events $file reset_miss=yes\n"; } @tmplist = split(/\//,$srcreg); $srcreg =$tmplist[$#tmplist]; print FD "filter region $srcreg \n"; print FD "extract spectrum \n"; print FD "save spectrum $g2srcpha group_spectrum=yes\n\n"; print FD "clear region\n\n"; if ( -e $backreg ) { @tmplist = split(/\//,$backreg); $backreg =$tmplist[$#tmplist]; print FD "filter region $backreg \n"; print FD "extract spectrum \n"; print FD "save spectrum $g2backpha group_spectrum=yes\n\n"; } print FD "quit \n\n\n"; close FD; if ( !($elist[0] =~ /^-$/ )) { print "Run xselect \@comfile "; system("xselect \@comfile"); } system ("rm -rf comfile.xco"); open FD,">comfile.xco"; print FD "\n"; print FD "set datadir ./\n"; foreach $file (@elist1) { @tmplist = split(/\//,$file); $file =$tmplist[$#tmplist]; print FD "read events $file reset_miss=yes\n"; } @tmplist = split(/\//,$srcreg); $srcreg =$tmplist[$#tmplist]; print FD "filter region $srcreg \n"; print FD "extract spectrum \n"; print FD "save spectrum $g3srcpha group_spectrum=yes\n\n"; print FD "clear region\n\n"; if ( -e $backreg ) { @tmplist = split(/\//,$backreg); $backreg =$tmplist[$#tmplist]; print FD "filter region $backreg \n"; print FD "extract spectrum \n"; print FD "save spectrum $g3backpha group_spectrum=yes\n\n"; } print FD "quit \n\n\n"; close FD; if (!($elist1[0] =~/^-$/) ) { print "Run xselect \@comfile "; system("xselect \@comfile"); } system ("rm -rf comfile.xco"); if( !($elist[0] =~ /^-$/)) { # system("echo \"$help\" |xpaset $pow helpPage"); print "Run ascaarf $g2srcpha CALDB '!$g2srcarf' yes yes\n"; system("ascaarf $g2srcpha CALDB '!$g2srcarf' yes yes"); system("fkeypar $g2srcarf\[1\] RESPFILE\n"); $g2srcrmf = `pquery fkeypar value`; $g2srcrmf =~ s/\'//g; chop ($g2srcrmf); system("cp $g2srcrmf $srcrmf"); } if( !($elist1[0] =~ /^-$/) ){ print "Run ascaarf $g3srcpha CALDB '!$g3srcarf' yes yes\n"; system("ascaarf $g3srcpha CALDB '!$g3srcarf' yes yes"); system("fkeypar $g3srcarf\[1\] RESPFILE\n"); $g3srcrmf = `pquery fkeypar value`; $g3srcrmf =~ s/\'//g; chop ($g3srcrmf); system("cp $g3srcrmf $srcrmf"); } system("rm -f list_file"); open FD,">list_file"; print FD "$g2srcpha $g3srcpha\n"; print FD "$g2backpha $g3backpha\n"; print FD "$g2srcarf $g3srcarf\n"; # print FD "$srcrmf $srcrmf\n"; close FD; if ( -e $srcpha) { system("rm -rf $srcpha"); } if ( -e $backpha) { system("rm -rf $backpha"); } if ( -e $srcarf) { system("rm -rf $srcarf"); } system("rm -rf tmp.pha"); system("rm -rf tmp1.pha"); if ( !($elist[0] =~ /^-$/) && !( $elist1[0] =~ /^-$/) ) { system("addascaspec list_file $srcpha $srcarf $backpha"); } elsif (!($elist[0] =~ /^-$/ )) { system ("cp -f $g2srcpha $srcpha"); system ("cp -f $g2srcarf $srcarf"); if ( -e $g2backpha ) { system ("cp -f $g2backpha $backpha"); } } elsif (!($elist1[0] =~ /^-$/) ) { system ("cp -f $g3srcpha $srcpha"); system ("cp -f $g3srcarf $srcarf"); if ( -e $g3backpha ) { system ("cp -f $g3backpha $backpha"); } } else { exit(0); } system("fcopy $srcpha tmp.pha"); system("fcopy $backpha tmp1.pha"); system("rm -rf $srcpha $backpha"); system("echo \"bad 0-59 848-1023 & exit\" |grppha tmp.pha $srcpha"); system("echo \"bad 0-59 848-1023 & exit\" |grppha tmp1.pha $backpha"); system("rm -rf tmp.pha tmp1.pha"); system("fparkey $srcrmf $srcpha\[1\] RESPFILE add=yes"); system("fparkey $srcarf $srcpha\[1\] ANCRFILE add=yes"); system("fparkey $backpha $srcpha\[1\] BACKFILE add=yes"); @tmplist = split(/\//,$srcpha); $srcpha = $tmplist[$#tmplist]; open FD,">comfile.xcm"; print FD "data $srcpha\n"; # if ( -e $$backpha ) { # print FD "backgrnd $backpha\n"; # } # if ( $elist[0] =~ /^-$/ ) { # print FD "response $g3srcrmf\n"; # } else { # print FD "response $g2srcrmf\n"; # } # if ( -e $srcrmf ) { # print "response $srcrmf\n"; # } # print FD "arf $srcarf\n"; print FD "show\n"; print FD "cpd $device \n\n"; print FD "ignore bad \n\n"; print FD "setplot energy \n\n"; print FD "plot data \n\n"; close FD; $helpfile ="$helpdir/gisxspec_1.html"; #system("cat \"$helpfile\" |xpaset $heraXPA helpPage 2>/dev/null"); system("echo $helpfile |xpaset $heraXPA helpPage 2>/dev/null"); print "Run xspec - comfile.xcm\n"; system("xspec - comfile.xcm"); # system ("rm -rf comfile.xcm $srcphafile $backphafile $srcarffile $tmpimgfile "); # system ("rm -rf comfile.xcm $srcphafile $backphafile $srcarffile $tmpimgfile "); system ("rm -rf comfile.xcm $tmpimgfile tmpimgfile1 tmpimgfile2 "); return 0; } sub gisxspec_getpar { if (PILGetString("g2elist",$g2elist)) { print "Error to get parameter \"g2list\"\n"; exit(-1); } if (PILGetString("g3elist",$g3elist)) { print "Error to get parameter \"g2list\"\n"; exit(-1); } if (PILGetString("xcol",$xcol)) { print "Error to get parameter \"xcol\"\n"; exit(-1); } if (PILGetString("ycol",$ycol)) { print "Error to get parameter \"ycol\"\n"; exit(-1); } if (PILGetString("ra",$ra)){ print "Error to get parameter \"ra\"\n"; exit(-1); } if (PILGetString("dec",$dec)){ print "Error to get parameter \"dec\"\n"; exit(-1); } if (PILGetString("radius",$radius)){ print "Error to get parameter \"radius\"\n"; exit(-1); } if (PILGetString("bin",$bin)){ print "Error to get parameter \"bin\"\n"; exit(-1); } if (PILGetString("srcregfile",$srcreg)){ print "Error to get parameter \"srcreg\"\n"; exit(-1); } if (PILGetString("backregfile",$backreg)){ print "Error to get parameter \"backreg\"\n"; exit(-1); } if (PILGetString("srcpha",$srcpha)){ print "Error to get parameter \"srcpha\"\n"; exit(-1); } if (PILGetString("backpha",$backpha)){ print "Error to get parameter \"backphafile\"\n"; exit(-1); } if (PILGetString("srcarf",$srcarf)){ print "Error to get parameter \"srcarf\"\n"; exit(-1); } if (PILGetString("srcrmf",$srcrmf)){ print "Error to get parameter \"srcrmf\"\n"; exit(-1); } if (PILGetString("g2srcpha",$g2srcpha)){ print "Error to get parameter \"g2srcpha\"\n"; exit(-1); } if (PILGetString("g2backpha",$g2backpha)){ print "Error to get parameter \"g2backpha\"\n"; exit(-1); } if (PILGetString("g2srcarf",$g2srcarf)){ print "Error to get parameter \"g2srcarf\"\n"; exit(-1); } if (PILGetString("g3srcpha",$g3srcpha)){ print "Error to get parameter \"g3srcpha\"\n"; exit(-1); } if (PILGetString("g3backpha",$g3backpha)){ print "Error to get parameter \"g3backpha\"\n"; exit(-1); } if (PILGetString("g3srcarf",$g3srcarf)){ print "Error to get parameter \"g2srcarf\"\n"; exit(-1); } if (PILGetString("tmpimgfile",$tmpimgfile)){ print "Error to get parameter \"tmpimgfile\"\n"; exit(-1); } if (PILGetString("tmpimgfile1",$tmpimgfile1)){ print "Error to get parameter \"tmpimgfile1\"\n"; exit(-1); } if (PILGetString("tmpimgfile2",$tmpimgfile2)){ print "Error to get parameter \"tmpimgfile2\"\n"; exit(-1); } if (PILGetString("device",$device)){ print "Error to get parameter \"device\"\n"; exit(-1); } if (PILGetReal("timeout",$timeout)){ print "Error to get parameter \"timeout\"\n"; exit(-1); } }