+ All Categories
Home > Documents > Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4....

Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4....

Date post: 16-May-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
157
Transcript
Page 1: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Software a zpracovanı dat ve fyzicecastic II

Kod prednasky: NJSF109

doc. RNDr. Peter Kodys, CSc.1, Ustav casticove a jaderne fyziky, MFF UK

Pripraveno pro skolnı rok 2020-2021,datum poslednı aktualizace: November 15, 2019

Za obsahove i formalnı pripomınky i korekce budu vzdy vdecny.

[email protected], Troja, KO, 8. patro c.dv. 831, tel: (95155)2453

Page 2: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

1

Rozsah v ZS: 2/1 Zk, pocet mıst: neomezen, urceno: 3,4,5 rocnık

Zakladnı cıl: na konci prednasky by student mel byt schopen posouditkvalitu nabranych dat a mel by rozumet typickym postupum spojenym svyhodnocovanım dat a mel by byt schopny mnohe kroky zrealizovat vlastnımisilami.

Vymezenı prednasky: statisticke metody nutne pro vyhodnocovanı dat zmodernıch detektoru, jejich pouzitı napr. pro merenı vlastnostı detektoru,rekonstrukce drahy castic a jejich prusecıku – vertexu, metody fitovanı aurcovanı chyby merenı, programovy analyticky balık ROOT.

Data Evaluation in High Energy Physics Experiments

Course Objective: after taking this course, students should be able toevaluate quality of acquired data and understand the typical data evaluationmethodology as well as to carry out many steps single-handed.

Course Layout: statistics in evaluation of data acquired in modern de-tectors, its implementation methods, e.g. detector properties assessment,particle tracks and their intersections (vertices) reconstruction, fitting, mea-surement error evaluation and evaluation tools – program framework ROOT.

Osnova:

1. Programovacı techniky a programy pro vyhodnocovanı dat (ROOT a jeho pouzitı).

2. Druhy a zpusoby nabıranı dat, jejich organizace, analogove a digitalnı zdroje dat.

3. Vlastnosti nabıranych dat a jejich zdroju, rovnice odezvy, signal / sum, S-krivky,casova odezva signalu, synchronizace, triggering, urcovani chyb merenı.

4. Signal z detektoru: prechod od signalu detektoru k bodu v prostoru, rekonstrukcedrahy castice, rekonstrukce vertexu rozpadu castice, polohovanı detektoru (align-ment), pouzitı metody nejmensıch ctvercu.

5. Analogove zpracovanı signalu, zaklady vyhodnocovanı spekter, neuralnı sıte.

6. Prace na software velkych experimentu a jeho organizace, svetova vypocetnı dis-tribuovana sıt – grid, Athena.

Doporucene doplnujıcı prednasky:JSF081 Vypocetnı technika ve fyzice vysokych energiı (T. Davıdek)JSF101 Polovodicove detektory v jaderne a subjaderne fyzice (Z. Dolezal)JSF075 Detektory pro fyziku vysokych energii (J. Hladky)

Rozsah: 12 prednasek.Prıklady jsou provadeny s daty z vnitrnıho detektoru experimentu ATLAS v letech 2001– 2004 s pouzitım testovacıch svazku, praktika UCJF v Troji (spektrum) a z testu v Parızi(analogovy detektor).

Seznam prednasek:

Page 3: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

2

1. Uvod do prednasky a jejı napln, shrnutı statistickych metod.

2. C++ a ROOT - rychlokurz.

3. Druhy nabıranı dat a elektronika.

4. Vlastnosti nabıranych dat a jejich zdroju.

5. Chyba merenı, neuralnı sıte.

6. Prıklad vypoctu ucinnosti detektoru.

7. Od signalu detektoru k bodu v prostoru, drahy castice, mısto rozpadu castice.

8. Zpracovanı signalu analogoveho detektoru, vyhodnocovanı spekter.

9. Polohovanı detektoru (alignment).

10. Fitovanı funkcı, automatizace analyzy.

11. Fitovanı drahy castice, chyba fitu, nalezenı vertexu castice.

12. Prace na velkych experimentech, jeho organizace, svetova vypocetnı distribuovanasıt – grid, Athena.

Na zaver: seznam resenych prıkladu, podekovanı a doporucena a rozsirujıcı literatura.

Prıklady k prednaskam:

1. Uvod do prace s C++ a ROOT - zaklady, fitovanı, ntuple.

2. Prıklad jak se dajı ruzne volat funkce na fitovanı v ROOT.

3. Zkouska prace s cernlib knihovnami.

4. Prıklad zpracovanı SCT ATLAS detektoru z testbeamu ze zdrojovych ROOT sou-boru.

5. Prıklad vyhodnocenı ucinnosti SCT ATLAS detektoru z testbeamu.

6. Prıklad jemneho alignmentu teleskopu z realnych dat ATLAS SCT testbeam.

7. Prıklad jemneho alignmentu detektoru z realnych dat ATLAS SCT testbeam.

8. Prıklad volanı minimalizacnıho balıku Minuit v sobe samem, Minuit vola funkci,ktera sama vola nezavisle Minuit i pro sebe.

9. Prıklad vyhodnocenı analogoveho signalu z detektoru.

10. Zobrazenı ruznych funkcı z nabıdky ROOT.

11. Prıklad pouzitı neuralnıch sıtı.

12. Prıklad prace se spektrem a jeho zpracovanım.

13. Prıklad ruznych zpusobu prolozenı bodu prımkou metodami nejmensıch ctvercu.

14. Ukazka dvou zpusobu ohranicenı regresnı zavislosti: pasem predikce a pasem spolehlivosti.

Page 4: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Contents

1 Shrnutı statistickych metod 8

1.1 Znacenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 Dulezity koeficient: korelacnı . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Popis dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.1 Prumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.2 Rozptyl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.3 Vıc promennych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Typy rozdelenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.1 Obecne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.2 Binomicke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.3 Poissonovo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.4 Gaussovo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4.5 Jine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5 Chyby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.1 Prace s chybami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.2 Kombinace vıce chyb . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5.3 Systematicke chyby . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6 Odhady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6.1 Maximalnı pravdepodobnost . . . . . . . . . . . . . . . . . . . . . . 18

1.7 Nejmensı ctverce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.7.1 χ2 distribuce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.8 Pravdepodobnost a duveryhodnost . . . . . . . . . . . . . . . . . . . . . . . 21

1.8.1 Studentovo rozdelenı . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.8.2 Regresnı analyza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.8.3 Analyza reziduı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3

Page 5: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CONTENTS 4

1.8.4 Vıcenasobna regresnı analyza . . . . . . . . . . . . . . . . . . . . . . 25

1.9 Rozhodovanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.10 Serazovacı metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.10.1 Mann-Whitneyuv test . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.10.2 Merenı shody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 ROOT - rychlokurz 31

2.1 Uvod do jazyka C/C++ jazyka . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.1.1 Zakladnı operace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.1.2 Prıklad kodu s hlavickovym souborem . . . . . . . . . . . . . . . . . 36

2.1.3 Prıslusny hlavickovy soubor . . . . . . . . . . . . . . . . . . . . . . 37

2.2 Uvod do prace v prostredı ROOT . . . . . . . . . . . . . . . . . . . . . . . 38

2.2.1 Instalace ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.2.2 Spoustenı maker a prace s externımi knihovnami . . . . . . . . . . . 39

2.2.3 Prıklad makra a nekterych operacı s daty v ROOT . . . . . . . . . 42

2.2.4 Fitovanı funkcı a prace s ntuple . . . . . . . . . . . . . . . . . . . . 48

2.3 Jak vyrobit class trıdu DLL v prostredı ROOT na ctenı dat z detektoru apro pripojenı CERNLIB knihoven . . . . . . . . . . . . . . . . . . . . . . . 51

2.3.1 Vyroba DLL knihovny s trıdou na ctenı TTree formatu dat v ROOT 51

2.3.2 Vyroba DLL knihovny s trıdou na pouzıvanı CERNLIB knihoven . 53

3 Druhy nabıranı dat a elektronika 55

3.1 Jaka data se sbırajı a jak? (trochu elektroniky) . . . . . . . . . . . . . . . 55

3.2 Organizace nabıranych dat - ukladany format . . . . . . . . . . . . . . . . 60

3.3 Zdroje dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4 Vlastnosti nabıranych dat a jejich zdroju 66

4.1 Ucinnost odezvy v zavislosti od predpetı na detektoru. . . . . . . . . . . . 67

4.2 Ucinnost sberu naboje detektoru. . . . . . . . . . . . . . . . . . . . . . . . 67

4.3 Sum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.4 Pomer signal k sumu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.5 Cluster size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.6 Odezva detektoru mezi detekcnımi diodami a na okrajıch. . . . . . . . . . . 68

4.7 Odezva na magneticke pole, vliv Lorenzova uhlu. . . . . . . . . . . . . . . . 69

4.8 Merenı sikmeho dopadu castic. . . . . . . . . . . . . . . . . . . . . . . . . . 69

Page 6: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CONTENTS 5

4.9 Odezva a zmeny vlastnosti po ozarenı detektoru, jeho degradace (R&D,irradiation). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.10 Odezva na ruzne druhy castic, ruzne energie castic. . . . . . . . . . . . . . 70

4.11 Rekonstrukce techto charakteristik z merenı na jednotlivych prazıch. . . . . 70

4.12 Kalibrace, rovnice odezvy. . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.13 Casova odezva detektoru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 Chyba merenı, neuralnı sıte 72

5.1 Urcenı chyby pri vynesenı zmereneho bodu. . . . . . . . . . . . . . . . . . . 72

5.1.1 Standardnı urcenı chyby (gaussovske, symetricke). . . . . . . . . . . 72

5.1.2 Pravdepodobnostnı urcenı chyby (F-rozdelenı, nesymetricke). . . . . 73

5.1.3 Prıklady. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2 Neuralnı sıte pri vyhodnocovanı experimentu. . . . . . . . . . . . . . . . . 75

5.2.1 Uvod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2.2 Terminologie pri pouzitı neuralnıch sıtı. . . . . . . . . . . . . . . . . 76

5.2.3 MLP - vıcevrstve sıte - trıdenı, vlastnosti a ucenı. . . . . . . . . . . 77

5.2.4 Pred pouzitım sıte. . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2.5 Po pouzitı sıte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.2.6 Proc vlastne pozıvat neuralnı sıte. . . . . . . . . . . . . . . . . . . . 78

5.2.7 Pouzitı NN v ROOTu. . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 Prıklad vypoctu ucinnosti detektoru 84

6.1 Od raw data do ROOT trees. . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.2 Jak cıst ROOT trees, prıprava class dll pro ctenı. . . . . . . . . . . . . . . 85

6.3 Prvnı krok: hitmapa teleskopu a testovanych detektoru (DUT). . . . . . . 85

6.4 Teleskopy: od adjustace k draze castice a mape testovacıho svazku. . . . . 85

6.5 DUT: vycistenı odezvy, maskovanı kanalu. . . . . . . . . . . . . . . . . . . 86

6.6 Polohovanı detektoru - alignment. . . . . . . . . . . . . . . . . . . . . . . . 86

6.7 Rezidualy - odchylky drahy castice od odezvy detektoru. . . . . . . . . . . 86

6.8 Ucinnost a sumova obsazenost kanalu a chyba jejich urcenı. . . . . . . . . . 87

6.9 S-krivka a median. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.10 Prıklad analyzy binarnıho detektoru. . . . . . . . . . . . . . . . . . . . . . 87

7 Od signalu detektoru k bodu v prostoru, drahy castice, mısto rozpaducastice 89

7.1 Geometrie detektoru a presnosti z vyroby. . . . . . . . . . . . . . . . . . . . 89

Page 7: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CONTENTS 6

7.2 Rekonstrukce bodu v prostoru. . . . . . . . . . . . . . . . . . . . . . . . . . 90

7.3 Hledanı drah v detektoru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

7.3.1 Zaklad hledanı drah. . . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.3.2 Principy hledanı drah. . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.3.3 Vlastnosti hledanı drah. . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.3.4 Metody hledanı drah. . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7.4 Rekonstrukce drahy v prostoru, fitovanı, algoritmy. . . . . . . . . . . . . . 93

7.5 Hledanı prusecıku (vertexu) v detektoru. . . . . . . . . . . . . . . . . . . . 95

8 Zpracovanı signalu analogoveho detektoru, vyhodnocovanı spekter 96

8.1 Analogove zdroje signalu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

8.1.1 Software pro analyzu sumu . . . . . . . . . . . . . . . . . . . . . . . 96

8.1.2 Definice zakladnıch velicin . . . . . . . . . . . . . . . . . . . . . . . . 97

8.1.3 Testy detektoru SiLCu pomocı beta zarice . . . . . . . . . . . . . . . 97

8.1.4 Vypocet pomeru signal-sum (S/N) stripovyvh detektoru . . . . . . . 98

8.1.5 Dalsı funkce programu . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.1.6 Vysledky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

8.1.7 Zaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.2 Spektra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.2.1 Eliminace pozadı . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.2.2 Dekonvoluce multipletu . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.2.3 Vyhlazenı sumu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.2.4 Najıt pıky v spektru a jejich identifikace . . . . . . . . . . . . . . . 106

8.2.5 Fitovanı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.2.6 Analyza dat ortogonalnımi transformacemi, filtrovanı . . . . . . . . 107

8.2.7 Vıcerozmerna spektra . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.3 Prıklad vyhodnocenı analogoveho detektoru. . . . . . . . . . . . . . . . . . 107

8.4 Prıklad vyhodnocenı spektra. . . . . . . . . . . . . . . . . . . . . . . . . . . 108

9 Polohovanı detektoru (alignment) 110

9.1 Podmınky - selekce vhodnych eventu . . . . . . . . . . . . . . . . . . . . . . 110

9.2 Minimalizace kvadratu odchylek a alignment teleskopu . . . . . . . . . . . . 111

9.3 Alignment detektoru (DUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

9.4 Uzitecne rady a doporucenı . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

9.5 Prıklad v MS Excell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Page 8: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CONTENTS 7

9.6 Prıklad v ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

10 Fitovanı funkcı, automatizace analyzi 117

10.1 Rucnı urcenı chyby pri regresi - univerzalnı navod . . . . . . . . . . . . . . 117

10.2 Fitovanı funkcı v prostredı Excel - rucne . . . . . . . . . . . . . . . . . . . 118

10.3 Fitovanı funkcı v prostredı ROOT . . . . . . . . . . . . . . . . . . . . . . . 118

10.4 Automatizace procesu fitovanı funkcı. . . . . . . . . . . . . . . . . . . . . . 120

11 Fitovanı drahy castice 121

11.1 Fitovanı drahy castice prımkou I. . . . . . . . . . . . . . . . . . . . . . . . 122

11.2 Fitovanı drahy castice prımkou II. . . . . . . . . . . . . . . . . . . . . . . . 125

11.3 Urcovanı chyby polohy drahy v libovolnem bode . . . . . . . . . . . . . . . 130

11.4 Fitovanı zakrivenych drah . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

11.5 Hledanı prusecıku dvou drah, vertexu . . . . . . . . . . . . . . . . . . . . . 131

12 Prace na velkych experimentech 133

12.1 Software na velkych exerimentech . . . . . . . . . . . . . . . . . . . . . . . 133

12.2 Programovy ramec Athena . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

12.2.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

12.2.2 Struktura souboru ATLAS SW . . . . . . . . . . . . . . . . . . . . . 135

12.2.3 Struktura adresare balıcku . . . . . . . . . . . . . . . . . . . . . . . 136

12.2.4 Spoustenı ulohy v Athene . . . . . . . . . . . . . . . . . . . . . . . . 136

12.2.5 Generatory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

12.2.6 Simulace + Digitizace . . . . . . . . . . . . . . . . . . . . . . . . . . 138

12.2.7 Rekonstrukce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

12.2.8 Datove soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

12.2.9 Analyza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

12.2.10 Sprava a vyvoj SW v Athene - lxplus . . . . . . . . . . . . . . . . . 141

12.2.11 lxplus vs. batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

12.2.12 Sprava a vyvoj SW v Athene - neaktualnı, casem odmazat! . . . . . 144

12.2.13 CASTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

12.2.14 Vypocetnı svetova sıt: Grid . . . . . . . . . . . . . . . . . . . . . . 146

12.3 Zaverecne komentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

13 Seznam resenych prıkladu 149

Page 9: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 1

Shrnutı statistickych metod

Podle toho co srovnavame a vyhodnocujeme muzeme rozdelit testy na χ2-test, F-test, T-test nebo vyhodnocovanı gaussovskeho rozdelenı. Dulezite jetake si uvedomit, ze χ2, F a T testy pri dostatecne velkem souboru vyhod-nocovanych dat prechazejı do podmınek pro Gausovo rozdelenı. Skutecnouuzitecnost testy ukazujı pri mensıch souborech dat a pri jejich nejednoznacneprıslusnosti k vyhodnocovane podmınce. V dalsıch kapitolach shrneme zakladnıvztahy, ktere nam pomahajı ve vyuzıvanı statistickych metod pri vyhodno-covanı dat.

1.1 Znacenı

N, n,m - pocet vyhodnocovanych dat, udalostı, events

Xi, Yi - vyhodnocovana data

X, Y - vyberovy prumer:

X =1

N

N∑1

Xi (1.1)

sx, sy - smerodatna odchylka vyberoveho prumeru

s2x, s2y - rozptyl z merenych hodnot

s2 =1

N − 1

N∑1

(Xi − X)2 =1

N − 1(N∑1

X2i − 2NX

N∑1

Xi +N2X2) (1.2)

8

Page 10: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 9

µ - strednı hodnota

σ - smerodatna odchylka

σ2 - rozptyl

α - pravdepodobnost nastanı jevu

α ∈ (0, 1), α ≤ 0.05 - jev jiz nenastane, α ≥ 0.95 - jev se udeje

LI - levostranny interval

PI - pravostranny interval

OI - oboustranny interval

N(µ, σ2) - normalnı rozdelenı pravdepodobnosti

µ(α) - kriticka hodnota pro N(0, 1)

χ2k(α) - kriticka hodnota rozdelenı (cıslo, ktere nahodna velicina s rozdelenımχ2k prekrocı s pravdepodobnostı α)

Tk(α) - Studentovo rozdelenı pro k-stupnu volnosti na hladine pravdepodobnostiα

rk(α) - kriticka hodnota pro korelacnı koeficient r

wk(α) - kriticka hodnota pro jedno vyberovy Wilcoxonuv test

Fm,n(α) - kriticka hodnota shodnosti rozptylu (Fisher-Snedecorov test)

wm,n(α) - kriticka hodnota dvou vyberoveho Wilcoxonovho testu

1.2 Dulezity koeficient: korelacnı

Korelacnı koeficient ukazuje stupen provazanosti dvou velicin navzajem, stupenjejich vzajemne korelace, souvislosti mezi sebou. Platı:

ρ =σXY√σ2Xσ

2Y

(1.3)

r =SXY√S2XS

2Y

(1.4)

r =

∑XiYi −NXY√

(∑X2i −NX2)(

∑Y 2i −NY 2)

(1.5)

kde ρ je stupen korelace mezi X a Y , r je vyberovy korelacnı koeficient zrozsahu r ∈ 〈−1, 1〉

Page 11: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 10

1.3 Popis dat

Data muzeme rozdelit na diskretnı (nabyvajıcı jen nektere hodnoty) nebospojite. Pri jejich popisu muzeme pouzıt nejruznejsı kriteria, nejobvyklejsıje urcenı prumeru hodnot, rozptylu hodnot a vztah mezi vıce promennymi,pokud jsou.

1.3.1 Prumer

Prumer (avarage) je obvykle urcen jednım z nasledujıcıch spusobu:

1. aritmeticky (arithmetic mean) se pouzıva pri pouzitı statistickych testukdyz mame symetricke rozdelenı, data jsou spojita.

x =

∑xiN

(1.6)

Aritmeticky prumer z prumeru:

x =

∑Nixi∑Ni

(1.7)

Aritmeticky prumer kdyz merenı majı cetnost fi:

x =

∑fixi∑fi

(1.8)

2. geometricky (geometric mean)

x = N√xix2x3...xn (1.9)

3. harmonicky (harmonic mean)

x =N∑1/xi

(1.10)

4. median (median) Kdyz seradıme merenı xi podle velikosti (podle ve-likosti hodnoty xi), platı:

Me = 0.5(xN/2 + xN/2+1) pro sude N (1.11)

Me = xN/2 pro liche N (1.12)

Pouzitı ma hlavne kdyz jsou data hodne zesikmene (nesymetricke rozdelenı)nebo jsou v nıch odlehle hodnoty a chceme znat stred rozdelenı dat.

Page 12: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 11

5. modus (mode) Mo nebo x je hodnota xi ktera se vyskytuje nejcasteji, uspojiteho histogramu hodnota, kde je maximum, pokud je maxim vıc,dela se jejich vazeny prumer. Pouzıva se hlavne pro diskretnı data, kdyzexistuje vıc vrcholu, kdyz nam stacı orientacnı prehled nebo hledamenejcastejsı hodnotu.

6. strednıch ctvercu (root mean square)

x =

√∑x2iN

(1.13)

Dale je dulezite si uvedomit, jesli mame pravdivy prumer µ nebo zmerenyprumer x.

1.3.2 Rozptyl

To, ze merene hodnoty dat nedavajı stejne cıslo zpusobuje jejich rozptyl(spread). Kdyz vyneseme hodnoty merenı na x-ovou osu grafu rozdelenehona chlıvky, vzdy spadnou do nektereho z chlıvku, dostaneme obycejne nekterechlıvky vıc naplnene a jine mın. Takovy typ grafu nazyvame histogram a po-zorujeme na nem obvykle maximum, kde hodnoty merenı dopadali nejcastejidoprostred kopecka. Kdyz postupujeme histogramem zleva a pocıtame, ko-lik z celkoveho poctu merenı jsme uz zaznamenali, budeme prechazet presnektere zajımave hodnoty zvane percentily:

1. percentil s hladinou 2.5% resp. 97.5% : krajnı hodnoty dulezite prourcovanı hranic ve fyzice

2. percentil s hladinou 5% resp. 95% : podobne, krajnı hodnoty dulezitepro urcovanı hranic ve fyzice

3. percentil s hladinou 25% : prvnı, dolnı kvantil QI , q = 25%

4. percentil s hladinou 50% : druhy, strednı kvantil, median QII , q = 50%

5. percentil s hladinou 75% : tretı, hornı kvantil QIII , q = 75%

Dale je zadefinovany centralnı moment (central moment) m, k-teho stupnez n poctu dat:

mk =

∑(xi − x)k

N(1.14)

Page 13: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 12

Dale je dulezite, podobne, jako u strednı hodnoty, si uvedomit, jesli mamepravdivou skutecnou strednı odchylku σ nebo strednı odchylku z merenı s.

Rozptyl obvykle urcujeme nebo popisujeme jako:

1. standardnı smerodatna odchylka (standard deviation) je definovanajako odmocnina z rozptylu:

σ =

√∑(xi − x)2

N(1.15)

s =

√∑(xi − x)2

N − 1(1.16)

Kdyz hrozı pomıchanı nebo nejasnost, je dobre pouzıt explicitne, kteryvztah pouzijeme, formou treba: σN , σN−1 Standardnı smerodatna od-chylka je silne ovlivnovana odlehlymi hodnotami a nesymetriı rozdelenı.

2. rozptyl (variation)

σ2 =

∑(xi − x)2

N=

∑x2i −Nx2

N(1.17)

3. jiny alternativnı popis: FWHM, FW(1/5)M, spicatost, symetricnost,...

(a) FWHM - full width at half of maxima, cela sırka pıku v polovinevysky maxima

(b) FW(1/5)M - cela sırka pıku v jedne petine vysky maxima

(c) spicatost (sharpnes): leptokurticka = spicatejsı nez normalnı, platykurticka= mene spicate nez normalnı, da se kvantifikovat:

S1 =m4

m22

− 2 kde: mk je centralnı moment (1.18)

(d) symetricnost: zesikmenı (skew) zprava nebo zleva, mıra zesikmenıse vyjadruje vıce spusoby: S2 pomocı 2. a 3. centralnıho mo-mentu:

S2 =m3

m3/22

(1.19)

KS pomocı kvartilu:

KS =QIII +QI − 2x

Qkde Q je kvantilove rozpetı (1.20)

Page 14: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 13

SK podle K. Pearsona:

SK =3(x−Me)

s(1.21)

vyuzıva pri zesikmenı nerovnost medianu Me a aritmetickehoprumeru x

1.3.3 Vıc promennych

Pokud vyhodnocujeme vıc promennych, zajıma nas vıc vlastnostı: hlavnedo jake mıry a jakym zpusobem spolu souvisı nebo jsou nezavisle. K tomumame vytvorene nektere nastroje, jako:

1. kovariance - souvislost mezi daty (covariance):

cov(x, y) =1

N

∑i

(xi − x)(yi − y) = xy−xy =

= 0 nezavisle> 0 prıma umera< 0 neprıma umera

(1.22)

2. korelace (correlation):

ρ =cov(x, y)

σxσy=

= 0→ +1→ −1

(1.23)

3. pro vıc promennych je nutne proverit vzajemny vztah ruznych kom-binacı promennych a vytvorit tak kovariancnı matici (taky nazyvanouodchylkovou nebo chybovou maticı, matice, na jejız hlavnı diagonalejsou variance a na ostatnıch mıstech kovariance; charakterizuje presnosta korelace vıcerozmernych velicin nebo hodnot jedne veliciny) a ko-relacnı matici (mıra zavislosti).

1.4 Typy rozdelenı

1.4.1 Obecne

Ve statistice platı zakon velkych cısel: pri zvysovanı poctu merenı se vysledekblızı vysledku zıskanemu z nekonecneho poctu merenı, nebo ocekavana hod-nota r oznacena jako 〈r〉 nebo i µ konverguje ke stredu (mean) je urcena:

〈r〉 = µ =∑r

rP (r) (1.24)

Page 15: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 14

kde P (r) je rozlozenı pravdepodobnostnı funkce (hustoty pravdepodobnosti)(probability density distribution). Pro kontinualnı rozlozenı dat pak platı,za pravdepodobnost s jakou dostaneme nejakou hodnotu merenı v hranicıch< x1, x2 > je urcena vztahem:

Pravdepodobnost =∫ x2

x1P (x)dx (1.25)

nebo inverzne:

P (x) = limδx→0

Pravdepodobnost

δx(1.26)

1.4.2 Binomicke

Binomial probability distribution: pravdepodobnost P poctu r uspechu z npokusu, z nichz kazdy bude uspesny s pravdepodobnostı p, bude:

P (r; p, n) = pr(1− p)n−r n!

r!(n− r)!= pr(1− p)n−r nCr (1.27)

kde mame r uspechu z n pokusu, p je pravdepodobnost lokalnıho uspechu,

nCr je binomicky koeficient.Strednı hodnota uspechu bude:

〈r〉 = np (1.28)

Standardnı odchylka:

σ =√np(1− p) (1.29)

Binomicke rozdelenı poskytuje informaci o uspechu i neuspechu.

1.4.3 Poissonovo

Poissonovo rozdelenı poskytuje informaci jen o uspechu. To znamena, zenapr. vıme kolikrat castice proletla detektorem, ale samozrejme se nemuzemevyjadrit k tomu, kolikrat neproletla. Pravdepodobnost P pozorovanı r udalostı,kdyz ocekavame strednı hodnotu λ, je:

P (r;λ) =e−λλr

r!(1.30)

Strednı hodnota uspechu bude:

〈r〉 = λ (1.31)

Page 16: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 15

Standardnı odchylka:σ =√λ (1.32)

Pro λ > 10 se rozdelenı uz podoba Gaussovu rozdelenı. Pro soucet dvouPoissonovych distribucı platı: λvysledne = λ1 + λ2

1.4.4 Gaussovo

P (x;µ, σ) =1

σ√

2πe−(x−µ)

2/(2σ2) (1.33)

Pokud z = (x − µ)/σ, pak se rovnice upravı na jednotkove normalizovanerozdelenı:

P (z) =1√2πe−z

2/2 (1.34)

Nektere dulezite vlastnosti Gaussova rozdelenı jsou v tabulce 1.1.

Obsah plochy uvnitr ohranicenı σ Ohranicenı σ obsahu plochyhranice v σ plocha v % plocha v % hranice v σ

1 68.27 99.9 3.2902 95.45 99 2.5763 99.73 95 1.960

90 1.645

Table 1.1: Vybrane vlastnosti Gaussova rozdelenı

1.4.5 Jine

1. Pravouhle jednotkove:

P (x) =

{1b−a pro a ≤ x ≤ b

0 jinde(1.35)

Strednı hodnota bude:

〈r〉 =a+ b

2(1.36)

Standardnı odchylka:

σ =b− a√

12(1.37)

2. Weibull rozdelenı umoznujıcı popsat ostrost funkce (parametr β):

P (x;α, β) = αβ(αx)β−1e−(αx)β

(1.38)

Page 17: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 16

3. Breit-Wigner nebo Cauchy rozdelenı dava pravdepodobost prechoducastice o hmotnosti m do resonance hmotnosti M s sırkou Γ. Funkcenema rozptyl, protoze jejı celkovy integral diverguje.

F (m;M,Γ) =1

Γ

(m−M)2 + (Γ/2)2(1.39)

nebo v Cauchyho redukci:

F (z) =1

π

1

1 + z2(1.40)

1.5 Chyby

1.5.1 Prace s chybami

Platı centralnı limitnı teorem:Pro vyber N nezavislych hodnot xi z dat rozlozenych podle rozdelenı sestredem µi a rozptylem σ2

i platı pro soucet:

X =N∑i=0

xi (1.41)

ocekavana hodnota:〈X〉 =

∑µi = Nµ (1.42)

bude mıt rozptyl:σ2 =

∑σ2i (1.43)

pro N →∞ProN merenı se chyba vylepsı 1/

√N×, dostaneme standardnı chybu prumeru:

σnove =σjednomereni√

N(1.44)

Pro vazene merenı s ruznymi σi platı:

x =

∑xi/σ

2i∑

1/σ2i

(1.45)

σ2 =1∑1/σ2

i

(1.46)

Page 18: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 17

1.5.2 Kombinace vıce chyb

Pro urcenı rozptylu funkce s vıce promennymi zatızenych chybou platı:

f(x, y) : σ2f(x,y) =

(δf

δx

)2

σ2x +

(δf

δy

)2

σ2y + 2

(δf

δx

)(δf

δy

)ρσxσy (1.47)

1.5.3 Systematicke chyby

Systematicke chyby se objevujı, kdyz ”nas metr nema stejnou vzdalenostmezi vrypy”, nebo kdyz merenı nejsou nezavisla. Je dulezite je najıt, rozpoz-nat, vyhodnotit a odstranit. Pokud se podarı je vyhodnotit, zapisujeme jejako: A = +24.8 ± 3.2 ± 5.3, kde ±3.2 je statisticka chyba a ±5.3 je slozkaod systematicke chyby.

1.6 Odhady

Odhady (estimations) jsme nuceni delat vzdy, kdyz nemuzeme merit presne,nebo kdyz nam presnost merenı je malo a chceme se dozvedet vıc. Odhad jeprocedura, delana nad souborem merenych dat v numericke forme, za ucelemzjistenı skutecneho (nebo alespon jeho odhadu) rozdelenı dat, z ktereho jsouvzorky vybrane. Odhadova funkce L (Gauss, Landau,...) ma obecne tvar:

L(x1, x2, ..., xN ; a) =∏P (xi; a)

∫P (x, a)dx = 1 (1.48)

kde a je vlastnost rozdelenı na ktere zavisı rozptyl hodnot xi a kterou merım.Zakladnı ocekavane vlastnosti odhadu jsou (pokud nebudou splneny, odhadbude ”spatny”):

1. konzistentnost (consistency): zvysovanım poctu merenı se blızıme skutecnehodnote, nesklouzneme mimo:

limN→∞

a = a (1.49)

2. nezatızenost (unbiased): skutecna hodnota je ocekavanou hodnotou:

〈a〉 = a (1.50)

3. ucinnost (efficiency): snazıme se merit ucinne, tj. s malym rozptylem

Page 19: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 18

Existuje hranice maximalnı presnosti odhadu, nazyvana minimalnı variacnırozptyl (minimum variance bound, MVB) pro L podle 1.48:

σ2 ≥ 1

〈(d lnL/da)2〉=

−1

〈(d2 lnL/da2)〉(1.51)

Pro Gausse je napr.:

MVB =σ2

Npro mean µ (1.52)

MVB =2σ4

Npro standardnı odchylku σ (1.53)

a z toho pak pro chybu σ a ρ:

σσ =σ√2N

(1.54)

σρ =1− ρ√N − 1

(1.55)

Poslednı vztah je vıc gaussovsky, kdyz pouzijeme substituci:

z =1

2ln

1 + ρ

1− ρ(1.56)

pak:

σz =1√

N − 3(1.57)

1.6.1 Maximalnı pravdepodobnost

Pro zjednodusenı vztahu 1.48 je vyhodne zavest maximalnı pravdepodobnostz podmınky derivace (maximal likelihood, ML):

d lnL

da= 0 (1.58)

coz umoznuje citliveji nastavovat odhady a i pro malaN nejsou data zatızena.Kdyz nahradıme P nenormalizovanou funkcıQ, dostaneme rozsırenou maximalnıpravdepodobnost (extended maximal likelihood, EML)∫

Q(x, a)dx = ν (1.59)

Dalsı prıstupy jsou naprıklad:

Page 20: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 19

1. metoda momentu (method of moments)

〈x〉 =∫xP (x; a)dx =

∫xP (x; a)dx = x pro normalizaci:

∫P (x; ai)dx = 1

(1.60)

2. metoda nejmensıch ctvercu (least squares) je uzitecna, kdyz mame datausporadana do dvojic 〈xi, yi〉, xi zname a yi merıme, y = f(x) kde f(x)je Gaussian, pak muzeme napsat:

P (yi; a) =1

σi√

2πe−[yi−f(xi;a)]

2/2σ2i pravdepodobnost pro yi a dane xi

(1.61)

lnL = −1

2

∑[yi − f(xi)

σi

]2−∑

lnσi√

2π pravdepodobnost pro datovy soubor

(1.62)∑[yi − f(xi; a)

σi

]2= 0 minimalizacnı podmınka (1.63)

Vıc detailu a prakticke pouzitı v prıkladech je na: 1.7, 11.1 (str. 122).

3. metoda prımeho strategickeho vyberu (stratified sampling - beating√N) umoznuje zlepsit statistiku vyuzitım znalosti dalsıch souvislotı ve

vyberu, napr. soucet kluku a dıvek v souboru je konstanta.

1.7 Nejmensı ctverce

Metoda nejmensıch ctvercu (Least Squares) se vyuzıva k nalezenı neznamehoparametru ze souboru merenych dat. Podmınkou uspechu je soubor dobreurcenych x hodnot, odpovıdajıcı soubor y hodnot merenych s presnostı σ afunkce f(x; a) predpovıdajıcı y pro libovolne x, parametr a je znamy svouulohou ve funkci ale neznamy svou hodnotou, a tento tedy budeme hledat.

Princip metody nejmensıch ctvercu je odvozen od maximalnı pravdepodobnostnıfunkce a vyuzıva minimalizaci souctu ctvercu y-ovych odchylek od optimalnıfitovane prımky, vzdalenostı yi od f(xi; a). Minimalizovany soucet nazyvameχ2:

χ2 =N∑i=1

[yi − f(xi; a)

σi

]2dχ2

xa= 0 (1.64)

Page 21: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 20

Pak platı: ∑ 1

σ2i

df(xi; a)

da[yi − f(xi; a)] = 0 (1.65)

Sumarizace dusledku fitu prımkou je:

m =xy − xyx2 − x2

(1.66)

c = y − mx (1.67)

a k tomu vyjadrenı chyby:

σ2m = V (m) =

σ2

N(x2 − x2)(1.68)

σ2c = V (c) =

σ2x2

N(x2 − x2)(1.69)

cov(m, c) = − σ2x

N(x2 − x2)(1.70)

ρm,c = − x√x2

(1.71)

a pro χ2 je nejlepsı fit:

χ2 =V (y)

σ2(1− ρ2x,y) V (y) = y2 − y2 (1.72)

Pokud se lisı σi pro jednotliva merenı, musıme nahradit (vazene hodnoty):∑yiN

nahradit→∑yi/σ

2i∑

1/σ2i

(1.73)

σ2 =N∑1/σ2

i

(1.74)

Pro extrapolovanı chyby σY pro dane X

σ2Y = V (Y ) =

σ2(X − x)2

N(x2 − x2)+σ2

N(1.75)

Pro regresnı krivku muzeme vyslednou prımku napsat matematicky stejne,dulezity rozdıl je vsak z pohledu filozofickeho: zpresnovanım merenı ne-dosahneme presnejsı fit protoze vstupnı data majı prirozeny rozptyl hodnot,regresnı analyza je tedy popisna statistika realneho stavu, podobne jako trebakorelace, zatımco vysledny fit je formou odhadu, typicky: vysledek nenı vramci chyby jednotliveho merenı.

Rozsırenı a urcite zobecnenı metody nejmensıch ctvercu je dal ukazane vcasti 11.1 (str. 122).

Page 22: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 21

1.7.1 χ2 distribuce

Vseobecne se χ2-test pouzıva pri urcovanı, jestli nahodny vyber dat je,nebo nenı, podle gaussovskeho rozdelenı. χ2-distribuce popisuje rozdıl mezimerenou hodnotou a jejı teoretickou predpovedı. Teoreticka predpoved vychazız tvaru Gaussova rozdelenı.

χ2 =N∑i=1

[yi − f(xi; a)

σi

]2=

N∑i=1

yaktualnıi − yidealnı

i

ocekavana chyba

2

(1.76)

P (χ2;n) =2−n/2

Γ(n/2)χn−2e−χ

2/2 (1.77)

kde n je pocet stupnu volnosti: n = N − p, p je pocet promennych ladenychpomocı χ2. χ2 ma pak maximum v n a σχ2 = 2n.Pokud mame chybu v x aj y, platı:

m =σxσy

(A±√A2 + 1) (1.78)

kde:

A =σ2xV (y)− σ2

yV (x)

2σxσycov(x, y)(1.79)

Specialnı prıpad orogonalnı regrese je popsan taky v casti 11.1 (str. 122).

Pokud mame chybu v x aj y, ale je pro kazdou hodnotu i jina (σxi 6=σxi+1

, σyj 6= σyj+1), existuje jenom numericke resenı.

1.8 Pravdepodobnost a duveryhodnost

Existujı ctyri definice pravdepodobnosti:

1. matematicka (Kolmogorov), zavedena pomocı axiom:

(a) P (E) ≥ 0

(b) P (E1orE2) = P (E1)+P (E2), pokud E1 a E2 se vzajemne vylucujı

(c)∑P (Ei) = 1 pres vsechny vzajemne se vylucujıcı moznosti (vzdy

se neco stane)

Page 23: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 22

2. empiricka frekvencnı definice (Richard von Mises): N pokusu, M uspechu,kdyz N →∞,M/N pomer definuje pravdepodobnost P (A) uspechu vA

3. objektivnı (tendence) (C.S.Peirce, 1910) - jako vnitrnı vlastnost hmotya jevu kolem a platı, ze ”by se mela projevovat”, to znamena, ze se drıvnebo pozdeji projevit musı, prıklad: smrt prijde...

4. subjektivnı pravdepodobnost - Bayesianova statistika: podminovanapravdepodobnost P (a/b), ze bude a, kdyz b bude pravda. Bayes teorem(1763):

p(a/b)p(b) = p(aandb) = p(b/a)p(a) ⇒ p(a/b) =p(b/a)p(a)

p(b)(1.80)

Dulezite je davat pozor na to, se kterou pravdepodobnostı pracujeme anemıchat je.

1.8.1 Studentovo rozdelenı

Interval spolehlivosti odhadu(confidence levels) popisuje Studentovo rozdelenıt popsane Gossettem:

t =x− µσ

(1.81)

a znamena: jak blızko je merene x skutecne hodnote µ a z toho jakouteda mam chybu merenı σ, za predpokladu ze jsme tak blızko µ jak jento umoznuje χ2. Pro N merenı platı:

t =x− µσ/√N

(1.82)

t-test umoznuje zjistit, jestli dva nahodne vybery podle Gaussova rozdelenıXi a Yi jsou vuci sobe nezavisle, a tedy nahodne, nebo spolu souvisı. Na totorozhodnutı se vyuzije podmınka pomocı χ2 rozhodnutı.

1.8.2 Regresnı analyza

Elementarnı metody popisu zavislostı dvou cıselnych promennych jsou obsa-hem regresnı analyzy. Regresnı analyza resı obvykle:

Page 24: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 23

1. Odhad parametru regresnı prımky

2. Alternativnı modely – volba vhodneho modelu

3. Diagnostika modelu

4. Analyza reziduı

5. Predpovedi na zaklade vhodneho modelu

6. Vıcenasobna regresnı analyza

Zavislost dvou cıselnych promennych lze popsat pomocı bodoveho grafu nebos vyuzitım korelacnı analyzy (napr. korelacnı koeficient ryx).

Regresnı analyza je souhrn statistickych metod a postupu. Slouzı k de-tailnımu pochopenı zavislosti mezi dvema nebo vıce cıselnymi promennymi.Dale slouzı k odhadu hodnot vysvetlovane promenne pokud zname hodnotyvysvetlujıcı promenne.

Aplikace regresnı analyzy:

1. analyza zavislosti dvou cıselnych promennych,

2. analyza zavislosti vıce cıselnych promennych,

3. analyza vyvoje ukazatele v case.

Jednoducha regresnı analyza popisuje zavislost dvou cıselnych promennych znichz jedna je nezavisla (vysvetlujıcı promenna) a jedna je zavisla (vysvetlovanapromenna).

Vıcenasobna regresnı analyza popisuje zavislost vıce cıselnych promennychz nichz vıce je nezavislych (vysvetlujıcı promenne) a jen jedna je zavisla(vysvetlovana promenna).

Regresnı model zjednodusene zobrazuje realitu. Zavislost popisuje pomocırovnice (v grafu krivkou, rovinou). Obsahuje deterministickou slozku, kterapopisuje zavislost mezi hlavnımi (pozorovanymi) promennymi. Je vyjadrenakonkretnı matematickou funkcı (prımka, hyperbola, parabola atd.). Daleobsahuje nahodnou slozku, ktera popisuje zavislost vysvetlovane promennana neznamych nebo nepozorovanych promennych a popisuje i vliv nahody.Vyjadruje se pravdepodobnostnı funkcı (normalnı rozdelenı).

Pokud body prolozıme prımkou, hovorıme o tzv. regresnı prımce. Pouzıtımnastroje regresnı analyzy lze nalezt prımku, ktera prochazı nejblıze vsem

Page 25: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 24

bodum. K jejımu nalezenı slouzı metoda nejmensıch ctvercu. Pokud byvsechny body lezely na prımce, slo by o model pouze s deterministickouslozkou . Pokud body lezı i mimo – v modelu je deterministicka slozka inahodna slozka.

Program excel (MS office) nabızı pro data v tabulce regresnı analyzu: Data→DataAnalysis→ Regression: ve vystupnı tabulce Intercept (Hranice) jsou ko-eficienty regresni prımky (sloupec Coefficients(Koeficienty)) y = a + b ∗ x.Dale se zde nachazı sloupec s chybou strednı hodnoty koeficientu: ”StandardError” (”Chyba str. hodnoty”) anebo je mozno prımo vycıst rozmezı, vekterem se koeficienty s 95 % jistotou budou pohybovat ve sloupcıch ”Lower95%” (”Dolnı 95%”) a ”Upper 95%” (”Hornı 95%”). V tabulce ”RegressionStatistics” (”Regresnı statistika”) je uvedena nastavena hodnota spolehlivostiR (Adjusted R Square), ktera ukazuje jak velka cast zavislosti zavysle promenneje vysvetlitelna zjistenou zavislostı a jak doplnek do 1 ukazuje velikost jinychvlivu. V tabulce vysledku ANOVA lze vycıst hodnotu F-testu (zabyva sestatistickou vyznamnostı celeho modelu) ve sloupci ”F” a ”Significance F”(”Vyznamnost F”), ktera, kdyz je pod hladinou vyznamnosti treba typicky0.05, model pak je statisticky vyznamny a lze jej pro dana data pouzıt.”F” a ”Significance F” se pocıta taky pro kazdy koeficient zvlast (tabulkaIntercept (Hranice)), jedna se pak o t-testy - zabyvajı se se statistickouvyznamnostı jednotlivych regresnıch parametru. Pokud ”P-value” (”Hod-nota P”) pro dany parametr (koeficient) je mensı nez 0.05, parametr je stati-sticky vyznamny. Vyhodnocenı statisticke vyznamnosti parametru je moznei podle intervalu spolehlivosti. Padne-li do odpovıdajıcıho intervalu 0, pak jeparametr statisticky nevyznamny. Pokud vyjde u regresnı prımky parametr”P-value” statisticky nevyznamny znamena to, ze promenne nejsou zavisle.V takovem prıpade vyjde i v F-testu, ze model nenı vyznamny.

1.8.3 Analyza reziduı

Rezidua jsou odchylky skutecnych hodnot od modelem odhadnutych hod-not. Aby bylo mozne model pouzıt (napr. pro predpoved), mela by reziduasplnovat nasledujıcı podmınky:

1. Rezidua jsou nahodna a nezavisla.

2. Rezidua majı normalnı rozdelenı.

3. Rozptyl reziduı je konstantnı.

Page 26: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 25

Pokud model nesplnuje nekterou z vyse uvedenych podmınek, nelze jej prodana data pouzıt, i kdyby byl daleko lepsı nez alternativnı modely. Nahodnostreziduı lze dobre posoudit pomocı bodoveho grafu (graf reziduı), ve kteremjsou na ose y rezidua a na ose x je vysvetlujıcı (nezavisla promenna). Pocetkladnych a zapornych reziduı by mel byt priblizne stejny, rezidua by melabyt rozlozena nahodne. Posuzovanı grafu je vsak subjektivnı! Vedle grafickeanalyzy lze pouzıt i testy nahodnosti reziduı (napr. znamenkovy test, testzalozeny na bodech zvratu) a testy nezavislosti reziduı (Durbin-Watsonuvtest).

Normalnı rozdelenı reziduı lze zjistit nekolika zpusoby:

1. Graficke metody – histogram, kvantilovy graf

2. Popisne charakteristiky – sikmost a spicatost jsou obe blızke nule

3. Testy statistickych hypotez – Kolmogorov-Smirnovuv test (StandardError (Chyba str. hodnoty) v tabulce ), Chı-kvadrat test dobre shody

Rozptyl reziduı se da skontrolovat v tabulce RESIDUAL OUTPUT a PROB-ABILITY OUTPUT.

1.8.4 Vıcenasobna regresnı analyza

Vıcenasobna regresnı analyza popisuje zavislost vıce cıselnych promennychz nichz vıce je nezavislych (vysvetlujıcı promenne – znacıme je x1, x2, ... ,xn) a jen jedna je zavisla (vysvetlovana promenna - y). Vıcenasobny regresnımodel je zjednodusenym zobrazenım reality. Zavislost se snazı popsat pomocıkonkretnı rovnice – regresnı nadroviny (3 a vıce vysvetlujıcıch promennych).Model zase obsahuje deterministickou slozku (vliv vysvetlujıcıch promennych)a nahodnou slosku (vsechny ostatnı (nepopsane) vlivy). Jsou-li vysvetlujıcıpromenne dve, jde o regresnı rovinu.

Uvod analyzi by mel zacıt korelacnı analyzou (viz nasledujıcı kapitola). Samotnavıcenasobna regresnı analyza se dela stejne jako regresnı analyza nad dvemacıselnymi promennymi. Analyza reziduı by mela probejnout pro vsechnyvysvetlujıcı promenne vuci vysvetlovane zavisle promenne. Vystup a zaveryjsou pak totozne.

Korelacnı analyza

Program excel (MS office) nabızı pro data v tabulce korelacnı analyzu: Data→DataAnalysis→ Correlation. Pozor: v regresnım modelu nesmı byt silna

Page 27: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 26

korelace mezi vysvetlujıcımi (nezavislymi promennymi – xi). Jinak odhadysmerodatnych chyb regresnıch parametru jsou prılis velike, intervaly spolehlivostipro regresnı parametry jsou moc siroke a t-testy nevedou k zamıtnutı hy-potezy o nevyznamnosti parametru ⇒ parametry jsou nulove. V extremnımprıpade, kdy je mezi vysvetlujıcımi promennymi funkcnı zavislost (korelacnıkoeficient je 1 nebo -1) nelze parametry modelu pomocı metody nejmensıchctvercu vubec odhadnout. Jde o tzv. multikolinearitu, ta je podle nekterychautoru nezdrava, pokud je korelacnı koeficient libovolne dvojice promennychx vetsı nez 0,8. Multikolinearita v praxi znamena, ze jedna z dvojice vysvetlujıcıchpromennych, ktere jsou vzajemne silne zavisle, je v modelu navıc a mela bybyt vyrazena.

1.9 Rozhodovanı

V rozhodovanı (taking decisions) se vetsinou jedna o testovanı hypotezy, cozmuzeme delat nasledujıcımi zpusoby:

1. Podle hladiny vyznamnosti α, kde pro pravdepodobnost prijmutı neboodmıtnutı hypotezy PH(x) platı:∫

PH(x)dx ≤ α (1.83)

Toto muzeme vyuzıt vıce prıstupy, napr. vyloucenım pravdive hy-potezy a pak dukazem, ze zbyly predpoklad neplatı (typ I.), neboprijetım negativnı hypotezy a jejım nepotvrzenım (typ II.). Dale exis-tujı Neyman Pearson testy, blız popsane v literature.

2. Teorie nulove hypotezy (null hypothesis): chci prokazat a, tak zacnudokazovat, ze a neplatı (opacnou hypotezu), tedy ze platı a (negace).Kdyz prokazu, ze a neplatı, tak platı a, jinak nemuzu rıct nic.

3. χ2 test, pravdivost fitu funkce, kterou jsem fitoval minimalizacı χ2, seda vyjadrit pomocı pravdepodobnosti χ2:∫

P (χ2;N) =∫ ∞χ2

P (χ′2;N)dχ

′2 (1.84)

Prıklad: pri fitovanı 5 bodu dostanu χ2 = 20 a vıc, s pravdepodobnostı0.0012 =

∫∞20 P (χ2; 5)dχ2, takze zaver je, ze to sice nenı nemozne, ale

urcite je to nepravdepodobne.

Page 28: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 27

4. Kolmogorov test - alternativnı k χ2-testu, kdyz je vzorek moc maly,vyuzıva se kumulativnı distribuce cum(x), vıc dal a v literature.

5. Srovnavanı dvou souboru.

(a) Dva Gaussianovske soubory se stejnym znamym σ, je stred stejny?

V (X − Y ) = σ2x + σ2

y (1.85)

Vysledne σ srovname s rozdılem rozdelenı strednıch hodnot.

(b) Dva Gaussianovske soubory se stejnym neznamym σ, je stredstejny? Pouzijeme Studentovo kriterium pro Nx +Ny − 2 stupnuvolnosti na:

χ2(Nx +Ny − 2) =(Nx − 1)s2x

σ2x

+(Ny − 1)s2y

σ2y

(1.86)

kde:

σx = s2x =

√∑(xi − x)2

Nx − 1(1.87)

a podobne i pro s2y.

(c) Pro korelovana data: vyberme stejne velke vzorky dat a udelamerozdıl: ∑

xi −∑

yi =∑

(xi − yi) (1.88)

Pak musı platit:σ2x + σ2

y − 2ρσxσy = σ (1.89)

(d) Pro dve Gauss distribuce urcit, jestli jsou σx a σy stejne? Dase pouzıt Studentovo kriterium na vytvorenı noveho kriteria F :pomer dvou χ2 rozdelenı (F -test):

F =V1

V2, kde V =

∑(xi − x)2

N − 1(1.90)

Kdyz F je blızko 1, jsou distribuce stejne, kdyz F je hodne vetsı 1,jsou distribuce rozdılne. Pomocı F -testu muzeme zjistovat, jestlidva nahodne vybery spolu souvisı, nebo jsou na sobe nezavisle atedy spolu nesouvisı.

(e) Celkove srovnanı: vyhodne pouzıt Kolmogorov test:

D = max|cum(x)− cum(y)| (1.91)

d =√NxNy/(Nx +Ny)D (1.92)

Pokud d je hodne vetsı nez 0, soubory jsou rozdılne.

Page 29: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 28

6. Je vyhodne srovnavat a studovat rozptyly, srovnavat merena data ajejich predpovedi v tzv. kontingencnıch tabulkach.

1.10 Serazovacı metody

Serazovacı metody (ranking methods) jsou metody vyuzıvajıcı serazovanı atrıdenı dat, ktere nam muzou pomoci pri zpresnovanı vysledku nebo zjednodusenıvypoctu. Mezi neparametricke metody muzeme zaradit:

prıznakovy test na median. V testu se seradı hodnoty vzestupne a srovnava sekolik jich je nad a kolik pod ocekavanou hranicı, vyjadrı se to procentualne apak se toto procento porovna s hladinou vyznamnosti na ktere jeste vezmemevysledek jako mozny nebo uz spadne do vysledku zlych. Je videt, ze metodyto jsou jednoduche a jejich vlastnosti muzeme shrnout do dvou zaveru:

1. jenom znak rozdılnosti je vyuzity, proto je test nezavisly na tvaru stati-stickeho rozdelenı merenı (dobra vlastnost)

2. jenom znak rozdılnosti je vyuzity, proto muzeme ztratit data a testnenı moc vykonny a uzitecny (zla vlastnost)

1.10.1 Mann-Whitneyuv test

Mann-Whitneyuv test patrı mezi dvou vyberove testy, kdy rozhodujemejestli jsou dve merenı ze stejne distribuce dat. Data z obou merenı xi, yjpomıchame a seradıme vzestupne podle jejich hodnoty. Spocıtame kolik yhodnot je za kazdym x a cısla vyneseme do souctu Ux. Pro xyyxxyx radudostaneme Ux = 3 + 1 + 1 + 0 = 5, podobne pro y : Uy = 3 + 3 + 1 = 7 azkontrolujeme podle:

Ux + Uy = NxNy (1.93)

Podle nulove hypotezy pak ocekavame pulku hodnot nad stredem a pulkupod nim, takze:

Ux = Uy =1

2NxNy (1.94)

Pro Ux << Uy nebo naopak bude vychazet, ze data nejsou ze stejnehorozdelenı. Pro male pocty vzorku x a y jsou hodnoty pomeru v tabulkach,pro vetsı pocty se budou chovat podle Gaussova rozdelenı:

µUx =1

2NxNy (1.95)

Page 30: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 29

σUx =1

12NxNy(Nx +Ny) (1.96)

Modifikace a rozsırenı teto metody muzeme najıt trebo jako Kruskal-Wallistest.Wilcoxonuv test vyberu paru je dalsı moznostı jak vyhodnocovat dva souborydat, ktere si nejdrıv usporadame do dvojic a pak je vyhodnocujeme podlepolohy vuci sobe a taky podle hodnoty, takze kvalita rozhodnutı je lepsı astale bez nutnosti fitovanı a hledanı µ a σ. Detailnejsı popis je v literature.

1.10.2 Merenı shody

Spearmanuv korelacnı koeficient

Merenı shody (measures of agreement) vyuzıvajı vzoru korelacnıho koefi-cientu v casti 1.23 str. 13 tzv. Spearmanuv korelacnı koeficient (Spearman’scorrelation coefficient):pro soubor dat (xi, yi) usporadame dvojice podle hodnot xi (k nim je vzdyprislusejıcı yi): (x1, y1), (x2, y2), ..., (xN , yN) a spocıtame rozdılyDi = [polohaxivrade]−[polohayivrade], Spearmanuv korelacnı koeficient pak bude:

ρ = 1− 6∑Ni=1D

2i

N3 −N(1.97)

Podobne jako pro Pearsonuv korelacnı koeficient platı, ze pro ρ = 1 se jednao korelaci, ρ = 0 data nejsou korelovana a pro ρ = −1 jsou antikorelovana.Pro N ≥ 10 se muze na vyhodnocenı pouzıt Studentovo kriterium pro N − 2stupnu volnosti:

t(N − 2) = ρ

√N − 2

1− ρ2(1.98)

Shoda

Spearmanuv korelacnı koeficient nam rekne mıru konzistence (celistvosti)dat. Pro n posuzovane mısto z N serazenych merenı muzeme posoudit shod-nost nasledovne:

1. usporadat vsechna merenı

2. odecıst je od prumeru (n(N + 1)/2) a zıskat D

3. spocıtat:

W =12∑Ni=1D

2i

n2(N3 −N)(1.99)

Page 31: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 1. SHRNUTI STATISTICKYCH METOD 30

kde W → 0 rıka, ze data nesouvisejı, W → 1 ze vybery jsou stejne. Shodnostvyberu muze byt testovana taky F-distribucı vztahem:

W ′ =12[∑Ni=1D

2i − 1]

24 + n2(N3 −N)(1.100)

a pouzıt F rozdelenı na hladine α:

F (α, (N − 1)− 2/n, (n− 1)(N − 1− 2/n)) = (n− 1)W ′/(1−W ′) (1.101)

Page 32: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 2

ROOT - rychlokurz

Cılem teto casti je shrnutı i rychlokurz C/C++ jazyka a uvod do prostredıROOT, jeho pouzitı, zakladnı operace (otevrenı datoveho souboru, ulozenıa zprıstupnenı dat), zakladnı statisticke operace pripravene v programech ajejich vyuzitı, modifikace, iterovanı a fitovanı, histogramovanı dat.

Doporucenı k hlubsımu obeznamenı se s pouzıvanım ROOT pro vyhodno-covanı dat: JSF081 ”Vypocetnı technika ve fyzice vysokych energiı” - TomasDavıdek

Doporucene cvicenı:

1. Pro zacatecnıky v C/C++: podrobne prozkoumanı formalismu a pouzitychfunkcı v prilozenem prıkladu.

2. Nainstalovanı ROOT na lokalnı pocıtac ve Windows a jeho zakladnınakonfigurovanı.

3. Zakladnı operace nad souborem nabranych dat (pritahnout do prostredıze souboru).

4. Ulozit data a histogramy do souboru ve formatu ROOT, jejich znovuotevrenı,inspekce.

5. Zobrazenı ulozenych grafu a histogramu.

Pro vetsinu modernıch experimentu je uz samozrejme nabıranı dat v elektron-icke podobe z jednotlivych detektoru, nebo i celeho detektoru. Odpada tak

31

Page 33: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 32

casove narocne prevadenı dat do digitalnı formy zpracovatelne pocıtacem amuze se rovnou pristoupit k vyhodnocovanı. Proto se v teto casti seznamımes programovacım prostredım stale vıc vyuzıvanym ve fyzice vysokych energiıROOT.K dispozici mame obvykle:

1. Vlastnı programy.

2. Tabulkove procesory (Excel, StarOffice, OpenOffice: mocne nastroje,urcene na trochu jine ulohy).

3. Komercnı graficke programy (Origin, SigmaPlot, Axum (skoncilo)).

4. CERNske programy HBOOK a PAW (HBOOK - knihovna FORTRA-Novskych grafickych funkcı, PAW - interaktivnı prostredı se stejnymiknihovnami) plne vyhovujıcı a hojne pouzıvane i ve stavajıcıch experi-mentech, ale zastarale, tj. nenı graficke prostredı, vazba na ustupujıcıFORTRAN, ne objektove orientovane (OO), rozvoj zastaven.

5. ROOT - nova generace, vychazejıcı z HBOOKu a PAW ale na baziC/C++ a OO (object oriented)(stejny hlavnı autor Rene Brun).

ROOT je dnes uz jeden ze zakladnıch nastroju pro analyzu fyzikalnıch dat.Podporuje operace zobrazovanı, matematicke operace, proklad (fitovanı) stan-dardnımi nebo specialnımi funkcemi, prezentace, histogramovanı (spektra) –cetnost vyskytu hodnot veliciny, po kalibraci fyz. velicina, ne vzdy ekvidis-tantnı, scıtanı, odcıtanı (pozadı), hledanı pıku a analyza spekter.

Zjednodusena chrakterizace ROOT muze byt:

Vyhody:

• temer vsechny klady HBOOK/PAW

• OO (objektove orientovany), C++ (stejny jazyk pro kompilaci i prointeraktivnı pouzitı)

• spoluprace s ostatnımi OO programy a knihovnami (mericı, ap.)

• moznost grafickeho ovladanı (nenı to priorita)

• vsechny platformy (UNIX, linux, Windows), snadna prenositelnost

Page 34: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 33

• otevreny styl (Open Source), diskusnı skupiny, rychla reakce na dotazyprımo od autoru

• otevrenost externım prispevatelum

• BEZPLATNY

• siroka a rostoucı obliba ve fyzikalnı komunite (AliceROOT)

• spolupracuje s dalsımi HEP programy (Pythia, GEANT)

Nevyhody:

• nesnadne osvojovanı

• nektere nove nabızene funkce nejsou vzdy plne funkcnı

• staly vyvoj, nove verze ne vzdy zpetne kompatibilnı, obcasna nutnostmenit kod pri prechodu na vyssı verzi

Vsechny informace:<root.cern.ch>

Dokumentace:

• ROOT User’s Guide

• ROOT Reference Guide

• ROOT Tutorials

• ROOT HOWTO’s

• ROOTTalk (diskusnı skupina)

2.1 Uvod do jazyka C/C++ jazyka

Nasledujıcı casti nemohou zastoupit vyuku programovacıho jazyka C/C++nebo prace v prostredı ROOT. Pro pochopenı dalsıch kapitol, kde budouukazany prıklady v techto jazycıch a prostredı ROOT, mohou pomoci najıtvysvetlenı nebo pochopit typicke konstrukce a jejich vyznam. Protoze nasledujıcıcasti jsou plne funkcnı kod, je mozne je spoustet, modifikovat a zkoumat, jakse projevı zmeny v kodu na vysledcıch.

Page 35: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 34

2.1.1 Zakladnı operace

Ukazka nekterych vlastnostı programovacıho jazyka C/C++ - hlavnı spoustecıprogram

RootPrednaska_C.cpp

, da se spoustet z prostredı ROOT.//

// RootPrednaska_C.cpp Prednaska pro uvod do prace s instrumenty ROOT - C-Language

// C/C++ - zaklady

// Charles University, Prague, Faculty of Mathematics And Physics

// (C) Peter Kodys, [email protected]

// http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

// PK 24.06.05 first version

// PK 20.10.05 update version - uspusobeni pro import do LaTeX, ROOT 5.04/00

// ************* Deklarovani metacomands **********************

#define WINDOWS

// #define PCATLAS45 // ted neaktivni protoze zakomentovan

// ************** useful storage for tranfer of more variables **********

typedef struct

{

float Energy;

float Amplitude;

float Phase;

TComplex Par_Energy;

TComplex Par_Amplitude;

float Par_Phase;

TComplex Per_Energy;

TComplex Per_Amplitude;

float Per_Phase;

} Light;

// ************* Deklarovani globalnich promennych **********************

int G_PRENOS;

// ************* Deklarovani globalnich promennych prednastavenych **********************

// ************* mozne pouzit i pri vytvareni velikosti statickeho pole *****************

// ************* nemozne menit v runtime **********************

int const MAX_POINTS=300;

// **********************************************************

// ************** Hlavny volany program *********************

// **********************************************************

void RootPrednaska_C(void) {

// ************* ...a prace s const **********************

int MePole[3][MAX_POINTS]; // vytvorenio 2 rozmerneho pole...

// ************* ...a prace s metacomands **********************

char tps[100];

#ifdef PCATLAS45

// spusti se jen ta sekvence prikazu co vyhovuje podmince

Page 36: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 35

sprintf(tps, "/mnt/usb1/Users/Peter/rootLT/LT_TestsInFeb2005/ps/");

#endif

#ifdef WINDOWS

sprintf(tps, "ps/");

#endif

// *************** pole je vzdy cislovane od 0 ****************************

// ************* Deklarovani lokalnich promennych nejlip na zacatku *********************

int i, j;

char name[200];

Light *svetlo[4]; // deklarace pointeru objektu, v tomto pripade pole 4 pointeru

Light svetlo2; // deklarace fyzickeho objektu a zaroven i jeho vytvoreni

svetlo[0] = new Light(); // vytvoreni objektu pro pointer

svetlo[0]->Energy = 22; //naplneni promenne v objektu na pointru

svetlo[0]->Par_Energy = TComplex(23,0); //naplneni promenne v objektu na pointru

svetlo2.Energy = 25; //naplneni promenne v objektu na pointru

svetlo2.Par_Energy = TComplex(26,0); //naplneni promenne v objektu na pointru

printf("Energie = %5.2f nebo %5.2f nebo %5.2f\n",

svetlo[0]->Par_Energy.Re(),

svetlo2.Par_Energy.Re(),

svetlo2.Energy

); // vypis promenne na terminal

char mujtext[300];

sprintf(mujtext, "Energie = %5.2f nebo %5.2f nebo %5.2f",

svetlo[0]->Par_Energy.Re(),

svetlo2.Par_Energy.Re(),

svetlo2.Energy

); // vypis promenne do retezce

printf("mujtext: %s",mujtext); // .. a pak na terminal

// fprintf(TFile,"mujtext: %s",mujtext); // nebo do souboru TFile

cout<<"\n\nJiny spusob vypisu"<<endl;

// ************* Typy cyklu prace se souborem **********************

for (i=0;i<10;i++) {

printf("%i ",i);

}

printf("\n",i); // novy radek

// while (podminka==TRUE) {

// }

FILE *fDet;

char FileName[300], buffer[300];

int chan,value;

// Naplneni daty namereneho spektra z asci souboru:

sprintf(FileName,"CviceniData/Vit152eu.asc");

if ((fDet = fopen(FileName,"r")) == NULL) {

printf("ERROR: Unable to open data file %s for reading\n", FileName);

return(1);

}

else {

printf("Opened data file %s for reading\n", FileName);

i = 0;

while ((fgets( buffer, 69, fDet) != NULL) && (i < 8349)) {

sscanf(buffer,"%i,%i",&chan,&value); //vypis z retezcu

fscanf(fDet,"%i,%i",&chan,&value); //vypis ze souboru

// Obr1D->Fill(chan,value); //Plneni!!!

i++;

}

Page 37: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 36

fclose(fDet); // na konci vzdy zavrit

}

// ************* Strukturovani programu : prehlednost :-) a moznost zdileni *************

// ************* 1. vytvareni submakro v tom samem makru **********************

jsem_tady2();

// ************* 2. vytvareni submakro v jinem makru **********************

gROOT->LoadMacro("RootPrednaska_C_Sub.cpp");

jsem_tady222();

int kuk1,kuk2;

kuk1 = 22;

kuk2 = -2;

printf("pred: kuk1 %i,kuk2 %i\n",kuk1,kuk2);

int kuk = jsem_tady(kuk1, &kuk2);

printf("po: kuk %i,kuk1 %i,kuk2 %i\n",kuk,kuk1,kuk2);

// ************* 3. Vyuzivani deklaraci v hlavickovem souboru **********************

// ************* ukazka v RootPrednaska_C_Sub.cpp **********************

}

// ***************************************************************************************

void jsem_tady2(void) {

printf("volam se tak ruzne z hlavniho\n");

}

//

2.1.2 Prıklad kodu s hlavickovym souborem

Vedlejsı spoustecı program

RootPrednaska_C_Sub.cpp

, volany programem

RootPrednaska_C.cpp

//

// RootPrednaska_C.cpp Prednaska pro uvod do prace s instrumenty ROOT - C-Language

// C/C++ - zaklady

// Charles University, Prague, Faculty of Mathematics And Physics

// (C) Peter Kodys, [email protected]

// http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

// PK 24.06.05 first version

// PK 20.10.05 update version - uspusobeni pro import do LaTeX, ROOT 5.04/00

#include "RootPrednaska_C_Sub.h"

// ***************************************************************************************

int jsem_tady(int prenasim, int *vracim) {

int kuk, kuk1;

kuk = 24;

kuk1 = *vracim;

*vracim = kuk * kuk1;

printf("prenasim %i vracim %i kuk %i\n",prenasim, *vracim, kuk);

Page 38: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 37

return kuk;

}

// ***************************************************************************************

void jsem_tady222(void) {

printf("volam se tak ruzne\n");

printf("Vyziti hlavicoveho souboru:\n");

Light_SUB *MeSvetlo;

MeSvetlo = new Light_SUB();

MeSvetlo->Energy = 123.45;

sprintf(MeSvetlo->Nazev,"A jsem tu: %4i",(int)MeSvetlo->Energy);

G_PRENOS_SUB = 12345;

printf("Vystup: >> %s <<, %f %i\n",MeSvetlo->Nazev,MeSvetlo->Energy,G_PRENOS_SUB);

}

//

2.1.3 Prıslusny hlavickovy soubor

Hlavickovy soubor

RootPrednaska_C_Sub.h

na deklarace globalnıch promennych patrıcı k vedlejsımu spoustecımu pro-gramu

RootPrednaska_C_Sub.cpp

//

// RootPrednaska_C.cpp Prednaska pro uvod do prace s instrumenty ROOT - C-Language

// C/C++ - zaklady

// Charles University, Prague, Faculty of Mathematics And Physics

// (C) Peter Kodys, [email protected]

// http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

// PK 24.06.05 first version

// PK 20.10.05 update version - uspusobeni pro import do LaTeX, ROOT 5.04/00

// radky na zamezeni vycenasobneho natahovani do pameti...

#ifndef __RootPrednaska_C_Sub_h__

#define __RootPrednaska_C_Sub_h__

typedef struct

{

char Nazev[100];

float Energy;

float Phase;

} Light_SUB;

int G_PRENOS_SUB;

#endif

//

Page 39: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 38

2.2 Uvod do prace v prostredı ROOT

Podobne jako predchazejıcı casti i nasledujıcı casti nemohou zastoupit vyukuprace v prostredı ROOT takze proto slouzı hlavne k vyzkousenı si, jak muzefungovat makro psane pro ROOT a jak pouzıvat zobrazovanı funkcı a grafu.

2.2.1 Instalace ROOT

V teto casti se popisuje zakladnı postup pri instalaci ROOT prostredı nalokalnı pocıtac, pri praci na sıtove instalaci ROOT pod Linuxem nebo MSWindows muzete tuto cast vynechat.

Prednaska pro uvod do prace s instrumenty ROOT

Charles University, Prague, Faculty of Mathematics And Physics

(C) Peter Kodys, [email protected], Zdenek Dolezal

http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

PK 12.04.02 first version, PrednaskaRoot_Instal.txt

PK 20.10.05 update version - uzpusobeni pro import do LaTeX, ROOT 5.04/00

/******* Instalace, nastaveni a spusteni ROOT ******************/

Instalace ROOT v prostredi Windows:

Zkopirovat zdroje z http://root.cern.ch/ ( http://root.cern.ch/root/Availability.html )

Obsah root_vx.xx.xx.win32gdk.tar.gz (kde x.xx.xx ve verze distribuce)

zkopirovat do adresare (napr c:/root301 - podle verze ROOT)

nebo do obecneho adresare napr c:/root a pak vymenou obsahu adresare urcovat verzi ROOT

Pro instalaci pokud nemame v systemu MSVC++v7.0 jeste dokopirujeme

soubory: msvcp70.dll, msvcr70.dll, msvci70.dll, msfrt40.dll

(taky dostupne na strankach http://root.cern.ch/ -> Download )

do adresare root/bin/

Prace s ROOT:

Pripravit pracovni adresar (napr: d:/users/peter/root )

pripravit spousteci soubor (napr: StartRoot.bat)

jeho obsah (doporuceni, jinak je to popsane vsechno na http://root.cern.ch/)

set TEMP=c:\Temp

set HOME=d:\users\peter\root

set TMPDIR=c:\Temp

set ROOTSYS=c:\root

set PATH=%PATH%;%ROOTSYS%\bin

%ROOTSYS%\bin\root.exe

rem root.exe

rem start root.exe

Toto spousteni nevyzaduje zadne dalsi nastavovani v systemu.

Dalsi zmeny se vzdy popisuji pro dane verze ROOT

Udelat Shortcut: C:\root\StartRoot.bat, StartIn: d:\users\peter\root

Vyhodne Shortcut: %SystemRoot%\system32\cmd.exe, StartIn: d:\users\peter\root

(kdyz ROOT casto pada a krachuje)

Zkopirovat/vytvorit do prac. adresare HOME soubory:

.rootrc,

system.rootrc(nepovinny),

Page 40: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 39

rootalias.C(nevyzkouseno),

rootlogon.C(co se stane pri startu),

rootlogoff.C (co se stane pri ukonceni)

Povinny zda se hlavne:

.rootrc (starsi verze, ale je uzitecny a funguje i pri poslednich verzich)

system.rootrc (verze 3.x a vyssi)

Kdyz jsou v adresary oba najednou, bere se: .rootrc

Soubory se najdou vetsinou v instalaci/tutorial

Doporucuju nastavit/modifikovat v .rootrc nasledujici (pro Windows, v Linux analogicky):

nastavit misto, kde hledam knihovny:

WinNT.*.Root.DynamicPath:

.\;$(ROOTSYS);$(ROOTSYS)\bin;d:\users\peter\root\bin;d:\users\peter\root;$(PATH)

nastavit misto, kde budu mit makra:

WinNT.*.Root.MacroPath:

.\;$(ROOTSYS)\macros;$(ROOTSYS)\tutorials;$(ROOTSYS)\test;d:\users\peter\root\macros

nastavit objem informaci, ktere mi budou behem prace posilany systemem:

Root.Debug: 0 (zadne hlasky nebo jejich minimalizace)

Root.Debug: 3 (hlasky uzitecne pri odladovani)

Root.Debug: 5 (vsechny mozne hlasky uzitecne pri odladovani

(zpomaluje beh programu...))

nastavit spravne cesty:

Rint.Load: d:\users\peter\root\rootalias.C

Rint.Logon: d:\users\peter\root\rootlogon.C

Rint.Logoff: d:\users\peter\root\rootlogoff.C

Rint.History: d:\users\peter\root\etc\root_history.txt

Vytvorit adresar pro root_history.txt (zapisovani minulosti prikazu.... uzitecne)

Spustit ROOT shortcutem na StartRoot.bat

V prostredi ROOT se spousti makro prikazem:

.x NazevMakra.cpp()

nebo:

.x NazevMakra.cpp(1,2,45,4.23) pokud je vyzadovano poslani paramteru

podminkou je ze existuje soubor v .Root.MacroPath s nazvem NazevMakra.cpp a v nem makro

s nazvem NazevMakra(void) nebo pro druhy pripad: NazevMakra(int a,int b,int c,float d)

Pokud chceme z makra spoustet cast s jinym nazvem, najdriv soubor natahneme

a pak volame prislusne makro:

.L NazevMakra.cpp

JineMakro(2,4.56)

2.2.2 Spoustenı maker a prace s externımi knihovnami

Jak spoustet makra a prace s externımi knihovnami (dll - dynamic linklibraries), to bude naplnı nasledujıcı casti, detailnı popis jak vyrobit dllcitelnou v ROOT presahuje napln teto prednasky a v prıpade potreby azajmu ji vysvetlım v samostatne prednasce.

Prednaska pro uvod do prace s instrumenty ROOT

Page 41: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 40

Charles University, Prague, Faculty of Mathematics And Physics

(C) Peter Kodys, [email protected], Zdenek Dolezal

http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

PK 12.04.02 first version, PrednaskaRoot_Makra_DLL.txt

PK 20.10.05 update version - uspusobeni pro import do LaTeX, ROOT 5.04/00

/******* Spousteni uloh ******/

V prostredi ROOT se spousti makro prikazem:

.x NazevMakra.cpp()

nebo:

.x NazevMakra.cpp(1,2,45,4.23) pokud je vyzadovano poslani paramteru

podminkou je, ze existuje soubor v .Root.MacroPath s nazvem NazevMakra.cpp a v nem makro

s nazvem NazevMakra(void) nebo pro druhy pripad: NazevMakra(int a,int b,int c,float d)

Pokud chceme z makra spoustet cast s jinym nazvem, najdriv soubor natahneme

a pak volame prislusne makro:

.L NazevMakra.cpp

JineMakro(2,4.56)

/******* Prace s externimi makry z jinych souboru, vlastnimi funkcemi a knihovnami ******/

/******* sdileni kodu vice makry ********/

Prace s makry z jinych souboru:

-----------------------------------

Spusteni/vykonani promennych a funkci (maker) ze souboru Pokus.cpp:

gROOT->ProcessLine(".L Pokus.cpp"); //natahnuti do pameti

nebo to same jinak:

Pritahnuti promennych a funkci (maker) ze souboru DSTFind.cpp:

gROOT->LoadMacro("DSTFind.cpp");

Priklad pouziti v makru:

void DSTFindTest()

{

gROOT->Reset();

gROOT->LoadMacro("DSTFind.cpp");

DSTList RunList;

int Run;

RunList = DSTFind(0.0,’K’,’b’,5); //looking for scan K-b

for (int i = 0; i < RunList.NoOfRuns; i++) {

Run = RunList.ListOfRuns[i];

printf("Run %i \n",Run);

}

}

Externi vlastni funkce:

-----------------------------------

Priklad definice sve funkce:

Double_t gaus(Double_t *x, Double_t *par){ //stara znama "gausovka"

return par[0] * TMath::Gaus(x[0],par[1],par[2]); //volana z tridy ROOT: TMath

}

Double_t grillo(Double_t *x, Double_t *par){ //oblibena funkce na fitovani krivky odezvy

Double_t xx;

if((par[1]*x[0]) == 0){

Page 42: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 41

xx = 0;

}

else{

xx = par[2]/(par[1]*x[0]);

}

return par[0] + par[2]/TMath::Sqrt(1+(xx*xx));

}

Priklad pouziti sve vlastni funkce:

Double_t range_lo = 0.8;

Double_t range_hi = 8.0;

TF1 *f3 = new TF1("f3",grillo,range_lo,range_hi,3); //volani funkce "grillo"

f3->SetParameters(57,48,339); //prednastaveni parametru fitu

grc->Fit("f3","QR"); //fitovani histogramu grc

f3->SetRange(0,range_hi);

f3->Draw("same");

chip_p0[i] = f3->GetParameter(0); //zjisteni vyslednych parametru funkce

chip_p1[i] = f3->GetParameter(1);

chip_p2[i] = f3->GetParameter(2);

Prace s externimi knihovnami:

-----------------------------------

Typ knihovny DLL

Jeji produkce/vyroba: prace pro experty

Primapovani/zviditelneni/prace:

Priklad kodu:

//Pritahnuti do programu/makra:

int LibraryOK = gSystem.Load("%HOME%\\bin\\CAMdll.dll");

if (LibraryOK == 1)

printf("Library is already loaded");

if (LibraryOK == -1) {

printf("Library does not exist...\n");

return;

}

//Zviditelneni a primapovani objektu tCAM typu TTB do promenne e:

if(gROOT->GetVersionInt()>30000){

printf("\nCreating TCAM object ’e’\n");

TTB* tCAM = new TTB();

printf("...done\n");

gDirectory->Append(tCAM);

gROOT->ProcessLine("TTB* e = (TTB*) TTB");

}else{

e = new TTB();

}

//Pouzivani promennych a funkci z knihovny:

sprintf(e->CM_PathCfg,"%s\\Cfg\\",gSystem.HomeDirectory());

e->ShowAllVariables(4);

e->MemoryMap();

e->CM_RunDAQOK = 1;

Priklad pouziti v makru (Zdenka Broklova):

void pokus(void)

{

gSystem->Load("c:\\sctdaq_anal\\bin\\librootEvent.dll"); //primapovani knihovny

localPoint *point; //typ z knihovny

point = (*point)new localPoint; //alokace pameti pro promennou

point->SetX(5.2); //nastaveni parametru promenne v knihovne

Page 43: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 42

//(volani nastavovaci funkce z knihovny)

funkce((void*)point); //pouziti promenne z knihovny v jinem makru

delete (point); //vycisteni pameti od promenne

}

void funkce(void *p)

{

printf("X = %f\n", ((localPoint*)p)->GetX()); //volani funkce z knihovny

}

2.2.3 Prıklad makra a nekterych operacı s daty vROOT

Konkretne prıklady prace v ROOT i s komentari, spustitelne makro

RootPrednaska.cpp

//

// RootPrednaska.cpp Prednaska pro uvod do prace s instrumenty ROOT

// Uvod - zaklady

// Charles University, Prague, Faculty of Mathematics And Physics

// (C) Peter Kodys, [email protected]

// http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

// PK 12.04.02 first version

// PK 24.06.05 update version

// PK 20.10.05 update version - uzpusobeni pro import do LaTeX, ROOT 5.04/00

// dobra dohoda: komentovani, deklarace, zacatek a konec makra, pracovni radky

// (print, pausa) piseme od zacatku

// dobra dohoda: cykly a vnorene funkce odskakujeme na 2 mezery, nepouzivam tab

// nedoporucovany zpusob prace, ale jednoduchy a funguje:

//{ //tento zacatek neni zacatkem makra, ale zacatkem sekvence prikazu ROOTu

// printf("Zaciname\n");

// printf("Prednaska pro uvod do prace s instrumentami ROOT\n");

//} //konec sekvence prikazu ROOTu

// dobre je veci si psat do makra...

gROOT->Reset(); // vycisteni prostredi od starych rezidui

TPad *pad[4]; //uvodni deklarace - globalni promenna - pole 4 pointeru tupu TPad

//v cestine nekdy: pointer = smernik

// ***************************************************************************************

//RootPrednaska() { //neslusny zacatek makra ale funguje, chybeji "void" prikazy

void RootPrednaska(void) { //slusny zacatek - makro

char Name0[30], Name1[300], Namex[300], Namey[300], Namez[300];

int i, j;

// printf("\n"); //hodne casta sekvence... : udelej novy radek na monitoru, napis neco

// getchar(); //hodne casta sekvence...: cekej na stisk nejake klavesy a pak pokracuj

printf("Zaciname\n");

printf("Prednaska pro uvod do prace s instrumenty ROOT\n");

Page 44: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 43

// -----------------> neslusny zacatek

//root [0] .x RootPrednaska.cpp

//Zaciname

//Prednaska pro uvod do prace s instrumenty ROOT

//(int)55 ----> //tento radek ukazal navratovou hodnotu spusteneho makra,

//protoze nebyla typu "void"

//root [1]

// -----------------> slusny zacatek

//root [0] .x RootPrednaska.cpp

//Zaciname

//Prednaska pro uvod do prace s instrumenty ROOT

//root [1]

// return; // prakticke pri odladovani (!!! zavorky ale musi sedet i za tim...)

// Graficke prostredi:

// Uzitecna nastaveni pro celkovy styl zobrazovani:

// Tohle nastaveni urceno pro slusny tisk s bilym pozadim (pro starsi ROOT,

// ted osetreno lip v novejsich verzich

/*

gStyle->SetHistFillColor(0);

gStyle->SetOptStat(0);

gStyle->SetOptFit(0);

gStyle->SetCanvasColor(0);

gStyle->SetCanvasBorderMode(0);

gStyle->SetTitleColor(0);

gStyle->SetPadBorderMode(0);

*/

// TCanvas *c0 = new TCanvas(); // min slusne - nastavuji se default hodnoty

TCanvas *c0 = new TCanvas("c0","Nahodna prochazka",200,10,800,800); //Okno na grafiku

// int PadCol = 26; //barva plochy

// int PadCol = 0; //barva plochy

int PadCol = 18; //barva plochy

//TPad *pad[4]; //uvodni deklarace (slusna) - v tomto prikladu je globalni na zacatku

sprintf(Name0,"pad");

sprintf(Name1,"Alpha energy vs ToF - Det");

pad[0] = new TPad(Name0,Name1,0,0,1,1,PadCol); //Plocha v okne na malovani obrazku

pad[0]->Draw(); //zobrazeni...

pad[0]->cd(); //fokus, aby se dalsi radky realizovali v nem...

//TCanvas *CanvasDel; //Velmi uzitecna sekvence zamezujici prepsani existujiciho okna!!!

// if(CanvasDel = (TCanvas*) gDirectory->FindObject("c1")) return; //1: objekt nalezen

// if(CanvasDel = (TCanvas*) gDirectory->FindObject(Name0)) return; //1: objekt nalezen

// Jiny zpusob hledani:

// TFile *hfile = (TFile*)gROOT->FindObject(FNameNtpl); if (hfile) hfile->Close();

// Jiny zpusob hledani a mazani existujiciho objektu:

// if(h_ptr2 = (TH2F*) gDirectory->GetList()->FindObject("cal0")) delete h_ptr2;

//Okno1 na praci s urcenou velikosti:

// TDialogCanvas *c1 = new TDialogCanvas("c1","Priklad 1",800,600);

//Okno1 na praci defaultni velikosti:

TCanvas *c1 = new TCanvas("c1","Priklad 1");

c1->cd();

PadCol = 18; //barva plochy

// PadCol = 0; //barva plochy

pad[1] = new TPad("wokno1","okno 1",0,0.5,.5,1,PadCol); //Plocha v casti okna na praci

pad[1]->Draw();

pad[2] = new TPad("wokno2","okno 2",0.5,0,1,1,PadCol);

pad[2]->Draw();

pad[2]->cd();

Page 45: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 44

pad[2]->Divide(2,3); //Plocha v casti okna + rozdelena na 2x3 casti

TH1F *Obrazek1D; // Priprava histogramu 1D (podobne graf)

sprintf(Name0,"AQ");

sprintf(Name1,"Histogram");

sprintf(Namex,"%s","Energy (Channel)");

sprintf(Namey,"%s","Events");

Obrazek1D = new TH1F(Name0,Name1,8000,0.,8000);

Obrazek1D->SetXTitle(Namex);

Obrazek1D->SetYTitle(Namey);

pad[2]->cd(4);

Obrazek1D->Draw();

pad[1]->cd();

Obrazek1D->DrawCopy();

pad[0]->cd();

Obrazek1D->Draw();

TButton *Tlacitko; // Tlacitko na Canvasu -> presneji na TDialogCanvas

// omoznuje po spusteni programu provadet nad nim vyber akce

pad[1]->cd();

Tlacitko = new TButton("Ovladac Log skaly", "LogScale()", .35,.92,.75,.98);

// Tlacitko->Draw();

// Vytvoreni samostatneho ovladaciho menu - tlacitek:

barMain = new TControlBar("vertical","CAM kukuk");

barMain->SetNumberOfColumns(2);

barMain->AddButton("Nastav Log Scale","LogScale()","Komentare napovedy");

barMain->Show();

gROOT->SaveContext();

TH2F *Obrazek2D; // Priprava histogramu 2D

sprintf(Name0,"AQ2D");

sprintf(Name1,"Histogram2D");

sprintf(Namex,"%s","Energy X");

sprintf(Namey,"%s","Energy Y");

sprintf(Namez,"%s","Events");

// Obrazek2D = new TH2F(Name0,Name1,1000,0.,8000.,1000,50.,8000.); // jemne rozliseni

Obrazek2D = new TH2F(Name0,Name1,100,0.,8000.,100,50.,8000.); // hrubsi rozliseni

Obrazek2D->SetXTitle(Namex); // popisky osi

Obrazek2D->SetYTitle(Namey);

Obrazek2D->SetZTitle(Namez);

pad[2]->cd(2);

Obrazek2D->Draw("SURF4");

pad[0]->cd();

// Obrazek2D->Draw();

Obrazek2D->Draw("SURF3");

TH2F *GrafZaklad; // Priprava souradnic pod graf

GrafZaklad = new TH2F("GrafZaklad","",2,0.,400,2,0.,100);

pad[2]->cd(6);

GrafZaklad->Draw();

int g_n;

float g_x[20], g_y[2][20];

// Pouziti jineho makra z tohoto souboru

// Plneni daty z file, z random...

if (NaplnitDatami(&g_n,g_x,g_y[0],g_y[1],Obrazek2D,Obrazek1D)) return;

pad[2]->cd(4);

Obrazek1D->Draw();

pad[1]->cd();

Obrazek1D->DrawCopy();

Page 46: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 45

Tlacitko->Draw();

//return;

printf("body v grafu %i\n",g_n);

TGraph *Graf[2]; // Vyroba grafu

TMarker Point[5]; // Vyroba znacek

Point[0].SetMarkerStyle(29);

Point[1].SetMarkerStyle(21);

Point[2].SetMarkerStyle(22);

Point[3].SetMarkerStyle(20);

Point[4].SetMarkerStyle(23);

for (i=0;i<5;i++) {

Point[i].SetMarkerSize(1);

Point[i].SetMarkerColor(i+1);

}

TLine Line[5]; // Vyroba primek/usecek

for (i=0;i<5;i++) {

Line[i].SetLineWidth(1);

Line[i].SetLineColor(i+4);

}

pad[2]->cd(6);

for(i=0;i<2;i++) {

Point[i].DrawMarker(50+30*i,50+3*i);

Line[i].DrawLine(40+i*10,40+i*30,240+i*10,80+i*20);

// Line[1]->Draw("<|>");

Graf[i] = new TGraph(g_n,g_x,g_y[0]);

Graf[i]->SetFillColor(2+i); // Vybarvovani

Graf[i]->SetLineColor(5+i);

Graf[i]->SetLineWidth(2+i); // Sirka cary

Graf[i]->SetMarkerStyle(22+i); // Tvar znacky

Graf[i]->SetMarkerColor(2+i);

// Graf[i]->DrawGraph(g_n,g_x,g_y[i],"LP*"); //body nahradi *

Graf[i]->DrawGraph(g_n,g_x,g_y[i],"LP"); //vykresleni

// v poslednich verzich je dobra podpora primeho vykresleni TGraph bez pripravi TH1(2)

}

TArrow Arrow;

i=0;

Arrow.DrawArrow(10+i*3,10-3*i,240+i*5,20+i*7,.05,"<|>"); // Sipka

i++;

Arrow.DrawArrow(10+i*3,10-3*i,240+i*5,20+i*7,.05,"<>"); // Sipka

i++;

Arrow.DrawArrow(10+i*3,10-3*i,240+i*5,20+i*7,.05,">"); // Sipka

i++;

Arrow.DrawArrow(10+i*3,10-3*i,240+i*5,20+i*7,.05,"-<-"); // Sipka

leg = new TLegend(.4,.6,.89,.89); //Legenda

leg->AddEntry(Graf[0],"Funkce0","l");

leg->AddEntry(Graf[1],"Funkce 1","p");

leg->AddEntry(Graf[1],"A jinak","f");

leg->AddEntry(Graf[1],"A jinak: #sqrt{2#pi} #v{r} P_{t} (#gamma) in latex","l");

leg->SetHeader("Leg#acute{e}ndi#check{c}k#ddot{a}");

leg->Draw();

TText Pokec;

Pokec.SetTextSize((float)0.08);

Pokec.SetTextColor(4);

Pokec.DrawText(250,40,"Prıklad vypisu."); // Text - komentar

Pokec.SetTextFont(13);

Pokec.DrawText(250,20,"Ihaaauu."); // Text - komentar i s cestinou

// pad[2]->Modify();

// pad[2]->Update();

c1->Modified(); //Aktualizace obrazovky

c1->Modify(); //Aktualizace obrazovky

Page 47: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 46

c1->Update(); //Aktualizace obrazovky

//return;

// automaticke ukladani ps(eps) uklada vsechno, co se deje na nasi plose Canvas, proto

// je nekdy vyhodne ukladani vypinat, kdyz nemame jeste finalni obrazek.

// Ulozit se da Canvas vzdy i z okna rucne. Navic pred ulozenim se muze jeste doformatovat

int postscript = 1;

if(postscript){ //podminka jestli chci ulozeni do postscriptu (ps, eps)

// TPostScript *ps = new TPostScript("UlozitObrazek.eps",113); // jenom jednu stranku

TPostScript *ps = new TPostScript("CviceniData/RootPrednaska.ps",112); // i vic stran

ps->NewPage(); // vytvoreni nove stranky

ps->Off(); // vypnuti ukladani

ps->On(); // zapnuti ukladani

// ps->Close(); // Ukonceni a ulozeni obrazku

}

// if(postscript) ps->On();

// c1->Modified(); //Aktualizace obrazovky

// c1->Modify(); //Aktualizace obrazovky

pad[0]->Modify();

c0->Update(); //Aktualizace obrazovky

if(postscript) ps->NewPage();

c1->cd(); //Aktualizace obrazovky

pad[1]->Modified();

pad[2]->Modified();

c1->Modified(); //Aktualizace obrazovky

c1->Update(); //Aktualizace obrazovky

if(postscript) ps->Close(); // Ukonceni a ulozeni obrazku

// Ulozeni dat do souboru - krachuje, pokud existuje -> neslusne:

//TFile FileM("RootPrednaska.root","new");

//jiny zpusob - otevre vzdy! (i prepise) - neslusne:

//TFile *FileM = new TFile("RootPrednaska.root","RECREATE");

char FNameRoot[300];

// Slusne je ukladat s celou cestou: C:\kuk\...

sprintf(FNameRoot,"%s","RootPrednaska.root");

TFile *FileM;

FileM = new TFile(FNameRoot,"READ"); // Kontrola ,zda soubor existuje

if ((FileM->IsOpen()) == 0) {

printf("Create ROOT data file %s\n",FNameRoot);

FileM = new TFile(FNameRoot,"CREATE"); // Kdy neexistuje: vytvorime

}

else {

FileM->Close();

// Kdy neexistuje: pridani do existujiciho souboru:

// FileM = new TFile(FNameRoot,"UPDATE");

// Kdy neexistuje: prepsani existujiciho souboru:

FileM = new TFile(FNameRoot,"RECREATE");

}

// Kontrola, jestli je vsechno v poradku na zapis dat...:

if ((FileM->IsOpen()) == 0) {

printf("ROOT data file %s was not open!!! \n",FNameRoot);

return;

}

// Telo ukladani...

Obrazek1D->Write();

Obrazek2D->Write();

Graf[0]->Write();

Graf[1]->Write();

// Ulozi data z pameti na disk - uzitecne pri rychlem nabirani a velkych souborech:

FileM->Flush();

// FileM->Write(); // Ulozi se vsechny histogramy z pameti do souboru

FileM->Close(); // neslusne ale funguje: Uzavreni souboru

Page 48: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 47

if ((FileM->IsOpen()) == 0) { // Slusne uzavreni souboru

// varovani, ze nelze zavrit a neco se muselo stat...

}

else {

FileM->Close(); // Uzavreni souboru

}

/*

// Vytazeni dat ze souboru - podrobne v dalsi casti prednasky

TFile FVyber("RootPrednaska.root");

TH2F *Vyber = (TH2F *)FVyber.Get("AQ2D");

FVyber->Close();

printf("Konec prednasky pro uvod do prace s instrumenty ROOT\n");

*/

NaplnitDatami2();

}

// ***************************************************************************************

int NaplnitDatami(int *n,float x[20],float y1[20],float y2[20],TH2F *Obr2D,TH1F *Obr1D) {

int i;

for(i=0;i<20;i++) { // Vytvoreni grafu

x[i] = i*i;

y1[i] = sin((float)i/20.)*100;

y2[i] = cos((float)i/20.-.5)*100;

printf("body v grafu %i %f %f %f\n",i,x[i],y1[i],y2[i]);

}

*n = i;

int MaxCycle2, MaxCycle, j, k;

float Cislo, Cislo1, Cislo2, Posun, Sigma, Posun2, Sigma2;

float PPosun[13], PSigma[13];

int PMaxCycle2[13];

float PMaxCycle[13];

char FileName[333];

char buffer[100];

int chan, value,i;

FILE *fDet;

// Naplneni daty namereneho spektra z asci souboru

sprintf(FileName,"CviceniData/Vit152eu.asc");

if ((fDet = fopen(FileName,"r")) == NULL) {

printf("ERROR: Unable to open data file %s for reading\n", FileName);

return(1);

}

else {

printf("Opened data file %s for reading\n", FileName);

i = 0;

while ((fgets( buffer, 69, fDet) != NULL) && (i < 8349)) {

sscanf(buffer,"%i,%i",&chan,&value);

Obr1D->Fill(chan,value); //Plneni!!!

i++;

}

fclose(fDet);

}

MaxCycle = 10000;

for(j=0;j<(MaxCycle*10);j++) { //Vytvoreni umeleho background v 2D histogramu

Cislo1 = ((float)rand()) / (32768./(float)8000);

Cislo2 = ((float)rand()) / (32768./(float)8000);

Obr2D->Fill(Cislo2,Cislo1 * (Cislo1 / (float)8000));

}

for(k=0;k<10;k++) { //Vytvoreni Random Peaks v 2D histogramu

MaxCycle2 = MaxCycle * gRandom->Rndm();

Posun = gRandom->Rndm() * 8000;

Page 49: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 48

Sigma = gRandom->Rndm() * 600.+200;

Posun2 = gRandom->Rndm() * 8000;

Sigma2 = gRandom->Rndm() * 400.+200;

for(j=0;j<MaxCycle2;j++) {

Obr2D->Fill(gRandom->Gaus(Posun2, Sigma2),gRandom->Gaus(Posun, Sigma));

}

}

}

// ***************************************************************************************

void LogScale() { // Makro na tlacitko spusteni akce

pad[1]->cd();

pad[1]->SetLogy(1-pad[1]->GetLogy()); // akce nad globalnimi objekty

pad[1]->Modified();

}

// ***************************************************************************************

void NaplnitDatami2(void) {

char FileName[333];

// Natazeni dat z asci souboru, cisla oddelene mezerou,mezerami nebo <tab>

TCanvas *c5 = new TCanvas("c5","Rychle nacteni dat",200,10,800,800); //Okno na praci

sprintf(FileName,"CviceniData/pokus.asc");

TTree *T = new TTree("ntuple","data z ascii (text) souboru");

// Natazeni prvnich tri sloupcu dat az do prvniho prblemu kdy neidentifikuje cislo

Long64_t nlines = T->ReadFile(FileName,"x:y:z");

T->Print(); // vypis detailni informace o natazenych darech

T->Draw("y:x","x>1&x<8","l"); // priklad vykresleni do obrazku

}

// ***************************************************************************************

//

2.2.4 Fitovanı funkcı a prace s ntuple

Prıklad fitovanı funkcı a prace s ntuple, spustitelne makro

RootPrednaska2.cpp

//

// RootPrednaska2.cpp Prednaska pro uvod do prace s instrumenty ROOT

// Fitovani, ntuple - zaklady

// Charles University, Prague, Faculty of Mathematics And Physics

// (C) Peter Kodys, [email protected]

// http://www-ucjf.troja.mff.cuni.cz/~kodys/Work/ROOT/

// PK 12.04.02 first version

// PK 24.06.05 update version

// PK 20.10.05 update version - uspusobeni pro import do LaTeX, ROOT 5.04/00

gROOT->Reset(); // vycisteni prostredi od starych rezidui

// ***************************************************************************************

void RootPrednaska2(void) {

char Name0[30], Name1[300], Namex[300], Namey[300], Namez[300];

int i, j;

TPad *pad90, *pad91;

int PadCol = 0; //barva plochy

Page 50: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 49

int PadCol = 18; //barva plochy

// Uzitecna nastaveni pro celkovy styl zobrazvani

// Tohle nastaveni urceno pro slusny tisk s bilym pozadim

/*

gStyle->SetHistFillColor(0);

gStyle->SetOptStat(0);

gStyle->SetOptFit(0);

gStyle->SetCanvasColor(0);

gStyle->SetCanvasBorderMode(0);

gStyle->SetTitleColor(0);

gStyle->SetPadBorderMode(0);

*/

TFile FVyber("RootPrednaska.root"); // Vytazeni dat ze souboru

TCanvas *c0 = new TCanvas("c0","Nahodna prochazka",200,10,800,800); //Okno na praci

sprintf(Name0,"pad9");

sprintf(Name1,"Alpha energy vs ToF - Det");

pad9 = new TPad(Name0,Name1,0,0,1,1,PadCol); //Plocha v okne na malovani obrazku

pad9->Draw(); //zobrazeni...

pad9->cd(); //fokus...

// if(TH2F *Vyber = (TH2F *) FVyber->FindObject("AQ2D") == 0) return; //Slusny zpusob

TH2F *Vyber;

if((Vyber = (TH2F *) FVyber.Get("AQ2D")) == 0) return; //Slusny zpusob

// if((Vyber = (TH2F *) FVyber.Get("AQ2D")) == 0) return; //Slusny zpusob

// neslusny zpusob, ale funguje, nevim ale,jestli byl objekt uspesne nalezen

// TH2F *Vyber = (TH2F *)FVyber.Get("AQ2D");

// Vyber->DrawCopy();

// Vyber->DrawCopy("SURF3");

Vyber->DrawCopy("SURF4");

pad9->Modified(); //fokus...

c0->Modified(); //Aktualizace obrazovky

c0->Update(); //Aktualizace obrazovky

// return; // *********************************************************

TCanvas *c1 = new TCanvas("c1","Nahodna prochazka 1D",200,10,800,800); //Okno na praci

pad91 = new TPad("Pad1","",0,0,1,1,PadCol); //Plocha v okne na malovani obrazku

pad91->Draw(); //zobrazeni...

pad91->cd(); //fokus...

TH1F *Vyber2 = (TH1F *)FVyber.Get("AQ");

Vyber2->SetFillColor(2);

// Vyber2->Fit("gaus","","",500, 600); //fitovani v rozmezi 500 - 600

// FVyber->Close();

TSpectrum *ppp;

float LineMax[100][2];

float AutoFrom, AutoTo;

ppp = (TSpectrum*) new TSpectrum();

ppp->Search(Vyber2,10,"goff");

float *parrayx = ppp->GetPositionX();

float *parrayy = ppp->GetPositionY();

TH1F *THPeak = (TH1F*)ppp->GetHistogram();

printf("Peaks: %i\n",ppp->GetNPeaks());

for (int i = 0; i < ppp->GetNPeaks(); i++) {

LineMax[i][0] = parrayx[i];

LineMax[i][1] = parrayy[i];

printf("Peak%i: x %7.1f, y %7.1f\n",i,parrayx[i],parrayy[i]);

Page 51: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 50

}

c = (TCanvas*) new TCanvas();

c->Draw();

Double_t par[3];

pad91->cd(); //fokus...

for(i=0;i<ppp->GetNPeaks();i++) {

AutoFrom = LineMax[i][0] - 50;

AutoTo = LineMax[i][0] + 50;

c->cd();

TF1 *g1 = (TF1*)new TF1("g1","gaus",AutoFrom,AutoTo);

Vyber2->Fit(g1,"QR+");

// Vyber2->Fit(g1,""); //Zabrazuje komentare

}

delete c;

pad91->cd(); //fokus...

printf("\n");

Vyber2->DrawCopy("C"); // Hladka krivka

pad91->Modified(); //Aktualizace padu

c1->Modified(); //Aktualizace obrazovky

c1->Update(); //Aktualizace obrazovky

FVyber.Close();

// return; // *********************************************************

// Prace s ntuples / tree

TCanvas *c2 = new TCanvas("c2","Ntuples",200,10,800,800); //Okno na praci

sprintf(Name0,"pad9");

sprintf(Name1,"Ntuples");

pad9 = new TPad(Name0,Name1,0,0,1,1,PadCol); //Plocha v okne na malovani obrazku

pad9->Draw(); //zobrazeni...

pad9->cd(); //fokus...

TFile FVyber("CviceniData/NasNtuple.root"); // Vytazeni dat ze souboru

FVyber.ls();

CAMAC_data->Draw("AEN:TOF0","AEN>10","");

// return; // *********************************************************

CAMAC_data->Print();

CAMAC_data->Scan();

// Funkce analogicke s Paw:UWFUNC

CAMAC_data->MakeCode(); // Vytvari obsah a popis ntuple, priklad prace v nem

CAMAC_data->MakeClass(); //Hlavne pro experty...

CAMAC_data->MakeSelector(); //Hlavne pro experty...

FVyber.Close();

//CAMAC_data->Draw("AEN:TOF0","AEN>10","lego1");

//CAMAC_data->Draw("AEN:TOF0","AEN>10","SURF3"); // a jejich zobrazeni

printf("Konec ukazky 2 pro uvod do prace s instrumenty ROOT\n");

}

//

Page 52: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 51

2.3 Jak vyrobit class trıdu DLL v prostredı

ROOT na ctenı dat z detektoru a pro

pripojenı CERNLIB knihoven

V teto casti je popsan podrobny navod a prıklad jak prıpravit trıdu nactenı ROOT Trees ve forme dynamicke knihovny (DLL) ve Windows. Proprostredı Linux je postup podobny, existujı vsak hlavne kompilacnı odlisnostiktere neznam, a proto tu tento popis nenı. V dalsı casti bude popsan zpusobimportovanı CERNLIB knihoven do ROOT prostredı, pokud existuje jejichC/C++ zdrojovy kod.

2.3.1 Vyroba DLL knihovny s trıdou na ctenı TTreeformatu dat v ROOT

Platı, ze DLL soubor je zavisly na pouzite verzi ROOT a proto pro jine verzeROOT je nutne knihovnu znova prelozit (zkompilovat). V nasem prıkladu jena vyrobu knihovny pouzito prostredı MS VC++ 6.0 s upgrade, ktere jsouna sıti k dispozici. Verze ROOT je 5.06/00.

Pro soucasne verze ROOT (5.16/00, rıjen 2007) je sepsany navod na vlastnıkompilaci ROOT na strance:

http://www-ucjf.troja.mff.cuni.cz/kodys/works/root/compilation/index.html

a prıklad vyroby vlastnıho dll je na strance:

http://www-ucjf.troja.mff.cuni.cz/kodys/works/root/dllexample/index.html

Pro vyrobu DLL potrebujeme nasledujıcı soubory:

rootEvent.h, rootEvent.cpp, rootEventLinkDef.h

prıpadne dalsı jako:

dstLinkDef.h, dstAlign.h, dstAlign.cpp, dstAlignLinkDef.h

Dale potrebujeme vyrobit soubory na prizpusobenı pro pouzitı v ROOT po-mocı: Makedict.bat a dostaneme:

rootEventcint.cpp, rootEventcint.h, dstEventAligncint.cpp,

dstEventAligncint.h, dstAlignCint.h, dstAlignCint.cpp

Poznamka: vsechny zde uvadene soubory jsou ulozene na:

http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/MakeDLLEvent/

Page 53: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 52

1. V MSVC++ otevreme novy prazdny projekt Dynamic Link Librarybez souboru. Nastavıme prostredı MSVC++ nasledovne:

2. Otevreme MSVC++ prostredı.

3. Tools->Options->Directories->Include Files pridame adresar, kde senachazı hlavickove soubory ROOT, napr. C:/ROOT/INCLUDE

4. Tools->Options->Directories->Library Files pridame adresar, kde senachazı knihovny ROOT, napr. C:/ROOT/LIB

5. File->New->Project->Win32DynamicLinkLibrary, set Location, set Pro-jectName (MakeDLLEvent), CreateNewWorkspace, Platform->Win32

6. AnEmptyDLLProject

7. FileView (na leve strane):

8. do SourceFile pridat (vytvorit) cpp soubory napr: rootEvent.cpp

9. do HeadersFile pridat (vytvorit) h soubory napr:rootEvent.h, rootEventLinkDef.h

10. do hlavnıho adresare vytvorıme Makedict.bat se spravne nastavenymicestami a spustıme ho, vytvorı se rootEventcint.cpp, rootEventcint.h,ktere pridame do SourceFile a HeadersFile

11. pravym tlacıtkem nad ”MakeDLLEvents Files” vytvorıme novy adresarLibraries pro soubory lib

12. pravym tlacıtkem nad ”Libraries” pridame soubory (Add Files To Folder)z C:/ROOT/LIB/ : libCore.lib, libWin32gdk.libalibCint.lib (v prıpadepotreby i dalsı)

13. Prıpadne upravıme nazev vystupnıho souboru v Project->Settings->Link->General->OutputFileName (pozor aby fokus byl na hlavnıpolozce projektu MakeDLLEvents)

14. Projekt kompilujeme Build(F7) a vytvorıme pozadovanou knihovnu.

Page 54: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 53

2.3.2 Vyroba DLL knihovny s trıdou na pouzıvanıCERNLIB knihoven

Stejne jako v predchozı casti platı, ze DLL soubor je zavisly na pouziteverzi ROOT, a proto pro jine verze ROOT je nutne knihovnu znovu prelozit(zkompilovat). V nasem prıkladu je na vyrobu knihovny pouzito prostredıMS VC++ 6.0 s upgrade, ktere jsou na sıti k dispozici. Verze ROOT je5.06/00.

Pro vyrobu DLL potrebujeme nasledujıcı soubory:

originalnı knihovny: dcdflib.cpp, dcdflib.h

a dalsı: ConvertCernlibToROOT.h, ConvertCernlibToROOT.cpp, ConvertCernlibToROOTLinkDef.h

Dale potrebujeme vyrobit soubory na prizpusobenı pro pouzitı v ROOT po-mocı: Makedict.bat a dostaneme:

ConvertCernlibToROOTcint.cpp, ConvertCernlibToROOTcint.h

Poznamka1: vsechny zde uvadene soubory jsou ulozene na:

http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/ConvertCernlibToROOT/

http://www-ucjf.troja.mff.cuni.cz/kodys/works/uceni/prednaska/priklady/

http://www-ucjf.troja.mff.cuni.cz/kodys/works/uceni/prednaska/priklady/Priklady_v_ROOT_C/dllExamples/

Poznamka2: Pro prıklad byla vybrana na konverzi jenom jedna funkce, dletohoto vzoru se dajı pridat vsechny dalsı funkce z teto knihovny.

Poznamka3: Vsechny soubory s nazvem ConvertCernlibToROOT (kromecint souboru) se musı napsat napr. dle vzoru v tomto prıkladu.

1. V MSVC++ otevreme novy prazdny projekt Dynamic Link Librarybez souboru. Nastavıme prostredı MSVC++ nasledovne:

2. Otevreme MSVC++ prostredı.

3. Tools->Options->Directories->Include Files pridame adresar, kde senachazı hlavickove soubory ROOT, napr. C:/ROOT/INCLUDE

4. Tools->Options->Directories->Library Files pridame adresar, kde senachazı knihovny ROOT, napr. C:/ROOT/LIB

Page 55: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 2. ROOT - RYCHLOKURZ 54

5. File->New->Project->Win32DynamicLinkLibrary, set Location, set Pro-jectName (ConvertCernlibToROOT), CreateNewWorkspace, Platform->Win32

6. AnEmptyDLLProject

7. FileView (na leve strane):

8. do SourceFile pridat (vytvorit) cpp soubory napr: ConvertCernlibToROOT.cpp, dcdflib.cpp

9. do HeadersFile pridat (vytvorit) h soubory napr:ConvertCernlibToROOT.h, ConvertCernlibToROOTLinkDef.h, dcdflib.h

10. do hlavnıho adresare vytvorıme Makedict.bat se spravne nastavenymicestami a spustıme ho, vytvorı se ConvertCernlibToROOTcint.cpp, ConvertCernlibToROOTcint.h,ktere pridame do SourceFile a HeadersFile

11. pravym tlacıtkem nad ”MakeDLLEvents Files” vytvorıme novy adresarLibraries pro soubory lib

12. pravym tlacıtkem nad ”Libraries” pridame soubory (Add Files To Folder)z C:/ROOT/LIB/ : libCore.lib, libWin32gdk.libalibCint.lib (v prıpadepotreby i dalsı)

13. Prıpadne upravıme nazev vystupnıho souboru v Project->Settings->Link->General->OutputFileName (pozor aby fokus byl na hlavnıpolozce projektu MakeDLLEvents)

14. Projekt kompilujeme Build(F7) a vytvorıme pozadovanou knihovnu.

Page 56: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 3

Druhy nabıranı dat aelektronika

Prednaska shrnuje druhy a zpusoby nabıranı dat, jejich organizaci, analogovea digitalnı zdroje dat.

3.1 Jaka data se sbırajı a jak? (trochu elek-

troniky)

klıcova slova: raw data, slow control data, DCS data, triggering, on line data

Z merenı se obvykle ukladajı prımo data z pouzitych detektoru v komp-rimovane binarnı forme, kterym rıkame raw data, dale data neprımo sou-visejıcı s merenım, jako je teplota, tlak, cas, datum, sluzba - obsluha merenı,napetı na detektoru, predpetı, koncove elektronicke (front end electronics -FE) udaje, a jine pomocne udaje souvisejıcı prımo nebo neprımo s merenıma ovlivnujıcı ho, ktere jsou nekdy taky nazyvane slow control data nebo takeDCS data. Merenı se vzdy spoustı specialnımi obvody identifikujıcımi, zeudalost nastala nebo ma nastat, tedy ze treba letı castice, nazyvame je trig-ger merenı. V modernıch experimentech se jiz vybıra jen hledana udalosta neukladajı se vzdy vsechna data (pokud to ale umoznı rychlost vznikuudalosti a kapacita ukladacı elektroniky, tak se vzdy snazıme ulozit co nejvıcdat a udalostı), a proto existujı komplikovane systemy vıcestupnoveho trig-gerovanı na vyhledanı prave te udalosti, ktera nas zajıma.

Detektory po zaznamenanı udalosti (napr. zaznamenanım vznikleho nabojeod pruletu castice) majı navazujıcı predzpracovacı elektroniku (front end,

55

Page 57: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 56

FE), ktera naboj nebo jinou merenou informaci prevede do proudoveho nebonapetoveho impulzu a dal jej digitalizuje nebo posle do digitizacnıho zarızenı.Pokud uz informaci prevede do digitalnı formy, mame cıslo a dalsımi obvodyse takto zıskana cısla seradı, nekdy se castecne i predzpracujı (treba histogra-mujı) a odeslou se pres standardnı nebo specializovane rozhranı do pocıtace,kde se data ukladajı. V casticove fyzice se pouzıvajı hlavne nasledujıcı typyzarızenı a jejich sbernice (sbernice (bus) = dohodnuty system propojenı jed-notlivych karet vlozenych do ramu obvykle na zadnı strane):

• CAMAC (obr. 3.1) - synchronnı i asynchronnı sber, do 3 MBytes/s,24 bitova komunikace, 25 mıst pro jednotlive moduly v ramu, max 7ramu

• FASTCAMAC - jako CAMAC, ale zvysena rychlost komunikace na 7,5MBytes

• VME (1984) (obr. 3.2) - asynchronnı sber, do 40 MBytes/s, 32 bitovakomunikace, 21 mıst pro jednotlive moduly v ramu, 7 druhu prerusenı,5 VME se da spojit do VSB sbernice

• VME64 - jako VME, do 80 MBytes/s

• VXI - rozsırena modernejsı VME, rychlost na sbernici: 10 MHz a 100MHz verze

• MULTIBUS II (1984) - synchronnı sber

• FASTBUS (1983-5) - asynchronnı sber, do 100 MBytes/s, 32 bitovakomunikace, 26 mıst pro jednotlive moduly v ramu

• PCI (1993) (obr. 3.7) - synchronnı sber max rychlostı 33 MHz, do 132MBytes/s pro 32 bitovou komunikaci,do 264 MBytes/s pro 64 bitovoukomunikaci, 7 druhu prerusenı

• PXI (cPCI, Compact Peripheral Component Interface) - rozsırena mod-ernejsı PCI, 8, 16, 32 nebo 64 bitova komunikace, datovy prenos 264MBps

• USB (Universal Serial Bus) - univerzalnı seriova sbernice, stale vıc seprosazujıcı, modernı zpusob pripojenı periferiı k pocıtaci. Nahrazujedrıve pouzıvane zpusoby pripojenı (seriovy a paralelnı port, PS/2,GamePort apod.), 8 bitova komunikace po paketech, rychlost (USB 2.0)480 Mbit/s, chybı ale moznost reagovat na trigger-prerusenı v realnemcase, kabel do 5 - 7 m, nebo pak moznost aktivnıch prodluzovacu - naukor rychlosti.

Page 58: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 57

Figure 3.1: Camac ram - starsı typ komunikacnıho protokolu ale stalevyuzıvany

Figure 3.2: VME ram a detail na konektory na zadnı strane (uprostred),propojovacı dvojity kabel MXI-2 s PC

• Ethernet-Interface (Ethernet bridge [Lantronix]), 10, 100 nebo 1000Mbit prenosova rychlost, sıt puvodne pro lokalnı rozvody, stale castejiv casticove fyzice vyuzıvana.

Vsechna tato zarızenı mohou obvykle pracovat v rezimu cekanı na castici(Look At Me, LAM, definovane pro CAMAC), kdy prulet castice vytvorıelektricky signal - impulz - a ten ”oznamı” rıdıcı jednotce zarızenı, ze mavycıst hodnoty ze vsech ostatnıch detektoru (ktere uz v tom okamziku musımıt svuj signal pripraveny na vyctenı). V tomto okamziku zarızenı nastavısignalku ”LAM” a lokalnı rıdıcı jednotka se ”dohodne” napr. s pocıtacem, zeten nacte pripravena data, zpracuje je a ulozı je. Nacıtacı pocıtac muze pra-covat ve dvou rezimech: vyuzıva prerusenı (interrupt) na sve sbernici (stejny

Page 59: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 58

Figure 3.3: NIM ram bez sbernice jen s napajecımi konektory

Figure 3.4: Kabely pro propojenı GPIB sbernic je mozne propojovat nazarızenıch a vytvaret sıt

princip jako pro vytvorenı a praci s LAM), nebo se v rychle opakovanemcyklu dıva na signalku LAM, a pote, co se zapne, vycte vsechny signaly.V obou prıpadech na konci vyctenı vynuluje vyctene registry a opet vypnesignalku LAM, aby zarızenı mohlo nabrat dalsı udalost.

Signal prerusenı (interrupt) muze byt vyslan nebo zpusoben vıce duvody:

• Objevil se trigger na karte - modulu, nutno vycıst data

• Chyba na sbernici nebo chyba parity, nutno zkontrolovat

• Prednastaveny cas vyprsel, prerusenı hodin

• Prenos bloku dat ukoncen

• Operator prerusil praci rucne tlacıtkem

Page 60: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 59

Figure 3.5: Pro pomalejsı komunikace se casto volı COM port nebo RS232konektory (9 pinu), pokud je nutne prenest vetsı proud tak se volı trebaD-sub 15pin

Figure 3.6: Stale popularnejsı komunikacnı protokol USB ve dvounejcastejsıch provedenıch

Obvykla dostupna rozhranı jsou treba pro VME: MXI-VME2 rozhranı, proCAMAC: Wiener CC16, CC32, VC16, Dubna: K009, K012 a pro PCI velkemnozstvı prevodnıkovych karet a karet pro binarnı, digitalnı i analogovesignaly. V pocıtaci se data opatrı identifikacnımi hlavickami a zkomprimujıdo dohodnuteho formatu a ukladajı se na disk, paralelne se zajistuje i backup(zalohovanı) souboru s daty na 2 a vıc pocıtacu nebo disku.

V nekterych jednodussıch experimentech a hlavne pri testovani funkcnostijednotlivych detektoru se nekdy vyuzıva jako prevodnık do digitalnı formykvalitnı digitalnı osciloskop, ktery umoznuje urcite histogramovanı dat anasledne pomalejsı presun dat do pocıtace uz prıslusne predzpracovan.

Page 61: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 60

Figure 3.7: zakladnı deska PC (1. z leva) nabızı nekolik typu sbernic: ne-jstarsı a dnes jiz nepodporovana ISA sbernice (2. z leva), nejcastejsı PCI(3. z leva), specializovana na rychlou komunikaci (graficke karty) PCIEX16(vpravo)

3.2 Organizace nabıranych dat - ukladany

format

klıcova slova: raw data, binarnı format, ROOT format, prevod na formatpratelsky fyzikovi, trıdenı podle eventu - udalostı, data v koincidenci.

Raw data jsou prvotnı data jak byla zesnımana a ulozena na disk prımo pro-gramem zajistujıcım merenı (data acqusition program - DAQ). Mohou bytukladana v ruznych formatech, od textoveho ascii souboru, kde si prohlızecemprımo muzeme prohlızet namerene hodnoty - cısla, ve specialnim ZEBRAformatu (HBOOK), az po ruzne komprimovane formaty dat v binarnıch sou-borech. Dulezite je si uvedomit nasledujıcı termıny:

• mnozstvı, pocet dat: pocet zapsanych dat (cısel) na jednu udalostnasobeny poctem zapsanych udalostı

• format dat: urcuje, jakym zpusobem budou data zapsana, zda vıce cimene komprimovana, binarne (prakticky vsechny experimenty ukladajıdata v binarnım formatu) a jak binarne, podle jakeho predpisu

• komprese dat: mnozstvı dat na zabrany prostor na disku, da se pouzıti externi komprimace standardnımi komprimacnımi programami jakoje zip, rar,... po ukoncenı nabıranı dat, ale pri standardnıch formatechdat je stupen teto komprimace uz pomerne maly, mensı nez 2. Nekdyse data neukladajı v optimalne komprimovanych formatech, protoze to

Page 62: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 61

Figure 3.8: Jine typy propojenı pomocı bananku (1. z leva), CANON konek-tory (2. z leva), RJ-45LAN prevzate z telekomunikacı (3. z leva) a specialnıkonektory pro vedenı vysokeho napetı s dobrou izolacı (vpravo)

neumoznuje organizace merenı nebo rychlost nabıranı dat a musı sevolit kompromis.

• ntuple: usporadana n-tice cısel, kde kazde odpovıda nekteremu udajiz detektoru, kazda dalsı ulozena n-tice odpovıda dalsımu zazname-nanemu eventu - udalosti, nedochazı ke ztrate informace

• histogram: vyhodnocenı souboru udalostı do specialnıch grafu, ztracıse informace z jednotlivych udalostı

Binarnı format ukladanı dat je obvykle nejuspornejsı zpusob ukladanı dats ohledem i na hardwarove usporadanı experimentu. Obvykle se skladaz ulozenı informace o triggerech, casovanı (pokud je) a pak uklada infor-mace z jednotlivych subdetektoru: vnitrnıho drahoveho detektoru a vnejsıchkalorimetru nastavenych na ruzne druhy castic a jejich energie.

Data se po case pripravujı pro pouzitı pro sirsı fyzikalnı komunitu tak, zese zkontroluje validita dat a okomentujı se jednotlive nabrane soubory, pridase informace z DCS (slow control data), odfiltrujı se zjevne pokazena merenıa cele se to ulozı ve formatu citelnem standardnımi fyzikalnımi vyhodnoco-vacımi a fitovacımi programy: Paw-Hbook, FORTRAN a v poslednı dobeROOT. Data jsou obvykle v ASCII ntuplech citelne jakymkoli programem,nebo v poslednı dobe, kdy jeden event (udalost) zahrnuje obrovsky kom-plex dat (nekolik set az tisıc zaznamu casto v real formatu cısel na jednuudalost), se zacına pouzıvat specialnı format dat: ROOT. Je dobre popsany,maximalne komprimovany a velmi flexibilnı co do organizace zaznamu dostromovych struktur s dynamickym nastavenım velikosti. Protoze je psanyv open source protokolu (otevreny programovacı kod pro kazdeho a zdarma)

Page 63: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 62

je z nej mozne nacıst data i do jinych prostredı nez ROOT, pokud si zajemcenastuduje format a napıse k tomu dekodovacı program.

Jednou z dulezitych podmınek, ktere by mely zustat zachovany pri nabıranıdat, je oddelenı jednotlivych merenych udalostı do samostatnych celku -eventu. Prıpadne pomıchanı informace mezi eventy signalizuje nutnost zacıtznova ladit experiment.

Prıklad binarnıho ulozenı dat v SCTDAQ na TB-H8, CERN, 1998-2004:

Lze videt, ze identifikatory jsou oznaceny znakem SSSS, jednotlive detek-tory majı sva data oddelena identifikatorem: SCT - identifikator merenı,poradove cıslo, popis, EVT zacatek eventu - udalosti, TDC - casove zpozdenıudalosti od hlavnıho triggeru, IRM0 az IRM3 - udaje z teleskopu, MUS0 -MUS9 - udaje z merenych modulu SCT. Za identifikatorem pak nasledujeinformace o velikosti zapsaneho objemu dat a pak sekvencnı zapsanı datpodle predem domluveneho formatu. Data jsou zapsana binarne, takze stan-dardnım prohlızecem vidıme zmet znaku, na dalsım obrazku je hexadecimalnızobrazenı dat, ktere uz ukaze vıc o zapsanych datech.

ROOT format:

Ve formatu ROOT je stejna informace, jen jeste vıc zhustena a rozsırenao dalsı prıdavne ”offline” informace z naslednı analyzy, jako je clusterizace,alignment, prostorove body, tracks a vertexy. Velikost je cca 6-10x mensıoproti raw data.

3.3 Zdroje dat

Zdroje dat nazyvame detektory. Zabezpecujı prevod mereneho fyzikalnıhojevu (treba prulet nabite castice, srazka castice s jinou casticı a vytvorenısekundarnıch a dalsıch generacı castic a jejich detekce, merenı mısta pruletucastice nebo jejı pohlcenı a merenı energie, kterou castice odevzda) do dalezpracovatelne formy. Tou formou muze byt akusticky signal, opticky signal -zablesk, uvolneny naboj a jeho sesbıranı, a nasledne integrace zıskane infor-mace, casto jejı zesılenı, a odeslanı na dalsı zpracovanı.

Kdysi se nekdy zabezpecoval prenos mezi medii: zablesk na fotoemulzi filmunebo fotograficke desky z mlznych nebo bublinovych komor, nebo prımezachycenı castice v emulzi filmu (zpusobene odstartovanım nejake foto reakcev emulzi), nasledne pak vyvolanı materialu a jeho vizualizace, pak digital-izace, pouzitı skeneru na elektronizaci a pak vypoctove techniky na merenı.Nebo klasicky pouzitı pravıtka, uhlomeru a kalkulacky.

Page 64: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 63

Dnesnı detektory majı casto za ukol hledat jevy velmi vzacne az vyjimecne,a potrebujeme tedy pracovat s velkymi soubory dat, aby se hledany fyzikalnıjev projevil statisticky dost vyznamne a byl meritelny. Pouzitı detektoruprımo zabezpecujıcı elektronizaci vystupu a jeho automaticke ulozenı dopocıtace umoznuje nasledne pouzitı automatickeho vyhledavanı a merenıhledanych jevu. Pouzıvame detektory s vystupem analogovym, digitalnımnebo binarnım. Casto je k nim nutna vyroba specialnıho hardware vyuzıvajıcıhobezne protokoly nabıranı dat: VME (obr. 3.2), GPIB (obr. 3.4), NIM (obr.3.3), CAMAC (obr. 3.1), RS232 (obr. 3.5), paralelnı a seriovy port PC,USB (obr. 3.6), starsi ISA (obr. 3.6) nebo PCI (obr. 3.7). Pro velke exper-imenty se optimalizuje rozhranı pro nabıranı dat s ohledem na pozadavkyexperimentu.

Podmınky kladene na elektroniku v zavislosti na podmınkach experimentu:

• rychlost (prevodu na cıslo, prenosu na pocıtac,...) - 1ms - 10ns

• mrtva doba (dead time) - cas, kdy elektronika zpracovava zmerena dataa nenı schopna prijmout nove, ma uzavreny vstup

• trigrovanı - on line selekce, vıcestupnove, rychle obvody a detektory,rychle ”online” processing = zpracovanı dat a rozhodnutı jestli chcemeudalost ulozit

• kvalita prevodnıku - pocet bitu prevodu (2 - 16)

• posuvny registr (pipeline) - zpozdovacı obvody na zıskanı casu pro vy-hodnocenı trigru

• usporne formatovanı - hardwarove predzpracovanı, digitalizace dat,zhustovanı toku dat, vyuzitı optickych vlaken

Cvicenı: Prohlıdka nabıracı elektroniky pouzıvane na testech na svazku vCERNu na ATLAS SCT modulech na H8 v letech 1998 az 2004.

Page 65: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 64

Figure 3.9: Prıklad, jak se ukazı raw data v binarnım formatu v beznemtextovem prohlızeci

Figure 3.10: Stejna raw data v binarnım formatu pri prepnutı do hex-adecimalnıho modu prohlızenı

Page 66: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 3. DRUHY NABIRANI DAT A ELEKTRONIKA 65

Figure 3.11: Prıklad, jak se ukazou data ROOT formatu v beznem textovemprohlızeci

Figure 3.12: Stejne data ROOT formatu pri prepnutı do hexadecimalnıhomodu prohlızenı

Page 67: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 4

Vlastnosti nabıranych dat ajejich zdroju

Nabırana data zrcadlı vlastnosti svych zdroju. Je tedy nutne pri vyhod-nocovanı dat mıt hlubsı nebo aspon orientacnı znalost o vlastnos-tech detektoru , ze kterych data snımame. Pokud mame na starosti prımopredzpracovanı dat z raw data, musıme podrobne znat vlastnosti de-tektoru, FE elektroniky, zpracovanı dat v digitalnı casti elektroniky anakonec musıme mıt informace o zpusobu prenosu dat do rıdıcıho pocıtacea jejich formatu ulozenı do souboru a na disk.

Kdyz uz jsou data ulozene na disku, nastupuje faze zpracovanı dat arekonstrukce vlastnostı detektoru. Zakladnı charakteristiky, ktere se prodetektory vyhotovujı, jsou:

1. ucinnost odezvy v zavislosti od predpetı na detektoru (efficiency vs.bias)

2. odezva detektoru na ruzne velky sesbırany signal (efficiency)

3. sum, sumova obsazenost detektoru (noise occupancy)

4. pomer signal k sumu (signal/noise, S/N)

5. pocet detekcnıch diod, ktere odpovı na jednu udalost (cluster size)

6. odezva detektoru mezi segmentami a na okrajıch (interstrip, intercell,eta properties)

7. odezva na magneticke pole, vliv Lorenzova uhle (Lorenz angle)

66

Page 68: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 4. VLASTNOSTI NABIRANYCH DAT A JEJICH ZDROJU67

8. merenı sikmeho dopadu castic

9. odezva a zmeny vlastnosti po ozarenı detektoru, jeho degradace (R&D,irradiation)

10. odezva na ruzne druhy castic, ruzne energie castic

11. rekonstrukce techto charakteristik z merenı na jednotlivych prazıch(threshold measurements, S-curve)

12. kalibrace, rovnice odezvy (calibration, response curve, RC)

13. casova odezva detektoru, sladenı ucinnosti nabıranı v case, rekonstrukceodezvy detektoru v case (timing, pulse shape)

4.1 Ucinnost odezvy v zavislosti od predpetı

na detektoru.

U detektoru je jejich funkcnost podminovana casto dalsımi nutnymi splnenymifaktory. Naprıklad u polovodicovych detektoru je to predpetı na kremıkovemsensoru zabezpecujıcı vyprazdnenı vnitrnıho objemu od naboje. Dokudnaboj nenı odstraneny, detekcnı vlastnosti silikonu na prulet casticejsou slabe a vnitrnı sum je vysoky . Napetı vyprazdnenı (depletionvoltage) je jednım z charakteristickych parametru detektoru a zavisı odneho ucinnost nabıranı dat. Dalsım parametrem, ktery je na vyprazdnovacımnapetı zavisly, je proud tekoucı detektorem . Pri dosahnutı napetıvyprazdnenı se prestane proud zvysovat. Jeho dalsı narust signalizuje, ze de-tektor muze byt prorazeny nebo znecisteny. Zvysenı proudu po stacionarnıoblasti zase ukaze, jake maximalnı napetı si muzeme dovolit, kde uz doc-hazı k moznosti prurazu. Pri merenı se to projevı exponencialnım narustemproudu po oblasti stacionarnıho proudu. Je proto nutne pouzıvat vzdy zdrojenapetı s proudovou ochranou.

4.2 Ucinnost sberu naboje detektoru.

Zakladnı a vyzadovana vlastnost detektoru je co nejuplnejsı sesbıranınaboje vytvoreneho v detektoru casticı. Pro ATLAS SCT moduly je topozadavek 99.5% zaznamenanych udalosti na prahu 1fC pro neozareny modula 98.0% pro plne ozareny modul. Dalsı dulezity parameter pri ucinnosti sberu

Page 69: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 4. VLASTNOSTI NABIRANYCH DAT A JEJICH ZDROJU68

je celkovy zaznamenany naboj po prıslusne kalibraci, pro binarni detek-tor po skonstruovanı odezvove S-krivky je to hodnota medianu, prahu, prikterem je 50% odezva. Po ATLAS SCT modul byl (pro piony 180 MeVa prıslusnou tloustku detektoru 285 µm) ocekavan median kolem 4 fC, pritestech a po vsech prıslusnych korekcıch bylo dosahnuto maximalne 3.7 fC.

4.3 Sum.

Sum detektoru ovlivnuje hlavne schopnost rozpoznat signal od castice. Provnitrnı drahovy detektor je to schopnost najıt drahu castice a odlisitji od nahodnych - falesnych drah od nahodnych udalostı zpusobenychsumem.

4.4 Pomer signal k sumu.

Parameter s/n je casto zadavanou a srovnavanou velicinou ukazujıcı kvalitudetektoru. Do signalu se uvadı strednı zaznamenany naboj (treba 3.7fC),sum je uroven taky ve fC (0.5fC) takze pro prıkladovy ALTAS SCT modulmame s/n = 7.2. ale pro treba DEPFET detektor je to 80 az 150, souvisı tonaprıklad s plochou, z ktere jednotliva detekcnı dioda sbıra naboj (a tedy isum): u ATLAS SCT to je 80 x 12000 µm2, u DEPFET 26 x 32 µm2.

4.5 Cluster size.

U detektoru tento parametr ukazuje rozlisovacı schopnost a sdılenı nabojemezi jednotlivymi detekcnımi diodami. Pri binarnım ctenı to je pocetsousednıch diod davajıcıch odezvu od jednotlive castice, u analogovehovycıtanı detektoru zase FWHM nebo σ prolozeneho fitu odezvou z diod.

4.6 Odezva detektoru mezi detekcnımi dio-

dami a na okrajıch.

Nektere testy jsou dulezite i v detailnejsım skanovanı, nejen integralne prodetekcnı diodu jako celek, ale i v jednotlivych jejıch bodech na plose. Dela setakzvane mezistripove (mezipixelove) charakterizovanı (interstrip) a hlavne

Page 70: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 4. VLASTNOSTI NABIRANYCH DAT A JEJICH ZDROJU69

ucinnosti nabıranı a velikost klastru. Tyto testy prozkoumavajı kvalitu ho-mogenity vlastnostı detektoru a potvrzujı, ze detektor spravne zaregistrujei castice proletajıcı treba uprostred mezi dvema diodami. Velikost klastruzase ukazuje spravne prerozdelovanı sbıraneho naboje mezi sousednı a dalsıdiodou.

Promerenı odezvy detektoru na krajnıch detekcnıch diodach ma stejny ukol:potvrdit ocekavane vlastnosti detektoru i na okrajıch, kde se muzou up-latnovat dalsı okrajove efekty struktury.

4.7 Odezva na magneticke pole, vliv Loren-

zova uhlu.

Protoze se detektory umıstujı do silneho magnetickeho pole kvuli urcovanıenergie nabitych castic, je dulezite promerit vlastnosti celeho detektoru avsech jeho soucastı i v magnetu. Kontroluje se tu, zda detektor fuguje nadalespravne a merı se tzv. Lorenzuv uhel stacenı (posunu) elektron-derovychparu. To se projevı hlavne pri mezistripovem merenı velikosti klastru.

4.8 Merenı sikmeho dopadu castic.

Toto merenı je vynuceno skutecnostı, ze na detektor mohou dopadat casticepod ruznym uhlem, a nekdy i umıstenım detektoru mırne sikmo na hlavnıtok castic (dano hlavne konstrukcı detektoru).

4.9 Odezva a zmeny vlastnosti po ozarenı

detektoru, jeho degradace (R&D, irradi-

ation).

Detektor a FE elektronika jsou behem doby experimentu vystaveny tokucastic, ozarovanı. To muze zpusobit degradaci nekterych castı detektoru aproto se detektory v obdobı jejich vyvoje vystavujı ruznym kontrolovanym(monitorovanym) zdrojum zarenı (reaktor, urychlovace). Po ozarenı a nezbytnemrelaxacnım case na vzpamatovanı (ozarovanı intenzivnım tokem zarenı zakratkou dobu da do detektoru ocekavanou davku zarenı za celou dobu jehozivota v experimentu) se detektor znova promeruje prakticky vsemi typy

Page 71: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 4. VLASTNOSTI NABIRANYCH DAT A JEJICH ZDROJU70

testu a jejich vysledky jsou rozhodujıcı pri zaverecnem vyhodnocovanı vlast-nostı detektoru.

4.10 Odezva na ruzne druhy castic, ruzne

energie castic.

Pokud jsou k dispozici pri testovanı ruzne druhy castic a jejich energie, co ne-jblız ocekavanym detekovanym casticım, je vzdy vyhodne v nekolika bodechpromerit odezvu detektoru.

4.11 Rekonstrukce techto charakteristik z merenı

na jednotlivych prazıch.

Pro detektory castic s binarnım vycıtanım (napr. ATLAS SCT) je nutne prourcenı vetsiny parametru jednotlive promerit odezvu detektoru pro ruznenastavene prahy, zıska se tım tzv. S-krivka ktera se fituje chybovou funkcı(error function - integralnı funkce Gaussovi distribuce) nebo nekdy jejı mod-ifikacı (Grillo funkce) pro prodlouzeni sumoveho konce - je to proto, ze veskutecnosti nase odezva nenı na Gaussovskou distribuci signalu, ale na Lan-dauovske rozdelenı naboje s ostrejsı nabeznou hranou a protahlym koncemna strane vyssich energiı.

4.12 Kalibrace, rovnice odezvy.

Poslednı a jedna z nejdulezitejsıch charakteristik detektoru, ktera se urcuje,je krivka odezvy merene fyzikalnı veliciny (napr. naboje) na mereny elek-tricky signal na vystupu detektoru (treba v mV). RC krivka ukazuje nelin-earity detektoru, minimalnı citlivost o oblast saturace. U modernıch detek-toru se konstruujı specialnı obvody na injektovanı kalibracnıho naboje uzdo vstupnıch obvodu FE elektroniky a umoznujı promerenı RC krivky beznutnosti externıho zdroje naboje (laserovy zdroj, prirozene zdroje castic - ra-dioaktivnı latky, testovacı svazek). Takto konstruovane detektory umoznujıdalsı uzitecnou funkci: kontrolu funkcnosti vsech kanalu detektoru.

Pri jinych typech detektoru muze roli kalibracnıch obvodu delat testovaci-kalibracnı laser anebo drobny radioaktivnı zdroj- kapsule, putujıci vedenım

Page 72: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 4. VLASTNOSTI NABIRANYCH DAT A JEJICH ZDROJU71

kolem detektoru a kontroluje se jejich odezva na jeho prıtomnost.

4.13 Casova odezva detektoru.

Velkou skupinu testu tvorı nastavovanı a promerovanı casovych parametrudetektoru. Jsou na nej kladeny podmınky koincidence s hlavnım trigremexperiementu (urcujıcım cas, kdy ma detektor nabrat data, protoze praveletı castice, a odeslat je dale zpracujıcı elektronice), musı byt schopny vstanovenem limitu nabrat relevantnı - pozadovanou informaci (sebrat nabojelektron-derovych paru a spracovat jej FE elektronikou) a vzapetı relaxo-vat a byt prıpraven nabrat dalsı prıpadnu udalost. Pro promerovanı techtoparametru se mohou vyuzıt ruzne prostredky: predpripravene kalibracnı,casovacı, zpozdovacı a testovacı obvody, testovanı externım zdrojem casticnebo svetla. Casove testovanı merı a nastavuje:

1. zacatek sberu naboje vuci triggeru a s ohledem na zpozdenı v celemretezci (cyklu) nabıranı (zpozdenı v kabelech, v elektronice) (streamdelay)

2. to same, ale vuci vnitrnım kalibracnım prostredkum (strobe delay)

3. doba, kdy je sebrany naboj spravne zesnımany a jejı rozptyl (time walk)

4. tvar odezvy na castici v case, velikost maximalnıho plato, a tedy i doba,kterou mame na zmerenı (pulse shape)

5. doba relaxace diody na bezny nabojovy impulz, kdy detektor nenıschopny dalsıho spravneho nabranı dat, mrtva doba diody (dead time)

6. to same jako v predchozım bode, ale pro maximalnı ocekavany naboj,kontrola, aby detektor a jeho FE elektronika nebyly zniceny nebo poskozeny

7. tvar odezvy na castici v case pro mezistripove prulety castic (specialnıuloha, dela se jen v oduvodnenych prıpadech)

Cele merenı musı byt podobne jako predchozı typy testu udelano i proozareny detektor a FE elektroniku a musı byt vyhodnocen soubeh prametrupro cely soubor jednotlivych detekcnıch diod, ktere ladıme spolecne nebojednotlive, podle toho, jak je detektor konstruovan.

Page 73: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 5

Chyba merenı, neuralnı sıte

5.1 Urcenı chyby pri vynesenı zmereneho

bodu.

Cast pro urcovanı chyby merenı konzultovana s Petrom Kvasnickom a sep-sana na zaklade jeho doporucenı.

Castym ukolem pri vyhodnocovanı dat z detektoru je urcenı ucinnosti nebosumove obsazenosti detektoru jako podılu zaznamenanych udalostı vuci vsemudalostem. Soucastı ukolu je urcenı chyby merenı podılu dvou seznamuudalostı. Srovnanı urcenı chyby metodou standardnı, kdy zavisı od poctuudalostı, a pravdepodobnostnı metodou nam ukazuje nektere dulezite rozdıly:standardnı metoda urcı chybu symetrickou na obe strany a kdyz podıl seblızı 0 nebo 1, muze se prıpustny rozsah hodnot podılu urceny chyboumerenı dostat i do poloh ”fyzikalne nesmyslnych”, tj pres 1 nebo pod 0 (tjmeli by jsme ucinnost pres 100% nebo zapornou). Pravepodobnostnı urcenımezı prıpustnych hodnot je proto prijatelnejsı a dava fyzikalne verohodnejsıvysledky. Obvykla a dohodnuta hranice pro ucenı hranic je 97.5% pravdepodobnostvyskytu bodu, coz priblizne koreluje i se standardnım urcenım chyby mimokriticke oblasti (pomer v rozmezı 10 az 90%).

5.1.1 Standardnı urcenı chyby (gaussovske, symet-ricke).

ProN nezavislych pokusu mame A uspesnych pokusu s chybami merenı σN =√N a σA =

√A. Relativnı chybu podılu A/N (vyjadrujıcıho treba ucinnost -

72

Page 74: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 73

efficiency nebo sumovou obsazenost - noise occupancy) pak muzeme vyjadritvztahem:

ρEff = ρA/N =√

1/A− 1/N (5.1)

a vysledek pak:

Eff = A/N ± (A/NρA/N) (5.2)

Prıklad pro N = 30 a ruzne A je na obr 5.1 a detail na 5.2 s vyznacenymmıstem nespravneho pouzitı.

Figure 5.1: Prıklad srovnanı standardnıho gaussovskeho symetrickeho urcenıchyby (vlevo) a pravdepodobnostnıho urcenı chyby (vpravo)

5.1.2 Pravdepodobnostnı urcenı chyby (F-rozdelenı,nesymetricke).

Stejny prıklad se muze resit pomoci F-rozdelenı nasledujıcım postupem.

Do F-rozdelenı vstupujou jako parametry hodnoty hladiny pravdepodobnostiα = 0.975, pocet stupnu volnosti 2(N −A), 2(A+ 1) pri urcenı hornı hladinypravdepodobnosti pomeru udalostı A/N :

HH = F (α, 2(N − A), 2(A+ 1)) (5.3)

Page 75: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 74

Figure 5.2: Detail ukazujıcı nepresne urcenı chyby pri gaussovskem vypoctuchyby, sipka ukazuje ”nefyzikalnı” presah, coz u pravdepodobnostnım urcenıje v poradku

a pak vlastnı hornı mozna hodnota pomeru A/N :

EffH =(A+ 1)HH

N − A+ (A+ 1)HH

(5.4)

Pro urcenı dolnı mozne hranice hodnoty pomeruA/N uvazujeme pocet stupnuvolnosti 2A, 2(N − A+ 1):

HL = F (α, 2A, 2(N − A+ 1)) (5.5)

a dolnı mozna hodnota pomeru A/N :

EffL =A

A+ (N − A+ 1)HL

(5.6)

Vysledek je zobrazen v prave casti obr 5.1 a v detailu na 5.2 kde uz nenıproblem s presahem moznych hranic merenı. V prıkladu bylo pouzito nas-tavenı hladiny pravdepodobnosti α = 0.975.

Prıklad vystupu funkce F-rozdelenı jsou na obr 5.3.

5.1.3 Prıklady.

Prıklad pouzitı obou prıstupu z predchazejıcıch castı je v makru StatChybaPriklad.cpp

na webu: <http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

Page 76: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 75

Figure 5.3: Prıklady kumulativnı distribucnı funkce CDF F-rozdelenı proruzne parametry m a n

a spoustı se prıkazem .x StatChybaPriklad(20,0) . Vystupy programu jsou naobr 5.1 a 5.3.

5.2 Neuralnı sıte pri vyhodnocovanı experi-

mentu.

Cast o neuralnıch sıtıch sepsana dıky invencnı prednasce Karla Soustruznıkana IPNP MFF UK v Praze ze zarı 2005.

Fungovanı neuronovych biologickych sıtı (mozek) se schopnostı se ucit ruzneveci stejnou strukturou ”jenom” pomoci zkusenosti a treninku se stalo vzorempro vytvorenı podobnych samotrenujıcıch se struktur pro pocıtace. Jejich ap-likace v oblasti fitovanı funkcı a filtrace byla uspesna a budeme ji popisovatv teto kapitole.

5.2.1 Uvod.

Pocıtacove neuronove sıte se skladajı ze soustavy vstupu, neuronu mezivrsteva vystupu (5.5). Propojene jsou vazbami s nastavitelnym (laditelnym) prahema vahou v nejjednodussım prıpade podle vztahu 5.4.

System pracuje paralelne podobne jako realne biologicke neuralnı sıte. Prenosova

Page 77: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 76

Figure 5.4: Zakladnı rovnice vazby mezi neurony, xi vsupy, wi vahy mezijednotlivymi neurony, θ prah, F prenosova funkce (transfer function),

funkce muze mıt ruzny prubeh, jak je ukazano na obr 5.6. Vyuzitı neuralnıchsıtı (NN) je pri aproximacıch bodu funkcı 5.7, klasifikaci a identifikaci napr.drah, obrazku, predpovedi obchodu, diagnostice v medicıne, filtraci signalu5.8.

Figure 5.5: Schema usporadanı neuronu

Figure 5.6: Typy odezvovych funkcı

5.2.2 Terminologie pri pouzitı neuralnıch sıtı.

Neuralnı sıte muzou pracovat se zadanym ocekavanym vystupem nebo nezadanym.Podrobnejsı prehled ruznych typu NN je na obr 5.9.

Page 78: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 77

Figure 5.7: Prıklad pouzitı NN prı aprox-imaci bodu

Figure 5.8: Pouzitı NN na fitrovanı dat,ukolem je ohranicit pısmena hranicı aoddelit je

5.2.3 MLP - vıcevrstve sıte - trıdenı, vlastnosti aucenı.

Mezi vstupnı a vystupnı vrstvou musı byt aspon jedna mezivrstva, kteramuze zabezpecit natrenovanı NN na pozadovany ukol. Sigmoidnı funkcezabezpecuje nelinearnı odezvu neuronu a svymi kombinacemi muze aproxi-movat prakticky libovolnou spojitou funkci. Trenovanım na dobrou vystupnıodezvu 1 a sum 0 pak vystupnı funkce bude pravdepodobnostı signalu na vs-tupu pro zname hodnoty vstupu. Ruzne ucıcı algoritmy vyuzıvajı ruzne typyminimalizace. Na obr 5.10 je ukazano, jak si ruzne metody a NN poradı sestejnym ukolem.

5.2.4 Pred pouzitım sıte.

Pred pouzitım NN ji musıme zadefinovat a natrenovat. Nastavıme pocetvstupu a vystupu, pocet mezivrstev a pocet neuronu v mezivrstvach (obvikleN - 2N - 1, kde N jsou vstupy, 1 je vystup, 2N je mezivrstva, skryta vrstva).Taky urcıme typ sıte, pokud mame na vyber, a pak sıt trenujeme. Na vstupposılame data a na vystupu urcujeme, jaka ma byt spravna odezva (hlavneurcıme, jestli to, co prislo, je signal, ktery hledame, nebo je to jen sum), apak tam posilame kontrolnı nahodna data a kontrolujeme vystup, tyto data

Page 79: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 78

Figure 5.9: Rozdelenı NN podle ruznych kriteriı: typ vstupu, zpusob fixacevystupu, neuronove mezivrstvy

musı byt jina (jiny-nahodny vyber ze stejneho balıku dat). Prıklad vyvojechyby trenovane a kontrolnı hodnoty je na obr 5.11.

5.2.5 Po pouzitı sıte.

Po natrenovanı sıte mame soustavu neuronu s nastavenymi vzajemnymi vazbami,ktere si ulozıme, a pak pri pouzitı sıte prozeneme vstupnı data sıtı a zıskamevystupnı hodnotu, ze byl signal nebo byl sum (pokud byla sıt na toto natrenovana).

5.2.6 Proc vlastne pozıvat neuralnı sıte.

NN vs. classical cuts

Klasicky analyticky prıstup:

• Lehce pochopitelny

• da se pouzıt pro 1, 2, 3, ? -rozmerny problem

• neda se optimalizovat

Page 80: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 79

Figure 5.10: Ukazka, jak si poradı ruzne postavene NN se stejnym problemem

• Vzajemna korelace vstupu nemusı byt zjevne odhalitelna

Neuralnı sıt:

• cerna skrınka ?

• nenı omezena mnohorozmernostı problemu

• optimalizovany rez daty

• vzajemna korelace vstupu nenı dulezita a nemusı byt znama

• NN je vykonny nastroj na klasifikovanı deju

Vıc se o NN da dozvedet na web:

<http://wwwasd.web.cern.ch/wwwasd/paw/mlpfit/pawmlp.ps.gz> <http://root.cern.ch/root/htmldoc///TMultiLayerPerceptron.html>

<http://schwind.home.cern.ch/schwind/MLPfit.html>

5.2.7 Pouzitı NN v ROOTu.

V ROOT prostredı je pripravena trıda TMultiLayerPerceptron (MLP ) propraci a neuralnımi sıtemi. Vstupnı vrstva je tvorena neaktivnımi neuronya vystupnı neurony jsou linearnı. Strednı vrstvy jsou tvorene sigmoidnımi

Page 81: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 80

Figure 5.11: Vyvoj chyby v prubehu trenovanı sıte pro ruzne typy neuronu

neurony. Vstupy i vystupy mohou byt normalizovane na < 0, 1 > nebonenormalizovane.

Zakladnım vstupem sıte jsou dva soubory: trenovacı a testovacı a ucıcımetody muzou byt zvoleny z nasledujıcıch metod: Stochastic, Batch, SteepestDescent,

RibierePolak, FletcherReeves, BFGS . Zakladnı vlastnostı neuronu je predpetıa jeho vaha (bias and weighted) nazyvane propojovacı synapsi.

Ucıcı metody.

Cılem ucıcıch metod je minimalizovat celkovou chybu ve skupine vazenychprıkladu. Chyba je definovana jako soucet kvadratu delenych 2 vsech jed-notlivych vystupnıch neuronu. Pro jednotlive minimalizacnı metody (Stochastic,Batch, SteepestDescent, RibierePolak, FletcherReeves, BFGS ) je postup pop-sany v popisu trıdy ROOT: TMultiLayerPerceptron . Vyuzıva se vypocet prvnıderivace chyby a jejich tzv. zpetne sırenı od vystupnıho k vstupnımu neuronupro trenovacı eventy.

Page 82: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 81

Prıklad kodu v ROOT.

Prıklad pouzitı NN z predchazejıcıch castı je v makru NeuralNetvExample.cpp

na webu: <http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

a spoustı se prıkazem .x NeuralNetvExample.cpp . Vystupy programu jsou naobr 5.12 az 5.16.

Figure 5.12: Zdroj pro trenink neuralnı sıte i pro jejı verifikaci

Figure 5.13: Mapa zvolene a natrenovaneneuralnı sıte, tloustka cary naznacujevahu vazby

Figure 5.14: Vyvoj chyby treninku a ver-ifikace v prubehu trenovanı sıte

Kod makra je v nasledujıcıch radcıch://

/*

Routines for NN example

Peter Kodys, November, 2005

[email protected]

Page 83: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 82

Figure 5.15: Vystupnı odezvova funkcesıte

Figure 5.16: Vystupnı odezvova funkcesıte normalizovana podle hodnoty 0.5:nad = 1, pod = 0

*/

gROOT->Reset();

void NeuralNetvExample(void) {

char SourceDataName[333],name[300];

TFile *FileM, *FVyber;

TMultiLayerPerceptron *network1;

TCanvas *cNN_Source = new TCanvas("c_NN_Source","Nactene data",200,10,800,800);

/*

// ******** first conversion from ascii to root format: **************************** //

sprintf(SourceDataName,"CviceniData/ExampleDataNeuralNet.dat");

TTree *T = new TTree("ExampleDataNeuralNet","data z ascii (text) souboru");

Long64_t nlines = T->ReadFile(SourceDataName,"x:y:z");

T->Print(); // vypis detailni informace o natazenych darech

T->Draw("y:x","x>-9&x<9","l"); // priklad vykresleni do obrazku

FileM = new TFile("CviceniData/ExampleDataNeuralNet.root","RECREATE");

T->Write();

FileM->Flush();

FileM->Close();

return;

*/

// ****************** Load data in root format: **************************** //

TTree ExampleData*;

FVyber = new TFile("CviceniData/ExampleDataNeuralNet.root","READ");

FVyber->ls();

ExampleData = (TTree *)FVyber->Get("ExampleDataNeuralNet");

// ****************** Data inspection **************************** //

ExampleData->Draw("y:x:z","x>-9&x<9","");

// ExampleData->Draw("y:x:z","x>-9&x<9&&(Entry$+1)%3","");

cNN_Source->Update();

sprintf(name,"./ps/NN_Source.jpg"); cNN_Source->SaveAs(name);

sprintf(name,"./ps/NN_Source.root"); cNN_Source->SaveAs(name);

TCanvas *cNN_Map = new TCanvas("cNN_Map","NN Map",200,10,800,800);

// ****************** Creation of neural network **************************** //

network1 = new TMultiLayerPerceptron("x,y:13:23:13:@z",ExampleData,

"Entry$%3", "(Entry$+1)%3");

Page 84: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 5. CHYBA MERENI, NEURALNI SITE 83

cNN_Map->Update();

sprintf(name,"./ps/NN_Map.jpg"); cNN_Map->SaveAs(name);

sprintf(name,"./ps/NN_Map.root"); cNN_Map->SaveAs(name);

// ****************** Treaning of neural network **************************** //

// network1->Train(8000,"textgraph,update=40");

// network1->DumpWeights("./CviceniData/ExampleWeightsNeuralNet");

// ****************** Load older existing neural network **************************** //

network1->LoadWeights("CviceniData/ExampleWeightsNeuralNet");

// network1->DrawResult("test"); // for monitoring

// network1->DrawResult(""); // for monitoring

TCanvas *cNNScheme = new TCanvas("cNNScheme","Neural Network Scheme",200,10,800,800);

// ****************** Draw output of neural network **************************** //

network1->Draw();

cNNScheme->Update();

sprintf(name,"./ps/NN_Scheme.jpg"); cNNScheme->SaveAs(name);

sprintf(name,"./ps/NN_Scheme.root"); cNNScheme->SaveAs(name);

// ****************** Checking of output of neural network **************************** //

double xi[10000],yi[10000],zi[10000],zi2[10000],inpu[2];

int ni;

ni = 0;

int iGrMax = 40;

for (int i=0;i<iGrMax;i++) {

for (int j=0;j<iGrMax;j++) {

xi[ni] = 12./(float)iGrMax*(float)i - 6.;

yi[ni] = 12./(float)iGrMax*(float)j - 6.;

inpu[0] = xi[ni];

inpu[1] = yi[ni];

zi[ni] = network1->Evaluate(0,inpu);

if (zi[ni] > 0.5) zi2[ni] = 1; else zi2[ni] = 0;

ni++;

}

}

TCanvas *cNN_Response = new TCanvas("cNN_Response","Checking of quality 1",

200,10,800,800);

TGraph2D *g1a = new TGraph2D(ni, xi, yi, zi);

g1a->SetNameTitle("g1a","Original");

g1a->Draw("TRI");

cNN_Response->Update();

sprintf(name,"./ps/NN_Response.jpg"); cNN_Response->SaveAs(name);

sprintf(name,"./ps/NN_Response.root"); cNN_Response->SaveAs(name);

TCanvas *cNN_CheckResponse = new TCanvas("cNN_CheckResponse","Check of quality - map",

200,10,800,800);

TGraph2D *g2a = new TGraph2D(ni, xi, yi, zi2);

g2a->SetNameTitle("g1a","Map of response");

g2a->Draw("COLZ");

cNN_CheckResponse->Update();

sprintf(name,"./ps/NN_CheckResponse.jpg"); cNN_CheckResponse->SaveAs(name);

sprintf(name,"./ps/NN_CheckResponse.root"); cNN_CheckResponse->SaveAs(name);

}

//

Page 85: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 6

Prıklad vypoctu ucinnostidetektoru

V nasledujıcı casti bude podrobne ukazan postup vyhodnocenı binarnıchsilikonovych detektoru SCT ATLAS z testovacıho svazku v CERNu v kvetnu2004 na H8.

6.1 Od raw data do ROOT trees.

Jak bylo ukazano v predchozıch castech, pouzitı prımo dat ulozenych z ctecıelektroniky nemusı byt uplne komfortnı a jednoduche. Jejich organizaceje taky podrızena efektivnımu nabıranı dat a nemusı byt pro dalsı zpra-covanı vyhovujıcı. Proto jednım z prvnıch kroku je konverze dat do stan-dardnejsıho formatu s moznostı pridat dalsı informace hlavne z podmınekmerenı (jake bylo nastavenı parametru detektoru, vlastnosti svazku, dalsıpomocne informace dulezite pri vyhodnocovanı) a prvnıho predzpracovanı(oznacenı dobrych a podezrelych eventu, alignment detektoru a teleskopu,pridanı nalezenych drah castic a pridanı prostorovych prusecıku castice sdetektory). K takto pripravenym datovym souborum musı taky existovatpredpis na jejich ctenı a prıpadne podpurne softwarove prostredky, knihovny(jak je vyrobit pro ROOT datove soubory je prıklad v casti 2).

84

Page 86: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 6. PRIKLAD VYPOCTU UCINNOSTI DETEKTORU 85

6.2 Jak cıst ROOT trees, prıprava class dll

pro ctenı.

Pro komfortnı ctenı dat ze souboru by mela byt k dispozici knihovna proctenı dat, prıklad, jak knihovnu napsat, je podrobne popsan v casti 2. Zdeje i prıklad, jak knihovnu pritahnout do makra a pak pouzıt.

6.3 Prvnı krok: hitmapa teleskopu a testo-

vanych detektoru (DUT).

Jednım z prvnıch ukolu, kdyz uz se umıme dıvat do dat, je zkontrolovat si,jak vypada hit mapa signalu v detektorech. Dulezite je zkontrolovat a zaz-namenat mrtve kanaly s odezvou podstatne nizsı nez je normalnı prumernaodezva a kanaly s odezvou extremne vysokou, zıskame tak seznam mrtvycha sumıcıch kanalu - tzv maskovane kanaly. Ty pak pro dalsı analyzy ob-vykle uz nepouzıvame, v oduvodnenych prıpadech vyloucıme z analyzy isousednı nebo dalsı kanaly (hlavne v prıpadech, kdy se vliv maskovanychkanalu prenası i na sousednı kanaly). Kontrolu pomocı hit mapy delame prodetektory teleskopu i testovane detektory.

6.4 Teleskopy: od adjustace k draze castice

a mape testovacıho svazku.

Teleskopy jsou obecne v prostoru umısteny tak, aby jimi proletaly testovacıcastice. Aby se mohla draha castice rekonstruovat, musıme urcit presnoupolohu detektoru v prostoru, obvykle na to stacı posun a rotace v smerechkolmych na svazek. Nekdy se optimalizuje i poloha a rotace podel svazku.Minimalizuje se vzdalenost odezvy (hitu) v detektorech v jednotlivych even-tech, samozrejme se tu projevı (negativne pro tuto ulohu) rozptyl castic namaterialu, sum pozadı, vıc nez jedna draha (castice) v jednom eventu nebochybejıcı draha, maskovane kanaly nebo neucinnost detektoru.

Page 87: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 6. PRIKLAD VYPOCTU UCINNOSTI DETEKTORU 86

6.5 DUT: vycistenı odezvy, maskovanı kanalu.

Uloha analogicka maskovanı kanalu v teleskopech popsana v casti ”Prvnıkrok: hitmapa teleskopu a testovanych detektoru (DUT)”

6.6 Polohovanı detektoru - alignment.

Uloha analogicka alignmentu v teleskopech popsana v casti ”Teleskopy: odadjustace k draze castice a mape testovacıho svazku”, nekdy muze byt komp-likovana neortogonalnı strukturou DUT na rozdıl od teleskopu, kde se snazımepouzıt pokud mozno presnou pravouhlou matici detektoru a vzajemne sladenoumezi teleskopy.

6.7 Rezidualy - odchylky drahy castice od

odezvy detektoru.

Po napolohovanı detektoru vypocıtame drahy castic pomocı teleskopu, vy-loucıme podezrele eventy s chybejıcımi drahami nebo drahami s velkou nepresnostı(podmınka na χ2) a urcıme teoreticke prusecnıky s DUT. V nekterych prıpadechna vypocet drahy castice pouzijeme DUT krome toho, ktery testujeme, apak to prostrıdame a za testovany DUT urcıme dalsı DUT. Vylocıme takpotrebu teleskopu, je to nutne hlavne v prıpadech, kdy teleskopy neumoznujıotestovanı nejake vlastnosti DUT.

V dalsım kroku pocıtame rozdıl mezi prusecıkem DUT drahou castice askutecnou odezvou DUT a zıskame tak odchylku zvanou residual. Ten his-togramujeme a vysledek srovname s ocekavanym tvarem a zkontrolujemetak cely predchozı postup analyzy. Histogram nemusı splnovat podmınkygaussovskeho rozdelenı.

Dalsım vlivem na analyzu je rozptyl castic materialem, kde material meziteleskopy tak rozptylı castice od napocıtane drahy, ze to bude hrat vyznamnouroli v urcenı prostoroveho prusecıku. Tady pomahajı simulace rozptylu casticna materialu, naprıklad simulacnı balık Geant4.

Page 88: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 6. PRIKLAD VYPOCTU UCINNOSTI DETEKTORU 87

6.8 Ucinnost a sumova obsazenost kanalu a

chyba jejich urcenı.

Pokud jsme spokojenı s histogramem residualu, muzeme pokracovat a urcımeucinnost a sum DUT. Pro urcenı ucinnosti DUT vyuzijeme podmınku, zeresidual odezvy je mensı nez 2x vzdalenost stripu (pokud nas velky rozptylna materialu nedonutı tuto podmınku zmenit). Ucinnost je pak pomer zaz-namenanych eventu vuci vsem akceptovanym eventum.

Pro urcenı sumu je nutne se podıvat mimo drahu castice a obvykle i mimoprostor, kam letajı castice testovacıho svazku, nebo se dıvat na odezvu detek-toru, kdyz castice neletajı. Sum se obvykle prepocıtava na jednotlivou diodua na event. Obvykle se zkoumajı i dalsi efekty na sumu, jako treba com-mon noise effects - hromadne zmeny sumu po castech detektoru (po radcıchnebo sloupcich, leve a prave strane) nebo po eventech (skupina eventu manahodne jiny sum nez jina skupina eventu). Tyto jevy napovıdajı o spatnemzemnenı nebo stınenı ctecı elektroniky nebo o spatnem nastavenı pracovnıchbodu detektoru.

Pro solidnı vyhodnocenı musıme urcit i chybu merenı ucinnosti nebo sumu,co je podrobne popsano v kapitole 5.

6.9 S-krivka a median.

Pro analogove ctenı detektoru se odezva vyhodnocuje podle postupu pop-sanem v casti 8. Pri binarnım ctenı (pro nastavenou uroven prahu vsechno,co je nad prahem, je odezva, jinak nic) musıme zrekonstruovat odezvu detek-toru na castici pomocı prahoveho skanu (threshold scan). Pro ruzne hodnotyprahu spocıtame ucinnost a sum a vyneseme je do grafu do tzv S-krivky,kterou fitujeme inverznı integralnı funkci gaussianu, nebo presnejsı funkcızohlednujıcı landauovskou odezvu rozdelenı energii pri pruletu castice. Totorozdelenı vytvarı prodlouzenı S-krivky smerem k vyssım prahum, na fitovanıse pouzije upravena funkce tzv. ”Grillo” funkce.

6.10 Prıklad analyzy binarnıho detektoru.

Funkcnı makra v ROOTu jsou na web:

<http:///www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

Page 89: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 6. PRIKLAD VYPOCTU UCINNOSTI DETEKTORU 88

pod nazvem dst read.cpp , spustı se prıkazem .x dst read() a jsou v nemvyznacene vsechny hlavnı casti, o kterych se v teto kapitole psalo. Makro vy-hodnocuje jednotlive threshold skany a vytvarı sumarnı soubor. Zpracovanısumarnıho souboru do efficiency krivky je v makru pod nazvem dst efficiency.cpp

, spustı se prıkazem .x dst efficiency() .

Page 90: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 7

Od signalu detektoru k bodu vprostoru, drahy castice, mıstorozpadu castice

Zakladnı ulohou drahoveho detektoru (tracker detector) je najıt drahy vznıklychcastic a polomer zakrivenı jejich drah v magnetickem poli (pro nabite castice).Prıpadne zmeny castic, jejich rozpady nebo interakce s hmotou detektoru,je take nutne zaregistrovat a zmerit. Jde tedy hlavne o nalezenı drah aprusecıku drah pokud existujı. Drıv nez zacneme analyzovat jakakoli realnadata, je nutne vyzkouset algoritmy na simulacıch a zahrnout pokud moznorealisticke podmınky z budoucıho detektoru. Podrobne simulovanı funkce de-tektoru je vzdy soucastı prıpravy a projektovanı detektoru, pouzite materialya vlastnosti detektoru jsou vsak jen odhadovany.

7.1 Geometrie detektoru a presnosti z vyroby.

Po zmerenı vlastnostı detektoru muzeme s urcitou spolehlivostı najıt body,kudy letela castice. U pixelovych detektoru vıme obvykle z polohy danehodetektoru, kde se nachazı detekcnı pixel (dioda, senzor) a z jeho vlast-nostı urcıme polohu bodu v prostoru a chybu polohy. Pixelove detektoryse umıstujı do nejtesnejsı blızkosti hlavnıho interakcnıho bodu detektoru,aby zachytily vznikle castice co nejdrıv po jejich vzniku. Stavı se vetsinounekolik vrstev pixelovych detektoru. Podle zvolene technologie, ktera musıbyt pomerne radiacne odolna (detektory se nachazı v mıste s nejvetsı lumi-nositou), se snazıme mıt co nejlepsı rozlisenı dosazitelne malou velikostı pix-

89

Page 91: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE90

elu a analogovym sberem signalu a pak vahovanım prusecıku podle rozdelenınaboje mezi pixely. Pro optimalizaci mnozstvı nabıranych dat zase optimal-izujeme cele usporadanı tak, abychom nemeli informaci zbytecne presnou,kdyz uz vyssı presnost nepomuze pri vyhodnocenı experimentu.

V dalsıch vrstvach dal od hlavnıho vertexu se pouzıvajı stripove detektorya detekcnı trubice, nebo dratove komory a dalsı typy detektoru. Jejichspolecnou vlastnostı je, ze prostorove urcenı polohy prusecıku s casticı se musiurcit kombinacı informace z vıce detektoru. To vyzaduje dobrou znalost opoloze detektoru, jejich geometrii a presnosti. Obecne presnost polohy casticeje vyssı v radialnım smeru a v podelnem smeru je mensı nekdy az radove,protoze tato informace nenı tak dulezıta pro urcenı zakrivenı drahy vlivemmagnetickeho pole a v konecnem dusledku urcenı energie castice.

Presnosti, kterych se obvykle dnes darı dosahovat, jsou pri mechanicke vyrobedetektoru na urovnı jednotek mikronu, cele polohovanı do prostoru na urovnikolem 10-50 mikronu. Experimentalnı zmerenı polohy detektoru a dodatecnyalignment je obvykle aplikovany pri detailnım vyhodnocovanı dat (off lineanalysis).

7.2 Rekonstrukce bodu v prostoru.

Pro rekonstrukci polohy bodu v prostoru potrebujeme znat podrobne ge-ometrii detektoru a jeho citlivych elementu a umıstenı detektoru v prostoru.Nekdy se rekonstruuje bod v 3D souradnicıch, nekdy jenom v 2D, nekdy vpravouhle, cylindricke, sfericke nebo jine specialnı souradnicove soustave vzavislosti na geometrii experimentu.

7.3 Hledanı drah v detektoru.

Po vytvorenı hitmapy prusecıku castice s detektory v prostoru se resı ulohanajıt vsechny smysluplne drahy castic v detektoru, tzv. pattern recognition.Existujı na to specialnı algoritmy.

Pattern recognition je oblast aplikovane matematiky vyuzıvana v oblastechstatistiky, cluster analyzy, kombinatoriky a podobne. Cılem pattern recogni-tion je setrıdeni objektu. Prıklady najdeme v analyze satelitnıch fotografiı,elektrokardiogramech, analyze textu a rukopisu, a take pri merenı drah casticve fyzice. Ve fyzice vysokych energiı muzeme najıt aplikace pattern recogni-tion ve trech oblastech:

Page 92: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE91

1. Hledanı drah (track finding, track search), uloha resena v kombinacigeometrie drahoveho detektoru a prıtomneho magnetickeho pole.

2. Hledanı sprsek castic (showers) ve skupinach signalu z kalorimetru ahledanı nekterych jejich vlastnostı.

3. Analyzy kruhovych (prstencovych) obrazu Cerenkovovskych cıtacu (RICHes,ring-imaging Cherenkovov counters) s cılem najıt ”prsteny” vyzarenychfotonu.

Prehledne je to popsane napr. v [12]. Dale se zmınıme vıc o hledanı drahcastic.

7.3.1 Zaklad hledanı drah.

Drahove detektory:

1. plynove detektory (proporcionalnı komory (proportional chambers),driftove komory (drift chambers), projekcnı komory (time projectionchambers, TPCs), mikrostripove plynove komory)

2. Tuholatkove detektory

3. Drahove systemy

Techniky na modelovanı drah

7.3.2 Principy hledanı drah.

Pattern prostor, trenovacı prıklady, klasifikace objektu, prostor vlastnostı,trıdy, prototypy a metriky, srovnanı sablon, vyber linearnıch vlastnostı, minimalneroztazeny strom (minimum spanning tree, MST), optimalizace kombinacı(Hopfieldova sıt, simulated annealing SA, mean-field annealing MFA)

7.3.3 Vlastnosti hledanı drah.

1. Vyloucenı bodu

2. Kvalita drahy

Page 93: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE92

3. Projekce nebo prostor

4. Prace s prekrytım drah

5. Kompatibilita kandidatu na drahy

6. Ucinnost hledanı drah

7.3.4 Metody hledanı drah.

klasifikace

lokalnı metody

1. Nasledovanı drahy

2. Kalman filter

3. Drahove cesty

4. Drahove elementy

globalnı metody

1. kombinatoricka metoda

2. globalnı Kalmanuv filtr

3. Histogramovacı metoda

4. Houghova transformace

5. vyber podle sablony

6. minimum spanning tree, MST

7. Hopfieldova sıt

8. deformovane sablony, elasticke konstrukce

Page 94: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE93

7.4 Rekonstrukce drahy v prostoru, fitovanı,

algoritmy.

Kdyz mame drahy castic, fitujeme je co nejpresnejsım fitem s urcenou chyboumerenı a nakonec rekonstruujeme body, ze kterych vychazı vıc castic najed-nou, tzv vertexy. Fitovanı drah se rozvinulo ve fyzice kosmickeho zarenı a zbublinovych komor. Experimentalnı podmınky pro fitovanı traku jsou danyhlavne:

1. vysoka multiplicita (20 - 100 a vıc) pri vysokoenergetickych srazkach

2. energie castic je v rozsahu 100 MeV - 100 GeV

3. velmi dlouhe spektrometry az stovky metru od fixovaneho terce

4. modularnı drahove detektory s kombinacı ruznych technik davajıcıchbody v prostoru s ruznou presnostı od nekolika µm po mm

5. rozlisenı zavisı na mıstu, kde doslo k srazce - nehomogenne rozlozenedetektory

6. mnohonasobny rozptyl na ruznorodych nehomogennıch materialech

7. vysoke pozadı od sekundarnıch aktivit castic

8. vysoka frekvence srazek na zachycenı vzacne se vyskytujıcıch jevu ainterakcı

A dalsı body prımo fyzikalnich duvodu zvysujıcı dulezitost co nejlepsıho fi-tovanı drahy:

1. merenı invariantnıch hmotnostı vyzaduje perfektnı znalost i chyb fitu,aby se dala urcit chybejıcı hmotnost pripadajıcı na ruzne typy neutrin,nebo identifikaci kratce zijıcıch castic

2. sekundarnı vertexy musı byt kompletne rekonstruovany, proto musı bytoptimalizovana a minimalizovana chyba merenı ne jednotlivych drah,ale vsech zainteresovanych drah na vertexu a umoznit tak identifikacivelmi kratce zijıcıch objektu na urovni 10−13s (D mesony, B mesony,τ leptony).

3. smycky (zpetna promena castice na puvodnı) musejı byt registrovatelnepro nabite castice

Page 95: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE94

4. identifikace muonu vyzaduje dobre rozlisenı a citlivost na mnohonasobnyrozptyl v mionovych filtrech vyrabenych vetsinou z feromagnetickychmaterialu v nekolikametrove tloustce kolem experimentu

Obvykla metoda na fitovanı drah je metoda nejmensıch ctvercu (LSM, leastsquares method). Predpoklada obvykle pomerne homogennı rozlozenı chybymerenı jednotlivych bodu drahy a dostatecnou presnost techto bodu, presnezname a homogennı magneticke pole, zname ztraty energie v materialu,kterym proleta castice.

Zahrnutım mnohonasobneho rozptylu na materialu je mozne resit ulohu vıcobecne a rekurzivne aplikovat LSM na drahu s tım, ze se bude brat ohled namozny rozptyl energie v materialu. Filtry, ktere toto zabezpecujı, se nazyvajıKalmanovy filtry.

Prıklad rekonstrukce drah v experimentu DELPHI:

PRVNI KOLO HLEDANI:

1. Lokalnı pattern recognition, hledanı castı drah (hlavne uvnitr ruznychskupin detektoru, ze kterych je sestaven vnitrnı drahovy detektor)

2. Globalnı hledanı drah, hledanı drahovych retezcu (hlavne v oblastech,kde se spojujı ruzne typy detektoru a ruzne geometrie - barrel a endcaps)

3. Fitovanı drah a finalnı χ2− test, extrapolace a odhady parametru drah(pospojovane ruzne casti drah z ruznych castı celeho detektoru pomocıKalman filtru)

4. Selekce mnohoznacnych drah a vyber optimalnı podskupiny drah

5. Zafixovanı podskupinu drah a vyloucenı ostatnıch neprirazenych bodu

DRUHE KOLO HLEDANI hlavne za ucelem pridanı nepouzitych drahovychinformacı a s vyuzitım extrapolacı z nalezenych drah do dalsıch castı detek-toru:

1. Lokalnı pattern recognition, hledanı dalsıch castı drah

2. Globalnı hledanı drah, pridanı novych nalezenych drahovych castı

3. Fitovanı drah a finalnı χ2 − test, odhady parametru drah

4. Selekce mnohoznacnych drah a vyber optimalnı podskupiny drah

A vysledkem je finalnı skupina nalezenych drah.

Page 96: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 7. OD SIGNALU DETEKTORU K BODU V PROSTORU, DRAHY CASTICE, MISTO ROZPADU CASTICE95

7.5 Hledanı prusecıku (vertexu) v detektoru.

Urcenı primarnıch a sekundarnıch vertexu je dulezite pro hlavnı urcenı casticea jejı dobu zivota. Dulezita je vysoka rychlost a hledanı v souboru az nekolikaset drah pri modernıch experimentech. Zdroj dat je v 3D s kompletnı chy-bovou maticı.

Po nalezenı tracku a jejich nafitovanı zıskame matice X, Y, Z nafitovanychvertexu,parametry fitu, chybove matice fitu, momenty zjistenych castic, χ2

fitu a χ2 drahy. Kazdy fit drahy dava parametry (Θ, φ, 1R

), kde Θ je polarnıuhel kolem osy z, φ azimutalnı uhel trajektorie, R je polomer zakrivenı drahynabitych castic, dale se pouzıvajı Q naboj castice a −Q/R zaoblenı drahy sohledem na naboj castice. Platı:

P⊥ = 0.0029979246 ∗BMAG ∗R (7.1)

Px = P⊥. cosφ (7.2)

Py = P⊥. sinφ (7.3)

Pz =P⊥

tan Θ(7.4)

Makra umoznujıcı hledanı vertexu (vcetne fitovanı nalezenych drah) se dajınajıt v balıcıch VKalVrt (universal vertex reconstruction packet) napsanychprimarne ve FORTRAN a v soucasnosti konvertovanych do C++ a uzpusobenychpro ATHENA prostredı.

Page 97: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 8

Zpracovanı signalu analogovehodetektoru, vyhodnocovanıspekter

8.1 Analogove zdroje signalu.

Nazev projektu: Vyhodnocenı kvality polovodicovych stripovych detektorupouzıvanych ve fyzice vysokych energiıResitel: Daniel Scheirich, 2. rocnık, fyzikaAk. rok: 2004/2005Zadavatel projektu: RNDr. Zdenek Dolezal, Dr.Pouzito pro prednasku s laskavym souhlasem autoru.

8.1.1 Software pro analyzu sumu

Laborator VdG urychlovace spolupracuje s Laboratoire de Physique Nucleaireet de Hautes Energies v Parızi v ramci kolaborace SiLC. Dıky teto spolupracijsem mel moznost vytvorit balık nastroju pro analyzu sumu testovanychstripovych detektoru. Vıce informacı o kolaboraci SiLC lze nalezt na strankach[32].

96

Page 98: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER97

8.1.2 Definice zakladnıch velicin

Pro porozumenı problematice analyzy sumu kremıkovych stripovych detek-toru uvadım prehled nekolika zakladnıch velicin. Vsechny definice uvadenev tomto odstavci byly prevzaty z [36].

Pedestal pedi pro kanal i je definovan jako strednı hodnota naboje νij vyctenehoz kanalu i pri opakovanem merenı. Index j zde znacı cıslo merenı(evntu), strednı hodnota je pocıtana pres index j:

pedi = 〈νij〉j

Sum σi kanalu i je definovan jako standardnı odchylka rozdelenı naboje νij:

σi =√

(〈νij − pedi〉j)2 =√〈(νi)2〉j − (pedi)2

Kolektivnı sum (CMN, Common-mode noise) vypovıda o vykyvech signalu,ktere se projevujı najednou u cele skupiny kanalu. Tyto vykyvy mo-hou byt zpusobeny vzajemnym elektromagnetickym pusobenım stripu,sumem na zdroji napetı a pod. Je definovan jako strednı hodnotarozdılu namereneho naboje νij a pedestalu pedi:

CMNj = 〈νij − pedi〉i,

kde strednı hodnota je pocıtana pres vsechny kanaly i ve skupine.

Signal a sum po odstranenı common-mode jsou definovany nasledujıcımivztahy:

N ij = νij − pedi − CMNj,

Σij =

√〈(N i

j)2〉j − 〈N i

j〉2j ,

kdeN ji je signal na i-tem kanalu pri j-tem merenı po odstranenı pedestalu

a common-mode a Σji je odpovıdajıcı sum.

8.1.3 Testy detektoru SiLCu pomocı beta zarice

Merenı byla provadena na kremıkovych micro-stripovych detektorech anlo-gove vycıtanych pomocı cipu VA64 hdr. Zakladnı delka stripu je 28 cm.Nektera merenı byla provadena na stripech dvojnasobne, ctyrnasobne a os-minasobne delky. Delsı stripy byly vyrobeny propojenım dvou a vıce stripu.

Page 99: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER98

System pro naber dat pro tyto detektory byl vytvoren skupinou parızske lab-oratore v systemu LabView. Vıce informacı o pouzitych detektorech, elek-tronice a dosazenych vysledcıch naleznete napr v [37, 32].

Skupina Laboratore VdG urychlovace MFF UK se mela moznost podılet natestech detektoru pomocı beta-zarice. Experiment, jeho usporadanı, soft-ware pro naber dat a system triggeru byl vytvoren parızskou skupinou. Po-drobnejsı informace o beta testech lze nalezt na strankach SiLCu [32].

8.1.4 Vypocet pomeru signal-sum (S/N) stripovyvhdetektoru

V systemu Root jsme ve spolupraci s vedoucım meho projektu Dr. ZdenkemDolezalem a jeho kolegy Mgr. Pavlem Reznıckem a Dr. Peterem Kodysemnaprogramovali makro pro prevod namerenych dat z formatu pouzıvanehosystemem LabView do datoveho formatu systemu Root. Pro tyto datoveformaty jsem ve spolupraci se svymi kolegy vyvinul balık pro zakladnı analyzusumu. Cılem naseho snazenı bylo zejmena urcit spolehlivou hodnotu velicinySignal to Noise (S/N).

Pojmem Signal se zde mını strednı hodnota naboje vycteneho ze stripu v je-jichz blızkosti proletla castice. Noise je potom sum namereny na detektoru,ktery nebyl vystaven zarenı. S/N urcuje zakladnı kvalitu detektoru a elek-tronky. S/N musı mıt co nejvyssı hodnotu, aby bylo mozne bezpecne odlisitskutecny zasah casticı (hit) od sumu.

Algoritmus pro vypocet S/N provadı nasledujıcı kroky:

1. Vypocet pedestalu a σi pro vsechny vycıtane kanaly ozareneho detek-toru.

2. Urcenı CMN. Pro vypocet byly pouzity dva postupy, jak je diskutovanodale.

3. Odectenı pedestalu a CMN od namerenych dat.

4. Nalezenı zasazenych stripu a jejich skupin: cluster-finding algoritmus.Vytvorenı tzv. Cluster Signal spektra.

5. Nalezenı nejpravdepodobnejsı hodnoty Cluster Signal spektra prolozenımvhodnou funkcı.

6. Vypocet sumu z dat z merenı bez beta zarice. Vypocet S/N.

Page 100: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER99

Pedestal a rozptyl spekter jednotlivych kanalu σi byl urcen fitem teoretickouzavislostı. U merenı bez beta zarice hodnota naboje vyctena ze stripu detek-toru kolısa kolem jedne hodnoty. Touto hodnotou je prave pedestal danehostripu a rozdelenı hodnot je Gaussovske. Naproti tomu spektrum detektoruvystavenemu beta casticım je asymetricke, jak je videt na obrazku 8.1. To jezpusobeno nabojem zanechanym v polovodici proletajıcımi casticemi. Abybyl spravne urcen pedestal ze spekter kanalu detektoru zasazeneho casticemi,byly nastaveny meze pro gaussovsky fit v rozmezı ±1σ v okolı strednı hod-noty histogramu. Tım byl spolehlive eliminovan vliv nesymetrie spektra.

Figure 8.1: spektrum naboje vycteneho ze vsech kanalu detektoru pri merenıs beta zaricem. Od hodnot byl odecten pedestal a CMN. Spektrum je vlogaritmicke skale.

Muj program pocıta CMN podle definice uvadene v odstavci 2.3.1. Napro-gramoval jsem dve verze vypoctu CMN: V jednodussı je CMN pocıtan presskupinu vsech kanalu v danem datovem souboru. To je naprosto dostacujıcıpro soubory s mensım poctem kanalu (cca 20), naprıklad je-li pouzıvanoloveny kolimator pro omezenı oblasti detektoru zasazene casticemi. Prosoubory s vıce kanaly se ukazal vyhodnejsı alternativnı postup, kdy se CMNpocıta vzdy pro skupiny pouze dvaceti sousednıch kanalu kolem prave zpra-covavaneho kanalu. Tak je mozne podstatne snızit vyslednou hodnotu sumu.To je zpusobeno tım, ze vzajemne pusobenı se projevuje prevazne na sousednıchstripech.

Pri pruletu castice objemem detektoru je v polovodici zanechan naboj. Mnozstvınaboje zavisı na energii castice a na delce trajektorie castice v polovodici

Page 101: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER100

(podrobnejsı informace o interakci elektronu s latkou uvadı napr. [38]). Privycıtanı je naboj rozdelen mezi nejblizsı stripy. Aby bylo mozne urcit celkovynaboj zanechany casticı, je treba najıt skupinu (cluster) stripu, mezi kterese naboj rozdelil a secıst prıspevek techto stripu. Algoritmus pro hledanıskupin (Cluster finding algorithm) pouzity v mem programu je mırna mod-ifikace algoritmu popsaneho v [36]. Po odectenı pedestalu a CMN programprochazı cely soubor dat event po eventu a hleda hodnoty, ktere jsou vetsınez kσi, kde σi je sum i-teho kanalu a k je volitelny parametr (primarnıprah). V prıpade, ze takovou hodnotu najde, je tato povazovana za hit. Pro-gram potom prochazı sousednı kanaly a hleda hodnoty, ktere jsou vetsı neznσi, kde n < k (sekundarnı prah). Program pritom hleda souvislou skupinu:v momente, kdy narazı na kanal s hodnotou mensı naz sekundarnı prah,hledanı skoncı a skupina se uzavre. Skupina se rovnez uzavre v prıpade, zeprave kontrolovany kanal ma hodnotu vetsı nez sekundarnı prah a zarovense nachazı v polovine vzdalenosti k sousednımu hitovemu stripu (s hodnotouvetsı nez primarnı prah). Lze totiz predpokladat, ze dalsı kanaly jiz budoupatrit do skupiny tohoto kanalu. V nasem prıpade byly zvoleny hodnotyk = 5 a n = 2.

Kdyz jsou v danem eventu nalezeny vsechny clustry, program secte prıspevkyvsech kanalu jednotlivych clusteru a tyto hodnoty jsou pridany do histogramu,tzv. Cluster signal spektra. Jedna se jiz o spektrum naboju zanechanychskutecnymi casticemi. Prıklad cluster signal spektra je znazornen na obrazku8.2. Tvar spektra zavisı na energii ztracene v detektoru, jejız rozdelenı jepopsano tzv. Landauovou funkcı. Do tvaru spektra se ovsem rovnez promıtnesum vycıtacı elektroniky. Funkce, ktera tedy nejlepe popisuje tvar cluster sig-nal spektra, je konvoluce Landauovy a Gaussovy funkce (nekdy nazyvana tezLangaus function)

Zdrojovy kod funkce langaus byl prevzat z [39]. Netrivialnım problemem vsakbylo nastavenı pocatecnıch parametru tak, aby fit zkonvergoval. Nakonec seosvedcila metoda zalozena na odhadu pocatecnıch parametru z parametrujednodussıho gaussovskeho fitu. Hodnota parametru p0 urcuje nejpravdepodobnejsıhodnotu landauova rozdelenı (pro Landauovo rozdelenı nenı definovana strednıhodnota).

V nasem merenı jsme pouzili nejpravdepobnejsı hodnou rozdelenı (MPV,Most Probable Value) jako hledanou hodnotu veliciny Signal. Alternativnı(ale mene korektnı) metodou je pouzitı strednı hodnoty histogramu Clustersignal spektra. Hodnota sumu detektoru je urcena jednoduchym gaussovskymfitem namerenych hodnot na neozarenem detektoru po odstranenı pedestalua CMN. Velicina S/N je potom prosty podıl techto hodnot.

Page 102: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER101

Figure 8.2: cluster signal spektrum prolozene teoretickou zavislostı.

8.1.5 Dalsı funkce programu

Remapovanı kanalu: Aby bylo mozne analyzovat i merenı na delsıch stripech,vytvoril jsem nastroj na remapovanı kanalu. Sousednı stripy jiz totizneodpovıdajı nutne sousednım kanalum vycıtacıch cipu. Do textovehosouboru se uvede v jednoduchem formatu cısla kanalu, ktere nalezısousednım stripum a nastroj na analyzu potom dokaze prıslusne preusporadatporadı kanalu.

Graficky vystup: program dale poskytuje nekolik grafickych vystupu. Jednase o histogramy, ktere zobrazujı hitmapu (zavislost poctu hitu na cıslekanalu), multiplicitu hitu (pocet rozpoznanych hitu v jednom eventu)a velikost clusteru (viz. obrazek 8.3).

Pro kazdou skupinu dale program pocıta teziste. Dıky rozdelenı nabojena sousednı stripy je tak mozne lokalizovat mısto zasahu presneji, nezje poloha stripu. Na grafu na obrazku 8.4 je znazornen histogrampolohy hitu mezi dvema sousednımi stripy (eta funkce). Protoze elek-trony vletajı do detektoru vıcemene nahodne, mela by byt tato zavislostkonstantnı. Na histogramu je vsak patrna mırna prohluben v centrua vyrazny pokles v blızkosti stripu. Maximalnı pocet zasahu je po-tom zaznamenan prımo do stripu. Prohluben v centru je zpusobenatım, ze mezi dvema stripy je vzdy umısten jeden, ktery nenı pripojenk elektronice (floating stripe). Ten zpusobuje lepsı rozdelenı naboje nasousednı vycıtane stripy na ukor mırne ztraty naboje a zvysenı sumu.

Page 103: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER102

Ubytek zasahu v blızkosti stripu je zpusoben sekundarnım cutem v al-goritmu hlednanı skupin. Pokud se totiz castice trefı blızko stripu, jenaboj vycteny na sousednı stripu tak maly, ze neprojde sekundarnımcutem. Velikost clusteru tedy bude 1, tzn. prımy zasah stipu.

Figure 8.3: prıklad histogramu velikostiskupin. Z histogramu je patrne, ze vetsinaskupin mela velikost 2.

Figure 8.4: cetnost zasahu mezi stripy.

8.1.6 Vysledky

Pri nasem pobytu v Parızi se nam podarilo urcit spolehlivou hodnotu S/Npro detektor s kratkymi stripy (28 cm) a stripy dvojnasobne delky (56 cm).Vysledne hodnoty jsou zazanamenany v tabulce 8.2. Spektrum detektoru sdelsımi stripy je znazorneno na obrazku 8.5. Signal to noise pro delsı stripy senepovedlo spolehlive urcit vzhledem k male statistice (na detektoru je nabon-dovano jen male mnozstvı stripu vıcenasobnych delek a pravdepodobnostzasahu je tedy mnohem mensı). Byl vsak vyvinut software, ktery by meltyto hodnoty spocıtat az budou k dispozici potrebna data.

L MPV Mean Noise S/N

1 51 mV 76 mV 2,6 mV 202 55 mV 83 mV 4,6 mV 12

Table 8.1: vysledky analyzy sumu provadene na detektorech s kratkymi (28cm) stripy a stripy dvojnasobne delky (56 cm). L je delka stripu v nasobcıchzakladnı delky, Mean je strednı hodnota histogramu spektra, Noise je sumpo odstranenı CMN a S/N je pomer signal-sum.

Page 104: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER103

S vyuzitım naseho software byla rovnez promerena zavislot sumu a S/N nanapetı na detektoru (viz tabulka 8.2). Z namerenych dat nenı patrna pod-statna zavislost S/N na napetı.

Vdepl [V] 25 50 75 100 125 150 175Noise [mV] 0,0036 0,0036 0,0035 0,0035 0,0036 0,0036 0,0037

S/N 19,0 20,3 19,8 19,5 19,8 20,1 20,8

Table 8.2: zavislost sumu (noise) a pomeru S/N na napetı Vdepl na detektoru.

Dale jsme urcili zavislost sumu detektoru na delce stripu (viz obrazek 8.6).V programovacım jazyce Delphi jsem naprogramoval jednoduse ovladatelnevizualnı prostredı, ktere spoustı rootovska makra na vypocet sumu a ktereje vyuzıvano v laboratori v Parızi pri vyladovanı sumu.

Vysledky uvadene v teto zprave pochazejı z merenı provadenych v kvetnu2005. Je treba brat v uvahu, ze detektory, vycıtacı elektronika a cely testo-vacı system je stale ve vyvoji a lze tedy ocekavat podstatne zlepsenı S/Ndetektoru.

Figure 8.5: Cluster signal spektrum detek-toru se stripy dvojnasobne delky (56 cm).

Figure 8.6: zavislost sumu kanalu nadelce stripu. V grafu jsou vynesenysumy vypocıtane s pouzitım dvou metododstranovanı CMN.

8.1.7 Zaver

Behem resenı tohoto studentskeho projektu vznikla rada funkcnıch a pouzitelnychnastroju, ktere verım pomohou uspesnemu resenı zavazku laboratore VdG

Page 105: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER104

urychlovace vuci CERNu i kolaboraci SiLC. Databazove aplikace usnadnujı azjednodusujı proces rutinnıho testovanı SCT modulu pro vnitrnı detektor At-lasu, zakladnı sumova analyza provedena na detektorech SiLCu je nezbytnapro dalsı vyvoj nove vycıtacı elektroniky a ladenı sumu. Vysledky analyzybyly prezentovany na mezinarodnıch poradach a ve vyrocnı zprave projektuSiLC [37].

8.2 Spektra.

Vyhodnocovanı spekter je jednım z typickych ukolu v casticove fyzice. Nejcastejsımukolem je:

1. eliminace pozadı

2. dekonvoluce multipletu

3. vyhlazenı sumu

4. najıt pıky v spektru a jejich identifikace

5. fitovanı

6. analyza dat ortogonalnımi transformacemi, filtrovanı

7. vıcerozmerna spektra

8.2.1 Eliminace pozadı

Eliminace pozadı umoznı ”posadit” pıky na osu a dal je vyhodnocovat.Zdroje pozadı jsou obvykle samotny zdroj spektra, detektor, predzesilovacıelektronika, kabelova trasa a nakonec prevodnık do digitalnı formy. Sumobvykle ma charakter bıleho sumu exponencialne se zvedajıcıho k nizsımenergiım, nekdy ma stupnovity charakter podle vlastnostı celeho snımacıhoretezce. Dalsım vlivem je promenliva citlivost detektoru na ruzne energiespektra. Prıklad rovnice na odstranenı sumu je na obr. 8.7. Spektrum muzebyt odrıznuto od sumu s ruznou citlivostı a podle toho se pak vyhodnocuje.Musıme dat pozor, abychom neodrızli s pozadım i nektere sirsı a nevyraznepıky. Ukazka spekter s naznacenym pozadım pocıtanym s ruznym stupnemcitlivosti je na obr 8.7.

Page 106: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER105

Figure 8.7: Rovnice pro eliminaci pozadı

Figure 8.8: Prıklad ruzneho stupne eliminace pozadı u ruznych typu spekter

8.2.2 Dekonvoluce multipletu

Po odectenı pozadı se muze delat ”zaostrovanı” pıku a rozseparovanı slitychpıku tzv. multipletu. Zvysuje se tım rozlisenı spektroskopu. Pouzıva se tzv.gold dekonvoluce a funkce s vysokym rozlisenım. Vyuzıva se predpokladu,ze pıky se chovajı podle Gaussova rozdelenı a hledajı se odchylky od tohotoidealu naznacujıcı dalsı schovany slity pık. Zakladnı vztah pro dekonvolucimuze byt podle obr 8.9, gold dekonvolution se da popsat soustavou rovnicpodle obr 8.10. Spektra pak mohou byt vylepsena tak, jak je zobrazeno naobr 8.11. Dalsım krokem je urcenı vytezku pıku spektra navzajem, na cozlze pouzıt dokompozicnı formule podle obr 8.12.

Figure 8.9: Rovnice pro dekonvoluci pıku

8.2.3 Vyhlazenı sumu

V prıpade zasumenych spekter muzeme vyuzıt algoritmu podle rovnice naobr 8.13 a vysledek, jak se spektrum zmenı, muzeme videt na obr 8.14.

Page 107: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER106

Figure 8.10: Rovnice pro zlatou dekonvoluci pıku

Figure 8.11: Rovnice pro zlatou dekonvoluci pıku, vpravo detail, jak se pıkypostupne objevujı

8.2.4 Najıt pıky v spektru a jejich identifikace

Dalsım krokem je dohledanı pıku - polohy jeho maxima a pak nasledna iden-tifikace. Po dobrem nakalibrovanı spektroskopu je tato procedura autom-atizovana a programy casto pracujı s naprogramovanymi databazemi. Prihledanı polohy maxima se casto vyuzıva 1. nebo 2. derivace signalu, jak jevidet i na prıkladu na obr 8.15.

8.2.5 Fitovanı

Po nalezenı pıku muze dojıt na jejich fitovanı treba pomocı rovnice na obr8.16. Fitovanı muze byt symetrickou nebo nesymetrickou funkcı.

Page 108: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER107

Figure 8.12: Rovnice pro dekompozici pıku

Figure 8.13: Rovnice vyhlazenı spektra od sumu

8.2.6 Analyza dat ortogonalnımi transformacemi, fil-trovanı

Ukolem filtrovanı a ortogonalnıch transformacı je zlepsit analyzu napr. uneprehlednych spekter. Pouzıvajı se zonalnı funkce upravujıcı jen cast spek-tra, zlepsujı pomer signal/sum, filtrujı vysokofrekvencnı sum, vyuzıvajı trebaFourierovy transformace.

8.2.7 Vıcerozmerna spektra

Uvedene kroky analyzy se dajı obvykle aplikovat i na vıcerozmerna spektra.Prıklady aplikacı a hlavne dosazene vysledky jsou na obr 8.17 a 8.18. Dobanutna k vyhodnocenı vıcerozmernych spekter je mnohonasobne vetsı nez pro1D spektra.

Dalsı informace o pouzıvanych algorimech jsou na: <http://www.fu.sav.sk/nph/projects/DaqProvis>

<http://www.fu.sav.sk/nph/projects/ProcFunc>

8.3 Prıklad vyhodnocenı analogoveho detek-

toru.

Prıklad, jak byl vyhodnocovan detektor v Parızi v kvetnu 2005 (autoremmakra je Daniel Scheirich), je soucastı teto kapitoly. Makro pro vyhodnocenıdat ze skutecneho merenı je na webu:

<http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

a jmenuje se AnalogDetectorExample.cpp , spoustı se prıkazem .x AnalogDetectorExample()

Page 109: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER108

Figure 8.14: Prıklad spektra pred a po vyhlazenı od sumu

Figure 8.15: Hledanı polohy maxima v spektru

a pokud bude existovat soubor:./CviceniData/LC 18 mai 2005 18h27m41s.txt.root a budou existovat adresare:./Results/ a ./ps/ , tak se v nich objevı soubory vysledku.

8.4 Prıklad vyhodnocenı spektra.

Prıklad analyzy spektra pomocı prostredku ROOTu z dat nabranych v Prak-tiku 4 v Troji je v makru na web:

<http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

a jmenuje se Spectra.cpp , spoustı se prıkazem .x Spectra() a pokud budeexistovat soubor:./CviceniData/SimulAQ3D226ra.root tak si muzeme vyzkouset, jak pracuje.

Page 110: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 8. ZPRACOVANI SIGNALU ANALOGOVEHO DETEKTORU, VYHODNOCOVANI SPEKTER109

Figure 8.16: Formule na fitovanı pıku spektra

Figure 8.17: Prıklad analyzy 2D spektra

Figure 8.18: Prıklad analyzy 3D spektra, dole je detail 3D pıku, jak se rozsep-aroval po dekonvoluci

Page 111: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 9

Polohovanı detektoru(alignment)

Cvicenı: prıklad polohovanı teleskopu a detektoruPolohovanı teleskopu a detektoru (alignment) je dulezitou fazı analyzi testua experimentu. Pokud mechanicky ulozıme detektory do presne zmerenepolohy, nenı softwarove polohovanı nutne. Vetsinou ale pozadovana presnostvysledku vyzaduje presnejsı dohledanı poloh jednotlivych detektoru. K tomuse da vyuzıt fitovacı procedury, ktere jsou soucastı programu MS Excell (surcitymi nestandardnımi ale moznymi kroky), Origin (???), Paw - HBooknebo ROOT, v poslednıch dvou to zabezpecuje balık Minuit. V dalsıchcastech si ukazeme, jak s nekterymi temito nastroji pracovat a dosahnouti pomerne sloziteho algoritmu polohovanı. Polohovanı je nutne zopakovat pokazdem mechanickem nebo jinem zasahu, kdy hrozı pohnutı s detektorami.

9.1 Podmınky - selekce vhodnych eventu

Pro alignment vybırame ”spolehlive eventy”, tj. eventy ve kterych jsou prahynastavene tak, aby jenom nase merena udalost byla zaevidovana a nebylpokud mozno zadny sum. Obojı zabezpecıme pro teleskopy i pro testo-vane detektory (DUT). Obvyklou podmınkou pak pro zvoleny prah je, aby vkazdem teleskopu i DUT byl prave jeden jediny zaznamenany hit. Pro prah3.5fC to bylo kolem 30% udalostı, ale muze se stat, ze jich bude podstatnemene. Pro tento prıpad se pro merenı urcene pro alignment nabıra vetsı ob-jem dat, i vıc nez 20 000. Pro standardnı polohovanı pak potrebujeme kolem600 eventu a vıc.

110

Page 112: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 111

9.2 Minimalizace kvadratu odchylek a align-

ment teleskopu

Pro spolehlive pravouhlou strukturu teleskopu nebo detektoru nam stacı za-kladnı posouvanı a rotovanı detektoru, operace rotace a translace pro i-tyteleskop:

xN(i) = (x0(i) + par[0](i)) ∗ cos(par[1](i)) + (y0(i) + par[2](i)) ∗ sin(par[3](i))(9.1)

yN(i) = −(x0(i)+par[0](i))∗sin(par[1](i))+(y0(i)+par[2](i))∗cos(par[3](i))(9.2)

kde x0, y0 jsou hodnoty pred transformacı - zmerene , xN , yN jsou hodnotypo transformaci a par[i] jsou fitovane prametry. Pokud nası odezvou jsoucıslo stripu xstr, ystr ktery dal odezvu, hodnoty x0, y0 jeste prepocıtame doskaly mm:

x0 = xstr ∗ pitchx (9.3)

y0 = ystr ∗ pitchy (9.4)

kde pitchx, pitchy je roztec - vzdalenost stripu - detekcnıch diod.

Za predpokladu, ze odezvu v detektorech zanechaly rovnobezne castice, pakocekavame, ze se detektory dajı posunout a natocit tak, aby se stopy prekryly.Minimalizuje se pak odchylka ∆ polohovaneho detektoru (i) s naprıkladprvnım teleskopem s indexem (0), ktery budeme brat za vztazny a urcujıcısouradnicovou soustavu:

∆x = xN(i)− xN(0) (9.5)

∆y = yN(i)− yN(0) (9.6)

∆ = ∆2x + ∆2

y (9.7)

Vysledkem minimalizace je nalezenı sady parametru par[i] pro kazdy teleskop(krome prvnıho, ktery jsme vzali jako vztazny).

9.3 Alignment detektoru (DUT)

Jako teleskopy se obvykle vyuzıvajı co nejkvalitnejsı detektory s rovnobeznymistripy a pro x a y souradnici se nastavujı pokud mozno kolmo vuci sobe, jejichalignment jsme uz popsali. Pro detektory muze byt situace komplikovanejsı,

Page 113: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 112

naprıklad protoze nemajı rovnobeznou strukturu stripu. Pro jejich alignmentje nutne znat dobre geometrii stripu a najıt odpovıdajıcı rovnici vhodnoupro alignment, dobre popisujıcı geometrii a jeste dostatecne jednoznacnou,aby mohla minimalizace uspesne probehnout. Pro EC SCT ATLAS bylocharakteristicke usporadanı stripu do vejıre (fan). Proto byla hledana rovnicevhodna pro alignment, presny popis geometrie nebyl pro alignment vhodny,protoze hrozily nejednoznacnosti. Nakonec jsme zvolili rovnici vyhovujıcıpoloze DUT se stripy ve smeru osy y:

xN = ((par[0]∗Tx)+(par[1]∗Ty)+(par[2]∗Tx∗Ty)+(par[3]∗DUT )+par[4])(9.8)

kde jednotlive parametry majı nasledujıcı interpretaci:xN - vysledna poloha pruletu castice detektorem DUTTx, Ty - poloha pruletu castice vypocıtana z drahy pomocı teleskopuDUT - cislo stripu DUT, ktery dal odezvu (DUT mel binarnı readout protonedaval mezistripovou informaci o poloze pruletu)par[0] - roztec teleskopu (pitch) (neladeny parametr)par[1] - korekce na ruznou roztec DUT, protoze mel stripy do vejırepar[2] - korekce na ”vejırovitost” stripu na DUT, odpovida uhlu mezi sousednımistripy, nekdy neni potrebne tento parametr ladit, u barel modulu s rovnobeznymistripy je par[2] = 0.par[3] - strednı roztec stripu DUT, prumerna hodnotapar[4] - posun detektoru

Pred minimalizacı rovnice je potrebne spravne nastavit znamenko u parametrupar[3], protoze je opacne, kdyz cıslujeme stripy DUT z druhe strany. Takezalezı, jak natocıme DUT vucı teleskopum, cıslovanı je pevne dane vycıtavacıelektronikou a nasledne DAQ softwarem.

V teto casti nebyl podrobne resen ukol nalezenı drahy castice pomocı teleskopua urcenı mısta prusecıku castice s DUT, bude to reseno v dalsı kapitole.

9.4 Uzitecne rady a doporucenı

Pri alignmentu vyuzitım minimalizace kvadratu odchylek je uzitecne vyloucitsumove hity z minimalizace. I jednotlivy hit zahrnuty do minimalizace muzeodvest parametry daleko od jejich skutecne hodnoty, protoze minimalizacnıalgoritmus ho musı zahrnout do vypoctu. Orezavanı hodnot, ktere vyuzijemek alignmentu, nesmı byt z druhe strany zase prehnane, protoze program muze

Page 114: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 113

ztratit schopnost najıt resenı a muze se stat, ze budeme ladit na zavislemvyberu dat. Z nası zkusenosti se osvedcila nasledujıcı sekvence kroku, kdyzuz mame soubor eventu na alignment:

1. Vsechny rezidualy zatım nealignmentovane (omluvam se za krkolomneslovo) si zobrazit do histogramu a urcit si prvnı hranici (2σ fitovanehoGausse)

2. Vybrat eventy uvnitr hranice

3. Minimalizovat soucet vsech kvadratu odchylek a najıt parametry align-mentu

4. Vratit se zpatky k celemu kompletnımu souboru dat (dulezity krok,abychom se nedostali mimo realna data do zavisleho vyberu vzorku)

5. Rezidualy dat znova histogramovat a najıt novy vyber dat zase v hranicıchfitu Gaussem v rozmezı treba ±(2σ)

6. a zhruba 3x zopakovat body 2 az 5

7. Kontrolovat, jestli se zmensuje σ fitu Gaussem nad celym souboremdat, pokud se prestane zmensovat, zkontrolovat, jestli presnost fitu nenına hranicıch mozneho a ukoncit minimalizaci, prıpadne zacıt hledatchybu

Komplikacı je, kdyz je DUT prılis zasumeny (v praxi treba silne radiacneposkozeny modul, ozareny). Tehdy musıme do analignmentu zahrnout vsechnyhity, protoze predem nevıme, ktery je sumovy a ktery je od signalu z castice.Opatrny vyber dat orezavanım podle histogramu rezidualu je pak velmidulezity.

Prednastavenı parametru a jejich omezenı je dalsım uzitecnym krokem, kteryzlepsuje konvergenci minimalizace k spravnym hodnotam a zamezuje zvrhnutıminimalizace do lokalnıch minim nebo do extremu. Pokud zname moznerozmezı hodnot fitovanych parametru, je vzdy uzitecne je prednastavit.

Dalsım a poslednım doporucenım je zacınat minimalizaci fitovanım jen nekolikaparametru a s mensı presnostı, pak je zmrazit a fitovat dalsı parametry, typak zmrazit a vratit se k prvnım parametrum, zvetsit u nich pozadovanoupresnost a dat je minimalizovat. Takto zopakovat vıckrat za sebou totokolecko umoznuje najıt parametry i pomerne slozitych vztahu. Zustava vecıintuice, znalosti a zkusenosti, jak ktere parametry vybırat do fitu minimal-izace, nekdy se musı postupovat prıpad od prıpadu individualne ke kazdemuDUT, nejvetsı komplikacı zustava, kdyz je DUT prılis zasumeny.

Page 115: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 114

9.5 Prıklad v MS Excell

Zatım nenı pripraven a mozna nikdy nebude, protoze excell skutecne nenıprostredı moc vhodne pro tuto ulohu, a kdyz to nekdo udela, vysledek jetezko prenositelny na jine usporadanı geometrie experimentu.

9.6 Prıklad v ROOT

Funkcnı makra v ROOTu jsou na web:

<http:///www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/Priklady v ROOT C/macros/>

Prıklad na volani optimalizacnı trıdy TMinuit na alignment tekleskopu jepod nazvem AlignTel.cpp , spoustı se prıkazem .x AlignTel() . Dosazeneparametry alignmentu jsou:

Alignment for telescopes from file d:/ROOT_dstFiles/dst4749.root

Equotion X: resid = (Tx + par[0])*cos(par[1]) + (Ty + par[2])*sin(par[3])-T0x

Equotion Y: resid = -(Tx + par[0])*sin(par[1]) + (Ty + par[2])*cos(par[3])-T0y

Telescope 1:

Par0 = 0.1487 +- 0.0184

Par1 = -0.0051 +- 0.0008

Par2 = 0.6615 +- 0.0184

Par3 = -0.0035 +- 0.0009

Telescope 2:

Par0 = -0.9637 +- 0.1233

Par1 = -0.0061 +- 0.0055

Par2 = 7.8374 +- 0.1355

Par3 = -0.0086 +- 0.0061

Telescope 3:

Par0 = -1.3877 +- 0.1218

Par1 = -0.0088 +- 0.0055

Par2 = 7.9376 +- 0.1326

Par3 = -0.0026 +- 0.0061

Je zrejme, ze hodnoty z teleskopu bylo nutne posunout vuci Teleskopu 0, proTel1 je take videt, ze stripy ve smeru x a y nejsou presne rovnobezne s Tel0 aze nejsou ani vuci sobe ve stejnem uhlu jako je ma Tel0. Nemuzeme rıci, zdajsou na sebe kolme a ktere presneji. Toto ale nenı v tomto prıpade dulezite.Pro Tel2 a Tel3 v ramci chyby parametru nemuzeme udelat tak jednoznacnezavery jako pro Tel1.

Prıklad na volanı optimalizacnı trıdy TMinuit na alignment detektoru EC/barrelSCT ATLAS je pod nazvem AlignDet.cpp , spoustı se prıkazem .x AlignDet()

Page 116: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 115

Prıklad na volani optimalizacnı trıdy TMinuit s tim¨, ze i samotna funkcevola trıdu TMinuit, je pod nazvem pokusfitnew.h , spoustı se prıkazy.L pokusfitnew.h

Ifit()

Page 117: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 9. POLOHOVANI DETEKTORU (ALIGNMENT) 116

Figure 9.1: Histogram rezidualu ori-ginalnıch dat z teleskopu srovnanım steleskopem Tel0. Nahore je teleskop Tel1vzdaleny 20mm od Tel0, dole je Tel2vzdaleny 1000mm, rozptyl rezidualu dıkyhlavne mnohonasobnemu rozptylu na ma-terialu DUT mezi nimi

Figure 9.2: Histogram rezidualu dat zteleskopu po posunu - alignment translacı

Figure 9.3: Vysledny histogram rezidualudat z teleskopu - alignment translacı + ro-tacı. Na Tel2 nenı viditelne zlepsenı

Figure 9.4: Korelace prusecnıku drah zteleskopu s DUT a odezvy z DUT, jezrejma antikorelace, tj. cıslovanı DUTstripu je z opacne strany ve srovnanı steleskopy

Page 118: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 10

Fitovanı funkcı, automatizaceanalyzi

10.1 Rucnı urcenı chyby pri regresi - uni-

verzalnı navod

Pro lidi, kterı neumejı programovat, jsou v casove tısni, aby se to naucili apotrebujı rychle a spolehlive nafitovat namerene body svou vlastnı funkcı,ktera nenı v menu programu nabızım resenı v programu Excell, pokud jstes nım alespon trochu v pratelskem vztahu. Popıseme univerzalnı recept naurcenı jakekoli chyby pri regresi (popis vypracoval Peter Kvasnicka, za co mudekuji).

95%-ny konfidencny elipsoid pro linearnı regresi je:

SSconf (α) = SSregr ∗ (1 + p/(n− p) ∗ F (p, n− p, 1− α)) (10.1)

SSregr - soucet ctvercu odchylek po nafitovanı modeluα - male cıslo, 0,05 pokud chceme 95% konf. elipsoidSSconf (α) - hranice (1 − α)-konfidencnıho elipsoidu (tedy hranice, PODkterou by mel v 95% prıpadu lezet soucet ctvercu, kdyz je model spravny)n - pocet datp - pocet fitovanych parametruF (p, n − p, 1 − α) - kriticka hodnota F -rozdelenı pro p a n − p stupnu vol-nosti a pravdepodobnost 1− α (pocıta to naprıklad Excell nebo se to najdev tabulkach. Musı se dat pozor, jestli program / tabulka potrebuje (1 − α)nebo α. Excell vyzaduje α. Mela by to byt hodnota kolem 2-3, mensı kdyz

117

Page 119: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 10. FITOVANI FUNKCI, AUTOMATIZACE ANALYZI 118

mame hodne dat)

Jak spocıst chybu: snazıme se najıt nejvetsı odchylku smerem nahoru a dolu,pri ktere soucet ctvercu nepresahne SSconf (α). Na to se hodı napr. Ex-celovsky resitel (solver), kde muzeme zadat ulohu najıt parametry regrese,pri kterych sa dosahne maximum / minimum nejake funkce parametru re-grese, pri podmınce, ze SS je mensı nebo rovny SSconf (α). (jinymi slovy:kdyz hybeme hodnotou smerem od hodnoty, dane regresı, SS sa zvetsujeaz vyleze nad SSconf (α). Po ceste je ale potreba stale dopocıtavat model,protoze ve vseobecnosti se budou menit parametry.)

Toto muzeme delat u linearnı a nelinearnı regrese, pro pocıtanı chyb parametru,predpovedi modelu, hodnot inverznı kalibrace a dal co potrebujeme. Vyzadujesi to dobry optimalizator, ktery umı pracovat se slozitymi omezovanımi (con-straint), v nejhorsım prıpade to muzeme realizovat rucne - dokolecka: zmenithodnotu, dofitovat model, kouknout, jestli jsme nad nebo pod SSconf (α).

Vysledek, co dostaneme, je 95%-ny interval spolehlivosti, pokud potrebujemeneco typu standardnı odchylky, mame dve moznosti: hledat 66%-ny intervalspolehlivosti, nebo podelit hranice 95%-neho intervalu dvema. Kdyz mamelinearnı model, mel by byt interval symetricky, u nelinearnıho ve vseobecnostinebude.

10.2 Fitovanı funkcı v prostredı Excel - rucne

Prıklad fitovanı bodu vlastnı funkcı v Excelu je na webu (autor Peter Kvasnicka):

<http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/JinePriklady/FitovaniRucne.xls>

10.3 Fitovanı funkcı v prostredı ROOT

Program ROOT ma silne prostredky na fitovanı histogramu a funkcı. Merenebody je mozne hromadne nebo individualne zatızit chybou merenı a fitovatruznymi standardnımi postupy.

V prıkladu FitFunkci.cpp je ukazano fitovanı funkcı nabızene programem anekolik zpusobu jak fitovat vlastnımi funkcemi bez parametru nebo s parame-try. Metoda je ukazana jak na histogramu tak na grafu. Program automat-icky vypıse i zakladnı hodnoty, ktere se fitem dosahnou. Dalsı moznosti, jakofitovanı jen v urcitem rozsahu, skladanı funkcı, navazovanı funkcı na sebe avliv chyby jednotlivych fitovanych bodu na fit (program ROOT umoznuje

Page 120: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 10. FITOVANI FUNKCI, AUTOMATIZACE ANALYZI 119

individualnı nastavovanı chyby fitovanych bodu) jsou popsany v manualuROOT nebo se dajı dohledat ve zdrojovem kodu.//

void FitFunkci(void) {

TH1F *h_Priklad1;

TH1F *h_Priklad2;

TH1F *h_Priklad3;

TH1F *h_Priklad4;

TGraph *g_Priklad1;

h_Priklad1 = new TH1F("Priklad1","Priklad 1",100,-4,4);

h_Priklad1->FillRandom("gaus",20000);

h_Priklad2 = new TH1F("Priklad2","Priklad 2",100,1,6);

h_Priklad2->FillRandom("gaus",200);

h_Priklad2->SetFillColor(kBlue);

h_Priklad3 = new TH1F("Priklad3","Priklad 3",100,-4,4);

h_Priklad3->FillRandom("gaus",200);

h_Priklad3->SetFillColor(5);

h_Priklad4 = new TH1F("Priklad4","Priklad 4",100,-4,4);

h_Priklad4->FillRandom("gaus",120);

h_Priklad4->SetFillColor(3);

g_Priklad1 = new TGraph(h_Priklad1);

h_Priklad1->SetFillColor(kRed);

TCanvas *c_Priklad1 = new TCanvas("c_Priklad1","Priklad 1",200,10,800,800);

h_Priklad1->DrawCopy();

h_Priklad1->Fit("gaus"); // fit of histogram with predefined functions

c_Priklad1->Update();

TCanvas *c_Priklad2 = new TCanvas("c_Priklad2","Priklad 2",200,10,800,800);

g_Priklad1->Draw("A*");

g_Priklad1->Fit("gaus"); // fit of graph with predefined functions

c_Priklad2->Update();

// setting of function by user:

TF1 *f1 = new TF1("f1","sin(x)/x",1,6); // set function sin(x)/x in range (0,10)

TF1 *f2 = new TF1("f2","f1*2",1,6); // set funcion f2 drived from f1

TCanvas *c_Priklad3 = new TCanvas("c_Priklad3","Priklad 3",200,10,800,800);

h_Priklad2->DrawCopy();

h_Priklad2->Fit("f1"); // call fit procedure

// setting of function with parameters:

TF1 *f3 = new TF1("f3","[0]*x*sin([1]*x)",-3,3); //there are parameters [0] and [1]

f3->SetParameter(0,10); // setting of parameter [0] to value 10

f3->SetParameters(10,5); // setting of parameter [0] -> 10, [1] -> 5

TCanvas *c_Priklad4 = new TCanvas("c_Priklad4","Priklad 4",200,10,800,800);

h_Priklad3->DrawCopy();

h_Priklad3->Fit("f3"); // call fit procedure

// call my own external function:

TF1 *f4 = new TF1("fit",fitf,-3,3,3); // set my function to name "fit"

f4->SetParameters(500,200,32.3); //set value of all 3 paramters

f4->SetParNames ("Constant","Mean_value","Sigma"); // set name for parameters

TCanvas *c_Priklad5 = new TCanvas("c_Priklad5","Priklad 5",200,10,800,800);

h_Priklad4->DrawCopy();

h_Priklad4->Fit("fit"); // call fit procedure

}

// define my own function with 3 parameters

Double_t fitf(Double_t *x,Double_t *par)

{

Double_t arg = 0;

if (par[2] != 0) arg = (x[0] - par[1])/par[2];

Double_t fitval = par[0]*TMath::Exp(-0.5*arg*arg);

Page 121: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 10. FITOVANI FUNKCI, AUTOMATIZACE ANALYZI 120

return fitval;

}

//

10.4 Automatizace procesu fitovanı funkcı.

Pro automatizaci procesu fitovanı (ale platı to pro vetsinu analyz popiso-vanych v teto prednasce) platı vcelku obecne zasady:

1. volbou jednoducheho, interaktivnıho, nazorneho a rychleho resenı dosahnemerychle predbezneho orientacnıho vysledku. Mame obvykle mensı moznostimodifikace resenı, casto neprehlednou strukturu a ne moc pod kon-trolou, s malou moznostı kroky analyzy na sebe navazovat a spojovatdo vetsıch automatizovanych celku (Excel, Origin).

2. nebo si muzeme zvolit zdouhavejsı cestu programovanı v nekteremvhodnejsım jazyku nebo prostredı (Paw, HBook, ROOT, mene obvykle:C/C++, Fortran, Pascal, Basic). Tady musıme obvykle znat presnekroky co potrebujeme spocıtat, muzeme analyzu strukturovat, podlepotreby doplnovat, navazovat na sebe a spoustet vypocty v davkach(batch). Nevyhodou je pomerne zdlouhave programovanı, a znalostalespon zakladnıch zasad programovanı, coz se vracı v kvalite a flexi-bilite vystupu.

Prıkladem druhe cesty muzou byt prıklady uvadene v teto prednasce.

Page 122: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 11

Fitovanı drahy castice

Standardnı fitovanı bodu prımkou metodou nejmensıch ctvercu je casto vyuzıvanypostup. Je dulezite si uvedomit nekolik zakladnıch vlastnostı a podmınek:

1. metoda nejmensıch ctvercu funguje spravne, kdyz se chyba merenıchova podle gaussovskeho rozdelenı

2. chyba merenı je stejna pro vsechny body

3. princip minimalizace pres kvadrat odchylky zvetsuje vliv vzdalenychbodu na fitovanı

4. hodnoty na ose x jsou zname a presne, nezatızene chybou

5. minimalizujeme soucet ctvercu nad odchylkami ve smeru y

6. odlehle hodnoty (body, vzdalene od hlavnı skupiny bodu v x nebo y)majı velky vliv na vyslednou prımku (tzv. vlivne body jsou hlavneodlehle body ve smeru x)

7. metoda je pro linearnı zavislost y na x, pokud je zavislost jina, je nutneji linearizovat transformacı a pak aplikovat MNS

8. je dulezite se dıvat na vysledne odchylky treba i v grafickem vystupu,mohou odhalit nekorektnı fitovanı

9. zobrazenı parovych hodnot residual vs. cas nam muze ukazat zmeny avyvoj po dobu merenı

10. MNS je mozne vyuzıt i na mene standardnı podmınky vyhodnocovanıdat, jak bude ukazane v dalsıch castech

121

Page 123: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 122

11.1 Fitovanı drahy castice prımkou I.

Fitovanı metodou nejmensıch ctvercu minimalizacı souctu ctvercu nad od-chylkami ve smeru osy y je vhodne, pokud je hledana prımka pokud moznorovnobezna s osou x nebo x-ova hodnota je presne znama a jsou splneneostatnı podmınky popsane v uvodu kapitoly. Prıklad je na obr 11.1 kteryzıskame nasledujıcım makrem:

Figure 11.1: Ukazka dvou zpusobu ohranicenı regresnı zavislosti: pasempredikce (cervene cary) a pasem spolehlivosti (zelene tecky)

//

void TrackLinearFit(void) {

float AA,BB,CC,AA1,BB1,CC1,a_A0_track,a_A1_track,a_Sigma_track,a_Sigma_track2;

float a_TelDist[6], a_Tel[6];

float TelPitch;

float AvrTelDist;

float TelDis[100], Telx[100], TelSig[100];

int i;

// ************************* setting of points for fitting *******************************

TelPitch = .05;

a_Tel[0] = 176.8 * TelPitch; a_Tel[1] = 178.2 * TelPitch;

a_Tel[2] = 175.2 * TelPitch; a_Tel[3] = 177.01 * TelPitch;

a_TelDist[0] = 25.; a_TelDist[1] = 50.;

a_TelDist[2] = 990.; a_TelDist[3] = 1015.;

for (i=0;i<100;i++) {

TelDis[i] = a_TelDist[0] + i/99.*(a_TelDist[3]-a_TelDist[0]);

}

Page 124: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 123

// ************************* calculation of fit (regress) line ***************************

AA = 3.; BB = 0.; CC = 0.; BB1 = 0.; CC1 = 0.;

for (i=0;i<AA;i++) {

BB += a_TelDist[i]; // sum Dtel

CC += a_Tel[i]; //sum Tel

BB1 += a_TelDist[i] * a_TelDist[i];

CC1 += a_TelDist[i] * a_Tel[i];

}

AA1 = BB;

a_A0_track = (CC * BB1 - BB * CC1) / (AA * BB1 - BB * AA1);

a_A1_track = (AA * CC1 - CC * AA1) / (AA * BB1 - BB * AA1);

for (i=0;i<100;i++) {

Telx[i] = a_A0_track + (a_A1_track * TelDis[i]);

}

// ******************** standard sigma calculation (predicate region) ********************

printf("******** standard sigma (predicate region) calculation\n");

printf("Deviations: ");

a_Sigma_track = 0;

for (i=0;i<AA;i++) {

BB = (a_Tel[i] - (a_A0_track + a_A1_track * a_TelDist[i]));

printf("%f ",BB);

a_Sigma_track = a_Sigma_track + (BB * BB);

}

printf("\n");

if (AA > 2)

a_Sigma_track = a_Sigma_track / (AA - 2)/AA;

a_Sigma_track = sqrt(a_Sigma_track);

printf(" Tel: ");

for (i=0;i<AA;i++)

printf("%8.2f ",a_Tel[i]);

printf("\n");

printf("TelDist: ");

for (i=0;i<AA;i++)

printf("%8.2f ",a_TelDist[i]);

printf("\n");

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f ",a_A1_track);

printf("Sigma: %9.5f \n",a_Sigma_track);

printf("\n");

// ************************* reliability region calculation ******************************

printf("******** reliability region calculation\n");

printf("\n");

printf("Deviations: ");

a_Sigma_track2 = 0;

for (i=0;i<AA;i++) {

BB = (a_Tel[i] - (a_A0_track + a_A1_track * a_TelDist[i]));

printf("%f ",BB);

a_Sigma_track2 = a_Sigma_track2 + (BB * BB);

}

AvrTelDist = AA1 / AA;

printf("\n");

if (AA > 2)

a_Sigma_track2 = a_Sigma_track2 / (AA - 2);

for (i=0;i<100;i++) {

TelSig[i] = a_Sigma_track2*(1/AA+((TelDis[i]-AvrTelDist)*(TelDis[i]-AvrTelDist)/BB1));

TelSig[i] = sqrt(TelSig[i]);

}

printf(" Tel: ");

Page 125: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 124

for (i=0;i<AA;i++)

printf("%8.2f ",a_Tel[i]);

printf("\n");

printf("TelDist: ");

for (i=0;i<AA;i++)

printf("%8.2f ",a_TelDist[i]);

printf("\n");

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f \n",a_A1_track);

printf("Sigma in start: %9.5f \n",TelSig[0]);

printf("Sigma in mid : %9.5f \n",TelSig[50]);

printf("Sigma in end : %9.5f \n",TelSig[99]);

printf("\n");

// ************************* PQ sigma calculation - end **********************************

// ************************* Graphical preview *******************************************

TH2F *resid;

TLine line;

TMarker znacka;

TText *text1;

char text[300];

resid= new TH2F("TrackSigma","Study of Sigma of Track",200,0.,1100.,200,8.6,9.2);

TCanvas *c1 = new TCanvas("trt");

c1->Update();

resid->SetFillColor(2);

resid->SetXTitle("z [mm]");

resid->SetYTitle("x resp. y [mm]");

resid->DrawCopy();

znacka.SetMarkerStyle(7);

znacka.SetMarkerStyle(8);

znacka.SetMarkerSize(2);

znacka.SetMarkerColor(1);

line.SetLineColor(1);

for (i=0;i<AA;i++) {

znacka.DrawMarker(a_TelDist[i],a_Tel[i]);

line.DrawLine(a_TelDist[i],8.7,a_TelDist[i],9.1);

}

znacka.SetMarkerSize(0.5);

znacka.SetMarkerColor(3);

for (i=0;i<100;i++) {

znacka.DrawMarker(TelDis[i],Telx[i] + TelSig[i]);

znacka.DrawMarker(TelDis[i],Telx[i] - TelSig[i]);

}

sprintf(text,"Telescopes: ");

for (i=0;i<AA;i++)

sprintf(text,"%s%8.2f ",text,a_Tel[i]);

text1 = new TText(200,9.16,text);

text1->SetTextSize((float)0.04);

text1->Draw();

sprintf(text,"Tel. Distance: ");

for (i=0;i<AA;i++)

sprintf(text,"%s%8.2f ",text,a_TelDist[i]);

text1 = new TText(200,9.12,text);

text1->SetTextSize((float)0.04);

text1->Draw();

sprintf(text,"Results: x = %9.2f + %10.7f * z",a_A0_track,a_A1_track);

text1 = new TText(200,9.08,text);

text1->SetTextSize((float)0.04);

text1->Draw();

sprintf(text,"Sigma in start: %9.3f",TelSig[0]);

text1 = new TText(200,9.04,text);

Page 126: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 125

text1->SetTextSize((float)0.04);

text1->Draw();

sprintf(text,"Sigma in mid (red line): %9.3f",TelSig[50]);

text1 = new TText(200,9.00,text);

text1->SetTextSize((float)0.04);

text1->Draw();

sprintf(text,"Sigma in end : %9.3f",TelSig[99]);

text1 = new TText(200,8.96,text);

text1->SetTextSize((float)0.04);

text1->Draw();

line.SetLineColor(4);

line.DrawLine(0,a_A0_track,1100,a_A0_track + a_A1_track * 1100);

line.SetLineColor(2);

line.DrawLine(0,a_A0_track+a_Sigma_track,1100,a_A0_track+a_A1_track*1100+a_Sigma_track);

line.SetLineColor(2);

line.DrawLine(0,a_A0_track-a_Sigma_track,1100,a_A0_track+a_A1_track*1100-a_Sigma_track);

// gROOT->ProcessLine(".q"); //Close ROOT session if end of macro

}

//

11.2 Fitovanı drahy castice prımkou II.

Fitovanı metodou nejmensıch ctvercu minimalizacı souctu ctvercu se stra-nou rovnou vzdalenosti bodu od fitovane prımky je vhodne, i kdyz x i ysouradnice bodu jsou zatızene chybou, metoda je obecnejsı a dava lepsıvysledky. Metoda se da pouzıt i v prıpade, ze zname pomer chyby mezix a y hodnotami, reaguje na to pak i smerovanı regresnı prolozene krivky, vmeznıch situacıch kdy je pomer mezi chybami 0 nebo ∞, se regresnı prımkadostane do polohy popsane v predchozı casti pro x nebo pro y urcene presne.

Deming (1943) a Passing a Bablok (1983) metodou vazene regrese anebomedian castecnych odhadu regresnıho koeficientu umoznily najıt jedinou re-gresnı prımku a zohlednujı prıtomnost nahodne chyby u merene i referencnımetody.

Prıkladem srovnavajıcım vysledky ruznych zpusobu fitovanı dostaneme nasledujıcıhodnoty pro fit stejnych 16-ti bodu podle obr 11.2:

******** standard sigma (predicate region) calculation, X is precise, Y with ERROR

Results: a0: 0.69726 a1: 0.48208 Sigma: 11.1

******** reliability region calculation, X is precise, Y with ERROR

Results: a0: 0.69726 a1: 0.48208 Sigma in start-end: 3.6, in mid : 2.8

******** standard sigma (predicate region) calculation, Y is precise, X with ERROR

Results: a0: -12.52378 a1: 0.77589 Sigma: 14.1

******** reliability region calculation, Y is precise, X with ERROR

Results: a0: -12.52378 a1: 0.77589 Sigma in start-end: 8.6, in mid : 4.5

******** reliability region orthogonal or general calculation (linear model)

Y with ERROR, X with ERROR, regresion orthogonal: Lambda = 1, general: Lambda != 1

Valid only if for all errors is: ErrY = Lambda * ErrX:

Page 127: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 126

Example for Lambda = 0.5, a0: -4.08850 a1: 0.58844

ERROR of x and y - use maximal likelyhood estimation of ERROR

ERRORS Sigma: in x: 6.59 , in y: 4.66

Figure 11.2: Prıklad ruznych zpusobu prelozenı bodu prımkou metodaminejmensıch ctvercu

Vysledky a grafy byli zıskany nasledujıcım makrem: //

void TrackLinearFitComp(void) {

gStyle->SetOptStat(0);

gStyle->SetOptFit();

float AA,BB,CC,AA1,BB1,CC1,a_A0_track,a_A1_track,a_Sigma_track,a_Sigma_track2;

float a_TelDist[16], a_Tel[16];

float TelPitch;

float AvrTelDist;

float TelDis[100], Telx[100], TelSig[100];

int i;

Page 128: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 127

// ************************* setting of points for fitting *******************************

TelPitch = .05;

for (i=0;i<16;i++) {

a_TelDist[i] = 6. * i;

a_Tel[i] = gRandom->Rndm(i) * 40. - 10. + i * 2.;

}

for (i=0;i<100;i++) {

TelDis[i] = a_TelDist[0] + i/99.*(a_TelDist[15]-a_TelDist[0]);

}

// ************************* calculation of fit (regress) line , y is depended from x ****

AA = 16.; BB = 0.;

FindRegres(AA,&BB,&BB1,a_TelDist,a_Tel,&a_A0_track,&a_A1_track);

AA1 = BB;

for (i=0;i<100;i++) {

Telx[i] = a_A0_track + (a_A1_track * TelDis[i]);

}

// ******************** standard sigma calculation (predicate region) ********************

printf("******** standard sigma (predicate region) calculation, X is precise, Y with ERROR\n");

a_Sigma_track = 0;

for (i=0;i<AA;i++) {

BB = (a_Tel[i] - (a_A0_track + a_A1_track * a_TelDist[i]));

a_Sigma_track = a_Sigma_track + (BB * BB);

}

if (AA > 2)

a_Sigma_track = a_Sigma_track / (AA - 2);

a_Sigma_track = sqrt(a_Sigma_track);

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f ",a_A1_track);

printf("Sigma: %9.5f \n",a_Sigma_track);

printf("\n");

// ************************* reliability region calculation ******************************

printf("******** reliability region calculation, X is precise, Y with ERROR\n");

a_Sigma_track2 = 0;

for (i=0;i<AA;i++) {

BB = (a_Tel[i] - (a_A0_track + a_A1_track * a_TelDist[i]));

a_Sigma_track2 = a_Sigma_track2 + (BB * BB);

}

AvrTelDist = AA1 / AA;

if (AA > 2)

a_Sigma_track2 = a_Sigma_track2 / (AA - 2);

for (i=0;i<100;i++) {

TelSig[i] = a_Sigma_track2*(1/AA+((TelDis[i]-AvrTelDist)*(TelDis[i]-AvrTelDist)/BB1));

TelSig[i] = sqrt(TelSig[i]);

}

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f \n",a_A1_track);

printf("Sigma in start: %9.5f \n",TelSig[0]);

printf("Sigma in mid : %9.5f \n",TelSig[50]);

printf("Sigma in end : %9.5f \n",TelSig[99]);

printf("\n");

// ************************* Graphical preview *******************************************

TH2F *resid;

TLine line;

TMarker znacka;

TText *text1;

char text[300];

// resid= new TH2F("TrackSigma","Study of Sigma of Track",200,0.,90.,200,0,50);

Page 129: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 128

resid= new TH2F("TrackSigma","Study of Sigma of Track",200,-20.,110.,200,-30,80);

TCanvas *c1 = new TCanvas("trt");

c1->Update();

resid->SetFillColor(2);

resid->SetXTitle("z [mm]");

resid->SetYTitle("x resp. y [mm]");

resid->DrawCopy();

znacka.SetMarkerStyle(7);

znacka.SetMarkerStyle(8);

znacka.SetMarkerSize(2);

znacka.SetMarkerColor(1);

line.SetLineColor(1);

for (i=0;i<AA;i++) {

znacka.DrawMarker(a_TelDist[i],a_Tel[i]);

// line.DrawLine(a_TelDist[i],8.7,a_TelDist[i],9.1);

}

znacka.SetMarkerSize(0.5);

znacka.SetMarkerColor(3);

for (i=0;i<100;i++) {

znacka.DrawMarker(TelDis[i],Telx[i] + TelSig[i]);

znacka.DrawMarker(TelDis[i],Telx[i] - TelSig[i]);

}

line.SetLineColor(4);

line.SetLineWidth(4);

line.DrawLine(0,a_A0_track,90,a_A0_track + a_A1_track * 90);

line.SetLineWidth(1);

line.SetLineColor(2);

line.DrawLine(0,a_A0_track+a_Sigma_track,90,a_A0_track+a_A1_track*90+a_Sigma_track);

line.SetLineColor(2);

line.DrawLine(0,a_A0_track-a_Sigma_track,90,a_A0_track+a_A1_track*90-a_Sigma_track);

// ************************* calculation of fit (regress) line , x is depended from y ****

AA = 16.; BB = 0.;

FindRegres(AA,&BB,&BB1,a_Tel,a_TelDist,&a_A0_track,&a_A1_track);

AA1 = BB;

c1->cd();

float a_A1_track0 = a_A1_track;

float a_A0_track0 = a_A0_track;

a_A1_track = 1./a_A1_track;

a_A0_track = -a_A0_track*a_A1_track;

// ******************** standard sigma calculation (predicate region) ********************

printf("******** standard sigma (predicate region) calculation, Y is precise, X with ERROR\n");

a_Sigma_track = 0;

for (i=0;i<AA;i++) {

BB = (a_Tel[i] - (a_A0_track + a_A1_track * a_TelDist[i]));

a_Sigma_track = a_Sigma_track + (BB * BB);

}

if (AA > 2)

a_Sigma_track = a_Sigma_track / (AA - 2);

a_Sigma_track = sqrt(a_Sigma_track);

printf("\n");

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f ",a_A1_track);

printf("Sigma: %9.5f \n",a_Sigma_track);

printf("\n");

// ************************* reliability region calculation ******************************

printf("******** reliability region calculation, Y is precise, X with ERROR\n");

a_Sigma_track2 = 0;

AA1 = 0;

Page 130: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 129

for (i=0;i<AA;i++) {

BB = (a_TelDist[i] - (a_A0_track0 + a_A1_track0 * a_Tel[i]));

a_Sigma_track2 = a_Sigma_track2 + (BB * BB);

AA1 = AA1 + a_TelDist[i];

}

AvrTelDist = AA1 / AA;

if (AA > 2)

a_Sigma_track2 = a_Sigma_track2 / (AA - 2);

for (i=0;i<100;i++) {

TelSig[i] = a_Sigma_track2*(1/AA+((TelDis[i]-AvrTelDist)*(TelDis[i]-AvrTelDist)/BB1));

TelSig[i] = sqrt(TelSig[i]);

}

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f \n",a_A1_track);

printf("Sigma in start: %9.5f \n",TelSig[0]);

printf("Sigma in mid : %9.5f \n",TelSig[50]);

printf("Sigma in end : %9.5f \n",TelSig[99]);

printf("\n");

// ************************* Graphical preview *******************************************

line.SetLineColor(4);

line.SetLineWidth(4);

line.DrawLine(0,a_A0_track,90,a_A0_track + a_A1_track * 90);

line.SetLineColor(2);

line.SetLineWidth(1);

line.DrawLine(0+a_Sigma_track,a_A0_track,90+a_Sigma_track,a_A0_track+a_A1_track*90);

line.SetLineColor(2);

line.DrawLine(0-a_Sigma_track,a_A0_track,90-a_Sigma_track,a_A0_track+a_A1_track*90);

znacka.SetMarkerSize(0.5);

znacka.SetMarkerColor(3);

for (i=0;i<100;i++) {

Telx[i] = a_A0_track + (a_A1_track * TelDis[i]);

}

for (i=0;i<100;i++) {

znacka.DrawMarker(TelDis[i] + TelSig[i],Telx[i]);

znacka.DrawMarker(TelDis[i] - TelSig[i],Telx[i]);

}

// ************************* calculation of fit (regress) line , orthogonal regr. ********

printf("******** reliability region orthogonal or general calculation (linear model)\n");

printf("******** Y with ERROR, X with ERROR\n");

AA = 16.; BB = 0.; CC = 0.; BB1 = 0.; CC1 = 0.;

float Lambda = 0.5; // ratio between x and y errors

printf("Regresion orthogonal: Lambda = 1, general: Lambda != 1 \n");

printf("Valid only if for all errors is: ErrY = Lambda * ErrX\n");

printf("Example for Lambda = %f \n",Lambda);

float CC2 = 0;

for (int i=0;i<(int)AA;i++) {

CC += a_TelDist[i]*a_TelDist[i]; //x^2

BB += a_Tel[i]*a_Tel[i]; //y^2

CC2 += a_Tel[i] * a_TelDist[i]; //x*y

BB1 += a_Tel[i]; //y

CC1 += a_TelDist[i]; //x

}

float avrgX, avrgY, Sx2, Sy2, Sxy;

avrgX = CC1/AA;

avrgY = BB1/AA;

Sx2 = CC/AA - avrgX * avrgX;

Sy2 = BB/AA - avrgY * avrgY;

Sxy = CC2/AA - avrgX * avrgY;

Page 131: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 130

a_A1_track = Sy2-Lambda*Sx2+sqrt((Sy2-Lambda*Sx2)*(Sy2-Lambda*Sx2)+4*Lambda*Sxy*Sxy);

a_A1_track = a_A1_track / (2 * Sxy);

a_A0_track = avrgY - a_A1_track *avrgX;

BB = 0;

for (int i=0;i<(int)AA;i++) {

BB1 = a_TelDist[i]+a_A1_track*a_Tel[i]-a_A0_track*a_A1_track;

BB1 = BB1/(1.+a_A1_track*a_A1_track);

CC = a_Tel[i] - a_A0_track - a_A1_track * BB1;

CC1 = a_TelDist[i] - BB1;

BB += CC * CC + CC1 * CC1;

}

float ErrErrX,ErrErrY;

ErrErrX = BB / (2 * AA);

ErrErrY = Lambda * ErrErrX;

printf("Results: ");

printf("a0: %9.5f ",a_A0_track);

printf("a1: %9.5f \n",a_A1_track);

printf("ERROR of x and y - use maximal likelyhood estimation of ERROR\n");

printf("ERRORS [Sigma^2 / Sigma]: in x: %f / %f , in y: %f / %f \n",

ErrErrX,sqrt(ErrErrX),ErrErrY,sqrt(ErrErrY));

// ************************* Graphical preview *******************************************

line.SetLineColor(kRed);

line.SetLineWidth(4);

line.DrawLine(0,a_A0_track,90,a_A0_track + a_A1_track * 90);

// gROOT->ProcessLine(".q"); //Close ROOT session if end of macro

}

void FindRegres(float AA,float *BBB,float *BBB1,float *a_Tel,float *a_TelDist,

float *a_A0_track,float *a_A1_track) {

float CC,BB,AA1,BB1,CC1,a_Sigma_track,a_Sigma_track2;

BB = 0.; CC = 0.; BB1 = 0.; CC1 = 0.;

for (int i=0;i<(int)AA;i++) {

BB += a_Tel[i]; // sum Dtel

CC += a_TelDist[i]; //sum Tel

BB1 += a_Tel[i] * a_Tel[i];

CC1 += a_Tel[i] * a_TelDist[i];

}

AA1 = BB;

*BBB = BB;

*BBB1 = BB1;

*a_A0_track = (CC * BB1 - BB * CC1) / (AA * BB1 - BB * AA1);

*a_A1_track = (AA * CC1 - CC * AA1) / (AA * BB1 - BB * AA1);

}

//

11.3 Urcovanı chyby polohy drahy v libo-

volnem bode

Interval spolehlivosti pro hodnotu regresnı prımky y = α + βx a predikcnıinterval pro budoucı pozorovanı jsou dva ruzne intervalove odhady, ktere sevyuzıvajı:

Interval spolehlivosti pri zadane hodnote x ma tvar:

Page 132: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 131

(y − tsy.x√Q1, y + tsy.x

√Q1) (11.1)

kde

Q1 =1

n+

(x− x)2

s2x(n− 1)(11.2)

t je kriticka hodnota Studentova t-rozdelenı s n − 2 stupni volnosti urcujıcıinterval spolehlivosti α, pro vetsı n se Q1 blızı k nule.

Predikcnı interval pro budoucı pozorovanı y pri zadane hodnote x matvar:

(y − tsy.x√Q2, y + tsy.x

√Q2) (11.3)

kde Q2 = 1−Q1, t je stejne jako predtım.

Srovnanı predikcnıho intervalu a intervalu spolehlivosti pro nezavisloupromennou x = x∗ dava zavery:

1. oba intervaly jsou nejuzsı v mıste x∗ = x

2. interval spolehlivosti pro dane x = x∗ je vzdy uzsı nez odpovıdajıcıpredikcnı interval

3. predikcnı interval je urcen pro individualnı pozorovanı, kdezto intervalspolehlivosti je pro hodnoty regresnı krivky

4. v rostoucım n se zmensuje jejich sırka, u intervalu spolehlivosti se blızık nule, u predikcnıho intervalu k 2sx,y pro p = 95%

5. poloha x∗ vuci x ovlivnuje sırku obou intervalu

Priblizne platı, ze dve rovnobezky k regresnı prımce ve vzdalenosti 2sx,y vesmeru osy y tvorı pas, kde je 95% vsech pozorovanı, platı to i pro budoucıpozorovanı.

11.4 Fitovanı zakrivenych drah

Pokud hledana zavislost nenı linearnı, muzeme pouzıt transformace a lineari-zovat fitovanı. Prehled nekterych substitucı je v tabulce 11.1

11.5 Hledanı prusecıku dvou drah, vertexu

Tato cast pro tento kurz zatım nebude prednasena a resena.

Page 133: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 11. FITOVANI DRAHY CASTICE 132

Regresnı vztah je Linearizacnı transformace Vztahy pro zıskanıdan funkcı pro x a y koeficientu a, b

y′ = x′ = a = b =

y = a+ b/x y 1/x a′ b′

y = abx ln y x exp(a′) exp(b′)y = axb ln y lnx exp(a′) b′

y = a exp(b/x) ln y 1/x exp(a′) b′

y = a+ bxn y xn a′ b′

Table 11.1: Vybrane linearizacnı transformace

Page 134: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 12

Prace na velkychexperimentech

Obsah teto casti mohl byt sepsan hlavne dıky pomoci a prıspevkum PavlaReznıcka a aktualizacı Mareka Birose v roku 2019.

12.1 Software na velkych exerimentech

Software na velkych experimentech je reseny obvykle jednım z nasledujıcıchprıstupu:

• Zkuseny vedoucı projektu koordinuje a vede jednotlive resitele castıprojektu k cıli, je nutne podrızenı se a vysoka disciplinovanost. Prıstupobvykly u strednıch projektu, ktere mohou do urcite mıry kopırovat arozvıjet uz existujıcı resenı.

• SW tym se sklada z velkeho poctu podskupin s relativne nezavislymiresiteli, kterı se v prubehu resenı dovzdelavajı a obmenujı podle potreby,ale projekt je pomerne nehomogennı a jednotlive casti majı vzajemnepromenlivou kvalitu.

Dale popisovany projekt Athena pro experiment Atlas patrı zatım spıse dodruhe skupiny.

133

Page 135: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 134

12.2 Programovy ramec Athena

Prakticke zkusenosti, seminar na UCJF MFF UK, Pavel Reznıcek, 25.11.2005

12.2.1 Uvod

Athena je SW prostredı pro simulace a analyzu dat z detektoru ATLAS.Kazdy, kdo chce delat experimentalnı fyziku na ATLASu, se s tımto prostredımmusı vıce ci mene seznamit. Je to pomerne komplikovany SW, vyzadujıcı ale-spon zakladnı znalost C++, fortranu a operacnıho systemu linux. Cas odcasu projde SW vyraznou zmenou, vyzadujıcı “znovu” se naucit provadetsimulace (prace s batch, GRID) nebo cıst vysledky rekonstrukce (ntuply,POOL.ROOT soubory).

Fyzik zacınajıcı praci v projektu ATLAS muze participovat na oblastech:

1. analyza urciteho fyzikalnıho procesu (analyza jiz simulovanych a rekon-struovanych dat, pocatecnı analyzy na urovni generatoru, prıpadnerychle simulace)

2. prace na konkretnı casti detektoru ATLAS (vyvoj / testovanı vlast-nostı / produkce castı detektoru, vysledky testu na svazku → vyvoja testovanı digitizacnıch algoritmu a spravneho popisu detektoru vGeant4 (rozmery, material))

3. vyvoj softwaru pro rekonstrukci (implementace a vyvoj algoritmu prorekonstrukci drah, vertexing, hledanı jetu, trigger ...)

Vse lze z pocatku testovat vlastnımi nastroji (jednoduche programy vyuzıvajıcıprımo Pythii, Geant3/4, Atlfast, atd.), ale ”konecna” implementace vyzadujedetailnı znalost Atheny

Kde zacıt

Dobry start je mozny na: <https://uimon.cern.ch/twiki/bin/view/Atlas/WorkBook>

Kde najdeme:

1. manual pro pouzitı Atheny (generatory, simulace, digitizace, rekon-strukce, analyza)

2. strucny popis ATLASu

Page 136: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 135

3. popis lokalnı instalace Atheny

4. zakladnı prıkazy pro spoustenı Atheny na Gridu

<https://uimon.cern.ch/twiki/bin/view/Atlas>

1. Wiki stranky experimentu ATLAS

2. neustale se rozsirujıcı a aktualizovane

3. Detektory, Computing, Fyzika

12.2.2 Struktura souboru ATLAS SW

ATLAS SW sestava z jednotlivych, vzajemne propojenych balıcku. Jed-notlive verze Atheny lze najıt v: </afs/cern.ch/atlas/software/dist/x.x.x >

v podadresari InstallArea:

1. jobOptions – python skripty vsech balıcku

2. include – hlavickove soubory vsech balıcku

3. share, xml – vsechny datove a XML soubory

4. je zde vynechana cela cesta k jednolivym balıckum⇒ snazsı prohledavanı,protoze je vse udelano formou softwarovych linku, lze proto zjistit celoucestu k danemu balıcku

a dale tu najdeme AtlasRelease balıcek -nastavenı prostredı pro spoustenılibovolne ulohy (Python scriptu).

Pro praci v Athene najdeme dulezite externı programy (CLHEP, ...) v:</afs/cern.ch/atlas/offline/external> a spravu balıcku – CMT:</afs/cern.ch/sw/contrib/CMT/vxrxxpdate>

Nejlepsı je pouzıt tu verzi, se kterou byla zvolena verze Athena vytvorena(viz: <http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/Release/> -status

Poslednı verze je pouzitelna na vetsinu verzı Atheny (ne prılis starych)

Page 137: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 136

12.2.3 Struktura adresare balıcku

SW sestava z jednotlivych, vzajemne propojenych balıcku </afs/.../dist/x.x.x/CestaKBalicku/Balicek/Balicek-xx-xx-xx/>

<x.x.x> – verze Atheny<xx-xx-xx> – verze balıckuV balıcku obvykle nalezneme podadresare:<CVS>

<cmt> definuje zavislost na jinych balıccıch pomocı souboru requirements –uzitecne pri hledanı zavislostı jednotlivych C++ objektu, soubor <setup.sh>

pro nastavenı prostredı pro pouzitı tohoto balıcku<src> – zdrojove soubory *.cxx<share> – Python scripty (job-Options)<scripts> – skripty pro spoustenı ulohy na lxplus, batchy nebo Gridu<data> – datove soubory (napr. PDGTable)<doc> – dokumentace – doxygen (cern.ch/Atlas/GROUPS/SOFTWARE/OO/Release)<Balicek> – hlavickove soubory objektu<i686-slc3-...> – vytvorene knihovny

12.2.4 Spoustenı ulohy v Athene

Spoustenı uloh v Athene je mozne bez nutnosti predelavat SW:

• stacı nastavenı CMT a setup.sh z AtlasRelease nebo AthenaRunTimebalıcku

• zkopırovanı potrebnych datovych souboru a Python scriptu (get files)

¨ Ulohy muzeme spoustet s updatem SW oproti pouzıvane verzi

• nastavenı CMT

• stahnutı pozadovane verze balıcku pomocı CMT prıkazu (cmt co ...)

– prıpadna uprava zdrojovych souboru

– vytvorenı noveho balıcku pomocı “cmt create ...”

• stahnutı balıcku TestRelease a v jeho podadresari cmt:

– zmena requirements: za radek “use AtlasRelease ...” je treba pridatpro kazdy balıcek “use Balicek Balicek-xx-xx-xx CestaKBalicku”

Page 138: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 137

– cmt broadcast cmt config (ve vsech stahnutych balıckach (zajistujebroadcast) se provede prıkaz “cmt config”, ktery updatuje scriptycmt/setup.sh)

– source setup.sh – potreba provest pri kazdem novem prihlasenı nalxplus (ale nedoporucuji davat do startovacıch skriptu)

– cmt broadcast gmake – prekompilovanı zmenenych balıcku – vytvorıse adresar run

• zkopırovanı datovych a Pytho scriptu, spustenı ulohy: athena MyJobOp-tions.py

Lze take pouzıt program ask, ktery nektere kroky zjednodusuje

12.2.5 Generatory

Generatory nalezneme na AFS v adresari: </afs/.../dist/x.x.x/Generators>

kde jsou pro pomerne prımocare pouzitı (pokud vystacıme se standardnımigeneratory)

• napr. v prıpade Pythie se v python skriptech prımo zadavajı hodnotypromennych v common blocıch

• stacı dle predchozıho navodu spustit prıslusny job-option

Lze pouzıt i vlastnı generator, pokud je vystup ve formatu HEPMC:

• je mozne napr. vystup z naseho generatoru predat do Pythie, abyprovedla hadronizaci

• vıce info.: <http://www-theory.lbl.gov/~ianh/monte/Generators>

Existujı take filtrovacı algoritmy, vybırajıcı z nagenerovanych eventu jennektere – filtry majı k dispozici celou MC informaci

• dle nekolika existujıcıch implementacı v <Generators/GeneratorFilters>

lze napsat filter vlastnı

• mohou take napr. slouzit k zavedenı vlastnıch (v puvodnım generatoruneexistujıcıch) rozpadu – filter pro urcite castice vola nas vlastnı ”generator”

Vlastnı generatory ale nelze jednoduse spoustet na Gridu.

Page 139: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 138

12.2.6 Simulace + Digitizace

• na AFS algoritmy v adresari: </afs/.../dist/x.x.x/Simulation>

• skripty pro simulaci: Simulation/SimulationOptionsRome/../scripts

• skripty pro digitizaci: Simulation/Digitization/../scripts

• obvykle se v techto skriptech nemenı vıc, nez verze ATLAS detektoru(Rome-Initial, DC2, etc.)

• skripty lze take pro jednotlive projekty jako Data Chalenge hledat vadresari: </afs/cern.ch/atlas/project/dc[12]/rome phys ws>

12.2.7 Rekonstrukce

• vychazı z balıcku <Reconstruction/RecExample/RecExCommon>

– zde jsou take ulozeny skripty pro rekonstrukci – spoustejıcı pythonscrip RecExCommon topOptions.py

– castym problemem, proc rekonstrukce krachuje je nenastavenı “limitaddresspace 1300000”

• umoznuje vybırat jednotlive rekonstrukcnı algoritmy

– viz. python script RecExCommon flags.py

∗ umoznuje znacne zrychlit rekonstrukci a zmensit vysledne soubory

∗ lze menit i detailnejsı parametry (napr. pro tracking), ale jenutne vyhledat, ktere dalsı job-options RecExCommon topOptions.pyvyuzıva

· athena -s ...py zobrazı vsechny pouzite job-options

– vystupem jsou ESD, AOD a CBNT soubory (prıpadne jeste xml)

∗ lze take z jiz hotovych ESD souboru AOD a CBNT vytvaret

12.2.8 Datove soubory

POOL.ROOT soubory

ROOT soubory obsahujı specialnı objekty, nelze je precıst stand-alone verzıROOTu – lze resit nahranım prıslusnych knihoven, ale i tak zustavajı datav pomerne neprehledne strukture, knihovny lze dohledat dle job-options

Page 140: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 139

nutnych pro analyzu AOD/ESD. Typ (nazev trıdy) vsech objektu lze zjistit zjob-options ulohy, ktera dany POOL.ROOT produkuje – typicky ma takovy(included) python script v nazvu “ItemList”. Napr. pro rekonstrukci a ESDvystup v balıcku RecExCommon je to:RecoOutputItemList jobOptions.py

Modifikacı takovychto job-Options lze vytvaret vlastnı pool soubory (behemRımske produkce pouzito pro kopii plne MC Truth z ESD do AOD). Jeale jeste treba zjistit nazvy, pod jakymi jsou tyto objekty v POOL.ROOTsouboru ulozeny – seznam lze najıt v ATLAS Workbooku pro AOD a ESD.Alternativne lze prohledavat dany Athena release – soubory *.cxx a hledanıretezce

\cmd{\\-\>[ ]*record[ ]*\)"

Znacna cast objektu jsou tzv. Containery, jejichz jednotlive cleny zıskameiteracı – prıklad rekonstruovane drahy:

for ( itr = container -> begin() ; itr != container -> end() ; itr++ )

std::cout << (*itr) -> measuredPerigee->parameters() [Trk::theta] << std::endl;

CBNT (Combined Ntuple) je starsı format vystupnıch dat (nejen) rekon-strukce ve forme ntuple TTree, pro analyzu stacı PAW / ROOT, nenı trebamıt nainstalovanu Athenu. Pokud ale potrebujeme pro analyzu nektery znastroju implementovanych v Athene, je mnohem snazsı pouzıvat POOL.ROOTsoubory (vstupnı parametry techto nastroju jsou na format POOL.ROOTsouboru pripravene). Obsah (seznam vetvı TTree) lze nalezt na:<https://uimon.cern.ch/twiki/bin/view/Atlas/CBNTVariableList>

CBNT se bezne vytvarı jen po rekonstrukci, ale je mozne modifikovat pythonscripty pro generatory (i simulaci a digitizaci ?) tak, aby CBNT produkovalytake.

12.2.9 Analyza

V prıpade POOL.ROOT souboru je nutne vytvorit vlastnı athena algoritmuspro analyzu, vychazı z balıcku <> PhysicsAnalysis/AnalysisCommon/UserAnalysisv adresari </afs/.../dist/x.x.x/PhysicsAnalysis>je mnoho prıkladu analyzacnıch programu, z nichz lze vychazet, zvlaste v<PhysicsAnalysis/AnalysisCommon/AnalysisExamples>

Athena algoritmus:

Page 141: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 140

• jadro tvorı funkce:

– initialize – napr. k vytvarenı histogramu a ntuplu

– execute – spousteno nad kazdym eventem

∗ vyctenı vsech potrebnych objektu

∗ analyza a plnenı histogramu a ntuplu

– finalize – napr. sumarnı vypis vysledku analyzy

– konstruktor – deklarace parametru nastavitelnych pomocı job-options declareProperty ( \nazev" , promenna = defaultnı hodnota);

• nactenı objektu z POOL.ROOT souboru: service ( \StoreGate" , storeGate

); storeGate -> retrieve ( objekt , "nazev" );

NTuply a Histogramy:

• vytvorenı a plnenı je dostatecne popsano ve WorkBooku

• je treba vzıt v uvahu limity fortranu – max. pocet REAL polozek v ntu-plu(5000), maximalnı velikost souboru (121 MB) (obe prekrocenı lim-itu vedou k “nedestruktivnım” chybovym hlaskam, ktere lze v prvnımprıpade snadno prehlednout)

Je uzitecne implementovat ERROR-WARNING-INFO-DEBUG hlasky: MsgStream

log ( msgSvc() , name() ); log << MSG::INFO << \Running Initialization" <<

endreq;

Atlantis

Atlantis je graficke rozhranı pro zobrazenı jednotlivych eventu a jejich odezvyv detektorech, najdete ho na: <http://atlantis.web.cern.ch/atlantis>

• zobrazuje take vysledky rekonstrukce

• umoznuje zakladnı analyzu

• vychazı z xml souboru produkovanych pri rekonstrukci (pokud je totozapnuto pomocı vlajecky doJiveXML a je pouzit balık JiveXML )

– viz navod v ATLAS Workbook

Page 142: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 141

– velikost XML souboru pro jeden event 6 MB, Atlantis umı zpra-covat i zazipovane soubory

• na lxplus je nainstalovana v adresari: </afs/cern.ch/atlas/project/Atlantis>

12.2.10 Sprava a vyvoj SW v Athene - lxplus

Velke dıky Marek Biros! za tuto kapitolku.

System lxplus umoznuje interaktıvny prıstup k terminalu na vzdialenomstroji s mnozstvom predinstalovaneho softveru s roznymi verziami a s moznostouzdielaneho datoveho uloziska. Najvacsou vyhodou je vyuzitie prıkazu screen,ktory nam umoznı nechat bezat program aj pocas nasho odpojenia.

Kazdy CERNsky pouzıvatel ma k dispozıcii datove ulozisko v datovej struktureAFS

(/afs/cern.ch/user/user name first letter/user name), ktore je mozne aktivovata postupne rozsırit az na 10 GB. Taktiez je mozne poziadat o aktivaciuworkspace

(/afs/cern.ch/work/user name first letter/user name), ktory moze poskytnutaz 100 GB.

Vypocetny cas na uzıvatela je momentalne relatıvne volne limitovany – 40CPU hodın za posledne 4 hodiny 1 a nebrani sucasnemu pouzıvaniu viacerychstrojov (v odlisnych terminaloch alebo pomocou prıkazu screen). Zvycajneje mozne pustit par desiatok okien simultanne, pokial dojde k prekroceniutohoto limitu, zalezı vsak na zlozitosti pustanych skriptov. Prekrocenie jeodmenene vyhraznym mailom, po ktorom v prıpade obsadenosti lxplus mozedojst k zabitiu prave prebiehajucich uloh:

Dear user_name,

This user consumed 44 cpu hours during the last 4 hours (which is more

than the threshold 40)

LXplus is supposed to be an interactive facility. In order to keep it

that way, please send cpu intensive jobs to batch. We reserve the right

to kill or throttle jobs creating issues to the system or other users

...

1(technicke parametre su aktualne k roku 2019)

Page 143: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 142

Pustanie screen okien na lxplus je trocha zlozitejsie, kedze na zapis suborov jepotrebny kerberos token. Ten sa vsak po odhlasenı stratı a program beziaciv okne uz nie je schopny zapisovat subory do priecinku home. Ponechaniatokenu aj po odhlasenı je mozne pouzitım programu kinit, ktory na 24 hodınzabezpecı oknu moznost zapisovat subory. V praxi su so spustanım okien nalxplus obcas problemy, no existuje osvedceny postup, hoci trocha krkolomny:

ssh [email protected] #zalogovanie na lxplus

screen #spustenie noveho okna

ctrl+a+d #odpojenie sa z okna

exit #odhlasenie sa z daneho lxplus

ssh [email protected] #opatovne nalogovanie na lubovolny lxplus

ssh [email protected] #prelogovanie na konkretny lxplusXXX so spustenim oknom

screen -r #obnovenie okna

kinit #zabezpecenie tokenu (vyzaduje heslo)

.\pustany_skript #zadanie ulohy

ctrl+a+d #odpojenie sa z daneho okna

Prihlasovanie pomocou ssh user [email protected] mozno skratit napr.na prıkaz ssh lxplus, resp. ssh lxplusXXX vytvorenım konfiguracneho suboru∼ /.ssh/config obsahujuceho:

Host lxplus*

user user\name

#Hostname lxplus.cern.ch

ForwardX11 yes

ForwardX11Trusted yes

Taktiez je mozne zbavit sa potreby opakovane zadavat heslo nainstalovanımprogramu Kerberos (krb5). Viac podrobnostı o screen (viac kariet, kinit bezpotreby hesla) najdete na https://hsf-training.github.io/analysis-essentials/shell-extras/screen.html.

12.2.11 lxplus vs. batch

Velke dıky Marek Biros! za tuto kapitolku.

Tato cast cerpa najma z http://batchdocs.web.cern.ch/batchdocs/index.html.

Zlozitejsie vypocty (naprıklad generovanie vacsieho mnozstva MC suborov) jelepsie prevadzat na batch systeme nez na lxplus. Ten sa lısi v dvoch ohladoch.

Page 144: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 143

Zatial co lxplus prerozdeluje vypocetnu kapacitu medzi vsetkych pripojenychuzıvatelov rovnomerne, batch system vyhradzuje urcitu vypocetnu kapac-itu vyhradne jednemu uzıvatelovi. To vsak vedie na to, ze na priradenievypocetnej kapacity je potrebne cakat, zatial co lxplus bezı interaktıvne.

Starsı batch system nahradil system HTCondor s nasledujucimi prıkazmi:

• condor submit job.sub – poziadanie o vykonanie urciteho skriptu, po-drobnosti o jeho spustanı je mozne nastavit v pomocnom subore job.sub

• condor q – moznost kontroly sucasneho stavu vykonavania (DONE/RUN/IDLE)

• condor wait out/job.log – nahrada condor q, vypis az po ukoncenı vsetkychskriptov

Taktiez je mozne pouzit bash prıkaz watch, ktory nam pravidelne updatujezmenu: watch -n POCETSEKUND condor q. Subor job.sub ma v naj-jednoduchsom prıpade strukturu:

executable= /totalpath/pustany_skript.sh

arguments = $(ClusterId) $(ProcId)

output = logfiles/batchDetail/pustany_skript.$(ClusterId).$(ProcId).out

error = logfiles/batchDetail/pustany_skript.$(ClusterId).$(ProcId).err

log = logfiles/pustany_skript.$(ClusterId).log

...

queue

kde je mozne pridat riadky:

+JobFlavour = "espresso\ # skratka pre maximalnu dobu

behu jedneho skriptu

+MaxRuntime = maximalna doba behu skriptu v sekundach,

RequestCpus = pocet pozadovanych jadier procesora

...

Prıkazy output, error, log urcuju kam sa ma ukladat stdout, stderr a celkovyprehlad. Vystupy stdout, stderr su specificke pre kazdy proces v rade.Vystupne subory sa v prıpade existencie prepısu. Prıpadnu priecinkovu hier-archiu je vsak potrebne vytvorit vopred. Skratky pre maximalnu dobu behu,po ktorej je automaticky ukoncena dana uloha, pomahaju aj batch systemu spridelovanım vypocetnej kapcity (kratisie trvania maju kratsie cakacie doby):

Page 145: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 144

espresso = 20 minutes tomorrow = 1 day

microcentury = 1 hour testmatch = 3 days

longlunch = 2 hours nextweek = 1 week

workday = 8 hours

Prednastavene nastavenia : espresso, 1 slot cpu jadra, 2 GB pamate a 20GB volneho miesta.

Prıkaz queue ma viacero vyuzitı, bez argumentu posuva executable skriptdo cakacej rady na vykonanie, taktiez je mozne jeden skript pustit viackrat -napr. queue 1000, pricom vsetky joby budu mat rovnake ClusterId, ale budusa lısit v ProcId, vzostupne cıslovanom od 0. Kombinaciu queue argumentsfrom relativepath/input file.txt spustı taky pocet executable ako je pocet ri-adkov input file.txt, pricom jednotlive riadky obsahuju vstupne argumentyoddelene v stlpcoch pre dany pustany skript.sh.

12.2.12 Sprava a vyvoj SW v Athene - neaktualnı,casem odmazat!

Na spravu balıcku je treba mıt prava – lze zıskat od predchazejıcıho ma-jitele. Zmena verze balıcku se zaznamenava a eviduje v tag-collectoru odurcite verze Atheny <http://atlastagcollector.in2p3.fr>

Pred zmenou je nutne balıcek otestovat vuci vyvojove verzi (nightlies Atheny– <cern.ch/Atlas/GROUPS/SOFTWARE/OO/dist/nightlies/atlaswwwSlcOpt/>

umısteny v adresari </afs/.../dist/nightlies/rel/atlrel x>

Kazdy den je nova prekompilovana verze altrel (x = 0...6 podle poradı dnev tydnu), vyvıjı se vıce verzı Atheny najednou, takze je treba neustale kon-trolovat konzistenci (provadı automat, vysledky na WWW a mailem) a jestlije balıcek kompatibilnı s prave vyvıjenou verzı Atheny. Na zmeny (neuspesnakompilace) je nutne co nejdrıve reagovat, stejne tak na bug-report uzivatelupres system Savanah: <http://savannah.cern.ch/>

Nove otestovane verze se uploadujı do CVS repositare:

• stahnutı balıcku standardne pomocı CMT, update zdrojoveho kodu azpetne nahranı pomocı cvs prıkazu dle: “Package Development – HowTo” na strance: <http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/Development/>

• CVS repositar: <http://atlas-sw.cern.ch/cgi-bin/viewcvs-atlas.cgi/>

Page 146: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 145

Interaktivnı spoustenı

Ulohy spoustene na lxplus strojıch jsou limitovany max. CPU casem –narocna uloha je cca. po pul hodine zastavena, interaktivne na lxplus lzepouze testovat skripty (spustenı analyzy na nekolika eventech). V domacımadresari ma uzivatel omezeny ulozny prostor (50 – 500 MB), docasne velkesoubory lze zapisovat do /tmp adresare, nebo na pasku CASTOR sytemu.CPU limit neplatı v prıpade, ze se jedna o vlastnı PC pripojene do AFSsystemu, chova se pak stejne jako lxplus stroje (pri spravne instalaci audrzbe), obvykle zde je vlastnı velky ulozny prostor (scratch). V obouprıpadech je treba cas behu ulohy volit tak, aby nepresahoval 24 hodin, kdyvyprsı platnost prihlasenı na PC a znemoznı dalsı zapis na disk. Obnovenıje mozne prıkazem klog (klog -lifetime hh[:mm[:ss]]). Pro moznost interak-tivnıho spustenı a nasledneho odpojenı od PC v CERNu je mozne pouzıvatprıkaz screen.

Batch

CERN batch system umoznuje provadet narocne vypocty: <http://batch.web.cern.ch/batch/doc/quick-intro.html>

Zakladnı prıkazy pro rızenı uloh v batch systemu jsou bsub, bjobs, bkill, ...,vyber typu fronty (max. CPU casu 4x skutecny cas) je treba delat podle:

• predpokladane doby behu (test interaktivne na lxplus)

• poctu cekajıcıch a bezıcıch uloh jinych uzivatelu – prıkaz bqueues

• lze si nastavit pozadavky na velikost ulozneho prostoru, pameti, typoperacnıho systemu etc.

• OS by mel byt stejny, jaky pouzıvame pri prekladu knihoven

Z batch PC ma uzivatel prıstup na cele AFS, stejne jako na lxplus stroji,spousteny skript by mel byt interaktivne spustitelny z lib. adresare:

• vytvorit si docasny adresar a zkopırovat do nej vsechny potrebne soubory– job-options, datove etc.

• nastavenı prostredı pro beh Atheny

• kopie vysledku do domacıho AFS adresare nebo na CASTOR

Spoustenı prılis mnoha uloh (¿10) najednou vede k delsım cekacım dobam(dny), proto pred ostrym spoustenım v batch systemu je vhodne si spoustenyskript dobre otestovat interaktivne.

Page 147: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 146

12.2.13 CASTOR

Kazdy vlastnık uctu na lxplus ma take moznost ukladat velke objemy dat napasku. Podobne, jako je domacı adresar na AFS: </afs/cern.ch/user/u/usename>, je mozne velke soubory ukladat do </castor/cern.ch/user/u/username>

<http://castor.web.cern.ch/castor>

obsahuje:

• dokumentace, pravidla a navody pro pouzıvanı CASTORu

• prıkazy analogicke jako v linuxu, ale s predponou ”rf” (rfcp, rfrm,

rfrename, rfchmod, rfdir )

• pokud se k datum na CASTORu delsı dobu nepristupuje, muze je-jich opetovne ctenı trvat i hodiny, pri spoustenı ulohy, ktera cte zCASTORu velky pocet (¿100) souboru je vhodne si soubory predem“osahat”, aby uloha netrvala dele nez 24 hod. (kdy vyprsı platnostprihlasenı na PC v AFS systemu) – napr. nastavenım skip-events navelkou hodnotu spoustene uloze.

12.2.14 Vypocetnı svetova sıt: Grid

Na svete je budovana velka sıt pocıtacovych velkych uzlu vzajemne propojenaa synchronizovana. Velke svetove projekty majı prıstup do teto sıte a je na nıudrzovanı sw pro tyto projekty. ATLAS simulace je taky mozne spoustet naGrid. Je k tomu nutne specialnı opravnenı s elektronickym podpisem, kterevydavajı autorizovane organizace na jeden rok, pak se musı proces zopakovat.Proces autorizace je pomerne slozity a je dobre mıt pruvodce.

Zakladnı prıkazy Gridu jsou v ATLAS workbooku:DQ system pro kopırovani souboru – prıkaz dms3.py Nekdy jsou problemy,pokud se soubor nachazı mimo LCG grid (na LCG gridu lze pro manipulacise soubory pouzıvat prımo lcg-* prıkazy, podobne existujı prıkazy pro manip-ulaci s ulohami a soubory na NorduGridu) Light Job Submission FrameworkLJSF (Alessandro de Salvo): <http://unimon.cern.ch/twiki/bin/view/Atlas/LJSF>

• komplexnejsı system pro spoustenı uloh na Gridu

• definice ulohy pomocı JDL souboru, spousteny skript – WRAPPER,kolekce job- options, prıpadne opravenych Athena balıku – TRANS-FORMACE

Page 148: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 147

– JDL soubor predava parametry WRAPPERu, a take urcuje pozadavkyna HW a SW, vyber Grid site pomocı tzv. Ranku – hodnotavypoctena napr. z poctu dostupnych PC, bezıcıch a cekajıcıchjobu etc. (nejspolehlivejsı nahodny vyber – rank = 1)

– WRAPPER musı zajistovat stahnutı vstupnıch souboru, nastavenıprostredı, spustenı Atheny (skriptu z TRF souboru) a kopii a reg-istraci vystupnıch souboru

• je potreba si vytvorit skripty pro detailnı kontrolu vystupnıch souboru

– kontrola kopie souboru na castor, jejich velikost registrace v Gridu

– dokoncena uloha vracı stderr a stdout soubory, ktere lze pro vali-daci vyuzıt

Vetsina spatne dokoncenych jobu je kvuli problemum se vstupnımi soubory(chyba pri kopırovanı, spatne GUID), selhanı kopie vystupnıch souboru nebospatne napsany wrapper

12.3 Zaverecne komentare

Tato zaverecna kapitola ukazuje velmi ostre, ze se stıra hranice mezi fyzikya profesionalnımi programatory. V projektu Athena pro experiment Atlasv CERNu byla zvolena nova koncepce psanı hlavnıho softwaru na principuobjektoveho programovanı (OO - object oriented) a pokud mozno na bazeC++. Pıseme proto ”pokud mozno”, protoze fyzikalnı komunita nebyla azatım nenı pripravena takto pracovat. Experti znalı potrebnych algoritmupracovali doted ve Fortranu nebo v jednoduchem prımocarem programovanıbez slozitejsıch struktur, mladsı fyzici a programatori zase obcas tapajı v zor-ganizovanı objektu do efektivnı formy. Take chybejıcı nenastavena filozofie vzacatcıch projektu zpusobila vytvarenı provizornıch struktur, ktere pozdejibyly prestavene na standardnejsı moduly odpovıdajıcı OO filozofii Atheny, astarsı vytvorene vazby se rozpadaly a znova pracne skladaly. Nektere skupinyprogramujıcı s velkou zkusenostı z Fortranu se dlouho branily prechodu naC++ OO moduly a zpusobovaly tak slozite desynchronizace v projektu.

Dnesnı situace v resenı projektu hlavne dıky systematictejsımu vedenı, or-ganizaci a velkemu tlaku na vyhodnocenı kombinovaneho testbeamu z roku2004 je podstatne lepsı a Athena zacına pracovat aspon v zakladnıch funkcıchspolehliveji. Stale je vsak prace na projektu silne narocna na koordinaci mezijednotlivymi skupinami a na udrzovanı konzistence mezi jednotlivymi castmisoftwaru.

Page 149: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 12. PRACE NA VELKYCH EXPERIMENTECH 148

Pro praci na Athene je, zda se, prıznacna konverze fyzika, ktery se chce zapo-jit do analyz, na programatora, a po zvladnutı psanı programu a zorientovanıse ve strukture Atheny se muze pri trose stestı dostat zpatky k fyzice, pokudnebude vtazen do vıru programovanı a udrzby ”svych” castı. Stale vsakodhaduji pomer fyziky a programovanı silne na stranu programovanı. Jetaky otazkou, komu vytvarenı Atheny prinası vetsı realizaci: fyzikum neboprogramatorum. Jasne je urcite jedno: starsı fyzici prakticky nemajı mocsancı zasahnout do psanı Atheny.

Page 150: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Chapter 13

Seznam resenych prıkladu

V teto casti uvadım seznam resenych prıkladu s jejich strucnym popisem afunkcı, ktere byly vytvoreny k praktickemu procvicovanı jednotlivych probıranychtemat. V kapitolach jsem se na ne obracel a vetsina grafu je jimi vytvarena,slouzily mi take k verifikaci vysvetlovaneho problemu a potvrzenı spravnostiuvadenych rovnic - jejich platnosti. Vzdy je ale mozne, ze se chybicka vloudı,a proto v prıpade nesrovnalostı prosım ctenare, aby vzal za spravny algorimuspouzity v makrech.

Seznam:

vsechna zde uvadena makra a prıklady jsou na webu:

<http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/>

kde jsou nasledujıcı soubory a adresare:

ZpracovaniDat.pdf - hlavnı text pro prednaskuPrednaskaRoot Instal.txt - navod jak instalovat ROOTPrednaskaRoot Makra DLL.txt - navod jak spoustet ROOT a dll knihovny v nem

Priklady v ROOT C/ - obsahuje kompletnı prostredı ROOT jak je vytvorenepro prıklady spoustene pod WindowsJinePriklady/ - prıklady v jinem programu nez v ROOTROOT dstFiles/ - data, jejich popis a ostatnı zdroje a podklady pro vypoctyv ROOTuZdrojeNaInspiraci/ - dalsı zajımava a uzitecna literatura doplnujıcı obsahskript

149

Page 151: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 13. SEZNAM RESENYCH PRIKLADU 150

Obsah adresaru:

Priklady v ROOT C/ :

rootRun.bat, rootlogon.C, .rootrc - soubory na spousteni ROOT ve windows

CviceniData/*.asc , *.root - soubory potrebne k prıkladum na vyhodno-covanı spekter Spectra.cpp a analogoveho signalu AnalogDetectorExample.cpp

dllExamples/ - prıklady v MSVC++ na vytvorenı dll knihoven pro cernlib(cernlib sources.zip ) a ctenı obsahu eventu z SCT testbeamu(librootEventOK.zip )results/ - adresar pro vysledkyps/ - adresar pro postscrip obrazky a vysledkyetc/ - adresar soubor historie prıkazu v ROOT (root history.txt )config/ - adresar na konfiguracnı soubory uzitecne pri vyhodnocovanı AT-LAS SCT modulubin/ - adresar na dll a jine vykonavacı soubory

macros/ - adresar na prıklady maker, dal je strucne shrneme:

FitFunkci.cpp - prıklad jak se dajı ruzne volat funkce na fitovanı v ROOTTrackLinearFit.cpp - ukazka dvou zpusobu ohranicenı regresnı zavislosti:pasem predikce a pasem spolehlivostiTrackLinearFitComp.cpp - prıklad ruznych zpusobu prelozenı bodu prımkoumetodami nejmensıch ctvercuTelAlign.cpp - prıklad alignmentu teleskopu na testbeamu v CERNuDetAlign.cpp - prıklad alignmentu SCT ATLAS detektoru na testbeamudst read.cpp - prıklad spracovanı SCT ATLAS detektoru z testbeamu zezdrojovych ROOT souborupokusfitnew.h - prıklad volanı minimalizacnıho balıku Minuit v samem sobe,Minuit vola funkci, ktera sama taky vola nezavisle Minuit i pro sebeStatChybaPriklad.cpp - zkouska prace s cernlib knihovnamidst efficiency.cpp - prıklad vyhodnocenı ucinnosti SCT ATLAS detektoruz testbeamu, nutno pustit nejdrıv dst read.cpp

NeuralNetvExample.cpp - prıklad pouzitı neuralnıch sıtıAnalogDetectorExample.cpp - prıklad vyhodnocenı analogoveho signalu z de-tektoru, Dano Scheirich, kveten 2005

Page 152: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 13. SEZNAM RESENYCH PRIKLADU 151

CDF ROOT Cernlib.cpp - srovnanı funkcı TMath :: FDistI(F,N,M) Cernlibskonvertovanou do ROOT class ROOT DLL, zavery:cernlib cdff(which, P,Q, F,DFN,DFD, status, bound);(which = 1;P = .025;Q = 1 − P ;DFN = 10;DFD = 10;F = x : [0, 1]; )je ekvivalentnı ROOT funkci: TMath :: FDistI(x, 10, 10)x : [0, 1], hledanaekvivalence pro which = 2; nalezena nebylaUkazkyFunkci.cpp - zobrazenı ruznych funkcı z nabıdky ROOTTestChyby.cpp - zkouska prace s cernlib knihovnami a pouzitı t-Studentovidistribuce pro urcovanı chybyTBLoad.c - makro, ktere nacıta ze souboru parametry modulu z testbeamu,Zdenka BroklovaTBCfg.h - hlavickovy soubor k makru, ktere nacıta ze souboru parametrymodulu z testbeamu, Zdenka Broklovadst convert.cpp - konverze originalnıch ROOT souboru do jednodussı TTreesstrukturySpectra.cpp - prıklad prace se spektrem a jeho spracovanımRootPrednaska.cpp - prednaska pro uvod do prace s ROOTRootPrednaska C Sub.h - prednaska pro uvod do prace s C++ - hlavickovysoubor podprogramuRootPrednaska C Sub.cpp - prednaska pro uvod do prace s C++ - podprogramRootPrednaska2.cpp - prednaska pro uvod do prace s ROOT - fitovanı, ntuple- zakladyRootPrednaska C.cpp - prednaska pro uvod do prace s C++ - zakladyTBCfg Load.c - makro, ktere nacıta ze souboru parametry modulu z test-beamu, Zdenka Broklovacolors.cpp - makro na prohlızenı nabıdky barev v ROOT

JinePriklady/ :

FitovaniRucne.xls

ROOT dstFiles/ :

photos/*.jpg - fotky z testbeamu ze ktereho vyuzıvame data na analyzuDescription.txt - detailnı popis vyhodnocovanych souboru a dalsı informaceo organizaci a cılech testbeamu 4 - 17. 7. 2002dst47**.root - data soubory z testuDSTPK43**.root - jine starsı soubory z testu*.zip - dalsı soubory s informacemi, ktere muzou byt dulezite pri analyze

Page 153: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 13. SEZNAM RESENYCH PRIKLADU 152

ZdrojeNaInspiraci/ :

minuit.pdf - popis - manual minimalizacnıho balıku Minuitctvmft.pdf - vertex hledanıVKalVRT-phys-2003-031.pdf - vertex hledanıSIGGRAPH2001 Slides 08.pdf - uvod, co je to Kalman filter a jak funguje,nazornekalman intro.pdf - Greg Welch, Gary Bishop: An Introduction to the KalmanFilter, April 5, 2004 - popis, jak Kalman filter fungujeSIGGRAPH2001 CoursePack 08.pdf - SIGGRAPH 2001, Course 8, Greg Welch,Gary Bishop: An Introduction to the Kalman Filter, April 5, 2004 - popis,jak Kalman filter fungujeRBthesis online.ps - Ruggero Bellio: Likelihood asymptotics: Application inBiostatistics, PhD Thesis, Dec. 1999 - detailnı popis, dobre srozumitelne

Page 154: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

CHAPTER 13. SEZNAM RESENYCH PRIKLADU 153

Podekovanı

Za pomoc dekuji hlavne Elisce, Zdenkovi, Tomasovi, Pavlovi, Petrovi, Zbynkovi,Danovi, Karlovi a ostatnım co mi dali pripomınky a poskytli mnoho cennychmaterialu, ktere jsem s jejich laskavym souhlasem zahrnul do textu prednasky.Za podrobnou jazykovou korekci dekuji taky Pavlovi Strachotovi.

Page 155: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

Bibliography

[1] JSF081 Vypocetnı technika ve fyzice vysokych energiı

[2] JSF101 Polovodicove detektory v jaderne a subjaderne fyzice.

[3] JSF075 Detektory pro fyziku vysokych energiı

[4] P. Kodys: Podklady k prednaske ”Zpracovanı dat z experimentu fyziky vysokychenergiı”, November 2005,<http://www-ucjf.troja.mff.cuni.cz/kodys/ZpracovaniDat/>

[5] G. F. Moor-head, P. Kodys and TB community: ATLAS SCT testbeam web page, May 2002,<http://www-ucjf.troja.mff.cuni.cz/kodys/Work/TBMay2002/TBMay2002.html>

[6] Pavel Herout: Ucenice jazyka C, Kopp, Ceske Budejovice, 1998 (in Czech)

[7] ROOT, User Guide 4.04, June, 2005

[8] Hlavnı stranka ROOT: <http://root.cern.ch/>

[9] Review of Particle Physics, The European Physical Journal C, Vol 3, No 1-4, 1998,pp 1-794

[10] Particle Physics Booklet, July 2004, <http://pdg.lbl.gov/>

[11] R. K. Bock, W. Krischer: The Data Analysis BriefBook, July 2004,<http://rkb.home.cern.ch/rkb/titleA.html>

[12] R. Fruhwirth, M. Regler, R. K. Block, H. Grote, D. Notz: DataAnalysis Techniques for High-Energy Physics, 2-nd ed., Cambridge Uni Press, 2000

[13] Marcel Vos: The Atlas Inner Detector Tracker And The Detector Of LightSuper-Symmetric Higgs Bosons, PhD. thesis, IFIC, Valencia, Spain, 2003

[14] Jose Enrique Garcia Navarro: Performance of the ATLAS Silicon Trackerand Search for new Gauge Bosons in the little Higgs Models, thesis doctoral, IFIC,Valencia, Spain, 2004

[15] Carlos Escobar Ibanez: Sistema laser para el estudio de los modulos del SCTde ATLAS, diploma thesis, IFIC, Valencia, Spain, 2005 (in Spanish)

154

Page 156: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

BIBLIOGRAPHY 155

[16] Nevenka Pisutova: Vyhodnocovanie experimantalnych udajov, MFF UK,Bratislava, 1982 (in Slovak)

[17] Jaromır Broz a kol: Zaklady fyzikalnıch merenı I, SPN Praha, 1983 (in Czech)

[18] Milan Meloun, Jirı Militky: Kompendium statistickeho zpracovanı dat,Academia, Praha, 2002 (in Czech)

[19] Ing. Jan Popelka, Ph.D.: Regresnı analyza, prednaska 2010, Fakulta zivotnıhoprostredı, Univerzita J. E. Purkyne, Ustı nad Labem<http://most.ujep.cz/ popelka/>

[20] Jirı Andel: Statisticke metody, matfyzpress, Praha, 2003 (in Czech)

[21] Karel Zvara, Josef Stepan: Pravdepodobnost a matematicka statistika,matfyzpress, Praha, 2002 (in Czech)

[22] Ian C. Brock: Maximum Likelihood, Statistical Methods of Data Analysis, WS00/01, Chapter 6, 29/11/2000

[23] Ian C. Brock: Least Squares, Statistical Methods of Data Analysis, WS 00/01,Chapter 7, 10/01/2001

[24] Peter Kvasnicka privatnı konzultace, 1997-2003

[25] Ruggero Bellio: Likelihood Asymptotics: Application in Biostatistics, PhD.thesis, Dec. 1999

[26] Roger Barlow: Statistics, A Guide to the Use of Statistical Methods in thePhysical Sciences, John Wiley & Sons, 1997

[27] Jan Hendl: Prehled statistickych metod zpracovanı dat, Portal, 2004

[28] HBOOK, Reference Manual, ver 4.24, CERN, Geneva, Switzerland, May 1995

[29] W. R. Leo: Techniques in Nuclear and Particle Physics, Springer 1993

[30] LeCroy 1996 Research Instrumentation Catalog, <www.lecroy.com>

[31] Stranky UCJF: <www-ucjf.troja.mff.cuni.cz>

[32] web stranky projektu SiLC (Linear Collider), November 2005,<http://silc.in2p3.fr>

[33] Pavel Reznıcek: Diplomova prace, MFF UK, Praha, 2003 (in Czech)

[34] ATLAS community: Atlas Inner Detector Technical Design Report, Volume II,1997

[35] web stranky produkce SCT modulu na MFF UK, Praha, November 2005,<http://www-ucjf.troja.mff.cuni.cz/∼sct/prod>

Page 157: Software a zpracov an dat ve fyzice c astic II€¦ · 3. Druhy nab r an dat a elektronika. 4. Vlastnosti nab ranyc h dat a jejich zdroj u. 5. Chyba m e ren , neur aln s t e. 6. P

BIBLIOGRAPHY 156

[36] Joaquin Poveda, Juan Valls: Performance of CMS TOB Silicon DetectorModules on a Double Sided Prototype Rod, CMS Note 30, 2003

[37] SiLC community: SiLC status report presented at the 59th PRC-DESY, DESY,May 26-27 2005

[38] Ulehla, Suk, Trka: Atomy, jadra, castice, Academia Praha, 1990

[39] web stranky prostredı ROOT, November 2005,<http://root.cern.ch/root/reference.html>


Recommended