Ich habe eine XY-Karte von Ereignispositionen in einem Teilchendetektor, und diese Ereignisse haben Dutzende von Variablen, die sie charakterisieren. Nehmen Sie Energie, zum Beispiel:Erstellen Sie ein TH2, das die Standardabweichung einer Variablen in einem gegebenen Bin enthält
TH2F* h_xy = new TH2F("h_xy","h_xy",100,-10,10,100,-10,10);
TH2F* h_xyw = new TH2F("h_xyw","h_xyw",100,-10,10,100,-10,10);
TH2F* h_avg = new TH2F("h_avg","h_avg",100,-10,10,100,-10,10);
Ich fülle h_xy
mit allen meinen Veranstaltungen, verteilt über xy: Ich habe die mittlere Energie eines Ereignisses in einem kleinen Bereich des Detektors, indem sie drei TH2F die in ROOT finden. Jeder Eintrag im Histogramm wird mit 1 gewichtet. Dann fülle ich h_xyw
mit allen meinen Ereignissen, gewichtet mit der Energie. Teilen h_xyw
von h_xy
gibt die durchschnittliche Energie pro Tonne, die ich in h_avg
eingegeben habe. Ich tue dies alles auf der ROOT-Befehlszeile, so ist es wirklich einfach nur:
tree->Draw("energy>>h_xy","","colz")
Und dann ziehen Sie die Informationen direkt aus den Histogrammen. Weiter, ich würde gerne in der Lage sein, die Standardabweichung der Gewichte in jedem Fach zusätzlich zum Durchschnitt zu plotten. Ich weiß, dass ich das tun kann, indem ich ein kompiliertes Skript schreibe, aber ich frage mich, ob es eine einfache Möglichkeit gibt, diese Befehlszeile zu machen, an die ich gerade nicht gedacht habe.
Wie haben Sie die Teilung von zwei Hisogrammen gemacht? Sie müssen eine Schleife machen, um die Division zu machen, oder Sie haben eine Befehlszeile, um dies zu erreichen? Vielen Dank. –