Stand: 2/6/98 (mb)

Das SOM-faq


Was ist eine SOM?
Wozu werden SOMs im EDDA-Experiment eingesetzt?
Wie verbessern SOMs den Kohlenstoff-Abzug?
Ersetzen SOMs den Kohlenstoff-Abzug?
Benötige ich spezielle Dateien, um mit SOMs zu arbeiten?
Wie generiere ich meine eigene SOM?
Wie mache ich einen Kohlenstoff-Abzug mit SOMs?
Wo finde ich fertige und getestete Karten?

SOM interaktiv (Java-Applet)

Für weitere Fragen/Verbesserungsvorschläge --> Mail an Marc Busch


Was ist eine SOM

Die im EDDA-Experiment gemessenen Observablen spannen zusammen einen Vektorraum auf, in dem jedes gemessene Ereignis durch einen Punkt/Vektor dargestellt wird. Ereignisse, die zu verschiedenen Ereignisklassen gehören (z.B. pp-elastisch, pC, pp->dpi+), gehören zu verschiedenen (im Idealfall getrennten!) Bereichen des Vektorraumes. Es entstehen also einzelne Punktwolken, die mit Hilfe der Daten-Analyse separiert werden müssen.
Genau diese Aufgabe kann im Prinzip eine Selbstorganisierende Karte (Self-Organizing Map) übernehmen. Eine SOM bildet Strukturen eines hochdimensionalen Vektorraumes auf eine eindimensionale Linie von Knoten ab, d.h. den etwas unanschaulichen n-dimensionalen EDDA-Daten wird jeweils (pro Event) eine Zahl zugeordnet, die Aufschluss über die Art der Reaktion geben kann. Diese Zahl verbirgt sich hinter dem Subevent WINNER[0].


Back to Top


Wozu werden SOMs im EDDA-Experiment eingesetzt?

SOMs werden eingesetzt, um den Kohlenstoff-Abzug zu verbessern.
Zur Trennung einzelner Ereignis-Klassen im EDDA-Experiment sind sie nicht geeignet, da die entsprechenden Punktwolken/Cluster im Observablen-Raum überlappen, d.h. es gibt z.B. Streureaktionen am Kohlenstoff des Fädchentargets, die trotz Betrachtung aller mit dem EDDA-Detektor gemessenen Observablen nicht von einer elastischen pH-Streureaktion unterschieden werden können.


Back to Top


Wie verbessern SOMs den Kohlenstoff-Abzug?

Beim Kohlenstoff-Abzug werden Histogramme voneinander abgezogen. Die einzelnen Bins enthalten Zählraten mit entsprechenden statistischen Fehlern. Um den statistischen Fehler des Abzuges möglichst klein zu halten, sollte die zu subtrahierende Datenmenge so weit wie möglich reduziert werden. Eine selbstorganisierende Karte kann einen Grossteil des nicht-elastischen Untergrundes unterdrücken (60% mehr als der bisher übliche Alpha-cut).


Back to Top


Ersetzen SOMs den Kohlenstoff-Abzug?

Nein.

Man muss nach wie vor Histogramme mit CH2- und C-Daten füllen, normieren und subtrahieren. Einzige Änderung: der bisher übliche Alpha-cut wird um den SOMcut erweitert.


Back to Top


Benötige ich spezielle Dateien, um mit SOMs zu arbeiten?

Ja.

Zunächst benötigt man das hoc-file SOM.hoc. Darin wird festgelegt, welche Observablen (Subevents) mit welcher Gewichtung den Observablen-Raum bilden. Ausserdem werden eine Menge Broker-Variablen gesetzt, die man nicht ändern sollte, wenn man nicht gute Gründe dafür hat (das betrifft auch die dort gesetzten Energien). Wenn man eine fertige Karte vorliegen hat, also keine eigene SOM generieren möchte, muss man nur das zu der Karte gehörende 'SOM.hoc' in YODA laden, bevor man mit irgendwelchen Analysen beginnt.

Desweiteren benötigt man natürlich eine Karte. Die verbirgt sich in einem 'map_*'-file dessen genauer Name mit der Broker-Variablen Map_file festgelegt wird. In dieser Datei stehen allerlei Zahlen, die die Abbildung des Observablenraumes auf die eindimensionale Knoten-Linie definieren. Jede Karte hat ihr eigenes 'SOM.hoc'! Benutzt man eine bereits fertige Karte, kann man mit dem Befehl 'map_unpack [KARTE] [hoc-file]' das entsprechende hoc-file aus der Karte extrahieren.

Beispiel: Man hat sich eine Karte 'map_str10_sortiert' für Rampendaten der 10.Strahlzeit in sein Arbeitsverzeichnis kopiert. Die Datei muss in 'map_ch2' umbenannt/kopiert werden. Mit dem Befehl 'map_unpack map_ch2 SOM.hoc' verschafft man sich das zugehörige 'SOM.hoc'-file, danach kann's los gehen.

Benutzt man die bei Aktivierung von SOMap automatisch geladene default-Karte (empfohlen!!), findet man das zugehörige SOM.hoc-file im Verzeichnis .../yoda/db/str13/ (Repository).


Back to Top


Wie generiere ich meine eigene SOM?

Das macht momentan nur der grosse Hexenmeister.


Back to Top


Wie mache ich einen Kohlenstoff-Abzug mit SOMs?

  1. YODA starten, SOM.hoc laden, Hardcallback SOMap aktivieren (enable).
  2. Eigenes hoc-file laden, das unter anderem eine Alpha-Verteilung akkumuliert.
  3. CH2-Daten sortieren, Histos speichern, C-Daten sortieren, Histos speichern.
  4. Alpha-Verteilung von CH2- und C-Daten anpassen, entweder von Hand (mit Paw) oder mit carbonSubtract.
  5. Normierungsfaktor (aus 4.) benutzen, um die entsprechenden Histogramme voneinander abzuziehen (geht auch mit carbonSubtract).
  6. Fertig!

Und wo sind die SOMs???
Die SOMs stecken in dem eigenen (!!!) hoc-file. Dort müssen alle Schnitte auf das kinematische Defizit, die zum Ziel haben, den Untergrund zu reduzieren um den SOMcut erweitert werden. Der sieht so aus:

if (WINNER[0] > maxKnot[ SLICE[0] ] ) dann handelt es sich um Untergrund, der weggeschnitten werden kann.

Oder anders herum:

if (WINNER[0] <= maxKnot[ SLICE[0] ] ) dann handelt es sich um ein interessantes Ereignis, das nicht weggeschnitten werden sollte..

maxknot[] ist ein Array, dem explizit im eigenen hoc-file Werte zugewiesen werden müssen, und zwar genau die Werte, die in der jeweiligen SOM.hoc Init-Routine als Kommentar stehen, z.B:
In SOM.hoc steht:
// akzeptierter Energiebereich: 82.5-2580 Mev // Bereiche elastischer Ereignisse: // map1 : 0-146 // map2 : 0-146 ... usw. ... // map8 : 0-16 // map9 : 0-28

Dann muss im eigenen hoc-file (am besten in der init-Routine) stehen:
dim maxKnot[9]; maxKnot[0]=146; maxKnot[1]=146; ... usw. ... maxKnot[7]=16; maxKnot[8]=28;
Man beachte die Zuordnung mapN<-->maxKnot[N-1]. Um auf die Subevents WINNER und SLICE zugreifen zu können, muss in der init-Routine natürlich noch
access WINNER;
access SLICE;

eingefügt werden.


Back to Top


Wo finde ich fertige Karten?

Es existiert momentan eine Allround-Karte für Rampen Daten, die mit dem Fädchentarget gemessen wurden. Generiert wurde sie mit Daten der 10.Strahlzeit. Sie kann auch für Daten anderer Strahlzeiten (auch polarisiert!) benutzt werden.

/dsk/rigel2/gruppen/edda/sort_10.2/SOM_TEST/map_str10_sortiert

Diese Karte steht inzwischen im Repository und wird als default geladen, sobald der Hardcallback SOMap aktiviert wird. Das zugehörige SOM.hoc file ist ebenfalls im Repository unter .../db/str13/SOM.hoc zu finden.
D.h. die Karte wird automatisch geladen, SOM.hoc muss noch 'von Hand' geladen werden.
Back to Top