12.12.2012 Aufrufe

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.3. DAS FÜR DIESE ARBEIT GEWÄHLTE MODELL 33<br />

4.3.1 Klassenhierarchie<br />

In dieser hier im folgenden vorgestellten Analyse kommen die beiden Vererbungsbäume aus Abbildungen<br />

4.1 und 4.2 zum Einsatz, d.h. der Baum für die generellen Klassen sowie derjenige<br />

für die Zeigerklassen. Zusätzlich stehen weitere Klassen zur Verfügung, die unter dem Oberbegriff<br />

“Detektorobjekte” zusammengefaßt werden. Sie enthalten Informationen über verschiedene<br />

Typen von Endzuständen, Teilchen aus dem elektromagnetischen Kalorimeter, Myonkandidaten<br />

und Spuren. Die Verbindung zu den anderen Klassen ist dergestalt, daß identifizierte Teilchen<br />

einen oder mehrere Zeiger auf Detektorobjekte besitzen. Ein Beispiel wäre das gestreute Elektron,<br />

dem ein Objekt der H1LtEmParticle Klasse zugeordnet ist. Diese Klasse speichert<br />

Informationen über Teilchen, welche Energie im elektromagnetischen Teil des Kalorimeters deponiert<br />

haben. Von dort sind unter anderem der Spur-Cluster Abstand sowie detailierte Informationen<br />

zu den ursprünglichen Spuren und/oder Clustern zugänglich.<br />

Die Detektorobjekte stammen aus den Informationen, die der LOTUS Code bereitstellt. Dabei<br />

handelt es sich um ein Softwarepaket, das auf H1PHAN aufbaut. Zusätzlich führt es aber<br />

schon eine endgültige Kalibrierung durch, um die Daten zu verbessern. LOTUS stellt auf diese<br />

Weise einen Großteil der Variablen zur Verfügung, die bei H1-Analysen benötigt werden<br />

[Hei00]. Eine Liste aller LOTUS Variablen findet sich in [H1 99c].<br />

Für das OO-Projekt wurde eine Wrapper-Bibliothek namens lotus++ bereitgestellt, die<br />

die Informationen aus den FORTRAN Common Blöcken in C++ zugänglich macht. Diese wird<br />

ebenfalls benutzt, um µODS und HAT zu füllen solange es noch keinen Code für H1PHAN++<br />

gibt. Eine Übersicht der derzeitigen Produktionsweise der drei Datenlagen zeigt Abbildung 4.5.<br />

Die Konvertierung zwischen den Formaten auf DST und ODS in beide Richtungen erfolgt mittels<br />

des Paketes bos2oop (siehe auch die Paketübersicht in Anhang A.4), die Erzeugung von<br />

µODS und HAT geschieht mit Hilfe der lotus++ Bibliothek. Dies soll in der Zukunft durch<br />

eine Produktionskette ersetzt werden, in der H1PHAN++ auf ODS aufbauend die übergeordneten<br />

Ebenen erzeugt.<br />

4.3.2 Die konkrete Analyseumgebung<br />

In diesem Abschnitt wird näher auf die konkrete Implementierung der in 4.3.1 vorgestellten Klassenhierarchie<br />

eingegangen. Der Schwerpunkt soll dabei auf den tatsächlich benutzbaren Klassen<br />

liegen. Auf fehlende Funktionalität oder bisher nur unzureichend implementierte und somit noch<br />

nicht benutzbare Klassen wird zumindest hingewiesen.<br />

Kernstück für die Datenanalyse auf dem Teilchenniveau ist die Klasse H1ParticleCand,<br />

die prinzipiell für jedes Objekt benutzt wird, das im Detektor gemessen wurde und bestimmte<br />

Mindestvoraussetzungen erfüllt. Sie erbt von H1Particle die kinematischen Informationen<br />

pt, θ, ϕ, Energie im elektromagnetischen und hadronischen Kalorimeter sowie die gemessene<br />

Ladung. Ebenfalls in der Basisklasse befindet sich ein Datenelement H1Bits, das 32 binäre Zustände<br />

speichern kann. Dies wird z.B. benutzt um zu kennzeichnen, ob ein Teilchen gewissen<br />

Kriterien der Identifikation genügt. Die Klasse H1ParticleCand selbst beinhaltet zusätzlich<br />

die Relationen zu Müttern/Töchtern und seinem Vertex. Diese Funktionalität ist aber noch nicht<br />

implementiert. Die Behandlung von zugehörigen Spuren und Clustern fehlt noch ganz.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!