blob: 4c9168279489ba1b29d292ef2ea42e5df17a8ea7 (
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
127
128
129
130
131
|
##
## 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
$ 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 <z> [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_<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; 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'
---
|