About Chandra Archive Proposer Instruments & Calibration Newsletters Data Analysis HelpDesk Calibration Database NASA Archives & Centers Chandra Science Links

Skip the navigation links
Last modified: 1 Dec 2006
Hardcopy (PDF): A4 | Letter

GUIDE: Fitting and Identifying Spectral Lines



Overview

Last Update: 1 Dec 2006 - updated for CIAO 3.4: Sherpa version

Synopsis:

GUIDE is a command line interpreted language that functions, essentially, as an extension of Sherpa. One of its more advanced applications is in identifying spectral lines to derive physical conditions and differential emmision measures.

Purpose:

To determine the flux and identity (ion and transition) of an emission line, and to write the results to a Model Descriptor List (MDL) file.

Related Links:

Proceed to the HTML or hardcopy (PDF: A4 | letter) version of the thread.




Contents



Get Started

Sample ObsID used: 1318 (HETG/ACIS-S, Capella)

In order to complete this thread, you will need grating ARFs for your dataset:

1318HEG_-1_garf.fits
1318HEG_1_garf.fits
1318MEG_-1_garf.fits
1318MEG_1_garf.fits

acis_1318_pha2.fits

The Create an HETG/ACIS-S Grating ARF thread shows you how to do so (there are similar threads if you are working with LETG/ACIS-S, LETG/HRC-S, or LETG/HRC-I data). We are using only the 1st order spectra, which correspond to data elements 3 and 4 (-1, +1 for HEG) and 9 and 10 (-1, +1 for MEG) in the standard Level II PHA file. The Examining PHA2 Files thread has more information on identifying gratings and orders.



Loading GUIDE

Start Sherpa and load the GUIDE package:

unix% sherpa

-----------------------------------------------------
Welcome to Sherpa: CXC's Modeling and Fitting Program
-----------------------------------------------------
Version: CIAO 3.4

Type AHELP SHERPA for overview.
Type EXIT, QUIT, or BYE to leave the program.

Notes:
    Temporary files for visualization will be written to the directory: 
    /tmp
    To change this so that these files are not deleted when you exit Sherpa,
    edit $ASCDS_WORK_PATH in your 'ciao' setup script.

    Abundances set to Anders & Grevesse

sherpa> import("guide")
GUIDE Initialized using ATOMDB v1.3.0

If a series of messages is printed here indicating that various files are not found, then it is likely that the ATOMDB is not correctly installed on your system. Please see your system manager or the CIAO download page and the ATOMDB webpage.



Read the Spectrum File and Build Responses

sherpa> paramprompt off
Model parameter prompting is off

sherpa> data acis_1318_pha2.fits
The inferred file type is PHA Type II.  If this is not what you want, please 
specify the type explicitly in the data command.
Warning: could not find SYS_ERR column
WARNING: statistical errors specified in the PHA file.
         These are currently IGNORED.  To use them, type:
         READ ERRORS "<filename>[cols CHANNEL,STAT_ERR]" fitsbin
WARNING: backgrounds UP and DOWN are being read from this file,
         and are being combined into a single background dataset.
Warning: could not find SYS_ERR column
WARNING: multiple datasets have been input.
         The next available dataset number is 13.

sherpa> analysis
Analysis Space for Dataset 1: Wavelength
Analysis Space for Dataset 2: Wavelength
Analysis Space for Dataset 3: Wavelength
Analysis Space for Dataset 4: Wavelength
Analysis Space for Dataset 5: Wavelength
Analysis Space for Dataset 6: Wavelength
Analysis Space for Dataset 7: Wavelength
Analysis Space for Dataset 8: Wavelength
Analysis Space for Dataset 9: Wavelength
Analysis Space for Dataset 10: Wavelength
Analysis Space for Dataset 11: Wavelength
Analysis Space for Dataset 12: Wavelength

By default, the analysis mode is set to wavelength when reading in a type II PHA file. For analysis in wavelength space to make any sense, however, a wavelength grid must be created; this is done when the instrument response (either ARF, RMF, or both) is defined.

sherpa> instrument 3 = rsp[hegm1](,1318HEG_-1_garf.fits,)
The inferred file type is ARF.  If this is not what you want, please 
specify the type explicitly in the data command.

sherpa> instrument 4 = rsp[hegp1](,1318HEG_1_garf.fits,)
The inferred file type is ARF.  If this is not what you want, please 
specify the type explicitly in the data command.

sherpa> instrument 9 = rsp[megm1](,1318MEG_-1_garf.fits,)
The inferred file type is ARF.  If this is not what you want, please 
specify the type explicitly in the data command.

sherpa> instrument 10 = rsp[megp1](,1318MEG_1_garf.fits,)
The inferred file type is ARF.  If this is not what you want, please 
specify the type explicitly in the data command.

sherpa> # turn off Y errorbars
sherpa> sherpa.dataplot.y_errorbars=0     
sherpa> sherpa.dataplot.curvestyle="histo"     
sherpa> sherpa.dataplot.symbolstyle="none"  

sherpa> lp 4 data 3 data 4 data 9 data 10
sherpa> ignore allsets all
sherpa> notice allsets wave 8.2:8.6
sherpa> lp 4 data 3 data 4 data 9 data 10

For this thread, we are not using a grating RMF (which acts as a line shape function for grating data), and are therefore assuming that the line profile is gaussian.

Figure 1 [Link to Image 1: Plot of 8.2-8.6 Å HEG/MEG +/-1 orders] shows the resulting plot which highlights a feature that is present in all four orders of the observation.



Defining the Source Model

We model this source with a 1-D normalized Gaussian (ngauss1d) combined with a 1-D polynomial function (polynom1d). Separate source models are used for the HEG and MEG datasets.

sherpa> source 3,4 = ngauss[hg1] + poly[hp1]
sherpa> source 9,10 = ngauss[mg1] + poly[mp1]

sherpa> mg1.ampl => hg1.ampl

sherpa> show source 10
Source 10: (mg1 + mp1)
ngauss1d[mg1]  (integrate: on)
    Param   Type      Value        Min        Max                 Units
    -----   ----      -----        ---        ---                 -----
 1   fwhm thawed 9.9987e-02 9.9987e-04     9.9987                      
 2    pos thawed     8.4225     8.1975     8.5975                      
 3   ampl   link 1.7195e-03     expression: hg1.ampl
poly1d[mp1]  (integrate: on)
    Param   Type      Value        Min        Max                 Units
    -----   ----      -----        ---        ---                 -----
 1     c0 thawed  4.681e-03 -1.022e-04 9.2599e-03                      
 2     c1 frozen          0    -2.2894     2.2894                      
 3     c2 frozen          0    -5.7236     5.7236                      
 4     c3 frozen          0 -1.022e-04 9.2599e-03                      
 5     c4 frozen          0 -1.022e-04 9.2599e-03                      
 6     c5 frozen          0 -1.022e-04 9.2599e-03                      
 7     c6 frozen          0 -1.022e-04 9.2599e-03                      
 8     c7 frozen          0 -1.022e-04 9.2599e-03                      
 9     c8 frozen          0 -1.022e-04 9.2599e-03                      
10 offset frozen          0    -8.1975     8.5975                      

We choose to link the amplitudes for the models (mg1.ampl => hg1.ampl). This forces Sherpa to find the best-fit amplitude for all four datasets.



Fitting

Fit all four datasets simultaneously:

sherpa> fit 3,4,9,10
WARNING (Sets 3,4,9,10): background data have been entered,
        but they have not been subtracted, nor have background models been set.
 LVMQT: V2.0
 LVMQT: initial statistic value = 118084
 LVMQT: final statistic value = 138.672 at iteration 14
           hg1.fwhm  0.0118774     
           hg1.pos  8.42135     
           hg1.ampl  0.000177587     
           hp1.c0  0.000341403     
           mg1.fwhm  0.0176838     
           mg1.pos  8.42178     
           mp1.c0  0.000421502     

The fit gives us a line position and flux (for a normalized gaussian, the flux is simply the amplitude [hg1.ampl]: 1.81e-4 photons/cm2/s). The mg1.ampl is not listed because it was linked to hg1.ampl, and so has the same best-fit value.



Identify the Line

The next step is to use the identify command to determine the source of the line; it takes a given wavelength and searches the APEC line list for strong lines with wavelengths close to it (within 0.01 Å by default). An optional second parameter allows a search range to be set (i.e. identify(8.42, 0.02) prints all lines with wavelengths between 8.40 and 8.44 Å):

sherpa> identify(8.42, 0.02)
  Lambda  --  Ion     UL -  LL Emissivity@   kT  RelInt  For More Info
 Angstrom                        ph cm^3/s   keV 
   8.4053   Fe XXII   177-   8  1.28e-18 @ 1.085 0.019 describe(26,22,177,8)
   8.4192    Mg XII     4-   1  6.89e-17 @ 0.862 1.000 describe(12,12,4,1)
   8.4246    Mg XII     3-   1  3.45e-17 @ 0.862 0.500 describe(12,12,3,1)

The fifth and sixth columns give the peak emissivity and temperature, respectively. The best identification is usually the strongest line in the list; if the peak emissivities are similar, the line could be a blend. In this case, the strongest lines are the 4->1 and 3->1 transitions of Mg XII (hydrogen-like magnesium).

We can find out more about some of the lines with the describe command; this command gets its information from APED. The syntax is describe(element, ion, upperlevel, lowerlevel): element is the number of protons (i.e. Mg = 12), ion is the ion stage in astronomical usage (i.e. XII = 12), and the upper and lower energy levels are given in the identify list. Note that the appropriate describe syntax is provided by the identify command. To find out about the strongest line in the previous list:

sherpa> describe(12,12,4,1)
Ion Mg XII, energy level 1 ---
electron configuration      : 1s~^2S_{1/2}
energy above ground (eV)    : 0.000000
Quantum state               : n=1, l=N/A, s=2, degeneracy=2
Energy level data source    : 1983ADNDT..29..467S
Photoionization data source : 1964ApJS....9..185B
-------------------------------------------
Ion Mg XII, energy level 4 ---
electron configuration      : 2p~^2P_{3/2}
energy above ground (eV)    : 1469.430054
Quantum state               : n=2, l=1, s=2, degeneracy=4
Energy level data source    : 1983ADNDT..29..467S
Photoionization data source : 1964ApJS....9..185B
-------------------------------------------
Ion Mg XII, 1 - 4 interactions ---
Electron collision rate from    1 ->    4  : nonzero.
Reference bibcode                          : 1983ADNDT..29..467S
Wavelength (lab/observed) (Angstrom)       : 8.419209 +/- 0.000040
Wavelength (theory) (Angstrom)             : 8.438330
Transition rate/Einstein A (s^-1)          : 1.278220e+13 
Wavelength (lab/observed) reference        : 1977JPCRD...6...3E
Wavelength (theory) reference              : 1983ADNDT..29..467S
Transition rate reference                  : 1987JPhB...20.6457F

This tells us that the 4->1 transition in Mg XII is in fact an n=2->1 hydrogen-like transition, or one component of the hydrogen-like Mg XII Lyman alpha line. Using describe(12,12,3,1) shows that it is the other transition in the n=2->1 doublet. This identification information (along with the current filter) can then be associated with a particular model element (in this case, the gaussian model hg1 used to fit the HEG +/-1 orders) using the lineid and filter commands:

sherpa> hg1 lineid "APECline(12,12,4,1)+APECline(12,12,3,1)"
sherpa> hg1 filter "ignore allsets all; notice allsets wave 8.2:8.6"


Write an MDL File

Finally, the results are written to an MDL file which stores the data, the model, and the identification. This formatted FITS file can be read back into Sherpa (using read mdl "MgXII_MDL.fits") and can also be used for more sophisticated projects, such as fitting a differential emission measure (DEM) model.

sherpa> write mdl "MgXII_MDL.fits"
WARNING (Sets 3,4,9,10): background data have been entered,
        but they have not been subtracted, nor have background models been set.

Use prism to examine the file that was just created:

sherpa> prism MgXII_MDL.fits

Figure 2 [Link to Image 2: Viewing the MDL file with Prism] shows the resulting display; the modeling information is saved in the MDL_Models block.



History

14 Jan 2005 reviewed for CIAO 3.2: no changes
21 Dec 2005 reviewed for CIAO 3.3: no changes
09 Feb 2006 minor change to filenames; organized thread into sections
01 Dec 2006 updated for CIAO 3.4: Sherpa version

Return to Threads Page: Top | All | Fitting
Hardcopy (PDF): A4 | Letter
Last modified: 1 Dec 2006


The Chandra X-Ray Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory.
60 Garden Street, Cambridge, MA 02138 USA.    Email: cxcweb@head.cfa.harvard.edu
Smithsonian Institution, Copyright © 1998-2004. All rights reserved.