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: 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: FIT -1 fragt folgende Parameter ab:

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

 
 
 
 

Besonders danken möchte ich hier: