## ## HOWTO ## Analyze Chandra ACIS data ## ## Weitian LI ## Updated: 2017-02-07 ## Step-by-step guide to analyze ACIS data: (1) $ chandra_repro indir=. outdir=repro verbose=2 (2) $ cd repro; mkdir -p evt bkg img spc/profile mass; (3) $ cd evt; ln -s ../acis*evt2.fits .; (4) $ ciao_procevt.sh (5) $ cd ../bkg; ln -s ../evt/evt2*_clean.fits .; (6) $ ciao_blanksky.sh (7) ds9 open 'evt2*_clean.fits'; select edge region as the *local background*, save as 'lbkg.reg'; and estimate the phonton counts: (8) $ dmlist "evt2*_clean.fits[sky=region(lbkg.reg)][energy=400:8000]" blocks (9) $ ciao_bkg_spectra.sh reg="lbkg.reg" basedir=.. nh= z= (10) $ xspec (11) xspec> @xspec_lbkg_model.xcm xspec> fit xspec> cpd /xs xspec> pl l del xspec> @/xspec_bkgcorr.tcl (12) $ cd ../img $ ln -s ../evt/evt2*_clean.fits . $ ln -s ../bkg/bkgcorr_blanksky_lbkg.pi . # maybe 'lbkg.pi' $ ln -s ../pcadf*_asol1.fits . (13) ds9 open 'evt2*_clean.fits', select the center of cluster, save the region as 'center.reg' (14) $ ciao_genregs.sh reg_in=center.reg bkgd= (15) $ cd ../spc/profile $ ln -s ../../evt/evt2*_clean.fits . $ ln -s ../../bkg/bkgcorr_blanksky_lbkg.pi . # maybe 'lbkg.pi' $ ln -s ../../img/rspec.reg img_rspec.reg (16) ds9 open 'evt2*_clean.fits' with regs 'img_rspec.reg'; adjust the regions and save as 'rspec.reg' (17) create a config file '_spec.conf' looks like (for batch process): basedir ../.. reg rspec.reg bkgd bkgcorr_blanksky_lbkg.pi | lbkg.pi nh z (18) $ ciao_deproj_spectra.sh reg="rspec.reg" bkgd= basedir="../.." nh= z= (19) Fit the radial spectra to derive the radial temperature profile, as well as the average temperature and abundance: $ xspec xspec> @xspec_deproj.xcm xspec> fit (tweaks parameters when necessary) xspec> @/xspec_tprofile.tcl (calculate average temperature and abundance) xspec> @/xspec_avg_tz.tcl xspec> exit (20) fix 'NULL' values in 'tprofile.qdp', 'tprofile.txt' & 'tz_average.txt' (21) $ cd ../../img; (22) create config '_expcorr.conf' (for batch process): basedir .. reg sbprofile.reg nh z temp abund (23) $ ciao_expcorr_sbp.sh basedir=.. nh= z= temp= abund= ## -------------------------------------------------------- (24) $ cd ../mass $ ln -s ../img/sbprofile.txt . $ ln -s ../spc/profile/tprofile.txt . (25) Copy the sample config files located at 'files' directory: * mass.conf * wang2012_param.txt * sbp_sbeta.conf * sbp_dbeta.conf (26) Fill 'nH', 'abund' in 'mass.conf'; and 'z' in 'sbp_sbeta.conf' and 'sbp_dbeta.conf' (27) $ fittp tprofile.txt wang2012_param.txt (28) $ qdp fit_result.qdp (check fitted temperature profile, and adjust parameter accordingly) (29) $ fitsbp sbp_sbeta.conf mass.conf # single-beta sbp $ fitsbp sbp_dbeta.conf mass.conf # double-beta sbp (30) $ qdp sbp_fit.qdp # check fitted sbp (31) $ ln -s sbp_sbeta.conf sbp.cfg # use single-beta $ ln -s sbp_dbeta.conf sbp.cfg # use double-beta (32) $ fitnfw [rmin_kpc] (33) $ qdp nfw_fit_result.qdp # check fitted nfw profile, and ajust 'rmin_kpc' (34) Update 'nfw_rmin_kpc' in 'mass.conf (35) $ fitmass mass.conf c # calculate the central values (36) $ fitmass mass.conf 2>&1 | tee mass_.log # calculate mass data (37) $ collect_infodata.sh (38) $ cd ../img $ chandra_update_xcentroid.sh (39) $ cd ../spc/profile (40) $ ciao_r500avgt.sh inner=0.1 outer=0.5 # check 0.5R500 range $ ciao_r500avgt.sh inner=0.2 outer=0.5 (41) $ xspec xspec> @xspec_r500avgt_0.1-0.5.xcm xspec> fit; cpd /xs; pl l del; xspec> error 1.0 2 3 (calculate the 1 sigma errors for temperature and abundance) (42) update the following values in the INFO.json file: * 'T(0.1-0.5 R500)' * 'Z(0.1-0.5 R500)' (43) repeat the above two steps for region "0.2-0.5 R500", and update the values of 'T(0.2-0.5 R500)' and 'Z(0.2-0.5 R500)'. ## -------------------------------------------------------- (44) $ cd ../..; # in 'repro' dir $ cp -a mass lxfx; cd lxfx; (45) $ calclxfx global.cfg c 500 200 # 'c' for center values $ calclxfx global.cfg 500 200 # calc 'errors' (46) $ getlxfx . c 500 200 # for center results $ getlxfx . 500 200 # for all results (with errors) ## -------------------------------------------------------- (47) $ cd ..; cd spc/profile; calculate cooling time and Csb value: $ ciao_calc_ct_csb.sh check the region whether exceeds ccd edge, and answer y/n check results in file 'ct_csb_results.txt' --- Alternatively: $ ciao_calc_ct.sh $ ciao_calc_csb.sh check the region whether exceeds ccd edge, and answer y/n check results in file 'cooling_results.txt' and 'csb_results.txt' ---