Zum Inhaltsverzeichnis
Zurück zum Anhang B
C Bedienungsanleitung des TRACKFIT
Das TRACKFIT kann, wie bereits erwähnt, entweder als eigenständiges
Programm laufen, dazu wird es mit dem Standard-Rahmenprogramm MAINFRAME
gelinkt, oder man kann es innerhalb des SED aufrufen.
C.1 TRACKFIT als unabhängiges Programm
Das MAINFRAME muß zuerst die Routine init_trackfit aufrufen, die
ihrerseits load_param aufruft und sonstige Initialisierungen durchführt.
load_param liest aus einem CARD-File die Steuerdaten ein. Vor Aufruf der
Routine trackfit müssen die Daten des Events durch prepare_event eingelesen
werden. Dies geschieht in einer Schleife über die Ereignisse. Am Ende
muß trackfit_last aufgerufen werden, um Datenfiles abzuspeichern
u.ä.
C.1.1 Die Steuerdaten aus dem CARD-File
Die Einlese des CARD-Files geschieht mit Hilfe von BOS-Routinen [Bl
87]. Diese fordern eine bestimmte Struktur der Steuerdaten:
-
Ein Schlüsselwort am Anfang der Zeile bestehend aus höchstens
vier Großbuchstaben und Ziffern.
-
Daten, durch Leerzeichen getrennt.
-
Bemerkungen nach einem '!'
Bei der folgenden Auflistung der Schlüsselwörter und ihrer Parameter
wird zuerst deren Bedeutung angegeben, dann die Parameter und zuletzt ggf.
die Standardwerte, die angenommen werden, wenn das entsprechende Schlüsselwort
fehlt. Bei den Parametern steht in Klammern, wie viele Parameter erwartet
werden und um was für einen Datentyp es sich handelt:
(1Z) Eine Zeichenkette, (2g) zwei ganze Zahlen, (r) beliebig viele
reelle Zahlen.
Schlüsselwort |
Bedeutung |
Parameter |
Standardwert |
EIFL |
Name und Pfad des Datenfiles |
(1Z) |
|
CTFL |
Name und Pfad des Kontrollfiles. |
(1Z) |
|
EICH |
Name und Pfad des Eichfiles |
(1Z) |
|
HPOS |
Name und Nummern der Header-Bank |
(1Z,3g):Name, Nummer, Positi
onsnummer der RUN-Nummer und Positionsnummer der Eventnummer. |
|
SEVT |
Run- und Event-Nummer |
(g):Run-Nummer, Event-Nummer |
alle Runs und Events |
SRUN |
Run-Nummern: entweder einzeln aufgelistet oder Nummer des ersten und
Nummer des letzten (mit Minuszeichen) |
(g) |
alle Runs |
IRUN |
Run-Nummern, die ausgelassen werden sollen |
(g) |
keine Runs werden ausgelassen. |
ECOU |
Nummer des ersten und letzten Events |
(2g) |
alle Events |
MAXE |
Maximale Anzahl zu bearbeitender Events |
(1g) |
alle Events |
STAT |
Es wird eine Fehlerstatistik geführt und am Ende des Programms
auf unit '*' ausgegeben. |
|
keine Ausgabe |
EHIS |
Die Ergebnisse der Fits werden bei Bedarf in verschiedene Histogramme
(NTUPLE im HBOOK-Common [CE
87a]) gefüllt. |
(g): Die Nummer(n) der gewünschten Histogramme. |
keine Histogramme |
FHIS |
Gibt den Namen des Ausgabefiles für EHIS an |
(1Z): Der Filename |
|
NRFI |
Anzahl der Fitdurchläufe |
(1g) |
3 Fitdurchläufe |
NCOR |
Anzahl der Fitparameter |
(1g) |
5 Fitparameter (x/y/z-Fit) |
ERRS |
Art der Hitgewichtung, teilweise driftzeitabhängig |
(1g, bis zu 6r): Modus (1: driftzeitunabhängig, 2 und 3: driftzeitabhängig)
und Parameter. |
Modus 1; Fehler: in der DC1 0.21 mm in der x/y-Ebene und 1.4 mm in
z; in der DC2 1.5 mm und 0.01 mrad für die Vielfachstreuung |
ARCS |
Die Länge der Bogenstücke |
(2r): Länge [cm] der Bogenstücke in DC1 und DC2 |
je 1 cm |
OFFC |
Fit ohne CSEG-Bank |
|
Fit mit CSEG |
HELX |
Auswahl der Helix |
(1g): Nummer der zu fittenden Helix |
1. Helix |
AACH |
Fitten der 1. Helix des AACHEN-Trackers. Verwendung der TSEG-Bank falls
keine Information aus CSEG |
|
1.Helix (HELX 1) |
PSIR |
Fitten der 1. Helix des PSI-Trackers. Verwendung der 3SEG-Bank falls
keine Information aus CSEG |
|
1.Helix (HELX 1) |
OFF1 |
Fit ohne DC1-Hits |
|
Fit mit DC1-Hits |
OFF2 |
Fit ohne DC2-Hits |
|
Fit mit DC2-Hits |
REVE |
Umkehrung der in den Bänken angegebenen Drehrichtung |
|
keine Umkehrung |
STVC |
Eigene Startwertberechnung des TRACKFIT verwenden. |
|
Startwerte aus der CSEG-Bank verwenden. |
FTUR |
Nur den ersten TURN einer Helix fitten |
|
Alle TURNs fitten. |
COVA |
Fit mit Kovarianzmatrix(KM) für Vielfachstreuung. |
(1g): Modus s.u. |
Fit ohne KM. |
FBER |
Filename für COVA 1. s.u |
|
FOR052.DAT |
FINM |
Filename für COVA 2 und COVA 5 s.u. |
|
|
FOUM |
Filename für COVA 4 und COVA 6 s.u. |
|
|
ELOS |
Energieverlust beim Berechnen der Spur berücksichtigen |
|
Fit ohne Energieverlust |
ELKM |
Fit mit KM für Energieverlust |
|
Fit ohne KM. |
Die verschiedenen Modi bei COVA dienen hauptsächlich der Anpassung
und Testzwecken. Die Modi sind:
Modus |
Beschreibung |
0 |
keine KM |
1 |
Es wird eine KM berechnet, aber ohne die Konstanten SW,
SG1 und SG2. Zur Berechnung dieser Konstanten mit
den Programmen BERECHNE_S_WAL und BERECHNE_S_GAS wird ein File unter dem
bei FBER angegebenen Namen ausgegeben. Der Name kann auch über ein
ASSIGN im COM-File geschehen, wie in FIT_CONST.COM, dann darf das CARD-File
keinen Eintrag FBER enthalten. |
2 |
Einlesen der Gewichtsmatrix, der Inversen der KM, s.a. Modus 5 |
3 |
Fit mit Berechnung der KM. Dies ist der normale Modus. |
4 |
Wie 3, aber zusätzlich Ausgabe der berechneten KM und ihrer Inversen
in das bei FOUM angegebene File |
5 |
Einlesen der KM aus dem bei FINM angegebene File. 2 und 5 sind nur
für Testzwecke. Da nur eine Matrix eingelesen wird, können nur
Ereignisse mit gleichen Startparametern berechnet werden. |
6 |
Die KM wird berechnet, sortiert
und in das bei FOUM angegebene File ausgegeben, aber nicht für den
Fit verwendet. Dieser Modus ist nur für Testzwecke geeignet. |
Die einzelnen Einstellungen im CARD-File sind nicht unabhängig
voneinander. Falls zwei Einstellungen gewählt wurden, die sich nicht
vertragen, so wird eine Fehlermeldung ausgegeben und eine der beiden umgesetzt.
Es darf z.B. nur eines der Schlüsselwörter HELX, AACH, PSIR vorkommen,
sonst wird HELX 1 gewählt.
C.1.2 Die Ausgabe des TRACKFIT
Der Umfang der Ausgabe des TRACKFIT kann beim Compilieren gesteuert werden,
denn viele Ausgabebefehle sind mit 'D' wegkommentiert und werden so normalerweise
nicht übersetzt. Compiliert man mit '/D_LINES', so wird das 'D' ignoriert,
und man erhält später die volle Ausgabe. Diese enthält u.a.
Informationen zu jedem Helixstück, dadurch wird die Ausgabe in das
Logfile schnell sehr umfangreich. Für den Normalfall reicht die kurze
Ausgabe, mit '/D_LINES' sollte nur zu Testzwecken gefittet werden. Eine
andere Möglichkeit der Ausgabe ist die in NTUPLE-Files. Diese können
im Gegensatz zur Ausgabe ins Logfile in PAW [CE
89b] weiterverarbeitet werden, um z.B. Diagramme wie Abb. 6.6 zu schaffen.
Am Ende des Programmlaufs kann eine Fehler statistik ausgegeben werden.
Zur Steuerung dieser Ausgaben existieren Steuerworte im CARD-File (EHIS
und STAT) , s. C1.1.
C.2 TRACKFIT im Betrieb innerhalb des SED
Beim Betrieb im SED wird kein CARD-File gelesen. Die meisten Einstellungen
geschehen automatisch und werden auf die Standardwerte des CARD-File gesetzt,
s. C.1.1. Da so eher falsche Einstellungen möglich
sind, reagiert das SED-TRACKFIT weniger hart auf Fehler. Ist beispielsweise
keine CSEG vorhanden, obwohl mit CSEG gefittet werden soll, so bricht TRACKFIT
im BATCH ab, macht im SED aber so weiter, als ob OFFC gesetzt wäre.
Mit dem Befehl 'FIT -1' können im SED einige Einstellungen geändert
werden.
Andere Standardeinstellungen im SED als beim Lesen eines CARD-Files:
-
es wird ohne DC2-Hits gefittet.
-
es werden immer eigene Startwerte berechnet.
-
es wird mit KM gefittet.
-
beim Spurmodell wird der Energieverlust berücksichtigt.
FIT -1 fragt folgende Parameter ab:
-
Anzahl der Fitdurchläufe.
-
Anzahl der Fitparameter.
-
Benutzung der CSEG.
-
Benutzung der DC1 - DC2 Hits.
-
Benutzung der KM.
-
Berücksichtigung des Energieverlustes.
C.3 TRACKFIT zur Bestimmung der Konstanten SW
, SG1 und SG2
Diese Anwendung ist zwar die seltenste, aber gerade deshalb ist eine Beschreibung
nötig. Die Konstanten SW , SG1 und SG2
müssen erst dann neu berechnet werden, wenn das Material der Wand
oder eines der Gase in DC1 bzw. DC2 geändert wird. Andere Änderungen,
wie der Einbau des inneren Hodoskops o.ä., beeinflussen diese nicht,
die Energie der e- wird sich zwar ändern, doch sind die
Konstanten in einem Bereich von 70 bis 110 MeV angepaßt. Sie sind
auch unabhängig vom Magnetfeld.
C.3.1 Prinzip der Bestimmung
Zuerst müssen MCs erzeugt werden, die am Punkt A starten und Hits
in den Einzugsbereichen der Drähte haben. Für eine Energie werden
jeweils etwa 4000 mit gleichen Startparametern gebraucht. Die Startparameter
sind über den möglichen Bereich zu variieren (etwa 15 Kombinationen).
Die 4000 Ereignisse setzen sich aus einem ohne Vielfachstreuung (MS) als
Musterspur,~2000 mit MS in der Wand und ~2000 mit MS in Wand und Gas zusammen.
Für alle Ereignisse werden NTUPLE gebraucht, die die Koordinaten der
Hits in den Einzugsbereichen der Drähte enthalten. Von den Musterevents
ohne MS werden zusätzlich durch STAGE4 bearbeitete Datenfiles benötigt,
die dann gefittet werden. Aus den NTUPLEN der Events werden dann mit COVA.EXE
die KMs berechnet. BERECHNE_S_WAL.EXE ermittelt aus der Ausgabe des Fits
und den KMs der Ereignisse nur mit MS in der Wand die Konstante SW.
Entsprechend berechnet BERECHNE_S_GAS.EXE die Konstanten SG1
und SG2, es braucht SW als Eingabe.
C.3.2 Benutzung des Comandfiles FIT_CONST zur Berechnung
der Konstanten SW , SG1 und SG2
Um die einzelnen Files nicht zu groß werden zu lassen, wird man normalerweise
mit etwa vier Files pro Startparameter, also ~120 Files pro Energie, arbeiten
müssen. Um nicht alle Files einzeln ins Comandfile eintragen zu müssen,
wird nur ein Joker übergeben, mit dem das Programm sich alle Files
sucht und aus dem Namen die nötigen Informationen ausliest. Deshalb
ist die Namensgebung der NTUPLE-Files nicht beliebig. Die genauen Anforderungen
an den Namen stehen in FIT_CONST.COM. Die Erzeugung der MCs und der Aufruf
von STAGE4 sollte außerhalb von FIT_CONST geschehen. Zuerst ruft
es dann TRACKFIT auf, dafür muß in FIT.CARD u.a. COVA auf 1
gesetzt werden. ELOS und ELKM müssen abgeschaltet sein, die Namen
des Ein- und des Ausgabefiles werden nicht mit EIFL bzw. FBER im CARD-File
gesetzt, sondern müssen in FIT_CONST eingetragen werden. Dies hat
einerseits den Vorteil, daß nur ein File geändert werden muß
und andererseits, daß die Übergabe zwischen TRACKFIT und den
folgenden Programmen funktioniert.
Vor der eigentlichen Berechnung der KM durch COVA.EXE werden die gesamten
Events noch durch SCAN.EXE untersucht, um festzustellen, welche Hits ausgelassen
werden müssen, da nur Hits verwendet werden können, die in allen
Events mit gleichem Startparameter vorkommen. Die beiden zuletzt genannten
Programme werden durch ein eigenes Comandfile ausgeführt. Dieses Comandfile
wird von FIT_CONST.COM erzeugt. Als Parameter wird der Joker auf die Files
benötigt.
Nach diesen Vorbereitungen wird BERECHNE_S_WAL aufgerufen und SW
bestimmt. Das Ergebnis wird in einem eigenen File ausgegeben.
Der zweite Teil ist praktisch identisch zum ersten, nur werden die
Ereignisse mit MC in Wand und Gas gebraucht und BERECHNE_S_GAS gibt die
Konstanten SG1 und SG2 aus.
Falls, wie in Kap.5 beschrieben, die Konstanten nicht für jede
Energie einzeln berechnet werden sollen, sondern eine Regressionsformel
in Abhängigkeit der Energie gewünscht ist, so sollten die 3 Konstanten
einzeln bestimmt werden. Zuerst wird SW berechnet, indem das
Comandfile nach der ersten Hälfte abgebrochen wird. Aus den SW für
verschiedene Impulse wird eine Regressionsformel bestimmt. Mit deren Hilfe
werden die Konstanten neu berechnet und in das Ausgabefile eingetragen.
Dieses ist gleichzeitig das Eingabefile für die zweite Stufe. Jetzt
kann man die Konstanten für die Gase berechnen lassen. Im Ausgabefile
stehen dann alle drei Konstanten, diese paßt man wie oben an. Für
den letzten Durchlauf ist der Einsprungpunkt ( DC2: ) im Comandfile vorhanden.
Der Sprungbefehl und das STOP für den ersten Schritt sind wegkommentiert.
Die Berechnung der Regressionsformel ist bewußt nicht im Programm
enthalten, da man sich dann für eine Gerade o.ä. entscheiden
müßte. Dies sollte aber jedesmal über prüft werden,
was man besser per Hand macht.
Abbildungsverzeichnis
3.1. Der SINDRUM II-Detektor.
3.2. Die z-Abhängigkeit der z-Komponente
des Magnetfeldes
3.3. Schematische Darstellung der Kammern
DC1 und DC2.
4.1. Die beiden für einen Fit brauchbaren
Spurverläufe.
4.2. Bedeutung der fünf Helixparameter
4.3. Bestimmung des Abstandes eines DC1-Anodenhits
zur gefitteten Spur.
5.1. Räumliche Darstellung der Impulsvektoren
P und Pg
5.2. Projektion der ungestreuten und gestreuten
Spur in die x/y-Ebene.
5.3. Die verschiedenen Spurwinkel.
5.4. Die Abhängigkeit SW2 von der Energie
des Elektrons.
5.5. Vergleich der mit TRACKFIT berechneten
Kovarianzmatrix mit der aus Monte-Carlos berechneten
5.6. Impulsfehler des TRACKFIT ohne Berücksichtigung
von MS und EL
6.1. Energieverlust pro cm in der Wand
6.2. Energieverlust pro Strecke in den beiden
Gasen
6.3. Gesamtimpulsfehler des TRACKFIT mit
Berücksichtigung von MS
6.4. Projektion der unbeschleunigten und
beschleunigten Spur in die x/y-Ebene.
6.5. Der relative Energieverlust pro cm zurückgelegter
Strecke in der Wand.
6.6. Eine vollständige im TRACKFIT berechnete
KM
6.7. Die Fehler des Gesamtimpulses beim Fit
unter Verwendung der vollständigen Kovarianzmatrix und des Energieverlustes
im Spurmodell.
7.1. Darstellung eines Events im SED.
7.2. Ein mit der Funktion ZOOM vergrößerter
Ausschnitt
7.3. b-z-Diagramm
A.1. Schematisches Diagramm zur Erklärung
der MARK-Felder.
B.1. Die verschiedenen Arten von Routinen.
B.2. Die aus anderen Programmen aufrufbaren
Routinen
B.3. Die Unterroutine calculate_track_dft
B.4. Algorithmus der Hauptroutine trackfit
B.5. Algorithmus der Einleseroutine read_eventstructure
B.6. Ablaufdiagramm der Routine prepare_combination
B.7. Die Routine fill_mark
B.8. Die Routine fill_mark_cseg
B.9. Aufrufdiagramm von sed_main.
B.10. Der erste Teil der von sed_main aufgerufenenRoutinen.
B.11. Der zweite Teil der von sed_main aufgerufenen
Routinen.
B.12. Die Graphikroutinen des SED
Tabellenverzeichnis
2.1. Die elementaren Fermionen.
2.2. Die vier Grundkräfte.
3.1. Die wichtigsten Daten der beiden Kammern
DC1 und DC2.
Danksagung
-
Zuerst möchte ich meiner Mutter danken, die mir das Studium der Physik
ermöglichte.
-
Zum Gelingen dieser Arbeit haben viele Mitglieder der SINDRUM II - Kollaboration
beigetragen.
Besonders danken möchte ich hier:
-
Herrn Prof. G. Otter, der mir nicht nur diese Arbeit ermöglichte,
sondern auch stets ansprechbar und zur Beantwortung von Fragen bereit war.
-
Claus Dohmen, der mir bei der Einarbeitung in das Experiment - speziell
in das TRACKFIT - stets zur Seite stand.
-
Winfried Honecker, der mir vor allem bei der Erzeugung der zahlreichen
Monte-Carlo-Ereignisse behilflich war.
-
Klaus-Dieter Groth, Bernhard Heer, Bernward Krause und Burkard Steinrücken,
die mir ebenfalls immer als Ansprechpartner zur Verfügung standen.
-
Herrn Rolf Steinberg, der mir als Systemmanager oft bei Problemen am Computer
behilflich war.