2016-05-04 12 views
1

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.

+0

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. –

Antwort

1

Ähnlich wie bei Ihren vorhandenen Befehlen können Sie ein weiteres Histogramm h_xyww mit der Energie quadriert als Gewicht füllen. Dann teilen Sie h_xyww durch h_xy (durchschnittliche quadratische Energie), multiplizieren Sie das Histogramm mit den durchschnittlichen Energien für sich (Quadrat der durchschnittlichen Energie), und subtrahieren Sie dann die beiden voneinander.

std_dev^2 = <E^2> - <E>^2 
+0

Ah, das ist so einfach! Ich habe diese Definition der Standardabweichung völlig ignoriert - mit dem Fokus auf die Ereignis-zu-Ereignis-Summe. Genau das habe ich gebraucht, danke! – awwsmm