Ich habe gerade angefangen, pyroot zu verwenden, um root-Dateien zu lesen, und ich kann die Daten aus einer Datei nicht mit jupyter notebook lesen. Hier ist, wie die TBrowser wie folgt aussieht:Lesen einer TTree im Root-Verzeichnis mit PyRoot
ich so begonnen:
import ROOT as root
import numpy as np
f = root.TFile("RealData.root")
myTree = f.Get("tree")
entries = myTree.GetEntriesFast()
Bis hierher es funktioniert und wenn ich Einträge drucken bekomme ich die richtige Anzahl von entires Ich habe in die Datei. Aber ich weiß nicht, wie man tatsächliche Daten vom Baum liest (event_number, n_channels, etc.) Wenn ich etwas wie myTree.events
oder myTree.event_number
versuche, hört der Kern auf zu arbeiten. Was soll ich tun, um die Daten vom Baum zu lesen?
Wenn ich dies tue bekomme ich diesen Fehler: TypeError: angeforderte Klasse 'ROOT :: Event' existiert nicht – Silviu
Klingt, als ob Sie ROOT-Wörterbücher für die Event-Klasse fehlen (Ich nehme an, das ist eine benutzerdefinierte Klasse, die Sie nicht verwenden Kernwurzel eins?). Sie sollten in der Lage sein, eine Zeile wie: 'root.gInterpreter.GenerateDictionary (" \ path \ to \ Event.h ")' hinzuzufügen, damit ROOT das Wörterbuch im laufenden Betrieb generiert. Oder schauen Sie sich http://wlav.web.cern.ch/wlav/pyroot/tpymyclass.html an –