Skipts for Avas testbox assigned nmahepam
Find a file
2026-04-29 14:59:27 +02:00
.gitignore added .gitignore 2025-05-08 15:06:37 +02:00
DORNconfiguration.py Change A10 and A11 in DORNconfiguration for NMAHEPAMsetup 2026-04-29 14:59:27 +02:00
DORNparser.py added Itime option to DORNparser 2026-03-10 15:26:31 +01:00
DORNparser_trig.py implement vertical triggers for all 17 triggerpositions to do overview-plot 2026-04-14 13:29:12 +02:00
DORNparser_trig2.py implement vertical triggers for all 17 triggerpositions to do overview-plot 2026-04-14 13:29:12 +02:00
event_filters.py Evaluate NMAHEPaM eventwise 2026-04-14 13:29:12 +02:00
histplot.py added possibility to add labels in legend from command line 2026-03-10 13:13:35 +01:00
nmahepam_eval.py added histogram functionality 2025-02-26 12:12:32 +01:00
NMAHEPAMa.py UPDATE NMKAHEPAM.py§ 2025-08-11 11:04:20 +02:00
NMAHEPAMilano.py Rechtschreibfehler behoben 2025-08-22 10:23:17 +02:00
plot1dhist.py add plot1dhist.py 2026-03-05 14:20:26 +01:00
README.md Update README.md 2025-08-11 13:11:02 +02:00
sdcard_filter_2025-10-08_Float_CUT.MHM Datei für Ava 2025-11-10 15:28:18 +01:00

NMAHEPAM Analyse der Muonenpeak-Positionen in BGO-Dioden

Überblick

Das Projekt NMAHEPAM basiert auf den Ergebnissen der BigBGO-Messungen (siehe BigBGO_results_v02.pdf in der SETH-Cloud). Ziel ist es, die Signale von 6 BGO-Dioden in Kombination mit 17 Triggerdioden zu analysieren, um insbesondere die Positions- und Winkelabhängigkeit des Muonenpeaks zu untersuchen.

Die Messdaten für NMAHEPAM liegen in /data/falbala/stephan/solo/eda/arm/ahepam und sind wie folgt bezeichnet 'year-month-day-nmahepam-{spezifizierung}-{nummer}'. Also z.B. 2025-02-20-nmahepam-csa20-1.dat. Es sollte am besten eine "Laborbuch"-liste geführt werden, in der jede Messung ausführlicher dokumentiert wird. (So wie im Anhang von BigBGO_results oder in https://wolke.bexus.org/index.php/s/ZRoCYf4LrGS3WtJ?dir=undefined&openfile=22696)

Der Zugriff auf /data/falbala/stephan/solo/eda/arm/ahepam geht nur über asterix3 und nicht über asterix. Bei CHAOS hat folgender Umweg funktioniert: /net/asterix3/data/asterix/athena/arm/irena/ahbgo (bei falbala leider nicht) Hier funktioniert folgender Umweg: /net/falbala/data/falbala/stephan/solo/eda/arm/ahepam

Um lange und unübersichtliche Dateipfade in Funktionsaufrufen oder Skripten zu vermeiden, können Symlinks (symbolische Verknüpfungen) verwendet werden. Damit lassen sich Verzeichnisse mit langen Pfadangaben lokal in kürzere Alias-Namen umwandeln.

Symlink erstellen: ln -s /net/falbala/data/falbala/stephan/solo/eda/arm/ahepam data (erstellt im aktuellen Verzeichnis einen symbolischen Link namens data, der auf das Verzeichnis /net/falbala/data/falbala/stephan/solo/eda/arm/ahepam/ verweist).

Um zu überprüfen, wohin ein Symlink zeigt: readlink -f dau


Aufgaben

1. Experimenteller Aufbau

  • Finalisierung des Setups: Alle 6 BGO-Dioden und alle 17 Triggerdioden (oben und unten) müssen vollständig auslesbar sein.

2. Kanalzuordnung & Dokumentation

  • Eindeutige Zuordnung: Welcher Kanal gehört zu welcher Diode?
  • Dokumentation dieser Zuordnung.
  • Definition der Kanalbezeichnungen in NMAHEPAM.py.
  • Überprüfen, ob es stimmt

NMAHEPAM.py ist das Masterskript, das am Ende histogramme aus den dateien erstellen können soll. Es kann mit der Zeit durch nützliche Optionen ergänzt werden. Zur orientierung, wie so ein Skript aussehen kann und welche Optionen möglich sind, dienen .../ava/BGO/AHBGOx.py und .../ava/DAVA/CHAOSx.py

Beispielaufruf:python3 NMAHEPAMa.py data/2025-01-29-nmahepam-first-dark-3.ED -hist erstellt hists/2025-01-29-nmahepam-fist-dark-3a.1dhist und python3 histplot.py hists/2025-01-29-nmahepam-fist-dark-3a.1dhist plottet das erstellte histogramm. (aktuell noch mit ADC-values auf x-achse und nicht in mV).

Ich habe meinen Skripten immer ein x oder a angehängt und dann den damit erstellten histogrammen auch ein x oder a zur Identifizierung, mit welchem Skript das Histogramm erstellt wurde. Ich habe mir in meinem homeverzeichnis ein virtuel environment gebaut, in dem ich padnas und co installiert habe, was ich zum Ausführen der pythonskripte brauche (das mag Stephan auf keienn Fall, aber "never interrupt a running system).

3. Erste Analyse & Visualisierung

  • Erstellung von Histogrammen für alle Kanäle.

  • Sicherstellen, dass alle Kanäle funktional sind.

  • Reproduktion der Plots aus Toms Bachelorarbeit ("Overview Position Dependency"):

    • Darstellung: Für jede Triggerposition das Histogramm der 6 BGO-Dioden und die Summe.
    • Erweiterung von NMAHEPAM.py: Triggern auf alle 17 Positionen (oben + unten).
    • Hilfreiche Skripte:
      • home/asterix/ava/overview.py: visuelle Darstellung der 17 Positionen → anpassen für alle Triggerpositionen (aktuell nur 7).
      • home/asterix/ava/BGO/make_verticals.py → Beispiel für vertikale Triggerbedingung über alle Triggerpositionen (Schleifen).

    Tipp:

    • neue Option für Summe aller BGO-Kanäle, ähnlich wie Option -sum in ava/BGO/BigBGO.py gerne auch eine neue Funktion, die Histogramme
      aller 6 BGO dioden erstellt und eine weitere Spalte hinzufügt, in der die Summe steht. (könnte für die weitere Untersuchung relevant sein)
    • schreibe eine Option -trig, die mehrere Triggerdioden annehmen kann und nur die Daten ins histogramm schreibt, die die triggeroption erfüllen. In DAVA/CHAOSa.py ist eine solche Option -trig für CHAOS implementiert. Ich packe alle übergebenen Triggerpositionen (entweder channel opder name) in eine Liste ich schuae dann spezifisch für das Instrument, welcher Kanal das ist und erstelle eine Liste mit allen Triggerkanälen. Ich habe das ansschließend um eine "oder" Möglichkeit erweitert, das braucht ihr im ersten Schritt nicht. Dann kann man eine extra funkiton conditions() definieren, und die beim histogrammieren aufrufen, oder direkt beim histogrammieren die abfrage. Hier ist es auch sinnvoll, die triggerbedingung an den dateinamen mit anzuhänhen.
    • Da ihr dann für 17 Triggerpositionen ein Histogramm erstellen wollt, ist es sinnvoll, dafür ein separates Skript zu schreiben, statt es 17 mal selbt einzutippen und auszuführen. Ich habe das damals in BGO/make_verticals.py gemacht. Wir hatten damals nur 8 triggerdioden oben und unten. Hier macht es Sinn, jedem Dateinamen die Triggerposition anzuhängen, um die erstellten histogramme trennen und weiter auswerten zu können. (alles gleich, bis auf letzt nummer lässt sich dann auch bei der gesamtübersihct super einlesen.)
    • Die Option -zero war dafür gedacht, die BGO-Werte für eine bessere Vergöeichbarkeit auf 0°C zu normieren (Lichtausbeute ist temperaturabhängig). Wenn ihr aber nur eine Messung betrachtet, könnte das erstmal weggelassen werden, da man von konstanter T ausgehen kann. (später würde ich aber aber uaf jeden Fall noch hinzufügen, mit dem Polynom von DAVA/histframe.py)
    • wenn die so erstellten histogramme einzelnd super aussehen, könnt ihr sie als übersicht plotten, wie in BGO/overview.py Danach geht es weiter, die mpvs der landau geformten histogramme durch fit zu bestimmen (4.)

4. Vertikale Positionsabhängigkeit untersuchen

  • Fit der 6 Dioden-Histogramme und deren Summe mit Landau-Funktion.
  • Fit-Funktionen aus: home/asterix/ava/BGO/fit_functions.py nach NMAHEPAM kopieren und erweitern.
  • Festlegen sinnvoller Startparameter per Hand.
  • Anwendung der Fits auf vertikale Histogramme (vgl. histfit_vertical.py, overview.py) und fitparameter sinnvoll wegspeichern.
  • Für einen übersichtlichen Vergleich, kann man die fitparameter (MPVs) miteinander vergleichen (siehe overview_mpvs.py,overview_sums.py)

5. Analyse schräger Positionen (für SETH relevant)

  • Fokus auf Summensignal der 6 BGO-Dioden.
  • Analyse der Winkelabhängigkeit:
    • Welche Winkelbereiche können mit Toms Aufbau mit 17 Dioden abgedeckt werden?
  • Triggerbedingungen gruppieren, um gleiche Winkelbereiche zu erfassen. (Ein Winkelbereich wird über mehrere Triggerdiodenkombis abgedeckt, z. B. 4d+6b hat den gleichen WInkel, wie 3d 7c und wie 8c,3e, usw. Überlegt euch, wie man das gut im Skript umsetzen kann.)
  • Erste Untersuchungen zur Winkelabhängigkeit durchführen.

Pfad zu weiteren relevaten Dateien

8/arm/ahepam/: Makefile (Zum Erstellen der ED-Dateien); AHEPAM.awk (Stephans Skript zur Erstellung der histogramme) /arm/: nmahepam_channesl.md (Verfolgung der Channels in Elektronikhardware)