Friday, December 3, 2010

XSPEC

... je balík na fitovanie spektier vo vysokých energiách (alternatívou k nemu môže byť napr. spex, ale o ňom možno až dakedy nabudúce) a tiež sme o ňom hovorili na brainstormingu. Tu je nejaký stručný prehľad toho, čo sa hovorilo. Opäť najlepším zdrojom informácií je manuál. XSPEC samotný má v sebe mocný príkaz help.
XSEPC> help plot
XSPEC> help model apec
Prvvý príklad vypíše nápovedu k príkazu plot (duh!), druhý odhalí, čo presne popisuje model apec, aké sú jeho parametre a podobne.

Inštalácia

XSPEC je súčasťou HEASoftu, návod je teda tu.

Monkeying around, data

S XSPECom si, ako s mnohými inými, dopisujeme v príkazovom riadku, čo je cool lebo sa dajú jednoducho vyrábať fitovacie skripty. Balík pozná obrovské množstvo príkazov, výhodou je aj to, že stačí napísať prvých pár znakov, aby sa príkaz dal interpretovať (napr. namiesto setplot energy stačí setp e).

Spektrá do XSPECu zadávame príkazom
XSPEC> data meno_spektra
Často ale používame viac spektrier naraz, v tom prípade ich treba roztriediť do skupín - tie rozlišujeme pomocou čísiel oddelených dvojbodkou, prvé označuje data set (spektrá budú fitnuté rovnakým modelom, druhé plot set. V praxi teda
XSPEC> da 1:1 spektrum1 1:2 spektrum2 2:3 spektrum3
kde prvé dve spektrá popisuje model s rovnakými parapetrami, pre tretie sa parametre menia.
FITS súbor so spektrom by mal v headeri mať nastavené keywords BACKFILE, RESPFILE a ANCRFILE, aby si tieto súbory vedel XSPEC načítať spolu so spektrom. V prípade, že tam vôbec nie sú, odmietne spoluprácu úplne, ak sú nastavené na "none", treba súbory načítať príkazmi backgrnd, response a arf, ktoré sa k danému spektru priradia pomocou rovnakých číselných identifikátorov ako pri načítavaní spektier.

V ďalšom kroku treba vybrať časti spektra, ktoré chceme fitovať (vo veľmi vysokých alebo veľmi nízkych energiách nemusí byť kalibrácia detektoru úplne istá a podobne). Na toto slúžia príkazy ignore a notice.
XSPEC> ig bad
XSPEC> ig 1:12-27
XSPEC> no *:**-0.4
XSPEC> ig 2:7.-**
V prvom príklade ignorujeme všetky časti spektra označené ako bad. V ostatných označuje číslo pred dvojbodkou data sety (hviezdička znamená všetky data sety). Za dvojbodkou je určený interval - celé čísla XSPEC interpretuje ako channely, reálne sú energie v keV. ** znamenajú "kam to až ide", čiže najvyššiu/najnižšiu možnú energiu/channel.

Monkeying around, model

Spektrum modelujeme príkazom model. XSPEC obsahuje množstvo rôznych modelov (vypísať sa dajú spustením model bez parametrov), ktoré sú rozdelené do niekoľkých kategórií - aditívne, multiplikatívne atď. Model sa definuje pohodlným spôsobom analogickým k zápisu rovnice. Príkladom môže byť model známeho objektu MCG-6-30-15 (AGN s relativisticky rozšírenou čiarou železa vo vnútornej časti akrečného disku). Jeho spektrum obsahuje aditívne prvky - blackbody zložku (bbody), powerlaw (powerlaw) a čiaru s Laorovým profilom (laor), to celé, z dôvodu, že žiarenie na ceste k nám prechádza prostredím s absorpciou, prenásobené absorpčnou zložkou (phabs). Zápis modelu potom vyzerá
XSPEC> mo phabs*(bbody+po+laor)
XSPEC sa ďalej spýta na prvotné odhady hodnôt parametrov a to toľkokrát, koľko máme data setov. Parametre môžeme určiť niekoľkými číslami oddelenými čiarkami (odhad hodnoty, veľkosť kroku pri iterácií, maximálna a minimálna hodnota a podobne). V prípade, že chceme ponechať parametru defautlnú hodnotu, píšeme namiesto čísla /, ak chceme defaultné hodnoty pre všetky parametre od aktuálneho ďalej, píšeme /*.

Po zadaní prvotných odhadov XSPEC vypíše tabuľku s modelom a tiež hodnotu štatistiky, ktorá popisuje, ako dobre model popisuje spektrum. Parametre môžu mať rozne vlastnosti. V ďalšom celé čísla pomenovávajú jednotlivé parametre, reálne čísla sú konštanty. Parametre možno fixovať na danej hodnote, ktorá sa pri fitovaní nebede meniť (freeze 3 zafixuje parameter č.3) a opäť uvoľňovať (thaw). Môžeme im priraďovať nové hodoty a taktiež ich medzi sebou zväzovať a rozväzovať.
XSPEC> newpar 4 1.5
XSPEC> newpar 5 = 0.75*4
XSPEC> untie 5
XSPEC> newpar 10 1e-3,-1
V prvom príklade priradíme parametru 4 novú hodotu. Parameter 5 k nemu následne uviažeme s tým, že bude mať hodnotu troch štvrtím parametru 4, čo sa berie do úvahy aj pri fitovaní. V teťom príklade sme si to rozmysleli a parameter 5 opäť osamostatnili. Posledný príklad ukazuje, ako v jednom kroku dať parametru novú hodnotu a zároveň ho zafixovať (v princípe by sme miesto -1 mohli použíť akékoľvek záporné číslo).

S týmto všetkým sa môžeme pustiť do fitovania. Existuje niekoľko typov štatistík, ktoré pri tom môžeme použiť, medzi ktorými prepíname príkazom statistic. Pre zdroje s nízkou povrchovou jasnosťou (plošné zdroje) dáva C-štatistika lepšie výsledky. Ak je v spektre dôležité aj chemické zloženie pozorovaného porstredia, ktoré môžeme prirovnávať k slnečnému, dá sa príkazom abund prepínať medzi jednotlivými modelmi slnečného zloženia. Samotné fitovanie spustíme príkazom
XSPEC> fit
(dajú sa k nemu pridať aj nejaké parametre). Defaultné nastavenie sa po každých 10 iteráciách spýta, či má pokračovať, tohto sa dá zbaviť príkazom query yes, po ktorom si na všetečné otázky XSPEC odpovie sám. Chyby nafitovaných parametrov uvedené v tabuľke modelu sú len orientačné, spočíta ich príkaz error, ktorému je dobré zadať level of confidence (v sigma) a nevyhnutné zadať, ktoré parametre nás zaujímajú. Čiže
XSPEC> err 1. 3,4,6
spočíta 1 sigma chyby pre parametre 3,4 a 6.

Mokneying around, plot

Príkazy na vykresľovanie v XSPECu pochádzajú z balíka PGPLOT. Nastavené parametre obrázkov sa zachovávajú až kým nie sú zmenené, to znamená, že ak graf nakreslíte nejakým šialeným príkazom, stačí pri jeho prekreslení napísať plot a všetky šialené parametre sa zachovajú.

Príklady:
XSPEC> cpd /xw
XSPEC> setp e
XSPEC> pl ld res
XSPEC> pl
Na začiatok treba nastaviť, kam sa má obrázok kresiť. Slúži na to príkaz cpd (change plot device), /xw je pre XWindows, /cps kreslí to postscript súboru (pred lomeno sa dá napísať meno output súboru, cpd mojespektrum.ps/cps). setplot udáva vlastnosti obrázku, e je pre energy, čiže miesto channelov bude xová os v energiách. pl ld res hovorí PGPLOTU, že má kresliť v log-log a v spodnom paneli obrázku vykresliť reziduá (rozdiel dát a modelu). Posledný pl urobí presne to, čo príkaz o riadok vyššie, ale už nemusíme písať parametre.

Monkeying around, zvyšok
Na záver niekoľko technických poznámok. Všetko, čo do sa do XSPECu napíše sa dá uložiť do logu príkazom log meno_logu, logovanie sa vypína log none. Príkazom show vieme zobraziť rôzne informácie - paramtere modelu (sho pa), voľné parametre (sho fre) a podobne. Ukladanie modelu je možné pomocou save model.

Funguje to aj naopak - do XSPEC vieme čítať príkazy, modely atď z textových súborov. XSPEC má rád súbory s koncovkou .xcm, samotné čítanie funguje pomocou @
XSPEC> @subor.xcm
Conclusion

Toľko stučný úvod do XSPECu, opäť sú otázky a komentáre vítané. Príkazy pri ich prvom objavení som sa snažil písať v ich celej forme, no ďalej som používal skrátené verzie - verím, že to nebolo veľmi mätúce :P

No comments: