Wait before looking at the solution! Try harder if you can!

Writing on files

This is a Python notebook in which you will practice the concepts learned during the lectures.

Writing histograms

Create a TFile containing three histograms filled with random numbers distributed according to a Gaus, an exponential and a uniform distribution. Close the file: you will reopen it later.


In [1]:
import ROOT

rndm = ROOT.TRandom3(1)

f = ROOT.TFile("histos.root","RECREATE")

hg = ROOT.TH1F("gaus","Gaussian numbers", 64, -4, 4)
he = ROOT.TH1F("expo","Exponential numbers", 64, -4, 4)
hu = ROOT.TH1F("unif","Uniform numbers", 64, -4, 4)
for i in xrange(1024):
    hg.Fill(rndm.Gaus())
    he.Fill(rndm.Exp(1))
    hu.Fill(rndm.Uniform(-4,4))

for h in (hg, he, hu): h.Write()
    
f.Close()


Welcome to JupyROOT 6.10/06

Now, you can invoke the ls command from within the notebook to list the files in this directory. Check that the file is there. You can invoke the rootls command to see what's inside the file.


In [2]:
! ls .
! echo Now listing the content of the file
! rootls -l ./histos.root


histos.root  WritingOnFiles.ipynb  WritingOnFiles_Solution.ipynb
Now listing the content of the file
TH1F  Dec 05 10:21  expo  "Exponential numbers"
TH1F  Dec 05 10:21  gaus  "Gaussian numbers"
TH1F  Dec 05 10:21  unif  "Uniform numbers"

Access the histograms and draw them in Python. Remember that you need to create a TCanvas before and draw it too in order to inline the plots in the notebooks. You can switch to the interactive JavaScript visualisation using the %jsroot on "magic" command.


In [3]:
%jsroot on
f = ROOT.TFile("histos.root")
c = ROOT.TCanvas()
c.Divide(2,2)
c.cd(1)
f.gaus.Draw()
c.cd(2)
f.expo.Draw()
c.cd(3)
f.unif.Draw()
c.Draw() # Draw the Canvas


You can now repeat the exercise above using C++. Transform the cell in a C++ cell using the %%cpp "magic".


In [4]:
%%cpp
TFile f("histos.root");
TH1F *hg, *he, *hu;
f.GetObject("gaus", hg);
f.GetObject("expo", he);
f.GetObject("unif", hu);
TCanvas c;
c.Divide(2,2);
c.cd(1);
hg->Draw();
c.cd(2);
he->Draw();
c.cd(3);
hu->Draw();
c.Draw(); // Draw the Canvas


Inspect the content of the file: TXMLFile

ROOT provides a different kind of TFile, TXMLFile. It has the same interface and it's very useful to better understand how objects are written in files by ROOT. Repeat the exercise above, either on Python or C++ - your choice, using a TXMLFILE rather than a TFile and then display its content with the cat command. Can you see how the content of the individual bins of the histograms is stored? And the colour of its markers? Do you understand why the xml file is bigger than the root one even if they have the same content?


In [5]:
f = ROOT.TXMLFile("histos.xml","RECREATE")

hg = ROOT.TH1F("gaus","Gaussian numbers", 64, -4, 4)
he = ROOT.TH1F("expo","Exponential numbers", 64, -4, 4)
hu = ROOT.TH1F("unif","Uniform numbers", 64, -4, 4)
for i in xrange(1024):
    hg.Fill(rndm.Gaus())
    he.Fill(rndm.Exp(1))
    hu.Fill(rndm.Uniform(-4,4))

for h in (hg, he, hu): h.Write()
    
f.Close()

In [6]:
! ls -l histos.xml histos.root


-rw-r--r--. 1 dpiparo 1399  4675 Dec  5 10:21 histos.root
-rw-r--r--. 1 dpiparo 1399 34227 Dec  5 11:25 histos.xml

In [7]:
! cat histos.xml


<?xml version="1.0"?>
<root setup="2xoo" ref="null" created="2017-12-05 11:25:03" modified="2017-12-05 11:25:03" uuid="8eab2aaa-d9a6-11e7-9464-060011acbeef" title="title" version="3" file_version="61006">
  <XmlKey name="gaus" cycle="1" created="2017-12-05 11:25:03">
    <Object class="TH1F">
      <TH1F version="2">
        <TH1 version="7">
          <TNamed version="1">
            <TObject fUniqueID="0" fBits="3000008"/>
            <fName str="gaus"/>
            <fTitle str="Gaussian numbers"/>
          </TNamed>
          <TAttLine version="2">
            <fLineColor v="602"/>
            <fLineStyle v="1"/>
            <fLineWidth v="1"/>
          </TAttLine>
          <TAttFill version="2">
            <fFillColor v="0"/>
            <fFillStyle v="1001"/>
          </TAttFill>
          <TAttMarker version="2">
            <fMarkerColor v="1"/>
            <fMarkerStyle v="1"/>
            <fMarkerSize v="1.000000e+00"/>
          </TAttMarker>
          <fNcells v="66"/>
          <fXaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="xaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="64"/>
              <fXmin v="-4.000000e+00"/>
              <fXmax v="4.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fXaxis>
          <fYaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="yaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="0.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fYaxis>
          <fZaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="zaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fZaxis>
          <fBarOffset v="0"/>
          <fBarWidth v="1000"/>
          <fEntries v="1.024000e+03"/>
          <fTsumw v="1.024000e+03"/>
          <fTsumw2 v="1.024000e+03"/>
          <fTsumwx v="-1.165467e+01"/>
          <fTsumwx2 v="1.053029e+03"/>
          <fMaximum v="-1.111000e+03"/>
          <fMinimum v="-1.111000e+03"/>
          <fNormFactor v="0.000000e+00"/>
          <fContour>
            <Int_t v="0"/>
          </fContour>
          <fSumw2>
            <Int_t v="0"/>
          </fSumw2>
          <fOption str=""/>
          <fFunctions>
            <Version v="5"/>
            <Version v="1"/>
            <UInt_t v="0"/>
            <UInt_t v="50331648"/>
            <string v=""/>
            <Int_t v="0"/>
          </fFunctions>
          <fBufferSize v="0"/>
          <fBuffer>
            <Char_t v="0"/>
          </fBuffer>
          <fBinStatErrOpt v="0"/>
        </TH1>
        <TArrayF>
          <Int_t v="66"/>
          <Array>
            <Float_t v="0.000000e+00" cnt="8"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="0.000000e+00"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="4.000000e+00"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="4.000000e+00"/>
            <Float_t v="7.000000e+00"/>
            <Float_t v="1.200000e+01"/>
            <Float_t v="8.000000e+00"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.700000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="2.000000e+01"/>
            <Float_t v="2.200000e+01"/>
            <Float_t v="2.500000e+01"/>
            <Float_t v="3.100000e+01"/>
            <Float_t v="4.200000e+01"/>
            <Float_t v="3.700000e+01"/>
            <Float_t v="4.600000e+01"/>
            <Float_t v="5.900000e+01"/>
            <Float_t v="5.300000e+01"/>
            <Float_t v="5.100000e+01"/>
            <Float_t v="5.400000e+01"/>
            <Float_t v="4.900000e+01"/>
            <Float_t v="5.300000e+01"/>
            <Float_t v="4.500000e+01"/>
            <Float_t v="4.000000e+01"/>
            <Float_t v="4.300000e+01"/>
            <Float_t v="3.800000e+01"/>
            <Float_t v="3.100000e+01"/>
            <Float_t v="2.700000e+01"/>
            <Float_t v="2.900000e+01"/>
            <Float_t v="2.600000e+01"/>
            <Float_t v="1.800000e+01" cnt="2"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.200000e+01"/>
            <Float_t v="8.000000e+00" cnt="2"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="5.000000e+00"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="3.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="1.000000e+00"/>
            <Float_t v="0.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="0.000000e+00" cnt="6"/>
          </Array>
        </TArrayF>
      </TH1F>
    </Object>
  </XmlKey>
  <XmlKey name="expo" cycle="1" created="2017-12-05 11:25:03">
    <Object class="TH1F">
      <TH1F version="2">
        <TH1 version="7">
          <TNamed version="1">
            <TObject fUniqueID="0" fBits="3000008"/>
            <fName str="expo"/>
            <fTitle str="Exponential numbers"/>
          </TNamed>
          <TAttLine version="2">
            <fLineColor v="602"/>
            <fLineStyle v="1"/>
            <fLineWidth v="1"/>
          </TAttLine>
          <TAttFill version="2">
            <fFillColor v="0"/>
            <fFillStyle v="1001"/>
          </TAttFill>
          <TAttMarker version="2">
            <fMarkerColor v="1"/>
            <fMarkerStyle v="1"/>
            <fMarkerSize v="1.000000e+00"/>
          </TAttMarker>
          <fNcells v="66"/>
          <fXaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="xaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="64"/>
              <fXmin v="-4.000000e+00"/>
              <fXmax v="4.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fXaxis>
          <fYaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="yaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="0.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fYaxis>
          <fZaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="zaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fZaxis>
          <fBarOffset v="0"/>
          <fBarWidth v="1000"/>
          <fEntries v="1.024000e+03"/>
          <fTsumw v="1.008000e+03"/>
          <fTsumw2 v="1.008000e+03"/>
          <fTsumwx v="9.142472e+02"/>
          <fTsumwx2 v="1.535374e+03"/>
          <fMaximum v="-1.111000e+03"/>
          <fMinimum v="-1.111000e+03"/>
          <fNormFactor v="0.000000e+00"/>
          <fContour>
            <Int_t v="0"/>
          </fContour>
          <fSumw2>
            <Int_t v="0"/>
          </fSumw2>
          <fOption str=""/>
          <fFunctions>
            <Version v="5"/>
            <Version v="1"/>
            <UInt_t v="0"/>
            <UInt_t v="50331648"/>
            <string v=""/>
            <Int_t v="0"/>
          </fFunctions>
          <fBufferSize v="0"/>
          <fBuffer>
            <Char_t v="0"/>
          </fBuffer>
          <fBinStatErrOpt v="0"/>
        </TH1>
        <TArrayF>
          <Int_t v="66"/>
          <Array>
            <Float_t v="0.000000e+00" cnt="33"/>
            <Float_t v="1.420000e+02"/>
            <Float_t v="1.120000e+02"/>
            <Float_t v="8.800000e+01"/>
            <Float_t v="7.200000e+01"/>
            <Float_t v="6.900000e+01"/>
            <Float_t v="6.000000e+01"/>
            <Float_t v="5.700000e+01"/>
            <Float_t v="4.000000e+01"/>
            <Float_t v="4.500000e+01"/>
            <Float_t v="4.000000e+01"/>
            <Float_t v="4.500000e+01"/>
            <Float_t v="3.300000e+01"/>
            <Float_t v="2.600000e+01"/>
            <Float_t v="3.600000e+01"/>
            <Float_t v="2.100000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="1.200000e+01" cnt="2"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="9.000000e+00" cnt="2"/>
            <Float_t v="7.000000e+00"/>
            <Float_t v="5.000000e+00" cnt="2"/>
            <Float_t v="6.000000e+00"/>
            <Float_t v="5.000000e+00" cnt="2"/>
            <Float_t v="4.000000e+00"/>
            <Float_t v="2.000000e+00"/>
            <Float_t v="6.000000e+00"/>
            <Float_t v="3.000000e+00"/>
            <Float_t v="4.000000e+00"/>
            <Float_t v="1.600000e+01"/>
          </Array>
        </TArrayF>
      </TH1F>
    </Object>
  </XmlKey>
  <XmlKey name="unif" cycle="1" created="2017-12-05 11:25:03">
    <Object class="TH1F">
      <TH1F version="2">
        <TH1 version="7">
          <TNamed version="1">
            <TObject fUniqueID="0" fBits="3000008"/>
            <fName str="unif"/>
            <fTitle str="Uniform numbers"/>
          </TNamed>
          <TAttLine version="2">
            <fLineColor v="602"/>
            <fLineStyle v="1"/>
            <fLineWidth v="1"/>
          </TAttLine>
          <TAttFill version="2">
            <fFillColor v="0"/>
            <fFillStyle v="1001"/>
          </TAttFill>
          <TAttMarker version="2">
            <fMarkerColor v="1"/>
            <fMarkerStyle v="1"/>
            <fMarkerSize v="1.000000e+00"/>
          </TAttMarker>
          <fNcells v="66"/>
          <fXaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="xaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="64"/>
              <fXmin v="-4.000000e+00"/>
              <fXmax v="4.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fXaxis>
          <fYaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="yaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="0.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fYaxis>
          <fZaxis>
            <TAxis version="10">
              <TNamed version="1">
                <TObject fUniqueID="0" fBits="3000000"/>
                <fName str="zaxis"/>
                <fTitle str=""/>
              </TNamed>
              <TAttAxis version="4">
                <fNdivisions v="510"/>
                <fAxisColor v="1"/>
                <fLabelColor v="1"/>
                <fLabelFont v="42"/>
                <fLabelOffset v="5.000000e-03"/>
                <fLabelSize v="3.500000e-02"/>
                <fTickLength v="3.000000e-02"/>
                <fTitleOffset v="1.000000e+00"/>
                <fTitleSize v="3.500000e-02"/>
                <fTitleColor v="1"/>
                <fTitleFont v="42"/>
              </TAttAxis>
              <fNbins v="1"/>
              <fXmin v="0.000000e+00"/>
              <fXmax v="1.000000e+00"/>
              <fXbins>
                <Int_t v="0"/>
              </fXbins>
              <fFirst v="0"/>
              <fLast v="0"/>
              <fBits2 v="0"/>
              <fTimeDisplay v="false"/>
              <fTimeFormat str=""/>
              <fLabels>
                <Object ptr="null"/>
              </fLabels>
              <fModLabs>
                <Object ptr="null"/>
              </fModLabs>
            </TAxis>
          </fZaxis>
          <fBarOffset v="0"/>
          <fBarWidth v="1000"/>
          <fEntries v="1.024000e+03"/>
          <fTsumw v="1.024000e+03"/>
          <fTsumw2 v="1.024000e+03"/>
          <fTsumwx v="-9.037841e+01"/>
          <fTsumwx2 v="5.429200e+03"/>
          <fMaximum v="-1.111000e+03"/>
          <fMinimum v="-1.111000e+03"/>
          <fNormFactor v="0.000000e+00"/>
          <fContour>
            <Int_t v="0"/>
          </fContour>
          <fSumw2>
            <Int_t v="0"/>
          </fSumw2>
          <fOption str=""/>
          <fFunctions>
            <Version v="5"/>
            <Version v="1"/>
            <UInt_t v="0"/>
            <UInt_t v="50331648"/>
            <string v=""/>
            <Int_t v="0"/>
          </fFunctions>
          <fBufferSize v="0"/>
          <fBuffer>
            <Char_t v="0"/>
          </fBuffer>
          <fBinStatErrOpt v="0"/>
        </TH1>
        <TArrayF>
          <Int_t v="66"/>
          <Array>
            <Float_t v="0.000000e+00"/>
            <Float_t v="1.200000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="2.000000e+01"/>
            <Float_t v="2.300000e+01"/>
            <Float_t v="9.000000e+00"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="3.100000e+01"/>
            <Float_t v="1.900000e+01"/>
            <Float_t v="2.100000e+01"/>
            <Float_t v="1.600000e+01"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="1.900000e+01" cnt="2"/>
            <Float_t v="1.700000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="2.100000e+01"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="1.200000e+01"/>
            <Float_t v="1.100000e+01"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="2.200000e+01"/>
            <Float_t v="1.900000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="9.000000e+00"/>
            <Float_t v="1.900000e+01"/>
            <Float_t v="7.000000e+00"/>
            <Float_t v="1.000000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="2.600000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="2.600000e+01"/>
            <Float_t v="1.900000e+01"/>
            <Float_t v="1.400000e+01" cnt="2"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="2.400000e+01"/>
            <Float_t v="1.700000e+01"/>
            <Float_t v="1.100000e+01"/>
            <Float_t v="1.700000e+01"/>
            <Float_t v="1.600000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="9.000000e+00"/>
            <Float_t v="1.200000e+01"/>
            <Float_t v="1.300000e+01" cnt="2"/>
            <Float_t v="1.400000e+01"/>
            <Float_t v="2.100000e+01"/>
            <Float_t v="1.600000e+01"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="1.800000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.800000e+01" cnt="2"/>
            <Float_t v="1.600000e+01"/>
            <Float_t v="1.500000e+01"/>
            <Float_t v="1.600000e+01"/>
            <Float_t v="1.300000e+01"/>
            <Float_t v="1.100000e+01"/>
            <Float_t v="0.000000e+00"/>
          </Array>
        </TArrayF>
      </TH1F>
    </Object>
  </XmlKey>
  <StreamerInfos>
    <TStreamerInfo name="TH1F" title="" v="9" classversion="2" canoptimize="true" checksum="-652558205">
      <TStreamerBase name="TH1" title="1-Dim histogram base class" v="3" type="0" typename="BASE" size="976" baseversion="7" basechecksum="1063172259"/>
      <TStreamerBase name="TArrayF" title="Array of floats" v="3" type="0" typename="BASE" size="24" baseversion="1" basechecksum="1510733553"/>
    </TStreamerInfo>
    <TStreamerInfo name="TH1" title="" v="9" classversion="7" canoptimize="true" checksum="1063172259">
      <TStreamerBase name="TNamed" title="The basis for a named object (name, title)" v="3" type="67" typename="BASE" size="64" baseversion="1" basechecksum="-541636036"/>
      <TStreamerBase name="TAttLine" title="Line attributes" v="3" type="0" typename="BASE" size="16" baseversion="2" basechecksum="-1811462839"/>
      <TStreamerBase name="TAttFill" title="Fill area attributes" v="3" type="0" typename="BASE" size="16" baseversion="2" basechecksum="-2545006"/>
      <TStreamerBase name="TAttMarker" title="Marker attributes" v="3" type="0" typename="BASE" size="16" baseversion="2" basechecksum="689802220"/>
      <TStreamerBasicType name="fNcells" title="number of bins(1D), cells (2D) +U/Overflows" v="2" type="3" typename="int" size="4"/>
      <TStreamerObject name="fXaxis" title="X axis descriptor" v="2" type="61" typename="TAxis" size="216"/>
      <TStreamerObject name="fYaxis" title="Y axis descriptor" v="2" type="61" typename="TAxis" size="216"/>
      <TStreamerObject name="fZaxis" title="Z axis descriptor" v="2" type="61" typename="TAxis" size="216"/>
      <TStreamerBasicType name="fBarOffset" title="(1000*offset) for bar charts or legos" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fBarWidth" title="(1000*width) for bar charts or legos" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fEntries" title="Number of entries" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fTsumw" title="Total Sum of weights" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fTsumw2" title="Total Sum of squares of weights" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fTsumwx" title="Total Sum of weight*X" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fTsumwx2" title="Total Sum of weight*X*X" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fMaximum" title="Maximum value for plotting" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fMinimum" title="Minimum value for plotting" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fNormFactor" title="Normalization factor" v="2" type="8" typename="double" size="8"/>
      <TStreamerObjectAny name="fContour" title="Array to display contour levels" v="2" type="62" typename="TArrayD" size="24"/>
      <TStreamerObjectAny name="fSumw2" title="Array of sum of squares of weights" v="2" type="62" typename="TArrayD" size="24"/>
      <TStreamerString name="fOption" title="histogram options" v="2" type="65" typename="TString" size="24"/>
      <TStreamerObjectPointer name="fFunctions" title="-&gt;Pointer to list of functions (fits and user)" v="2" type="63" typename="TList*" size="8"/>
      <TStreamerBasicType name="fBufferSize" title="fBuffer size" v="2" type="6" typename="int" size="4"/>
      <TStreamerBasicPointer name="fBuffer" title="[fBufferSize] entry buffer" v="2" type="48" typename="double*" size="8" countversion="7" countname="fBufferSize" countclass="TH1"/>
      <TStreamerBasicType name="fBinStatErrOpt" title="option for bin statistical errors" v="2" type="3" typename="TH1::EBinErrorOpt" size="4"/>
    </TStreamerInfo>
    <TStreamerInfo name="TNamed" title="" v="9" classversion="1" canoptimize="true" checksum="-541636036">
      <TStreamerBase name="TObject" title="Basic ROOT object" v="3" type="66" typename="BASE" size="16" baseversion="1" basechecksum="-1877229523"/>
      <TStreamerString name="fName" title="object identifier" v="2" type="65" typename="TString" size="24"/>
      <TStreamerString name="fTitle" title="object title" v="2" type="65" typename="TString" size="24"/>
    </TStreamerInfo>
    <TStreamerInfo name="TObject" title="" v="9" classversion="1" canoptimize="true" checksum="-1877229523">
      <TStreamerBasicType name="fUniqueID" title="object unique identifier" v="2" type="13" typename="unsigned int" size="4"/>
      <TStreamerBasicType name="fBits" title="bit field status word" v="2" type="15" typename="unsigned int" size="4"/>
    </TStreamerInfo>
    <TStreamerInfo name="TAttLine" title="" v="9" classversion="2" canoptimize="true" checksum="-1811462839">
      <TStreamerBasicType name="fLineColor" title="Line color" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fLineStyle" title="Line style" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fLineWidth" title="Line width" v="2" type="2" typename="short" size="2"/>
    </TStreamerInfo>
    <TStreamerInfo name="TAttFill" title="" v="9" classversion="2" canoptimize="true" checksum="-2545006">
      <TStreamerBasicType name="fFillColor" title="Fill area color" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fFillStyle" title="Fill area style" v="2" type="2" typename="short" size="2"/>
    </TStreamerInfo>
    <TStreamerInfo name="TAttMarker" title="" v="9" classversion="2" canoptimize="true" checksum="689802220">
      <TStreamerBasicType name="fMarkerColor" title="Marker color" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fMarkerStyle" title="Marker style" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fMarkerSize" title="Marker size" v="2" type="5" typename="float" size="4"/>
    </TStreamerInfo>
    <TStreamerInfo name="TAxis" title="" v="9" classversion="10" canoptimize="true" checksum="1514761840">
      <TStreamerBase name="TNamed" title="The basis for a named object (name, title)" v="3" type="67" typename="BASE" size="64" baseversion="1" basechecksum="-541636036"/>
      <TStreamerBase name="TAttAxis" title="Axis attributes" v="3" type="0" typename="BASE" size="48" baseversion="4" basechecksum="1550843710"/>
      <TStreamerBasicType name="fNbins" title="Number of bins" v="2" type="3" typename="int" size="4"/>
      <TStreamerBasicType name="fXmin" title="low edge of first bin" v="2" type="8" typename="double" size="8"/>
      <TStreamerBasicType name="fXmax" title="upper edge of last bin" v="2" type="8" typename="double" size="8"/>
      <TStreamerObjectAny name="fXbins" title="Bin edges array in X" v="2" type="62" typename="TArrayD" size="24"/>
      <TStreamerBasicType name="fFirst" title="first bin to display" v="2" type="3" typename="int" size="4"/>
      <TStreamerBasicType name="fLast" title="last bin to display" v="2" type="3" typename="int" size="4"/>
      <TStreamerBasicType name="fBits2" title="second bit status word" v="2" type="12" typename="unsigned short" size="2"/>
      <TStreamerBasicType name="fTimeDisplay" title="on/off displaying time values instead of numerics" v="2" type="18" typename="bool" size="1"/>
      <TStreamerString name="fTimeFormat" title="Date&amp;time format, ex: 09/12/99 12:34:00" v="2" type="65" typename="TString" size="24"/>
      <TStreamerObjectPointer name="fLabels" title="List of labels" v="2" type="64" typename="THashList*" size="8"/>
      <TStreamerObjectPointer name="fModLabs" title="List of modified labels" v="2" type="64" typename="TList*" size="8"/>
    </TStreamerInfo>
    <TStreamerInfo name="TAttAxis" title="" v="9" classversion="4" canoptimize="true" checksum="1550843710">
      <TStreamerBasicType name="fNdivisions" title="Number of divisions(10000*n3 + 100*n2 + n1)" v="2" type="3" typename="int" size="4"/>
      <TStreamerBasicType name="fAxisColor" title="Color of the line axis" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fLabelColor" title="Color of labels" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fLabelFont" title="Font for labels" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fLabelOffset" title="Offset of labels" v="2" type="5" typename="float" size="4"/>
      <TStreamerBasicType name="fLabelSize" title="Size of labels" v="2" type="5" typename="float" size="4"/>
      <TStreamerBasicType name="fTickLength" title="Length of tick marks" v="2" type="5" typename="float" size="4"/>
      <TStreamerBasicType name="fTitleOffset" title="Offset of axis title" v="2" type="5" typename="float" size="4"/>
      <TStreamerBasicType name="fTitleSize" title="Size of axis title" v="2" type="5" typename="float" size="4"/>
      <TStreamerBasicType name="fTitleColor" title="Color of axis title" v="2" type="2" typename="short" size="2"/>
      <TStreamerBasicType name="fTitleFont" title="Font for axis title" v="2" type="2" typename="short" size="2"/>
    </TStreamerInfo>
    <TStreamerInfo name="THashList" title="" v="9" classversion="0" canoptimize="true" checksum="-864138815">
      <TStreamerBase name="TList" title="Doubly linked list" v="3" type="0" typename="BASE" size="80" baseversion="5" basechecksum="1774568379"/>
    </TStreamerInfo>
    <TStreamerInfo name="TList" title="" v="9" classversion="5" canoptimize="true" checksum="1774568379">
      <TStreamerBase name="TSeqCollection" title="Sequenceable collection ABC" v="3" type="0" typename="BASE" size="48" baseversion="0" basechecksum="-60015674"/>
    </TStreamerInfo>
    <TStreamerInfo name="TSeqCollection" title="" v="9" classversion="0" canoptimize="true" checksum="-60015674">
      <TStreamerBase name="TCollection" title="Collection abstract base class" v="3" type="0" typename="BASE" size="48" baseversion="3" basechecksum="1474546588"/>
    </TStreamerInfo>
    <TStreamerInfo name="TCollection" title="" v="9" classversion="3" canoptimize="true" checksum="1474546588">
      <TStreamerBase name="TObject" title="Basic ROOT object" v="3" type="66" typename="BASE" size="16" baseversion="1" basechecksum="-1877229523"/>
      <TStreamerString name="fName" title="name of the collection" v="2" type="65" typename="TString" size="24"/>
      <TStreamerBasicType name="fSize" title="number of elements in collection" v="2" type="3" typename="int" size="4"/>
    </TStreamerInfo>
    <TStreamerInfo name="TString" title="" v="9" classversion="2" canoptimize="true" checksum="95257"/>
  </StreamerInfos>
</root>

In [ ]: