aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/ciao_deproj_spectra_v8.sh
diff options
context:
space:
mode:
authorWeitian LI <liweitianux@gmail.com>2014-10-30 18:55:16 +0800
committerWeitian LI <liweitianux@gmail.com>2014-10-30 18:55:16 +0800
commit92c9b0121001d5cab4127f4ae5ae95f43958513a (patch)
tree946c21f13d45fc157e30c905519d15e39e1ff7ce /scripts/ciao_deproj_spectra_v8.sh
parent0caec8c48363149d203f94eb2d7e5cca16a66a57 (diff)
downloadchandra-acis-analysis-92c9b0121001d5cab4127f4ae5ae95f43958513a.tar.bz2
fix to 'ciao_expcorr.sh' & removed versions in filenames
Diffstat (limited to 'scripts/ciao_deproj_spectra_v8.sh')
-rwxr-xr-xscripts/ciao_deproj_spectra_v8.sh684
1 files changed, 0 insertions, 684 deletions
diff --git a/scripts/ciao_deproj_spectra_v8.sh b/scripts/ciao_deproj_spectra_v8.sh
deleted file mode 100755
index abebc7c..0000000
--- a/scripts/ciao_deproj_spectra_v8.sh
+++ /dev/null
@@ -1,684 +0,0 @@
-#!/bin/sh
-#
-trap date INT
-unalias -a
-export GREP_OPTIONS=""
-export LC_COLLATE=C
-#
-###########################################################
-## generate `src' and `bkg' spectra as well as ##
-## RMF/ARFs using `specextract' ##
-## for radial spectra analysis ##
-## to get temperature/abundance profile ##
-## XSPEC model `projct' for deprojection analysis ##
-## ##
-## Ref: Chandra spectrum analysis ##
-## http://cxc.harvard.edu/ciao/threads/extended/ ##
-## Ref: specextract ##
-## http://cxc.harvard.edu/ciao/ahelp/specextract.html ##
-## Ref: CIAO v4.4 region bugs ##
-## http://cxc.harvard.edu/ciao/bugs/regions.html#bug-12187
-## ##
-## LIweitiaNux, July 24, 2012 ##
-###########################################################
-
-###########################################################
-## ChangeLogs:
-## v5, 2012/08/05
-## XFLT0005 not modified as pie end angle
-## add `background renormalization'
-## v6, 2012/08/08, Gu Junhua
-## Modified to using config file to pass parameters
-## Use grppha to rebin the spectrum
-## v7, 2012/08/10, LIweitiaNux
-## account blanksky, local bkg, specified bkg
-## change name to `ciao_deproj_spectra_v*.sh'
-## add `error status'
-## Imporve ${CFG_FILE}
-## Imporve comments
-## v8, 2012/08/14, LIweitiaNux
-## use `cmdline' args instead of `cfg file'
-## add `logging' function
-## v8.1, 2014/07/29, Weitian LI
-## fix variable 'ABUND=grsa'
-## v8.2, 2014/07/29, Weitian LI
-## fix 'pbkfile' parameters for CIAO-4.6
-###########################################################
-
-## about, used in `usage' {{{
-VERSION="v8"
-UPDATE="2012-08-14"
-## about }}}
-
-## usage, help {{{
-case "$1" in
- -[hH]*|--[hH]*)
- printf "usage:\n"
- printf " `basename $0` evt=<evt2_clean> reg=<radial_reg> bkgd=<blank_evt | lbkg_reg | bkg_spec> basedir=<base_dir> nh=<nH> z=<redshift> [ grpcmd=<grppha_cmd> log=<log_file> ]\n"
- printf "\nversion:\n"
- printf "${VERSION}, ${UPDATE}\n"
- exit ${ERR_USG}
- ;;
-esac
-## usage, help }}}
-
-## default parameters {{{
-# default `event file' which used to match `blanksky' files
-#DFT_EVT="_NOT_EXIST_"
-DFT_EVT="`ls evt2*_clean.fits`"
-# default `radial region file'
-#DFT_REG_IN="_NOT_EXIST_"
-DFT_REG_IN="rspec.reg"
-# default dir which contains `asols, asol.lis, ...' files
-# DFT_BASEDIR=".."
-DFT_BASEDIR="_NOT_EXIST_"
-# default `group command' for `grppha'
-#DFT_GRP_CMD="group 1 128 2 129 256 4 257 512 8 513 1024 16"
-#DFT_GRP_CMD="group 1 128 4 129 256 8 257 512 16 513 1024 32"
-DFT_GRP_CMD="group min 20"
-# default `log file'
-DFT_LOGFILE="deproj_spectra_`date '+%Y%m%d'`.log"
-
-# default output xspec scripts
-XSPEC_DEPROJ="xspec_deproj.xcm"
-XSPEC_PROJTD="xspec_projected.xcm"
-
-## howto find files in `basedir'
-# default `asol.lis pattern'
-DFT_ASOLIS_PAT="acis*asol?.lis"
-# default `bad pixel filename pattern'
-DFT_BPIX_PAT="acis*repro*bpix?.fits"
-# default `pbk file pattern'
-DFT_PBK_PAT="acis*pbk?.fits"
-# default `msk file pattern'
-DFT_MSK_PAT="acis*msk?.fits"
-
-## abundance standard
-ABUND="grsa"
-## default parameters }}}
-
-## error code {{{
-ERR_USG=1
-ERR_DIR=11
-ERR_EVT=12
-ERR_BKG=13
-ERR_REG=14
-ERR_ASOL=21
-ERR_BPIX=22
-ERR_PBK=23
-ERR_MSK=24
-ERR_BKGTY=31
-ERR_SPEC=32
-## error code }}}
-
-## functions {{{
-# process commandline arguments
-# cmdline arg format: `KEY=VALUE'
-getopt_keyval() {
- until [ -z "$1" ]
- do
- key=${1%%=*} # extract key
- val=${1#*=} # extract value
- keyval="${key}=\"${val}\""
- echo "## getopt: eval '${keyval}'"
- eval ${keyval}
- shift # shift, process next one
- done
-}
-
-## background renormalization (BACKSCAL) {{{
-# renorm background according to particle background
-# energy range: 9.5-12.0 keV (channel: 651-822)
-CH_LOW=651
-CH_HI=822
-pb_flux() {
- punlearn dmstat
- COUNTS=`dmstat "$1[channel=${CH_LOW}:${CH_HI}][cols COUNTS]" | grep -i 'sum:' | awk '{ print $2 }'`
- punlearn dmkeypar
- EXPTIME=`dmkeypar $1 EXPOSURE echo=yes`
- BACK=`dmkeypar $1 BACKSCAL echo=yes`
- # fix `scientific notation' bug for `bc'
- EXPTIME_B=`echo ${EXPTIME} | sed 's/[eE]/\*10\^/' | sed 's/+//'`
- BACK_B=`echo "( ${BACK} )" | sed 's/[eE]/\*10\^/' | sed 's/+//'`
- PB_FLUX=`echo "scale = 16; ${COUNTS} / ${EXPTIME_B} / ${BACK_B}" | bc -l`
- echo ${PB_FLUX}
-}
-
-bkg_renorm() {
- # $1: src spectrum, $2: back spectrum
- PBFLUX_SRC=`pb_flux $1`
- PBFLUX_BKG=`pb_flux $2`
- BACK_OLD=`dmkeypar $2 BACKSCAL echo=yes`
- BACK_OLD_B=`echo "( ${BACK_OLD} )" | sed 's/[eE]/\*10\^/' | sed 's/+//'`
- BACK_NEW=`echo "scale = 16; ${BACK_OLD_B} * ${PBFLUX_BKG} / ${PBFLUX_SRC}" | bc -l`
- printf "\`$2': BACKSCAL:\n"
- printf " ${BACK_OLD} --> ${BACK_NEW}\n"
- punlearn dmhedit
- dmhedit infile=$2 filelist=none operation=add \
- key=BACKSCAL value=${BACK_NEW} comment="old value: ${BACK_OLD}"
-}
-## bkg renorm }}}
-## functions end }}}
-
-## parameters {{{
-# process cmdline args using `getopt_keyval'
-getopt_keyval "$@"
-
-## check log parameters {{{
-if [ ! -z "${log}" ]; then
- LOGFILE="${log}"
-else
- LOGFILE=${DFT_LOGFILE}
-fi
-printf "## use logfile: \`${LOGFILE}'\n"
-[ -e "${LOGFILE}" ] && mv -fv ${LOGFILE} ${LOGFILE}_bak
-TOLOG="tee -a ${LOGFILE}"
-echo "process script: `basename $0`" >> ${LOGFILE}
-echo "process date: `date`" >> ${LOGFILE}
-## log }}}
-
-# check given parameters
-# check evt file
-if [ -r "${evt}" ]; then
- EVT=${evt}
-elif [ -r "${DFT_EVT}" ]; then
- EVT=${DFT_EVT}
-else
- read -p "clean evt2 file: " EVT
- if [ ! -r "${EVT}" ]; then
- printf "ERROR: cannot access given \`${EVT}' evt file\n"
- exit ${ERR_EVT}
- fi
-fi
-printf "## use evt file: \`${EVT}'\n" | ${TOLOG}
-# check given region file(s)
-if [ -r "${reg}" ]; then
- REG_IN="${reg}"
-elif [ -r "${DFT_REG_IN}" ]; then
- REG_IN=${DFT_REG_IN}
-else
- read -p "> radial spec region file: " REG_IN
- if [ ! -r "${REG_IN}" ]; then
- printf "ERROR: cannot access given \`${REG_IN}' region file\n"
- exit ${ERR_REG}
- fi
-fi
-printf "## use radial reg: \`${REG_IN}'\n" | ${TOLOG}
-# check given bkgd, determine background {{{
-if [ -z "${bkgd}" ]; then
- read -p "> background (blanksky_evt | lbkg_reg | bkg_spec): " BKGD
-else
- BKGD=${bkgd}
-fi
-if [ ! -r "${BKGD}" ]; then
- printf "ERROR: cannot access given \`${BKGD}'\n"
- exit ${ERR_BKG}
-fi
-printf "## use bkgd: \`${BKGD}'\n" | ${TOLOG}
-# determine bkg type: blanksky, lbkg_reg, bkg_spec ?
-# according to file type first: text / FITS
-# if FITS, then get values of `HDUCLAS1' and `OBJECT'
-if file -bL ${BKGD} | grep -qi 'text'; then
- printf "## given \`${BKGD}' is a \`text file'\n"
- printf "## use it as local bkg region file\n"
- printf "## use *LOCAL BKG SPEC*\n" | ${TOLOG}
- # just set flags, extract spectrum later
- USE_LBKG_REG=YES
- USE_BLANKSKY=NO
- USE_BKG_SPEC=NO
-elif file -bL ${BKGD} | grep -qi 'FITS'; then
- printf "## given \`${BKGD}' is a \`FITS file'\n"
- # get FITS header keyword
- HDUCLAS1=`dmkeypar ${BKGD} HDUCLAS1 echo=yes`
- if [ "${HDUCLAS1}" = "EVENTS" ]; then
- # event file
- printf "## given file is \`event'\n"
- # check if `blanksky' or `stowed bkg'
- BKG_OBJ=`dmkeypar ${BKGD} OBJECT echo=yes`
- if [ "${BKG_OBJ}" = "BACKGROUND DATASET" ] || [ "${BKG_OBJ}" = "ACIS STOWED" ]; then
- # valid bkg evt file
- printf "## given FITS file is a valid bkgrnd file\n"
- printf "## use *BLANKSKY*\n" | ${TOLOG}
- USE_BLANKSKY=YES
- USE_LBKG_REG=NO
- USE_BKG_SPEC=NO
- # specify `BLANKSKY'
- BLANKSKY=${BKGD}
- else
- # invalid bkg evt file
- printf "ERROR: invalid bkg evt file given\n"
- exit ${ERR_BKGTY}
- fi
- elif [ "${HDUCLAS1}" = "SPECTRUM" ]; then
- # spectrum file
- printf "## given file is \`spectrum'\n"
- printf "## use *BKG SPECTRUM*\n" | ${TOLOG}
- USE_BKG_SPEC=YES
- USE_BLANKSKY=NO
- USE_LBKG_REG=NO
- # specify `BKG_SPEC'
- BKG_SPEC=${BKGD}
- else
- # other type
- printf "ERROR: other type FITS given\n"
- exit ${ERR_BKGTY}
- fi
-else
- printf "ERROR: given \`${BKGD}' type UNKNOWN\n"
- exit ${ERR_BKGTY}
-fi
-# bkgd }}}
-# check given nH
-if [ -z "${nh}" ]; then
- read -p "> value of nH: " N_H
-else
- N_H=${nh}
-fi
-printf "## use nH: ${N_H}\n" | ${TOLOG}
-# check given redshift
-if [ -z "${z}" ]; then
- read -p "> value of redshift: " REDSHIFT
-else
- REDSHIFT=${z}
-fi
-printf "## use redshift: ${REDSHIFT}\n" | ${TOLOG}
-# check given dir
-if [ -d "${basedir}" ]; then
- BASEDIR=${basedir}
-elif [ -d "${DFT_BASEDIR}" ]; then
- BASEDIR=${DFT_BASEDIR}
-else
- read -p "> basedir (contains asol files): " BASEDIR
- if [ ! -d "${BASEDIR}" ]; then
- printf "ERROR: given \`${BASEDIR}' NOT a directory\n"
- exit ${ERR_DIR}
- fi
-fi
-# remove the trailing '/'
-BASEDIR=`echo ${BASEDIR} | sed 's/\/*$//'`
-printf "## use basedir: \`${BASEDIR}'\n" | ${TOLOG}
-# check given `grpcmd'
-if [ ! -z "${grpcmd}" ]; then
- GRP_CMD="${grpcmd}"
-else
- GRP_CMD="${DFT_GRP_CMD}"
-fi
-printf "## use grppha cmd: \`${GRP_CMD}'\n" | ${TOLOG}
-# rootname for output files
-[ "x${ROOTNAME}" = "x" ] && ROOTNAME="${REG_IN%.reg}"
-printf "## use rootname: \`${ROOTNAME}'\n" | ${TOLOG}
-## parameters }}}
-
-## check needed files {{{
-# check the validity of *pie* regions
-printf "check pie reg validity ...\n"
-INVALID=`cat ${REG_IN} | grep -i 'pie' | awk -F, '{ print $6 }' | tr -d ')' | awk '$1 > 360'`
-if [ "x${INVALID}" != "x" ]; then
- printf "WARNING: some pie region's END_ANGLE > 360\n" | ${TOLOG}
- printf " CIAO v4.4 tools may run into trouble\n"
-fi
-
-# check files in `basedir'
-printf "check needed files in basedir \`${BASEDIR}' ...\n"
-# check asolis files
-ASOLIS=`ls -1 ${BASEDIR}/${DFT_ASOLIS_PAT} | head -n 1`
-if [ -z "${ASOLIS}" ]; then
- printf "ERROR: cannot find \"${DFT_ASOLIS_PAT}\" in dir \`${BASEDIR}'\n"
- exit ${ERR_ASOL}
-fi
-printf "## use asolis: \`${ASOLIS}'\n" | ${TOLOG}
-# check badpixel file
-BPIX=`ls -1 ${BASEDIR}/${DFT_BPIX_PAT} | head -n 1`
-if [ -z "${BPIX}" ]; then
- printf "ERROR: cannot find \"${DFT_BPIX_PAT}\" in dir \`${BASEDIR}'\n"
- exit ${ERR_BPIX}
-fi
-printf "## use badpixel: \`${BPIX}'\n" | ${TOLOG}
-# check pbk file
-PBK=`ls -1 ${BASEDIR}/${DFT_PBK_PAT} | head -n 1`
-if [ -z "${PBK}" ]; then
- printf "ERROR: cannot find \"${DFT_PBK_PAT}\" in dir \`${BASEDIR}'\n"
- exit ${ERR_PBK}
-fi
-printf "## use pbk: \`${PBK}'\n" | ${TOLOG}
-# check msk file
-MSK=`ls -1 ${BASEDIR}/${DFT_MSK_PAT} | head -n 1`
-if [ -z "${MSK}" ]; then
- printf "ERROR: cannot find \"${DFT_MSK_PAT}\" in dir \`${BASEDIR}'\n"
- exit ${ERR_MSK}
-fi
-printf "## use msk: \`${MSK}'\n" | ${TOLOG}
-## check files }}}
-
-## process local background {{{
-if [ "${USE_LBKG_REG}" = "YES" ]; then
- BKG_EVT=${EVT}
- LBKG_REG=${BKGD}
- LBKG_REG_CIAO="_tmp_${LBKG_REG}"
- cp -fv ${LBKG_REG} ${LBKG_REG_CIAO}
- ## check background region (CIAO v4.4 bug) {{{
- printf "check background region ...\n"
- INVALID=`grep -i 'pie' ${LBKG_REG_CIAO} | awk -F, '{ print $6 }' | tr -d ')' | awk '$1 > 360'`
- if [ "x${INVALID}" != "x" ]; then
- printf "WARNING: fix for pie region:\n"
- cat ${LBKG_REG_CIAO}
- for angle in ${INVALID}; do
- A_OLD=`echo ${angle} | sed 's/\./\\\./'`
- A_NEW=`echo ${angle}-360 | bc -l | sed 's/\./\\\./'`
- sed -i'' "s/${A_OLD}\ *)/${A_NEW})/" ${LBKG_REG_CIAO}
- done
- printf " -->"
- cat ${LBKG_REG_CIAO}
- printf "======================\n"
- fi
- ## background region }}}
- ## extract local background spectrum
- printf "extract local background spectrum ...\n"
- BKG_SPEC="${LBKG_REG%.reg}.pi"
- punlearn dmextract
- dmextract infile="${BKG_EVT}[sky=region(${LBKG_REG_CIAO})][bin pi]" \
- outfile=${BKG_SPEC} wmap="[bin det=8]" clobber=yes
- rm -fv ${LBKG_REG_CIAO}
- printf "renormalizing the spectrum later ...\n"
-fi
-## local bkg }}}
-
-## modify the region file, remove the commented and blank lines {{{
-REG_NEW="_new.reg"
-REG_TMP="_tmp.reg"
-[ -f ${REG_NEW} ] && rm -fv ${REG_NEW}
-[ -f ${REG_TMP} ] && rm -fv ${REG_TMP}
-cat ${REG_IN} | sed 's/#.*$//' | grep -Ev '^\s*$' > ${REG_NEW}
-## REG_IN }}}
-
-## `specextract' to extract spectrum {{{
-LINES="`wc -l ${REG_NEW} | cut -d' ' -f1`"
-printf "\n======================================\n"
-printf "TOTAL *${LINES}* regions to process ......\n"
-for i in `seq ${LINES}`; do
- printf "\n==============================\n"
- printf ">>> PROCESS REGION ${i} ...\n"
-
- ## generate corresponding `region' file
- rm -f ${REG_TMP} ${REG_CIAO} 2> /dev/null
- head -n ${i} ${REG_NEW} | tail -n 1 > ${REG_TMP}
- REG_CIAO="${REG_TMP%.reg}_ciao.reg"
- cp -fv ${REG_TMP} ${REG_CIAO}
- ## check the validity of *pie* regions {{{
- INVALID=`grep -i 'pie' ${REG_TMP} | awk -F, '{ print $6 }' | tr -d ')' | awk '$1 > 360'`
- if [ "x${INVALID}" != "x" ]; then
- printf "WARNING: fix for pie region:\n"
- cat ${REG_CIAO}
- A_OLD=`echo ${INVALID} | sed 's/\./\\\./'`
- A_NEW=`echo ${INVALID}-360 | bc -l | sed 's/\./\\\./'`
- sed -i'' "s/${A_OLD}\ *)/${A_NEW})/" ${REG_CIAO}
- printf " -->\n"
- cat ${REG_CIAO}
- fi
- # check pie region }}}
-
- ## use `specextract' to extract spectra {{{
- # NOTE: set `binarfwmap=2' to save the time for generating `ARF'
- # I have tested that this bin factor has little impact on the results.
- # NO background response files
- # NO background spectrum (generate by self)
- # NO spectrum grouping (group by self using `grppha')
- # 'pbkfile' parameter deprecated in CIAO-4.6
- if `pget specextract pbkfile >/dev/null 2>&1`; then
- P_PBKFILE="pbkfile='${PBK}'"
- else
- P_PBKFILE=""
- fi
- #
- punlearn specextract
- specextract infile="${EVT}[sky=region(${REG_CIAO})]" \
- outroot="r${i}_${ROOTNAME}" bkgfile="" asp="@${ASOLIS}" \
- ${P_PBKFILE} mskfile="${MSK}" badpixfile="${BPIX}" \
- weight=yes correct=no bkgresp=no \
- energy="0.3:11.0:0.01" channel="1:1024:1" \
- combine=no binarfwmap=2 \
- grouptype=NONE binspec=NONE \
- clobber=yes verbose=2
- ## specextract }}}
-
- RSPEC_PI="r${i}_${ROOTNAME}.pi"
- RSPEC_BKG_PI="${RSPEC_PI%.pi}_bkg.pi"
- ## background spectrum {{{
- ## generate the blanksky bkg spectrum by self
- if [ "${USE_BLANKSKY}" = "YES" ]; then
- # use blanksky as background file
- printf "extract blanksky bkg spectrum ...\n"
- punlearn dmextract
- dmextract infile="${BLANKSKY}[sky=region(${REG_CIAO})][bin pi]" \
- outfile=${RSPEC_BKG_PI} wmap="[bin det=8]" clobber=yes
- elif [ "${USE_LBKG_REG}" = "YES" ] || [ "${USE_BKG_SPEC}" = "YES" ]; then
- # use *local background* or specified background spectrum
- cp -fv ${BKG_SPEC} ${RSPEC_BKG_PI}
- fi
- ## background }}}
-
- ## bkg renormalization {{{
- printf "Renormalize background ...\n"
- bkg_renorm ${RSPEC_PI} ${RSPEC_BKG_PI}
- ## bkg renorm }}}
-
- ## group spectrum {{{
- printf "group spectrum \`${RSPEC_PI}' using \`grppha'\n"
- RSPEC_GRP_PI="${RSPEC_PI%.pi}_grp.pi"
- grppha infile="${RSPEC_PI}" outfile="${RSPEC_GRP_PI}" \
- comm="${GRP_CMD} & exit" clobber=yes > /dev/null
- ## group }}}
-
- ## `XFLT####' keywords for XSPEC model `projct' {{{
- printf "update file headers ...\n"
- punlearn dmhedit
- if grep -qi 'pie' ${REG_TMP}; then
- R_OUT="`awk -F',' '{ print $4 }' ${REG_TMP} | tr -d ')'`"
- A_BEGIN="`awk -F',' '{ print $5 }' ${REG_TMP} | tr -d ')'`"
- A_END="`awk -F',' '{ print $6 }' ${REG_TMP} | tr -d ')'`"
- # RSPEC_PI
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0001" value=${R_OUT}
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0002" value=${R_OUT}
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0003" value=0
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0004" value=${A_BEGIN}
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0005" value=${A_END}
- # RSPEC_GRP_PI
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0001" value=${R_OUT}
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0002" value=${R_OUT}
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0003" value=0
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0004" value=${A_BEGIN}
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0005" value=${A_END}
- elif grep -qi 'annulus' ${REG_TMP}; then
- R_OUT="`awk -F',' '{ print $4 }' ${REG_TMP} | tr -d ')'`"
- # RSPEC_PI
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0001" value=${R_OUT}
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0002" value=${R_OUT}
- dmhedit infile=${RSPEC_PI} filelist=NONE operation=add \
- key="XFLT0003" value=0
- # RSPEC_GRP_PI
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0001" value=${R_OUT}
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0002" value=${R_OUT}
- dmhedit infile=${RSPEC_GRP_PI} filelist=NONE operation=add \
- key="XFLT0003" value=0
- else
- printf "*** WARNING: region file NOT MATCH!!\n"
- fi
- ## `XFLT####' }}}
-
-done # end *for*, `specextract'
-## `specextract' }}}
-
-## clean
-printf "clean ...\n"
-rm -f ${REG_TMP} ${REG_CIAO} 2> /dev/null
-
-
-###########################################################
-## generate a script file for XSPEC ##
-###########################################################
-printf "generate scripts for XSPEC ...\n"
-## xspec script (deproj) {{{
-printf "XSPEC script for deprojection analysis\n"
-[ -e ${XSPEC_DEPROJ} ] && rm -fv ${XSPEC_DEPROJ}
-
-cat >> ${XSPEC_DEPROJ} << _EOF_
-#
-# XSPEC
-# radial spectra (deprojection analysis)
-# model projct*wabs*apec
-#
-# generated by script: \``basename $0`'
-# `date`
-
-statistic chi
-
-# load data
-_EOF_
-
-for i in `seq ${LINES}`; do
- RSPEC="r${i}_${ROOTNAME}"
- cat >> ${XSPEC_DEPROJ} << _EOF_
-data ${i}:${i} ${RSPEC}_grp.pi
-response 1:${i} ${RSPEC}.wrmf
-arf 1:${i} ${RSPEC}.warf
-backgrnd ${i} ${RSPEC}_bkg.pi
-
-_EOF_
-done
-
-cat >> ${XSPEC_DEPROJ} << _EOF_
-
-# filter needed energy range
-ignore bad
-ignore **:0.0-0.7,7.0-**
-
-method leven 1000 0.01
-# change abundance standard
-abund ${ABUND}
-xsect bcmc
-cosmo 70 0 0.73
-xset delta 0.01
-systematic 0
-# auto answer
-query yes
-
-# plot related
-setplot energy
-
-# model to use
-model projct*wabs*apec
- 0
- 0
- 0
- ${N_H} -0.001 0 0 100000 1e+06
- 1 0.01 0.008 0.008 64 64
- 0.5 0.001 0 0 5 5
- ${REDSHIFT} -0.01 -0.999 -0.999 10 10
- 1 0.01 0 0 1e+24 1e+24
-_EOF_
-
-INPUT_TIMES=`expr ${LINES} - 1`
-for i in `seq ${INPUT_TIMES}`; do
- cat >> ${XSPEC_DEPROJ} << _EOF_
-= 1
-= 2
-= 3
-= 4
- 1 0.01 0.008 0.008 64 64
- 0.5 0.001 0 0 5 5
-= 7
- 1 0.01 0 0 1e+24 1e+24
-_EOF_
-done
-## xspec script }}}
-
-###########################################################
-## xspec script (projected) {{{
-printf "XSPEC script for projected analysis\n"
-[ -e ${XSPEC_PROJTD} ] && rm -fv ${XSPEC_PROJTD}
-
-cat >> ${XSPEC_PROJTD} << _EOF_
-#
-# XSPEC
-# radial spectra (projected analysis)
-# model wabs*apec
-#
-# generated by script: \``basename $0`'
-# `date`
-
-statistic chi
-
-# load data
-_EOF_
-
-for i in `seq ${LINES}`; do
- RSPEC="r${i}_${ROOTNAME}"
- cat >> ${XSPEC_PROJTD} << _EOF_
-data ${i}:${i} ${RSPEC}_grp.pi
-response 1:${i} ${RSPEC}.wrmf
-arf 1:${i} ${RSPEC}.warf
-backgrnd ${i} ${RSPEC}_bkg.pi
-
-_EOF_
-done
-
-cat >> ${XSPEC_PROJTD} << _EOF_
-
-# filter needed energy range
-ignore bad
-ignore **:0.0-0.7,7.0-**
-
-method leven 1000 0.01
-# change abundance standard
-abund ${ABUND}
-xsect bcmc
-cosmo 70 0 0.73
-xset delta 0.01
-systematic 0
-# auto answer
-query yes
-
-# plot related
-setplot energy
-
-# model to use
-model wabs*apec
- ${N_H} -0.001 0 0 100000 1e+06
- 1 0.01 0.008 0.008 64 64
- 0.5 0.001 0 0 5 5
- ${REDSHIFT} -0.01 -0.999 -0.999 10 10
- 1 0.01 0 0 1e+24 1e+24
-_EOF_
-
-INPUT_TIMES=`expr ${LINES} - 1`
-for i in `seq ${INPUT_TIMES}`; do
- cat >> ${XSPEC_PROJTD} << _EOF_
-= 1
- 1 0.01 0.008 0.008 64 64
- 0.5 0.001 0 0 5 5
-= 4
- 1 0.01 0 0 1e+24 1e+24
-_EOF_
-done
-
-printf "DONE\n"
-## xspec script }}}
-###########################################################
-
-printf "ALL FINISHED\n"
-
-# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh: #