### Aufgabenstellung
# a) Lest den in Aufgabe 2 erzeugten Datensatz ein und erzeugt mit den Daten eine
#    neue ROOTDatei, in der zusätzlich noch das Produkt beider Zufallsvariablen
#    als dritte Variable enthalten ist.
# b) Zeichnet die neue Variable als Histogramm.

import ROOT as R
import numpy as np
R.gROOT.SetBatch(True)
R.gStyle.SetOptStat(0)

### Aufgabenteil a)
first_file = R.TFile('A2_data.root', 'READ')
first_tree = first_file.Get('my_tree')

new_file = R.TFile('A3_file.root', 'RECREATE')
new_tree = R.TTree('modified_tree', 'My Second Tree')

x = np.zeros(1, dtype=np.float64)
y = np.zeros(1, dtype=np.float64)
z = np.zeros(1, dtype=np.float64)
new_tree.Branch('xbranch', x, 'xbranch/D')
new_tree.Branch('ybranch', y, 'ybranch/D')
new_tree.Branch('zbranch', z, 'zbranch/D')

for i in range(first_tree.GetEntries()):
    first_tree.GetEntry(i)
    x[0] = first_tree.xbranch
    y[0] = first_tree.ybranch
    z[0] = first_tree.xbranch * first_tree.ybranch
    new_tree.Fill()

### Aufgabenteil b)
can = R.TCanvas()
new_tree.Draw('zbranch')
can.SaveAs('A3_zbranch.pdf')

new_tree.Write('', R.TObject.kOverwrite)
new_file.Close()

first_file.Close()
