Testování stripových polovodičových detektorů

Pavel Řezníček, 3. roč., KJF


Smysl programu:

Tento program slouží k základnímu zpracování dat z testování stripových ("proužkových") polovodičových detektorů (jejich readout systému) pro experiment ATLAS, který se za cca 5 let rozběhne na urychlovači LHC v CERN.

Základní widget programu
Základní widget programu s fotografiemi detektoru.

Něco málo o pricipu a datech:
Při průchodu částice detektorem se vytváří volné nosiče náboje, které jsou "odsány" elektrickým polem (napětí bias - viz. soubor DATA.TXT). Readout systém tohoto detektoru je navržen tak, že není přenášena informace o celkovém "odsátém" náboji (míra energie, kterou částice v detektoru ztratí), ale pouze informace o tom, zda-li celkový "odsátý" náboj přesáhl přednastavený práh (náboj thr ve femtoCoulombech - viz. soubor DATA.TXT). Důvodem tohoto postupu je ušetření množství přenášených dat.

Při testování se pro různé moduly (sloupeček mod v DATA.TXT) mění tyto parametry:

a sledují se především tyto charakteristiky:

Účelem je stanovení nejvhodnějšího prahu, kdy je ještě úćinnost dostatečná ( 99% ) a šum je již malý ( ~10-5 ). Důležitou charakteristikou je náboj (median charge), při kterém dosahuje účinnost právě 50%. Druhou důležitou veličinou je Lorentzův úhel (změna směru dráhy částice při průchodu magnetickým polem). Tyto dvě charakteristiky je třeba z dat v souboru DATA.TXT vypočítat pro různé kombinace parametrů. Median charge se jednoduše určí ze závislosti eff(thr), za použití lineární interpolace této křivky. Lorentzův úhel se určuje jako minimum závislosti mult(ang), přičemž se ukazuje být výhodné proložit touto závislostí parabolu (z jejích parametrů se již poloha minima určí jednoduše).

Pozn.: program umožňuje také prohlížení libovolného datového souboru v ascii formátu - jeho popis viz. nápověda v programu (soubor FILEFORM.TXH)


Zdrojové soubory projektu v IDL a ukázková data

K programu samotnému:

Protože bylo použito několik zdrojových souborů a několik grafických rozhraní, využil jsem při vytváření tohoto programu výhod projektu v IDL - větší přehled o všech souborech a datech, automatická kontrola změněných zdrojáků atd.

ABCD2.JPG, MODULE.JPG
- obrázky pouze pro zlepšení vzhledu
DATA.TXT
- textový soubor s daty
FILEFORM.TXH
- soubor se základní nápovědou
SCT.PRJ
- IDL soubor s informacemi o projektu (zahrnuté soubory, data, nastavení)
SCT.PRO
- tímto (SCT) se program spouští - načtení obrázků, definice dat používaných (téměř) všemi procedurami
- obsahuje ještě 3 procedury (CHECKMENU, CHECKBUTTONGRAPH, CHECKBUTTONUSED), které řídí sensitivitu (např. tlačítko je nebo není dovolené) objektů v grafických rozhraních: GUI_SCT, GUI_USED, GUI_GRAPH
FIT.PRO
- obsahuje procedury pro výpočet median charge (FITMEDIANCHARGE), Lorentzova úhlu (FITLORENTZANGLE) a také pro výpočet parametrů paraboly fitující závislost mult(ang) (PARABOLIC). Při zobrazování závislosti eff(thr) (viz. dále) je tento graf fitován s-křivkou (integrál z Gaussovy funkce) a výpočty přislušných parametrů se provádí právě zde (FITSCURVE, ERF).
GUI_DRAW.PRC, GUI_DRAW.PRO
- grafické rozhraní pro zobrazování grafů příkazem PLOT
- soubory generované IDL
GUI_DRAW_EVENTCB.PRO
- obsahuje procedury pro chování rozhraní GUI_DRAW při změně jeho velikosti a obsahuje také proceduru pro ukládání zobrazených grafů do formátů GIF,TIFF,PS pomocí procedury ANNOTATE
GUI_GRAPH.PRC, GUI_GRAPH.PRO
- grafické rozhraní pro volbu parametrů zobrazeného grafu
- soubory generované IDL s malým zásahem do GUI_GRAPH.PRO kvůli popisu kolonek s parametry
GUI_GRAPH_EVENTCB.PRO
- obsahuje procedury pro výběr parametrů a zobrazených grafů
- procedura PROC_BUTTONSHOWGRAPH provádí výběr dat dle zvolených kriterií a poté zobrazení těchto dat do rozhraní GUI_DRAW. V případě, že se jedná o závislosti eff(thr) nebo mult(ang), zobrazuje se ještě nafitovaná křivka (s-křivka nebo parabola - viz. soubor FIT.PRO)
GUI_HELP.PRC, GUI_HELP.PRO
- grafické rozhraní pro zobrazování nápovědy (FILEFORM.TXH) nebo libovolného souboru
- soubory generované IDL
GUI_HELP_EVENTCB.PRO
- obsahuje procedury (PROC_TEXTHELP) pro zobrazení libovolného souboru s možností WordWrapping (PROC_BUTTONWRAP)
GUI_NTUPLE.PRC, GUI_NTUPLE.PRO
- grafické rozhraní pro výpis dat formou tabulky
- soubory generované IDL
GUI_NTUPLE_EVENTCB.PRO
- procedura PROC_TABLENTUPLE provádí plnění zobrazené tabulky požadovanými daty
GUI_VAL.PRC, GUI_VAL.PRO
- grafické rozhraní pro zobrazení všech načtených dat
- soubory generované IDL
GUI_VAL_EVENTCB.PRO
- procedura PROC_LISTVALUESSEL ošetřuje výběr zobrazeného sloupce dat, přičemž daný sloupec dat se nezobrazuje celý, ale pouze všechny různé hodnoty v něm (např. sloupec irr má z cca. 14000 záznamů pouze 2 různé hodnoty: 0,1)
GUI_USER.PRC, GUI_USER.PRO
- grafické rozhraní pro zobrazení libovolného 2D grafu z načtených dat
- soubory generované IDL
GUI_USER_EVENTCB.PRO
- umožňuje zobrazení libovolného grafu s téměř libovolnou parametrizací. Procedury PROC_BUTTONSETX, PROC_BUTTONSETY provádějí volbu x-ové a y-nové osy, procedury PROC_LISTSELVAL,PROC_SELVARIABLE umožňují parametrizaci. Procedura PROC_DRAWLINES určuje, zda-li se graf zobrazí bodový nebo čárový. Zobrazení pomocí IDL funkce LIVE_PLOT a výběr dat dle parametrizace provádí procedura PROC_BUTTONSHOWUSER.
- grafy se mohou do okna přidávat (funkce LIVE_OPLOT)
GUI_SCT.PRC, GUI_SCT.PRO
- základní grafické rozhraní. Umožňuje otevření souboru (načtení dat) třemi způsoby:
  1. otevření libovolného ascii souboru s daty různými od těch, která jsou popsána výše
  2. otevření souboru s daty popsanými výše (ozn. NTUPLE) s tříděním všech sloupců
  3. otevření souboru (může i nemusí být NTUPLE) s třídéním pouze parametrů (viz. nápověda v souboru FILEFORM.TXH
- dále obsahuje tlačítka pro zobrazení předdefinovaných grafů (GUI_GRAPH), pro výpočet median charge a Lorentzova úhlu a tlačítko pro zobrazení libovolného grafu (GUI_USED) (toto poslední jmenované je jediné funkční tlačítko, pokud načtená data nejsou NTUPLE)
- v menu jsou funkce pro uložení vypočteného median charge (PROC_MENUSAVECHARGE) a Lorentzova úhlu (PROC_MENUSAVELORENTZ) ve formě ASCII a dále funkce pro výpis načtených dat (GUI_VALUES, GUI_NTUPLE)
- soubory generované IDL
GUI_SCT_EVENTCB.PRO
- obsahuje procedury pro volání funkcí tlačítek
- procedura PROC_MENUOPEN provádí načítání dat, jejich třídění a rozpoznávání, zda-li se jedná o NTUPLE
- procedura PROC_BUTTONCALC provádí výpočet median charge a lorentzova úhlu

A takhle vypadá výsledek:

Vytváření grafu Vytváření pevného grafu (190 kB)

Uživatelský graf Uživatelský graf (133 kB)


Pavel Řezníček, poslední úpravy 10.5.2001