aboutsummaryrefslogtreecommitdiffstats
path: root/HOWTO_chandra_acis_analysis.txt
blob: 06b08afd4fb76dc6964cec467afe1867be37c818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
##
## HOWTO
## Analyze Chandra ACIS data
##
## Weitian LI <liweitianux@gmail.com>
## 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=<nh> z=<z>
(10) $ xspec
(11) xspec> @xspec_lbkg_model.xcm
     xspec> fit
     xspec> cpd /xs
     xspec> pl l del
     xspec> @<path>/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=<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 '<NAME>_spec.conf' looks like (for batch process):
     basedir    ../..
     reg        rspec.reg
     bkgd       bkgcorr_blanksky_lbkg.pi | lbkg.pi
     nh         <nh>
     z          <redshift>
(18) $ ciao_deproj_spectra.sh reg="rspec.reg" bkgd=<bkgd> basedir="../.." nh=<nh> z=<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> @<path>/xspec_tprofile.tcl
     (calculate average temperature and abundance)
     xspec> @<path>/xspec_avg_tz.tcl
     xspec> exit
(20) fix 'NULL' values in 'tprofile.qdp', 'tprofile.txt' & 'tz_average.txt'
(21) $ cd ../../img;
(22) create config '<NAME>_expcorr.conf' (for batch process):
     basedir    ..
     reg        sbprofile.reg
     nh         <nh>
     z          <redshift>
     temp       <avg_temp>
     abund      <avg_abund>
(23) $ ciao_expcorr_sbp.sh basedir=.. nh=<nh> z=<redshift> temp=<avg_temp> abund=<avg_abund>
## --------------------------------------------------------

(24) $ cd ../mass; clean_massdir.sh;
(25) check needed linked files:
     * sbprofile.txt
     * tprofile.txt
(26) check needed config files:
     * mass.conf
     * wang2012_param.txt
     * sbp_sbeta.conf
     * 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 <z> [rmin_kpc]
(33) $ qdp nfw_fit_result.qdp   # check fitted nfw profile, and ajust 'rmin_kpc'
(34) add 'nfw_rmin_kpc <rmin_kpc>' to 'mass.conf
(35) $ fitmass mass.conf c    # calculate the center values
(36) $ fitmass mass.conf 2>&1 | tee mass_<date>.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; fit;
     xspec> cpd /xs; pl l del;
     xspec> error 1. 2 3    # calc errors (68%) of kT and Abundanc
(42) update the data of 'T(0.1-0.5 R500)', 'Z(0.1-0.5 R500)' ...

## --------------------------------------------------------
(43) $ cd ../..;  # in 'repro' dir
     $ cp -a mass lxfx; cd lxfx;
(44) $ calclxfx global.cfg c 500 200  # 'c' for center values
     $ calclxfx global.cfg 500 200  # calc 'errors'
(45) $ getlxfx . c 500 200  # for center results
     $ getlxfx . 500 200  # for all results (with errors)

## --------------------------------------------------------
(46) $ 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'
     ---