Starting with XMM-Newton/EPIC

From WikiVirgo

Jump to: navigation, search

by Dima Iakubovskyi

Цель данной страницы - систематизировать навыки, необходимые для обработки данных с камер EPIC спутника XMM-Newton начинающим пользователям ВИРГО.

Contents

Пару слов о XMM-Newton

Космическая рентгеновская обсерватория XMM-Newton, запущенная Европейским космическим агенством в декабре 1999 года, является одной из наиболее востребованных в данный момент ренгеновских миссий. Основные цели обсерватории - как можно более точные наблюдения относительно тусклых точечных (а также протяженных) источников, проведение глубоких обзоров, с возможностью получения изображений и хорошим спектральным разрешением. Для получения изображений используется отражение от металлических зеркал, получаемое при очень малых (скользящих) углах падения на зеркало. Поскольку малость угла падения на зеркало сильно уменьшает эффективную площадь телескопа, последний делают очень длинным (длина телескопа - более 8 метров), а также используют уникальную технологию вложенных одно в другое 58 слоев гиперболически-параболических зеркал. В результате, эффективная площадь инструментов XMM-Newton заметно превышает эффективную площадь его ближайшего аналога - американской обсерватории Chandra.

Основной инструмент обсерватории - European Photon Imaging Camera (EPIC) - состоит из трех ПЗС матриц-"камер" (две камеры MOS и одна камера PN), которые фокусируют изображение, полученное телескопом. Рабочий диапазон энергий инструмента составляет для MOS камеры 300-10000 эВ, для PN камеры 300-12000 эВ. Вспомогательные инструменты - 2 рентгеновских спектрометрометра (RGS), работающие в диапазоне 0.35-1.5 кэВ, и оптический монитор (OM).

В данном тексте описывается обработка данных, полученных камерами EPIC. Объект наблюдения - рентгеновский пульсар Cen X-3, часть рентгеновской двойной системы.

Работа с базами данных. Скачивание необходимых данных с базы данных HEASARC

Данные наблюдений XMM-Newton находятся в свободном доступе после окончания "срока собственности" (proprietary period), примерно равного одному году после проведения наблюдения. После этого, данные являются публично доступными на сайте HEASARC.

Для скачивания данных с сайта в форме поиска необходимо указать имя объекта и название инструмента (в нашем случае это cen x-3 xmm). После обработки запроса, необходимо перейти к каталогу xmmmaster, который содержит информацию о "сырых" наблюдениях. В данном случае, в каталоге xmmmaster находятся 3 наблюдения - 0111010101, 0400550201 и 0400550301. Последнее наблюдение - 0400550301 - является "пустым", т.е. содержит наблюдения с закрытым окошком. Понять, является ли данное наблюдение "пустым", можно либо с помощью скачивания предварительных изображений (флажок "XMM Quicklook Images"), либо по их характерной особенности - появлению сразу после наблюдения с гораздо большим временем экспозиции.

Таким образом, наблюдениями, содержащими информацию об объекте, являются 0111010101 и 0400550201. В данной работе мы будем иметь дело с наблюдением 0111010101. Для скачивания предварительных данных с этого наблюдения необходимо оставить отмеченным ТОЛЬКО флажок "XMM ODF Basic Data", а также флажок с номером наблюдения - 0111010101. После этого, необходимо перейти от закладки "Query results" к закладке "Data products retrieval", и нажать кнопку "Create download script". В результате появится команда, предлагающая скачать данную директорию (с помощью команды wget):

wget -q -nH --cut-dirs=4 -r -l0 -c -N -np -R 'index*' -erobots=off --retr-symlinks http://heasarc.gsfc.nasa.gov/FTP/xmm/data/rev0//0111010101/ODF/

Эту команду необходимо исполнить в директории, в которой планируется обработка данных (в случае, описанном ниже это директория /home/practice/. Следует заметить, что данная директория разная для разных компьютеров.) Результатом исполнения команды будет появления директории 0111010101, содержащей поддиректорию ODF - хранилище "первичных" данных наблюдения.

Важное дополнение. Для того, чтобы визуализировать процесс закачки данных, поменяйте в команде wget опцию -q на -v.


Loading of XMM-Newton calibration files (CCF)

If you're not system administrator, please contact a system administrator :-) If you're system administrator, please use something like

[dima806@zeus ~]$ sudo rsync -v -a --delete --delete-after --force --include='*.CCF' --exclude='*/' xmm.esac.esa.int::XMM_RED_CCF /virgo/software/CCF
[dima806@zeus ~]$

Первичная обработка данных

В данном разделе будет подробно рассмотрена предварительная обработка данных. Здесь и дальше, обработка данных показана на примере компьютера Phobos (v1), находящемся в ВИРГО классе на физическом факультете. Внейшний адрес класса - p.virgo.org.ua. Об особенностях удаленного доступа к классу читайте здесь.

Скачаные данные находятся в директории /home/practice (учтите, что на каждом компьютере она своя! Поэтому продолжать работу имеет смысл с того же компьютера). Перейдем в эту директорию:

[virgog1@Phobos ~]$ cd /home/practice/
[virgog1@Phobos practice]$

В этой директории находится одна папка с данными, под названием 0111010101:

[virgog1@Phobos practice]$ ls
0111010101
[virgog1@Phobos practice]$

В этой папке находятся данные наблюдений пульсара Cen X-3 камерами EPIC. Посмотрим содержимое этой папки:

[virgog1@Phobos practice]$ cd 0111010101/
[virgog1@Phobos 0111010101]$ ls
ODF

Таким образом, папка 0111010101 содержит директорию ODF (Observation data files), в которой, собственно, находятся результаты наблюдения. Перейдем в эту папку, и посмотрим ее содержимое:

[virgog1@Phobos 0111010101]$ cd ODF
[virgog1@Phobos ODF]$ ls

Первичная обработка данных. Производство файлов событий.

Как видно, в папке ODF имеется большое количество файлов "непонятного" предназначения. На самом деле, это файлы, записанные в форме, "удобной" для спутника. Первой нашей задачей будет являться получение так называемых "списков событий" - аналога Excel/openoffice таблиц, каждый элемент которой соответствует событию, регистрируемому ПЗС матрицами (MOS1, MOS2 или PN). Записывается следующая информация о событии:

  • номер детектора, где оно произошло (т.е. "координаты");
  • энергия события (в "инструментальных единицах", или PI);
  • время события;
  • вспомогательная техническая информация.

Файлы событий являются основой для получения продуктов высокого уровня - т.е. кривых блеска (если мы оставляем только временную переменную), изображений (координаты) и спектров (энергия). В этом разделе описано производство файлов событий.

Прежде всего, данные необходимо распаковать:

[virgog1@Phobos ODF]$ gunzip *gz
[virgog1@Phobos ODF]$

Затем необходимо перейти в рабочую директорию 0111010101 (т.е. на 1 директорию выше директории ODF, это делается либо при помощи команды

[virgog1@Phobos ODF]$ cd ..
[virgog1@Phobos 0111010101]$

либо при помощи указания полного пути (что полезно знать, если Вы "заблудились"):

[virgog1@Phobos ODF]$ cd /home/practice/0111010101
[virgog1@Phobos 0111010101]$

Дальше важным шагом является инициализация програмного обеспечения. Это делается путем исполнения файла /virgo/scripts/login (к слову, не обязательно в рабочей папке):

[virgog1@Phobos 0111010101]$ source /virgo/scripts/login
 
sasversion:- XMM-Newton SAS release and build information:
 
SAS release: xmmsas_20080701_1801-8.0.0
Compiled on: Tue Jul  1 23:02:05 GMT 2008
Compiled by: sasbuild@sasbld01.net4.lan
Platform   : Red Hat Enterprise Linux WS release 4 (Nahant Update 5)
 
SAS-related environment variables that are set:
 
SAS_DIR = /home/virgo/software/xmmsas_20080701_1801
SAS_PATH = /home/virgo/software/xmmsas_20080701_1801
 
 
Do not forget to define SAS_CCFPATH, SAS_CCF and SAS_ODF
 
Warning: Environment variable ISDC_OMC_CAT is not set
[virgog1@Phobos 0111010101]$

В результате инициализируется програмное обеспечение SAS (Scientific Analysis Software), которое обрабатывает данные со спутника XMM-Newton.

Следующим шагом является построение так называемого списка калибровочных файлов. Спутник XMM-Newton - сложнейшее технологическое устройство, и для правильной обработки данных необходима масса вспомогательной информации вроде температуры окружающей среды (т.е. детекторов), положения спутника по отношению к Земле и Солнцу, списка плохих детекторов и т.д. Вся эта информация содержится в большом количестве калибровочных файлов. Для упрощения дальнейшей работы софта используется предварительная процедура cifbuild, которая записывает всю необходимую информацию в список (находящийся в файле ccf.cif):

[virgog1@Phobos 0111010101]$ setenv SAS_ODF ODF
[virgog1@Phobos 0111010101]$ cifbuild -V 3
cifbuild:- Executing (routine): cifbuild calindexset=ccf.cif withccfpath=no usecanonicalname=no ccfpath=. recurse=no fileglob=*.ccf|*.CCF fullpath=no withobservationdate=no observationdate=now analysisdate=now category=XMMCCF ignorecategory=no masterindex=no withmasterindexset=no masterindexset=ccf.mif append=no  -V 3
cifbuild:- Will ask the analysis date to the OAL.
cifbuild:- Using the ODF 0208_0111010101 found in ODF
cifbuild:- Observation date: 2001-01-27T08:09:55.000
cifbuild:- Analysis date: 2009-03-04T10:38:01.000
[virgog1@Phobos 0111010101]$

Здесь переменной SAS_ODF предварительно присваивается значение ODF - т.е. путь на директорию, где хранятся файлы данных. Параметр -V 3 показывает значение так называемого SAS_VERBOSITY (уровня полноты ответа, выводимого на экран), чем меньше число, тем меньше полнота вывода.

[virgog1@Phobos 0111010101]$ ls
ODF  ccf.cif
[virgog1@Phobos 0111010101]$

Как видно, в результате выполнения процедуры cifbuild появился файл ccf.cif. Для дальнейшей работы необходимо поставить ссылку на его местоположение, после чего запустить следующую процедуру, odfingest, которая делает "выжимку" из файлов, находящихся в директории SAS_ODF. После окончания процедуры odfingest ссылаться на файлы в директории ODF, уже нет смысла, и переменная SAS_ODF должна быть переопределена (* означает произвольную комбинацию букв, цифр и символов):

[virgog1@Phobos 0111010101]$ setenv SAS_CCF ccf.cif 
[virgog1@Phobos 0111010101]$ odfingest -V 2
odfingest:- Executing (routine): odfingest odfdir=. withodfdir=no outdir=. summaryfile=0000_0000000000_SCX000SUM.SAS usecanonicalname=yes writepath=yes findinstrumentmodes=yes usehousekeeping=yes oalcheck=no  -V 2
[virgog1@Phobos 0111010101]$ ls
0208_0111010101_SCX00000SUM.SAS  ODF  ccf.cif
[virgog1@Phobos 0111010101]$ setenv SAS_ODF 0*SAS

Заметим, вывод процедуры будет бОльше, поэтому для удобства используется параметр -V 2.

Теперь все готово к производству файлов событий. Это действие производится процедурами emproc (для MOS1 и MOS2 камер) и epproc (для PN камеры). Поскольку продедура производства файлов событий довольно длительная, обе процедуры можно выполнить в режиме "одна за другой", это делается с помощью символа ";" :

[virgog1@Phobos 0111010101]$ emproc -V 1; epproc -V 1

После окончания этих процедур будут произведены файлы событий (файлы, содержащие фразу Evts):

[virgog1@Phobos 0111010101]$ ls *Evts*
0208_0111010101_EMOS1_S001_ImagingEvts.ds
0208_0111010101_EMOS1_S001_TimingEvts.ds
0208_0111010101_EMOS2_S002_ImagingEvts.ds
0208_0111010101_EPN_S003_ImagingEvts.ds
[virgog1@Phobos 0111010101]$

Типы файлов событий.

Как видно из предыдущего раздела, в директории 0111010101 появилось 4 файла событий. Два из них соответствуют камере MOS1, по одному - камерам MOS2 и PN. Первые четыре цифры (в данном случае 0208) показывают номер оборота спутника вокруг Земли (с момента его запуска). Другим важным параметром, указанным в названии файла, является тип (мода) файла (Imaging или Timing). Файлы различных мод имеют довольно различную структуру, поэтому будут обрабатываться при помощи двух разных методов, описанных ниже.

Простейшая обработка файлов событий в Imaging моде.

Наиболее часто распространенной модой, используемой для наблюдения не слишком ярких объектов, является мода Imaging. В данной моде записывается двумерная пространственная информация о координатах событий, что позволяет наиболее эффективно вычитать фоновые события.

В данном наблюдении имеется три файла событий в моде Imaging - по одному на каждую камеру. Для простоты переименуем данные файлы событий, дав им более простые названия (для продвинутых пользователей процедура переименования файлов не обязательна, так как приводит к потере части информации в имене файла, в результате чего возможно "затиранее" имен файлов в случае наличия нескольких файлов с одной камеры в рамках одного наблюдения):

[virgog1@Phobos 0111010101]$ mv 0208_0111010101_EMOS1_S001_ImagingEvts.ds mos1.fits
[virgog1@Phobos 0111010101]$ mv 0208_0111010101_EMOS2_S002_ImagingEvts.ds mos2.fits
[virgog1@Phobos 0111010101]$ mv 0208_0111010101_EPN_S003_ImagingEvts.ds pn.fits
[virgog1@Phobos 0111010101]$

Следующий этап - построение "сырого" (т.е. нефильтрованного) изображения. Эту процедуру (как и многое другое) проводит многофункциональная процедура evselect, задача которой - всевозможная фильтрация файлов событий:

[virgog1@Phobos 0111010101]$ evselect table=mos1.fits:EVENTS withimageset=yes imageset=mos1-sky.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=mos2.fits:EVENTS withimageset=yes imageset=mos2-sky.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=pn.fits:EVENTS withimageset=yes imageset=pn-sky.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$

Важные параметры выполненной процедуры evselect, используемой для получения изображений:

  • table - имя файла событий, используемого для построения изображения. Данный файл событий должен содержать колонку EVENTS (см. ниже);
  • withimageset - параметр, указывающий на желание построить изображение (если yes);
  • imageset - имя произведенного файла изображения;
  • xcolumn и ycolumn - названия колонок, содержащих информацию о двумерных координатах. Чаще всего используются (X,Y) - "физические" координаты, связанные со спутником, одинаковы для всех трех камер; (DETX,DETY) - координаты детектора, связанные с каждой из камер, удобны для "вырезания" поля зрения спутника, а также автоматической обработке одного и того же пространственного региона, комбинируя разные наблюдения; (RAWX,RAWY) - "сырые" координаты на отдельной ПЗС матрице.
  • imagebinning - задает метод разбиения рисунка на пиксели. Параметр imageSize означает выбор рисунка фиксированного размера, при этом угловой размер пикселя на рисунке подбирается в зависимости от первоначального углового размера рисунка и его конечного размера в пикселях, задаваемыми параметрами ximagesize и yimagesize.

Данное изображение можно просмотреть, в частности, с помощью специализированной программы ds9:

[virgog1@Phobos 0111010101]$ /virgo/software/DS9/ds9 mos1-sky.im -log -zoom to fit mos2-sky.im -log -zoom to fit pn-sky.im -log -zoom to fit &
[virgog1@Phobos 0111010101]$

Далее возникает окно программы ds9, универсального просмотрщика FITS файлов изображений. Здесь для удобства использованы опции -log, означающая отображение "яркости" рисунков (числа событий на пиксель) в логарифмическом масштабе, и -zoom to fit, означающая автоматический подбор масштаба, гарантирующий отображение всего рисунка.

Полученные изображения (MOS1, слева вверху, MOS2, справа вверху, PN внизу) имеют ряд особенностей. Во-первых, в отличие от MOS2 изображения, изображение MOS1 не содержит центральной CCD матрицы (всего матриц в MOS1 и MOS2 камерах семь, в PN камере - четырнадцать). Это связано с тем, что центральное наблюдение MOS1, в отличие от MOS2, было проведено в Timing моде, о которой речь пойдет ниже. Для того, чтобы определить, какие CCD матрицы наблюдали небо в Imaging или Timing модах, необходимо посмотреть соответствующие файлы из каталога ODF (для MOS1 камеры):

[virgog1@Phobos 0111010101]$ ls ODF/*M1*E.FIT*
ODF/0208_0111010101_M1S00110TIE.FIT  ODF/0208_0111010101_M1S00150IME.FIT
ODF/0208_0111010101_M1S00120IME.FIT  ODF/0208_0111010101_M1S00160IME.FIT
ODF/0208_0111010101_M1S00130IME.FIT  ODF/0208_0111010101_M1S00170IME.FIT
ODF/0208_0111010101_M1S00140IME.FIT  ODF/0208_0111010101_M1S40010OVE.FIT
[virgog1@Phobos 0111010101]$

Здесь файлы *IME.FIT соответствуют Imaging моде, а *TIE.FIT - Timing моде. Наблюдение имеет порядковый номер S001, далее идет цифра - номер CCD матрицы. Как видно, CCD 1 наблюдало в моде Timing, а CCD 2-7 - в моде Imaging. Теперь обратимся к камере MOS2:

[virgog1@Phobos 0111010101]$ ls ODF/*M2*E.FIT
ODF/0208_0111010101_M2S00210IME.FIT  ODF/0208_0111010101_M2S00250IME.FIT
ODF/0208_0111010101_M2S00220IME.FIT  ODF/0208_0111010101_M2S00260IME.FIT
ODF/0208_0111010101_M2S00230IME.FIT  ODF/0208_0111010101_M2S00270IME.FIT
ODF/0208_0111010101_M2S00240IME.FIT
[virgog1@Phobos 0111010101]$

Таким образом, все CCD матрицы камеры MOS2 проводили наблюдения в моде Imaging. Для камеры PN получим

[virgog1@Phobos 0111010101]$ ls ODF/*PN*E.FIT
ODF/0208_0111010101_PNS00304IME.FIT
[virgog1@Phobos 0111010101]$

Таким образом, в данном режиме наблюдения была включена только CCD 4, направленная на центральный источник. Это является свидетельством наблюдений в так называемой Small Window моде, используемой для достаточно ярких источников.

Следующим шагом является предварительная фильтрация файлов событий:

[virgog1@Phobos 0111010101]$ evselect table=mos1.fits:EVENTS withfilteredset=yes expression='(PATTERN <= 12)&&(FLAG == 0)&&(PI in [200:12000])' filteredset=mos1-filt.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ evselect table=mos2.fits:EVENTS withfilteredset=yes expression='(PATTERN <= 12)&&(FLAG == 0)&&(PI in [200:12000])' filteredset=mos2-filt.fits filtertype=expression keepfilteroutput=yes 
[virgog1@Phobos 0111010101]$ evselect table=pn.fits:EVENTS withfilteredset=yes expression='(PATTERN <= 4)&&(FLAG == 0)&&(PI in [150:15000])' filteredset=pn-filt.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$

Опции withfilteredset=yes и keepfilteroutput=yes позволяют получить результат фильтрования в виде файла событий, аналогичной исходному файлу событий. Полученные файлы событий (mos1-filt.fits, mos2-filt.fits и pn-filt.fits) содержат события, подходящие следующему условию селекции: '(PATTERN <= 12)&&(FLAG == 0)&&(PI in [200:12000])' для MOS камер, '(PATTERN <= 4)&&(FLAG == 0)&&(PI in [150:15000])' для PN камеры.

Параметр PATTERN указывает меру "множественности" события. Дело в том, что единичному фотону может соответствовать более одного события. Например, электронное облако, рожденное фотоном, может находиться в нескольких соседних детекторах, что формально приводит к одновременной регистрации нескольких событий. Поскольку на самом деле события эти произошли от одного фотона, их необходимо интерпретировать как одно "кратное" (двойное, тройное, четверное и т.д.) событие. Для того, чтобы отличать "кратные" события от единичных, и вводится параметр PATTERN. В частности, единичные события соответствуют "PATTERN == 0", двойные - "PATTERN in [1:4]". Условие "PATTERN <= 12" выделяет единичные, двойные, тройные и четверные события. Различие между условиями селекции для MOS и PN связано с худшей калибровкой последней, в результате чего в анализе используются лишь единичные события.

Параметр FLAG соответствует "качеству" события. События с "FLAG > 0" (например, события возле "горячих" пикселей или за пределами поля зрения инструмента) являются менее пригодными для анализа, в частности спектрального, поэтому в количественном анализе принято оставлять только события с "FLAG == 0".

Параметр PI называется инструментальной энергией. Это величина, определяемая по амплитуде сигнала, поступающей на процессор соответствующей камеры. Этот параметр нормирован таким образом, чтобы приблизительно соответствовать энергии фотона.

Стоит заметить, что прямого соответствия между величиной PI и энергией падающего фотона не наблюдается. Одна из наиболее существенных причин - потери заряда на поверхности; часть электронов "задерживается" в многочисленных приповерхностных дефектах кремниевой основы CCD, и "регистрируется" через достаточно большое время как фотон с малой PI. Это приводит к тому, что поток фотонов высокой энергии дает некоторый вклад в события с малой PI. Данный эффект называется перераспределением энергии (energy redistribution) и приводит к необходимости определения матрицы перехода между PI и энергией фотона (redistribution matrix function, RMF).

В результате проведения многочисленных калибровок, "стандартом" обработки данных является избавление от событий с слишком малыми и слишком большими значениями параметра PI. Для MOS камер "рекомендованный интервал" PI составляет 200-12000 эВ, для PN камеры - 150-15000 эВ.

Следующий шаг - построение фильтрованных изображений (в координатах (X,Y)):

[virgog1@Phobos 0111010101]$ evselect table=mos1-filt.fits:EVENTS withimageset=yes imageset=mos1-filt.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withimageset=yes imageset=mos2-filt.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=pn-filt.fits:EVENTS withimageset=yes imageset=pn-filt.im xcolumn=X ycolumn=Y imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ /virgo/software/DS9/ds9 mos1-filt.im -log -zoom to fit mos2-filt.im -log -zoom to fit pn-filt.im -log -zoom to fit &

Как видно, полученные фильтрованные изображения не содержат событий за пределами поля зрения инструмента. Отчетливо прорисованы границы CCD и "желобки" внутри каждого CCD. Это является следствием фильтрации по параметру FLAG. Фильтрация по параметрам PI и PATTERN привела к общему уменьшению яркости изображений.

Также нам понадобятся изображения, построенные в координатах (DETX,DETY) для MOS1 и MOS2 камер, и (RAWX,RAWY) для PN камеры:

[virgog1@Phobos 0111010101]$ evselect table=mos1-filt.fits:EVENTS withimageset=yes imageset=mos1-filt-det.im xcolumn=DETX ycolumn=DETY imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withimageset=yes imageset=mos2-filt-det.im xcolumn=DETX ycolumn=DETY imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ evselect table=pn-filt.fits:EVENTS withimageset=yes imageset=pn-filt-raw.im xcolumn=RAWX ycolumn=RAWY imagebinning=imageSize ximagesize=600 yimagesize=600
[virgog1@Phobos 0111010101]$ /virgo/software/DS9/ds9 mos1-filt-det.im -log -zoom to fit mos2-filt-det.im -log -zoom to fit pn-filt-raw.im -log -zoom to fit &

Видно, что RAW и DET координаты центрального объекта, в отличие от координат (X,Y), различны для различных камер.

Число событий в файле событий (к примеру, mos1.fits) может быть найдено с помощью процедуры

[virgog1@Phobos 0111010101]$ fkeyprint mos1.fits+1 NAXIS | grep NAXIS2 | awk '{print $3}'
241914
[virgog1@Phobos 0111010101]$

Таким образом, файл mos1.fits сожержит 241914 событий. Повторим ту же процедуру для файла mos1-filt.fits:

[virgog1@Phobos 0111010101]$ fkeyprint mos1-filt.fits+1 NAXIS | grep NAXIS2 | awk '{print $3}'
143468

Таким образом, эта примитивная фильтрация удалила около 40% событий из файла mos1.fits!

Перейдем к построению кривых блеска:

[virgog1@Phobos 0111010101]$ evselect table=mos1-filt.fits:EVENTS withrateset=yes rateset=mos1-filt.lc maketimecolumn=yes makeratecolumn=yes timebinsize=50 
[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withrateset=yes rateset=mos2-filt.lc maketimecolumn=yes makeratecolumn=yes timebinsize=50 
[virgog1@Phobos 0111010101]$ evselect table=pn-filt.fits:EVENTS withrateset=yes rateset=pn-filt.lc maketimecolumn=yes makeratecolumn=yes timebinsize=50 
[virgog1@Phobos 0111010101]$ fv mos1-filt.lc mos2-filt.lc pn-filt.lc &

Пареметры evselect, используемые для построения кривой блеска:

  • withrateset = yes - необходимо ли строить кривую блеска;
  • rateset - имя создаваемой кривой блеска;
  • maketimecolumn - будет ли в кривой блеска колонка со временем прихода фотонов;
  • makeratecolumn - будет ли в кривой блеска колонка со скоростью счета;
  • timebinsize - размер одного бина на кривой блеска (в сек).

Программа fv является универсальным просмотровщиком FITS файлов. Для построения кривой блеска, скажем, для файла mos1-filt.lc, необходимо перейти к summary данного файла. Для построения кривой блеска необходима строка №1, под названием RATE. В данной строке, необходимо нажать на кнопку Plot, в результате возникнет новое окошко Select Plot Columns. По оси X необходимо выбрать TIME, по оси Y - RATE, напротив YERROR поставить ERROR. После чего нажать кнопку Plot внизу окошка.

Для построения нескольких кривых блеска (например, mos1-filt.lc и mos2-filt.lc) в одном окне необходимо пометить пункт "Add my curve to current graph".

Сравнение кривых блеска с камер MOS2 и PN (MOS1 камера не содержит центрального объекта, и потому ее файл событий был обработан с иллюстративной целью) показывает, что формы этих кривых блеска не совпадают! Существует 2 возможные причины такого поведения:

  • существенное различие в эффективных площадях и уровнях фона. Как видно, уровень скорости счета событий с периферийных CCD 2-7, указанный в mos1-filt.lc, составляет существенную часть скорости счета, отмеченную в mos2-filt.lc (напомню, что эти камеры одинаковы, и должны давать примерно одинаковую скорость счета);
  • различное поведение зависимости скорости счета от потока фотонов в MOS2 и PN камерах, связанное с различием мод наблюдений.

Для того, чтобы проверить первую гипотезу, необходимо получить кривую блеска, полученную с области, занимаемой источником. Для этого существует два общепринятых метода, описанных ниже.

Выделение региона источника с помощью полученного рентгеновского изображения.

Для этого понадобятся рентгеновские изображения. Проще всего использовать изображения в координатах (X,Y), поскольку такие координаты источника в разных камерах (но не в разных наблюдениях!) совпадают. Откроем соответствующие файлы mos2-filt.im и pn-filt.im при помощи ds9:

[virgog1@Phobos 0111010101]$ /virgo/software/DS9/ds9 mos2-filt.im -log -zoom to fit pn-filt.im -log -zoom to fit &
[virgog1@Phobos 0111010101]$

Перейдем к изображению MOS2 (слева). Увеличим масштаб с помощью Zoom, перемещая источник в центальную часть. Далее необходимо кликнуть мышкой на центр источника. В результате, на изображении появляется кружок, а также всплывает окошко Circle с параметрами кружка. Прежде всего, нас интересуют координаты его центра. В данном случае получилось (26394,23915). Впрочем, данные цифры являются неточными, погрешность достигает десятков координатных единиц, одна координатная единица = 0.05 секунды дуги. Например, измерения координат PN камеры дает (26416,23893). Тем не менее, для quicklook анализа подобной точности определения центра источника вполне хватает. Для определенности, далее будем использовать средние арифметические определенных координат: X = 26405, Y = 23904.

Еще одним важным параметром региона источника является его радиус. Дело в том, что изображения точечных объектов размываются вследствии дифракции на зеркалах, неточностей определения положения объекта и т.д. В результате, 90% энергии от точечного источника содержится в кружке с радиусом 30-45 угловых секунд! Как показывает практика, для количественного анализа кривой блеска и спектра точечных источников наиболее оптимален радиус 40-50 секунд дуги, или 800-1000 координатных единиц. Далее мы выберем радиус региона равным 1000 координатных единиц.

Сначала построим файл событий из региона источника:

[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withfilteredset=yes expression='((X,Y) in circle(26405,23904,1000))' filteredset=mos2-source.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ evselect table=pn-filt.fits:EVENTS withfilteredset=yes expression='((X,Y) in circle(26405,23904,1000))' filteredset=pn-source.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$

В то время как файлы событий mos2-filt.fits и pn-filt.fits содержат 480611 и 1062172 событий, соответствующие файлы событий из регионов источника содержат 198358 и 920792 событий. Таким образом, "сырая" кривая блеска mos2-filt.lc была построена более чем наполовину из событий фона! Новые кривые блеска источника:

[virgog1@Phobos 0111010101]$ evselect table=mos2-source.fits:EVENTS withrateset=yes rateset=mos2-source.lc maketimecolumn=yes makeratecolumn=yes timebinsize=50
[virgog1@Phobos 0111010101]$ evselect table=pn-source.fits:EVENTS withrateset=yes rateset=pn-source.lc maketimecolumn=yes makeratecolumn=yes timebinsize=50
[virgog1@Phobos 0111010101]$ fv mos2-source.lc pn-source.lc &

Несмотря на то, что совпадение кривых блеска источника улучшилось, разница между отношениями скоростей счета в начале и конце наблюдения остается существенной (лучше всего она заметна в логарифмическом масштабе; для этого необходимо выбрать Edit -> Axes Transforms -> Linear-Log. В частности, если в начале наблюдения отношение скоростей счета примерно 2.5, то в конце оно приближается к 4.0). Это является следствием так называемого эффекта наложения сигналов (pile-up), о котором речь пойдет чуть ниже.

Выделение региона источника с известными мировыми координатами.

Несмотря на простоту метода определения координат источника, для каждого нового наблюдения того же источника координаты необходимо вычислять заново. Эта процедура является довольно утомительной, к тому же, оказывается, ее можно автоматизировать, даже двумя методами, если известны "мировые" координаты источника (к примеру, RA и DEC в J2000). Один из методов, позволяющий определять те же координаты (X,Y), обсуждается здесь. Однако у этого метода на данный момент имеется ряд недостатков, связанных с нестабильностью работы ds9 (в результате, параметры скрипта, такие как время задержки ds9 до загрузки файла региона, приходится "подправлять"). Кроме того, этот скрипт не является полностью автоматизированным. Поэтому здесь рассматривается альтернативный метод выделения региона источника (который, правда, подходит лишь для ХММ-Newton).

Особенность данного метода состоит в определении координат (DETX,DETY) или (RAWX,RAWY) по известным RA и DEC с помощью специальной процедуры esky2det. Прежде всего, необходимо перевести координаты RA и DEC в десятичные. Поиск в базе данных SIMBAD дает RA = 11:21:15.78 = 170.31575, DEC = -60:37:22.7 = -60.62297.

[virgog1@Phobos 0111010101]$ esky2det datastyle=user calinfostyle=set calinfoset
=mos2.fits outunit=det ra=170.31575 dec=-60.62297 -V 1
esky2det:- Executing (routine): esky2det intab=inset.ds:INPUT witherrorcol=no ou
ttab=outset.ds:OUTPUT withouttab=no ra=170.31575 dec=-60.62297 errorradius=0 wit
herrorradius=no withheader=yes datastyle=user mosccdnode=primary outunit=det cal
infoset=mos2.fits instrument=EMOS1 datetime=0000-00-00T00:00:00 scattra=0 scattd
ec=0 scattapos=0 calinfostyle=set withboresightfudge=yes  -V 1
# Instrument: EMOS2
# Coord sytem of output is DETXY (CAMCOORD2 but in units of 0.05 arcsec).
# Source RA = 170.315750 deg.
# Source dec = -60.622971 deg.
#
# detX       detY
  -114.5     -129.5
 
[virgog1@Phobos 0111010101]$ esky2det datastyle=user calinfostyle=set calinfoset
=pn.fits outunit=raw ra=170.31575 dec=-60.62297 -V 1
esky2det:- Executing (routine): esky2det intab=inset.ds:INPUT witherrorcol=no ou
ttab=outset.ds:OUTPUT withouttab=no ra=170.31575 dec=-60.62297 errorradius=0 wit
herrorradius=no withheader=yes datastyle=user mosccdnode=primary outunit=raw cal
infoset=pn.fits instrument=EMOS1 datetime=0000-00-00T00:00:00 scattra=0 scattdec
=0 scattapos=0 calinfostyle=set withboresightfudge=yes  -V 1
# Instrument: EPN
# Coord sytem of output is RAWXY (PIXCOORD1).
# Source RA = 170.315750 deg.
# Source dec = -60.622971 deg.
#
# rawX      rawY    ccd   On chip?
  35.40    187.65    4      T
 
[virgog1@Phobos 0111010101]$

Таким образом, координаты (DETX,DETY) источника для MOS2 равны (-114.5,-129.5), координаты (RAWX,RAWY) для PN - (35.40,187.65). Размер пикселя в координатах (RAWX,RAWY) равен 4.1 = 82 координатных единицы для PN и 1.1 = 22 координатных единицы для MOS камеры, поэтому радиус окружности для PN координат (в пикселях RAW) равен 1000/82 = 12.195. Соответствующие файлы событий:

[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withfilteredset=yes expression='((DETX,DETY) in circle(-114.5,-129.5,1000))' filteredset=mos2-source-det.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ evselect table=pn-filt.fits:EVENTS withfilteredset=yes expression='((RAWX,RAWY) in circle(35.40,187.65,12.195))' filteredset=pn-source-raw.fits filtertype=expression keepfilteroutput=yes

Несмотря на некоторые отличия "видимых" и "вычисляемых" координат источника, данный метод хорошо автоматизируется и потому является оптимальным для анализа большого количества наблюдений одного и того же объекта.

Эффект наложения сигналов (pile-up) и методы борьбы с ним.

Как показано раньше, "странное" поведение отношения кривых блеска может быть связано с эффектом наложения сигналов. Суть эффекта заключается в том, что при больших скоростях счета повышается вероятность того, что следующий фотон попадет в тот же (или близкий) детектор в момент считывания информации о предыдущем фотоне. Таким образом, пара фотонов будет зарегистрирована как одно событие с более высокой энергии. Таким образом, эффект наложения сигналов уменьшает общую скорость счета (что может объяснить "отставание" скорости счета камеры MOS2 по сравнению с PN при больших скоростях счета) и увеличивает долю более жестких фотонов при более высоких скоростях счета.

Важным индикатором pile-up является изменение отношения единичных, двойных, тройных и четверных событий. Поскольку наличие pile-up увеличивает долю кратных событий, проверка отношения числа событий является общепринятым тестом эффекта наложения сигналов. Она производится с помощью процедуры epatplot (стоит отметить, что для корректной работы процедуры необходимо подавать на вход файл событий, сожержащий единичные, двойные, тройные и четверные события):

[virgog1@Phobos 0111010101]$ epatplot set=mos2-source.fits -V 5 | grep " d:"
** epatplot: warning (sigmaTooLarge), not enough statistics for at least 1 bin for PAT = 5
epatplot:- s: 1.014 +/- 0.009   d: 0.931 +/- 0.015
[virgog1@Phobos 0111010101]$ evselect table=pn.fits:EVENTS withfilteredset=yes expression='((X,Y) in circle(26405,23904,1000))&&(FLAG == 0)&&(PATTERN <= 12)' filteredset=pn-source_sdtq.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ epatplot set=pn-source_sdtq.fits -V 5 | grep " d:"
** epatplot: warning (sigmaTooLarge), not enough statistics for at least 1 bin for PAT = 5
epatplot:- s: 1.003 +/- 0.005   d: 0.990 +/- 0.006
[virgog1@Phobos 0111010101]$

Замечание sigmaTooLarge в данном случае вполне безобидное. Его можно даже не отображать на экран, используя опицию "-w sigmaTooLarge" после epatplot.

Как видно, отношение количества наличествующих и предсказанных событий (единичных и двойных) отличается от модельного. Таким образом, подозрения на наличие эффекта pile-up подтвердились как в MOS2 (сильный pile-up), так и в PN (слабый pile-up) камерах.

Существует два стандартных метода устранения эффекта наложения сигналов. Во-первых, логично ожидать, что данный эффект сильнее в центральной, наиболее яркой части изображения источника. Поэтому, для устранения эффекта pile-up предлагается вырезать центральную часть источника:

[virgog1@Phobos 0111010101]$ evselect table=mos2-filt.fits:EVENTS withfilteredset=yes expression='((X,Y) in circle(26405,23904,1000))&&!((X,Y) in circle (26405,23904,400))' filteredset=mos2-source_400_1000.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ epatplot set=mos2-source_400_1000.fits -V 5 | grep " d:"
** epatplot: warning (sigmaTooLarge), not enough statistics for at least 1 bin for PAT = 5
epatplot:- s: 0.997 +/- 0.015   d: 0.973 +/- 0.026
[virgog1@Phobos 0111010101]$ evselect table=pn.fits:EVENTS withfilteredset=yes expression='((X,Y) in circle(26405,23904,1000))&&!((X,Y) in circle (26405,23904,100))&&(FLAG == 0)&&(PATTERN <= 12)' filteredset=pn-source_sdtq_100_1000.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ epatplot set=pn-source_sdtq_100_1000.fits -V 5 | grep " d:"
** epatplot: warning (sigmaTooLarge), not enough statistics for at least 1 bin for PAT = 5
epatplot:- s: 0.996 +/- 0.005   d: 1.001 +/- 0.007
[virgog1@Phobos 0111010101]$

Таким образом, вырезание центральной части радиусом 400 единиц (MOS2) или 100 единиц (PN) позволило избавиться от эффекта. Дополнительная проверка проводится с помощью визуального просмотра файлов mos2-source_400_1000_pat.ps и pn-source_sdtq_100_1000_pat.ps.

Во-вторых, поскольку данный эффект сильнее для кратных событий, предлагается использовать для последующего анализа только единичные события.

Получение спектров источника и "локальное" вычитание фона.

После анализа файлов событий на наличие эффекта наложения сингалов, следующий шаг состоит в производстве спектров источника. Основные правила, изученные в предыдущем разделе:

  • спектр должен извлекаться с кольца, внешний радиус которого 1000 единиц, а внутренний - 400 единиц (MOS2) или 100 единиц (PN);
  • должны использоваться только единичные события.

Проще всего построить спектр с имеющихся уже файлов событий, а именно mos2-source_400_1000.fits и pn-source_sdtq_100_1000.fits:

[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='(PATTERN == 0)' filtertype=expression specchannelmax=11999 specchannelmin=0 spectralbinsize=15 spectrumset=mos2-source_400_1000.pi table=mos2-source_400_1000.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='(PATTERN == 0)' filtertype=expression specchannelmax=20479 specchannelmin=0 spectralbinsize=5 spectrumset=pn-source_100_1000.pi table=pn-source_sdtq_100_1000.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$

Используемые параметры evselect:

  • withspectrumset - создавать ли файл спектра
  • spectrumset - название создаваемого файла спектра;
  • energycolumn - название колонки энергий (в данном случае - PI);
  • withspecranges - указывать ли границы каналов (да);
  • specchannelmin - минимальное значение PI;
  • specchannelmax - максимальное значение PI (для MOS камер это 11999, для PN - 20479). Менять эти значения не рекомендуется;
  • spectralbinsize - размер одного бина в единицах PI (для MOS камер это 15, для PN - 5). Менять эти значения не рекомендуется;
  • updateexposure - обновить информацию об экспозиции (необходимо для правильного подсчета скорости счета).

Для количественного анализа спектра необходимо отделить события фона. Для точечных объектов общепринятая процедура состоит в ВЫЧИТАНИИ ЛОКАЛЬНОГО ФОНА. Для этого необходимо выбрать регион, свободный от точечных источников и расположенный неподалеку (лучше всего, в той же CCD, т.к. спектр фона, вообще говоря, изменяется при переходе к другой CCD). Желательно, чтобы площадь выбраного региона фона была не намного меньше (а лучше - несколько больше) площади региона источника (для обеспечения гауссовости/пуассоновости статистики, подробнее см. здесь).

[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='((X,Y) in annulus(26405,23904,1000,2000))&&(PATTERN == 0)' filtertype=expression specchannelmax=11999 specchannelmin=0 spectralbinsize=15 spectrumset=mos2-back.pi table=mos2-filt.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='((X,Y) in annulus(26405,23904,1000,2000))&&(PATTERN == 0)' filtertype=expression specchannelmax=20479 specchannelmin=0 spectralbinsize=5 spectrumset=pn-back.pi table=pn-filt.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$

Как правило, площади регионов источника и фона не совпадают. Это связано не только с разницей между геометрическими площадями, но и в различном количестве "плохих" пикселей, находящихся внутри. Для более точного вычитания фона применяют scaling factors, вычисляемые процедурой backscale:

[virgog1@Phobos 0111010101]$ backscale spectrumset=mos2-source_400_1000.pi badpixlocation='mos2-source_400_1000.fits' withbadpixcorr=yes useodfatt=no -V 0
backscale::arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS2, FILTERTRANSX, 12, /virgo/software/CCF/EMOS2_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, LINCOORD, 17, /virgo/software/CCF/EMOS2_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, MODEPARAM, 6, /virgo/software/CCF/EMOS2_MODEPARAM_0006.CCF, 1999-01-01T00:00:00.000}
CifEntry{EMOS2, PATTERNLIB, 5, /virgo/software/CCF/EMOS2_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, QUANTUMEF, 17, /virgo/software/CCF/EMOS2_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS2, TIMECORR, 3, /virgo/software/CCF/EMOS2_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS2, LINCOORD, 8, /virgo/software/CCF/RGS2_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, BORESIGHT, 19, /virgo/software/CCF/XMM_BORESIGHT_0019.CCF, 2000-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT2, XAREAEF, 9, /virgo/software/CCF/XRT2_XAREAEF_0009.CCF, 2000-01-13T00:00:00.000}
 
 
** backscale::arfgen::attcalc: warning (outOfImageRange),  37035  events ( of  1102500  ) out of range of image
** backscale::arfgen: warning (zeroSumDetmap), The filtered detector map has a zero normalisation - returning zero area. Try using a flat detector map and/or more bins
[virgog1@Phobos 0111010101]$ backscale spectrumset=pn-source_100_1000.pi badpixlocation='pn-source_sdtq_100_1000.fits' withbadpixcorr=yes useodfatt=no -V 0
** backscale::arfgen::attcalc: warning (outOfImageRange),  35537  events( of  1102500  ) out of range of image
** backscale::arfgen: warning (zeroSumDetmap), The filtered detector map has a zero normalisation - returning zero area. Try using a flat detector map and/or more bins
[virgog1@Phobos 0111010101]$ backscale spectrumset=mos2-back.pi badpixlocation='mos2-filt.fits' withbadpixcorr=yes useodfatt=no -V 0
backscale::arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS2, FILTERTRANSX, 12, /virgo/software/CCF/EMOS2_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, LINCOORD, 17, /virgo/software/CCF/EMOS2_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, MODEPARAM, 6, /virgo/software/CCF/EMOS2_MODEPARAM_0006.CCF, 1999-01-01T00:00:00.000}
CifEntry{EMOS2, PATTERNLIB, 5, /virgo/software/CCF/EMOS2_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, QUANTUMEF, 17, /virgo/software/CCF/EMOS2_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS2, TIMECORR, 3, /virgo/software/CCF/EMOS2_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS2, LINCOORD, 8, /virgo/software/CCF/RGS2_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, BORESIGHT, 19, /virgo/software/CCF/XMM_BORESIGHT_0019.CCF, 2000-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT2, XAREAEF, 9, /virgo/software/CCF/XRT2_XAREAEF_0009.CCF, 2000-01-13T00:00:00.000}
 
 
** backscale::arfgen::attcalc: warning (outOfImageRange),  37035  events ( of  1102500  ) out of range of image
[virgog1@Phobos 0111010101]$ backscale spectrumset=pn-back.pi badpixlocation='pn-filt.fits' withbadpixcorr=yes useodfatt=no -V 0
** backscale::arfgen::attcalc: warning (outOfImageRange),  35537  events ( of  1102500  ) out of range of image
[virgog1@Phobos 0111010101]$

После окончания процедуры backscale, величина scaling factor (в квадратных единицах, 1 квадратная секунда дуги = 400 кв.ед.) записывается в файлы спектра:

[virgog1@Phobos 0111010101]$ fkeyprint mos2-source_400_1000.pi+1 BACKSCALE
 
# FILE: mos2-source_400_1000.pi+1
# KEYNAME: BACKSCAL
 
# EXTENSION:    1
BACKSCAL=              2365622 / Scaling factor for background
[virgog1@Phobos 0111010101]$ fkeyprint pn-source_100_1000.pi+1 BACKSCALE
 
# FILE: pn-source_100_1000.pi+1
# KEYNAME: BACKSCAL
 
# EXTENSION:    1
BACKSCAL=              3006406 / Scaling factor for background
[virgog1@Phobos 0111010101]$ fkeyprint mos2-back.pi+1 BACKSCALE
 
# FILE: mos2-back.pi+1
# KEYNAME: BACKSCAL
 
# EXTENSION:    1
BACKSCAL=              3131929 / Scaling factor for background
[virgog1@Phobos 0111010101]$ fkeyprint pn-back.pi+1 BACKSCALE
 
# FILE: pn-back.pi+1
# KEYNAME: BACKSCAL
 
# EXTENSION:    1
BACKSCAL=              3134400 / Scaling factor for background
[virgog1@Phobos 0111010101]$

При дальнейшем вычитании спектр фона будет нормирован на отношение scaling factors фона и источника. Это позволит (в первом приближении, не выполняющимся для протяженных источников) хорошо отнять фон для точечных источников.

Полученный спектр сорержит количество фотонов на бин по величине PI (инструментальной энергии). Зная также время экспозиции, можно вычислить скорость счета в каждом бине. Тем не менее, полученная величина существенно зависит от характеристик инструмента. А именно, перераспределение заряда в поверхностном слое CCD приводит к появлению существенно недиагональной матрицы зависимости "физической" энергии от номера канала (redistribution matrix function, RMF). Эффекты, связанные с частичным отражением фотонов от зеркал, квантовой эффективностью CCD, размытием PSF (т.е. наличием в кружке только части фотонов от точечного источника), наличием out-of-time events, учитываются в так называемой ancillary response function (ARF), которая содержит эффективную площадь (для данного инструмента, наблюдения и данного региона объекта) как функцию энергии. Величины RMF и ARF моделируются численно при помощи процедур rmfgen и arfgen, соответственно. Начнем с процедуры rmfgen:

[virgog1@Phobos 0111010101]$ rmfgen format='var' rmfset='mos2-source_400_1000.rmf' spectrumset='mos2-source_400_1000.pi' threshold=1.e-6 -V 1
rmfgen:- Executing (routine): rmfgen rmfset=mos2-source_400_1000.rmf threshold=1e-06 withenergybins=no energymin=0 energymax=15 nenergybins=30 spectrumset=mos2-source_400_1000.pi format=var detmaptype=psf detmaparray=detmapfile.ds: withdetbounds=no detxoffset=1200 detyoffset=1200 detxbins=160 detybins=160 filterdss=yes withfilteredset=no filteredset=filteredpixellist.ds withrmfset=no psfenergy=2 withsourcepos=no sourcecoords=eqpos sourcex=0 sourcey=0 extendedsource=no modeleffarea=no modelquantumeff=no modelfiltertrans=no modelee=yes modelootcorr=no eegridfactor=100 withbadpixcorr=no badpixlocation=notSpecified setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
rmfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS2, FILTERTRANSX, 12, /virgo/software/CCF/EMOS2_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, LINCOORD, 17, /virgo/software/CCF/EMOS2_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, MODEPARAM, 6, /virgo/software/CCF/EMOS2_MODEPARAM_0006.CCF, 1999-01-01T00:00:00.000}
CifEntry{EMOS2, PATTERNLIB, 5, /virgo/software/CCF/EMOS2_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, QUANTUMEF, 17, /virgo/software/CCF/EMOS2_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS2, TIMECORR, 3, /virgo/software/CCF/EMOS2_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS2, LINCOORD, 8, /virgo/software/CCF/RGS2_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, BORESIGHT, 19, /virgo/software/CCF/XMM_BORESIGHT_0019.CCF, 2000-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT2, XAREAEF, 9, /virgo/software/CCF/XRT2_XAREAEF_0009.CCF, 2000-01-13T00:00:00.000}
 
 
rmfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
[virgog1@Phobos 0111010101]$ rmfgen format='var' rmfset='pn-source_100_1000.rmf' spectrumset='pn-source_100_1000.pi' threshold=1.e-6 -V 1
rmfgen:- Executing (routine): rmfgen rmfset=pn-source_100_1000.rmf threshold=1e-06 withenergybins=no energymin=0 energymax=15 nenergybins=30 spectrumset=pn-source_100_1000.pi format=var detmaptype=psf detmaparray=detmapfile.ds: withdetbounds=no detxoffset=1200 detyoffset=1200 detxbins=160 detybins=160 filterdss=yes withfilteredset=no filteredset=filteredpixellist.ds withrmfset=no psfenergy=2 withsourcepos=no sourcecoords=eqpos sourcex=0 sourcey=0 extendedsource=no modeleffarea=no modelquantumeff=no modelfiltertrans=no modelee=yes modelootcorr=no eegridfactor=100 withbadpixcorr=no badpixlocation=notSpecified setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
rmfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
[virgog1@Phobos 0111010101]$

Принятые параметры:

  • format='var' - по умолчанию;
  • rmfset - название произведенного файла RMF;
  • spectrumset -имя используемого файла спектра;
  • threshold - элементы матрицы со значением меньше заданного считаются равными нулю.

Далее запускается процедура arfgen:

[virgog1@Phobos 0111010101]$ arfgen arfset='mos2-source_400_1000.arf' extendedsource=no modelee=yes psfenergy=5 rmfset='mos2-source_400_1000.rmf' spectrumset='mos2-source_400_1000.pi' withrmfset=yes withbadpixcorr=yes badpixlocation=mos2-filt.fits modelootcorr=yes -V 1
arfgen:- Executing (routine): arfgen spectrumset=mos2-source_400_1000.pi rmfset=mos2-source_400_1000.rmf withrmfset=yes arfset=mos2-source_400_1000.arf detmaptype=flat detmaparray=detmapfile.ds: detxoffset=1200 detyoffset=1200 withdetbounds=no detxbins=5 detybins=5 psfenergy=5 filterdss=yes filteredset=filteredpixellist.ds withfilteredset=no sourcecoords=eqpos sourcex=0 sourcey=0 withsourcepos=no extendedsource=no modeleffarea=yes modelquantumeff=yes modelfiltertrans=yes modelee=yes modelootcorr=yes eegridfactor=100 withbadpixcorr=yes badpixlocation=mos2-filt.fits badpixelresolution=2 setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS2, FILTERTRANSX, 12, /virgo/software/CCF/EMOS2_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, LINCOORD, 17, /virgo/software/CCF/EMOS2_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, MODEPARAM, 6, /virgo/software/CCF/EMOS2_MODEPARAM_0006.CCF, 1999-01-01T00:00:00.000}
CifEntry{EMOS2, PATTERNLIB, 5, /virgo/software/CCF/EMOS2_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS2, QUANTUMEF, 17, /virgo/software/CCF/EMOS2_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS2, TIMECORR, 3, /virgo/software/CCF/EMOS2_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS2, LINCOORD, 8, /virgo/software/CCF/RGS2_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, BORESIGHT, 19, /virgo/software/CCF/XMM_BORESIGHT_0019.CCF, 2000-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT2, XAREAEF, 9, /virgo/software/CCF/XRT2_XAREAEF_0009.CCF, 2000-01-13T00:00:00.000}
 
 
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
** arfgen::attcalc: warning (outOfImageRange),  37035  events ( of  1102500  ) out of range of image
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
[virgog1@Phobos 0111010101]$ arfgen arfset='pn-source_100_1000.arf' extendedsource=no modelee=yes psfenergy=5 rmfset='pn-source_100_1000.rmf' spectrumset='pn-source_100_1000.pi' withrmfset=yes withbadpixcorr=yes badpixlocation=pn-filt.fits modelootcorr=yes -V 1
arfgen:- Executing (routine): arfgen spectrumset=pn-source_100_1000.pi rmfset=pn-source_100_1000.rmf withrmfset=yes arfset=pn-source_100_1000.arf detmaptype=flat detmaparray=detmapfile.ds: detxoffset=1200 detyoffset=1200 withdetbounds=no detxbins=5 detybins=5 psfenergy=5 filterdss=yes filteredset=filteredpixellist.ds withfilteredset=no sourcecoords=eqpos sourcex=0 sourcey=0 withsourcepos=no extendedsource=no modeleffarea=yes modelquantumeff=yes modelfiltertrans=yes modelee=yes modelootcorr=yes eegridfactor=100 withbadpixcorr=yes badpixlocation=pn-filt.fits badpixelresolution=2 setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
** arfgen::attcalc: warning (outOfImageRange),  35537  events ( of  1102500  ) out of range of image
arfgen:- Executing (routine): attcalc eventset=rawpixellist.ds:EVENTS fixedra=170.327333 fixeddec=-60.595944 fixedposangle=143.204163 attitudelabel=fixed nominalra=170.327333 nominaldec=-60.595944 refpointlabel=user atthkset=atthk.dat withatthkset=no withmedianpnt=yes imagesize=0.36  -V 1
[virgog1@Phobos 0111010101]$

Принятые параметры:

  • arfset - имя создаваемого файла ARF;
  • extendedsource=no - установить для моделирования точечного источника;
  • modelee=yes - необходимо ли моделировать PSF для описания внешних регионов. Важный параметр, т.к. для вычисления правильного значения потока необходимо "домоделировать" PSF в центральной части;
  • psfenergy - энергия, на какой считается PSF (5 кэВ по умолчанию);
  • withrmfset=yes - использовать ли созданный ранее RMF (рекомендуется);
  • rmfset - имя файла RMF;
  • spectrumset - имя файла спектра;
  • withbadpixcorr - необходимо ли делать коррекцию в связи с исключением плохих пикселей;
  • badpixlocation - имя файла, в котором задается положение плохих пикселей. В частности, можно брать фильтрованный файл событий;
  • modelootcorr - производить ли коррекцию на out-of-time events.

Группировка спектров для использования в Xspec.

После производства спектров источника, фона, а также response matrices (RMF и ARF) для дальнейшего анализа их удобно "сгруппировать". Группирует эти файлы процедура grppha:

[virgog1@Phobos 0111010101]$ grppha clobber=yes mos2-source_400_1000.pi mos2-source_400_1000.grp comm='chkey RESPFILE mos2-source_400_1000.rmf & chkey ANCRFILE mos2-source_400_1000.arf & chkey BACKFILE mos2-back.pi & group min 50 & exit'
 
  -------------------------
  MANDATORY KEYWORDS/VALUES
  -------------------------
  --------------------------------------------------------------------
  --------------------------------------------------------------------
  EXTNAME   - SPECTRUM        Name of this BINTABLE
  TELESCOP  - XMM             Mission/Satellite name
  INSTRUME  - EMOS2           Instrument/Detector
  FILTER    - Medium          Instrument filter in use
  EXPOSURE  - 66989.          Integration time (in secs) of PHA data
  AREASCAL  - 1.0000          Area scaling factor
  BACKSCAL  - 2.36562E+06     Background scaling factor
  BACKFILE  - NONE            Associated background file
  CORRSCAL  - 1.0000          Correlation scaling factor
  CORRFILE  - NONE            Associated correlation file
  RESPFILE  - NONE            Associated redistribution matrix file
  ANCRFILE  - NONE            Associated ancillary response file
  POISSERR  - TRUE            Whether Poissonian errors apply
  CHANTYPE  - PI              Whether channels have been corrected
  TLMIN1    - 0               First legal Detector channel
  DETCHANS  - 800             No. of legal detector channels
  NCHAN     - 800             No. of detector channels in dataset
  PHAVERSN  - 1.1.0           OGIP FITS version number
  STAT_ERR  - FALSE           Statistical Error
  SYS_ERR   - FALSE           Fractional Systematic Error
  QUALITY   - TRUE            Quality Flag
  GROUPING  - FALSE           Grouping Flag
  --------------------------------------------------------------------
  --------------------------------------------------------------------
 ... written the PHA data Extension
 ...... exiting, changes written to file : mos2-source_400_1000.grp
 ** grppha 3.0.1 completed successfully
[virgog1@Phobos 0111010101]$ grppha clobber=yes pn-source_100_1000.pi pn-source_100_1000.grp comm='chkey RESPFILE pn-source_100_1000.rmf & chkey ANCRFILE pn-source_100_1000.arf & chkey BACKFILE pn-back.pi & group min 50 & exit'
 ** grppha 3.0.1
 ...... using pha_gp   Ver 1.1.1
 
  -------------------------
  MANDATORY KEYWORDS/VALUES
  -------------------------
  --------------------------------------------------------------------
  --------------------------------------------------------------------
  EXTNAME   - SPECTRUM        Name of this BINTABLE
  TELESCOP  - XMM             Mission/Satellite name
  INSTRUME  - EPN             Instrument/Detector
  FILTER    - Medium          Instrument filter in use
  EXPOSURE  - 47153.          Integration time (in secs) of PHA data
  AREASCAL  - 1.0000          Area scaling factor
  BACKSCAL  - 3.00641E+06     Background scaling factor
  BACKFILE  - NONE            Associated background file
  CORRSCAL  - 1.0000          Correlation scaling factor
  CORRFILE  - NONE            Associated correlation file
  RESPFILE  - NONE            Associated redistribution matrix file
  ANCRFILE  - NONE            Associated ancillary response file
  POISSERR  - TRUE            Whether Poissonian errors apply
  CHANTYPE  - PI              Whether channels have been corrected
  TLMIN1    - 0               First legal Detector channel
  DETCHANS  - 4096            No. of legal detector channels
  NCHAN     - 4096            No. of detector channels in dataset
  PHAVERSN  - 1.1.0           OGIP FITS version number
  STAT_ERR  - FALSE           Statistical Error
  SYS_ERR   - FALSE           Fractional Systematic Error
  QUALITY   - TRUE            Quality Flag
  GROUPING  - FALSE           Grouping Flag
  --------------------------------------------------------------------
  --------------------------------------------------------------------
 ... written the PHA data Extension
 ...... exiting, changes written to file : pn-source_100_1000.grp
 ** grppha 3.0.1 completed successfully
[virgog1@Phobos 0111010101]$

Параметры grppha:

  • clobber = yes
  • RESPFILE - название файла RMF;
  • ANCRFILE - название файла ARF;
  • BACKFILE - название файла фона;
  • group min - минимальное число фотонов в бине, необходимое для обеспечения гауссовости статистики. Обычно берется 25 или 50. Если в первичном бине (15 или 5 "инструментальных" эВ) меньшее число фотонов, бин объединяется со следующим, пока не наберется необходимое число фотонов. Если же до конца спектра необходимое число фотонов не набирается, бины не объединяются, а помечаются плохими.

К слову, grppha имеет ряд других полезных свойств. Например, можно "корректировать" спектр, добавляя или вычитая из него другой спектр, или приписывать определенным бинам систематическую ошибку (что особенно важно для наблюдения ярких источников).

Обработка файлов событий в Timing моде.

Полученные MOS2 и PN спектры относятся к наблюдениям в Imaging моде. С другой стороны, для ярких источников наблюдение в Timing моде является предпочтительным (по причине гораздо меньшего pile-up). Данная мода отличается тем, что в ней записывается информация только об одной пространственной координате (что, впрочем, дает возможность достаточно эффективно вычитать фон). С другой стороны, вместо двумерных изображений в данной моде используются одномерные изображения - так называемые гистограммы. Ниже показан пример получения гистограммы:

[virgog1@Phobos 0111010101]$ cp 0208_0111010101_EMOS1_S001_TimingEvts.ds mos1-ti.fits
[virgog1@Phobos 0111010101]$ evselect table=mos1-ti.fits:EVENTS withfilteredset=yes expression='(PATTERN <= 0)&&(FLAG == 0)&&(PI in [200:12000])' filteredset=mos1-ti-filt.fits filtertype=expression keepfilteroutput=yes
[virgog1@Phobos 0111010101]$ evselect table=mos1-ti-filt.fits:EVENTS withhistogramset=yes histogramset=mos1-ti-filt.hist histogramcolumn=RAWX
[virgog1@Phobos 0111010101]$ fv mos1-ti-filt.hist &

Как видно из рисунка, можно выбрать регионы источника '(RAWX in [300:320])' и фона '(RAWX in [260:280])'. Дальнейшее получение спектров аналогично случаю Imaging моды:

[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='(RAWX in [300:320])' filtertype=expression specchannelmax=11999 specchannelmin=0 spectralbinsize=15 spectrumset=mos1-source-ti.pi table=mos1-ti-filt.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$ evselect energycolumn=PI expression='(RAWX in [260:280])' filtertype=expression specchannelmax=11999 specchannelmin=0 spectralbinsize=15 spectrumset=mos1-back-ti.pi table=mos1-ti-filt.fits:EVENTS updateexposure=yes withspecranges=yes withspectrumset=yes
[virgog1@Phobos 0111010101]$  backscale spectrumset=mos1-source-ti.pi badpixlocation='mos1-ti-filt.fits' withbadpixcorr=yes useodfatt=no
backscale::arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS1, FILTERTRANSX, 12, /virgo/software/CCF/EMOS1_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, LINCOORD, 17, /virgo/software/CCF/EMOS1_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, MODEPARAM, 6, /virgo/software/CCF/EMOS1_MODEPARAM_0006.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, PATTERNLIB, 5, /virgo/software/CCF/EMOS1_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, QUANTUMEF, 17, /virgo/software/CCF/EMOS1_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS1, TIMECORR, 3, /virgo/software/CCF/EMOS1_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS1, LINCOORD, 8, /virgo/software/CCF/RGS1_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT1, XAREAEF, 8, /virgo/software/CCF/XRT1_XAREAEF_0008.CCF, 2000-01-13T00:00:00.000}
 
 
[virgog1@Phobos 0111010101]$ backscale spectrumset=mos1-back-ti.pi badpixlocation='mos1-ti-f
ilt.fits' withbadpixcorr=yes useodfatt=no
backscale::arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS1, FILTERTRANSX, 12, /virgo/software/CCF/EMOS1_FILTERTRANSX_0012.CCF, 1998-01-0
1T00:00:00.000}
CifEntry{EMOS1, LINCOORD, 17, /virgo/software/CCF/EMOS1_LINCOORD_0017.CCF, 1998-01-01T00:00:
00.000}
CifEntry{EMOS1, MODEPARAM, 6, /virgo/software/CCF/EMOS1_MODEPARAM_0006.CCF, 1998-01-01T00:00
:00.000}
CifEntry{EMOS1, PATTERNLIB, 5, /virgo/software/CCF/EMOS1_PATTERNLIB_0005.CCF, 1998-01-01T00:
00:00.000}
CifEntry{EMOS1, QUANTUMEF, 17, /virgo/software/CCF/EMOS1_QUANTUMEF_0017.CCF, 2000-01-01T00:0
0:00.000}
CifEntry{EMOS1, TIMECORR, 3, /virgo/software/CCF/EMOS1_TIMECORR_0003.CCF, 1998-01-01T00:00:0
0.000}
CifEntry{RGS1, LINCOORD, 8, /virgo/software/CCF/RGS1_LINCOORD_0008.CCF, 1998-01-01T00:00:00.
000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.0
00}
CifEntry{XRT1, XAREAEF, 8, /virgo/software/CCF/XRT1_XAREAEF_0008.CCF, 2000-01-13T00:00:00.00
0}
 
 
[virgog1@Phobos 0111010101]$ rmfgen format='var' rmfset='mos1-source-ti.rmf' spectrumset='mos1-source-ti.pi' threshold=1.e-6 -V 1
rmfgen:- Executing (routine): rmfgen rmfset=mos1-source-ti.rmf threshold=1e-06 withenergybins=no energymin=0 energymax=15 nenergybins=30 spectrumset=mos1-source-ti.pi format=var detmaptype=psf detmaparray=detmapfile.ds: withdetbounds=no detxoffset=1200 detyoffset=1200 detxbins=160 detybins=160 filterdss=yes withfilteredset=no filteredset=filteredpixellist.ds withrmfset=no psfenergy=2 withsourcepos=no sourcecoords=eqpos sourcex=0 sourcey=0 extendedsource=no modeleffarea=no modelquantumeff=no modelfiltertrans=no modelee=yes modelootcorr=no eegridfactor=100 withbadpixcorr=no badpixlocation=notSpecified setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
rmfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS1, FILTERTRANSX, 12, /virgo/software/CCF/EMOS1_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, LINCOORD, 17, /virgo/software/CCF/EMOS1_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, MODEPARAM, 6, /virgo/software/CCF/EMOS1_MODEPARAM_0006.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, PATTERNLIB, 5, /virgo/software/CCF/EMOS1_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, QUANTUMEF, 17, /virgo/software/CCF/EMOS1_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS1, TIMECORR, 3, /virgo/software/CCF/EMOS1_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS1, LINCOORD, 8, /virgo/software/CCF/RGS1_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT1, XAREAEF, 8, /virgo/software/CCF/XRT1_XAREAEF_0008.CCF, 2000-01-13T00:00:00.000}
[virgog1@Phobos 0111010101]$ arfgen arfset='mos1-source-ti.arf' extendedsource=no modelee=yes psfenergy=5 rmfset='mos1-source-ti.rmf' spectrumset='mos1-source-ti.pi' withrmfset=yes withbadpixcorr=yes badpixlocation=mos1-ti-filt.fits modelootcorr=yes -V 1
arfgen:- Executing (routine): arfgen spectrumset=mos1-source-ti.pi rmfset=mos1-source-ti.rmf withrmfset=yes arfset=mos1-source-ti.arf detmaptype=flat detmaparray=detmapfile.ds: detxoffset=1200 detyoffset=1200 withdetbounds=no detxbins=5 detybins=5 psfenergy=5 filterdss=yes filteredset=filteredpixellist.ds withfilteredset=no sourcecoords=eqpos sourcex=0 sourcey=0 withsourcepos=no extendedsource=no modeleffarea=yes modelquantumeff=yes modelfiltertrans=yes modelee=yes modelootcorr=yes eegridfactor=100 withbadpixcorr=yes badpixlocation=mos1-ti-filt.fits badpixelresolution=2 setbackscale=no keeparfset=yes useodfatt=no ignoreoutoffov=yes crossreg_spectrumset='' crossregionarf=no  -V 1
arfgen:- CCF constituents accessed by the calibration server:
CifEntry{EMOS1, FILTERTRANSX, 12, /virgo/software/CCF/EMOS1_FILTERTRANSX_0012.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, LINCOORD, 17, /virgo/software/CCF/EMOS1_LINCOORD_0017.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, MODEPARAM, 6, /virgo/software/CCF/EMOS1_MODEPARAM_0006.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, PATTERNLIB, 5, /virgo/software/CCF/EMOS1_PATTERNLIB_0005.CCF, 1998-01-01T00:00:00.000}
CifEntry{EMOS1, QUANTUMEF, 17, /virgo/software/CCF/EMOS1_QUANTUMEF_0017.CCF, 2000-01-01T00:00:00.000}
CifEntry{EMOS1, TIMECORR, 3, /virgo/software/CCF/EMOS1_TIMECORR_0003.CCF, 1998-01-01T00:00:00.000}
CifEntry{RGS1, LINCOORD, 8, /virgo/software/CCF/RGS1_LINCOORD_0008.CCF, 1998-01-01T00:00:00.000}
CifEntry{XMM, MISCDATA, 22, /virgo/software/CCF/XMM_MISCDATA_0022.CCF, 1999-01-01T00:00:00.000}
CifEntry{XRT1, XAREAEF, 8, /virgo/software/CCF/XRT1_XAREAEF_0008.CCF, 2000-01-13T00:00:00.000}
 
 
[virgog1@Phobos 0111010101]$ grppha clobber=yes mos1-source-ti.pi mos1-source-ti.grp comm='chkey RESPFILE mos1-source-ti.rmf & chkey ANCRFILE mos1-source-ti.arf & chkey BACKFILE mos1-back-ti.pi & group min 50 & exit'
 
  -------------------------
  MANDATORY KEYWORDS/VALUES
  -------------------------
  --------------------------------------------------------------------
  --------------------------------------------------------------------
  EXTNAME   - SPECTRUM        Name of this BINTABLE
  TELESCOP  - XMM             Mission/Satellite name
  INSTRUME  - EMOS1           Instrument/Detector
  FILTER    - Medium          Instrument filter in use
  EXPOSURE  - 66452.          Integration time (in secs) of PHA data
  AREASCAL  - 1.0000          Area scaling factor
  BACKSCAL  - 5.66721E+06     Background scaling factor
  BACKFILE  - NONE            Associated background file
  CORRSCAL  - 1.0000          Correlation scaling factor
  CORRFILE  - NONE            Associated correlation file
  RESPFILE  - NONE            Associated redistribution matrix file
  ANCRFILE  - NONE            Associated ancillary response file
  POISSERR  - TRUE            Whether Poissonian errors apply
  CHANTYPE  - PI              Whether channels have been corrected
  TLMIN1    - 0               First legal Detector channel
  DETCHANS  - 800             No. of legal detector channels
  NCHAN     - 800             No. of detector channels in dataset
  PHAVERSN  - 1.1.0           OGIP FITS version number
  STAT_ERR  - FALSE           Statistical Error
  SYS_ERR   - FALSE           Fractional Systematic Error
  QUALITY   - TRUE            Quality Flag
  GROUPING  - FALSE           Grouping Flag
  --------------------------------------------------------------------
  --------------------------------------------------------------------
 ... written the PHA data Extension
 ...... exiting, changes written to file : mos1-source-ti.grp
 ** grppha 3.0.1 completed successfully
[virgog1@Phobos 0111010101]$

Заключение.

Были произведены спектры рентгеновского пульсара Cen X-3, полученные камерами MOS1 (в Timing моде), MOS2 и PN (в Imaging моде) - составными частями инструмента EPIC на борту космической рентгеновской обсерватории XMM-Newton. После этого, данные спектры необходимо моделировать с помощью Xspec.

Полезные ссылки:

http://xmm2.esac.esa.int/sas/8.0.0/documentation/threads/threads.shtml

Лабораторная работа №1. Мягкие протонные вспышки (soft proton flares), их влияние на изображение. Методы очистки следов протонных вспышек в файле событий.

Лабораторная работа №2. События с неопределенным временем прихода (out-of-time events). Методы очистки изображений и спектров.

Лабораторная работа №3. Эффект наложения сигналов (pile-up). Методы обнаружения и исправления эффекта.

Лабораторная работа №4. Продвинутый анализ кривых блеска с помощью Xronos. Определение периода пульсаров.

Лабораторная работа №5. Анализ ярких объектов - учет неточностей калибровки.

Лабораторная работа №6. Автоматическое детектирование точечных источников.

Лабораторная работа №7. Анализ протяженных объектов с помощью Single Background Subtraction.

Лабораторная работа №8. Продвинутое моделирование спектров в Xspec.

Лабораторная работа №9. Анализ протяженных объектов с помощью ESAS.

Лабораторная работа №10. Постоение "красивых" изображений и мозаик.

Лабораторная работа №11. Продвинутый анализ изображений. Учет пространственного размытия точечных источников.

Personal tools