# Filling an n-tuple (simulating the conductivity of a material in different conditions of pressure and temperature) and writing it to a file¶

Ported to Notebook by: Theis Hansen

To use the ROOT toolkit, we need to import ROOT onto our Notebook, which we also set to C++

### The Tuple¶

We create a file which will contain our ntuple and the tuple itself.

In [1]:
TFile ofile("conductivity_experiment.root","RECREATE");
TNtuple cond_data("cond_data","Example N-Tuple","Potential:Current:Temperature:Pressure");


Then we fill it randomly (to simulate acquired data) using the TRandom3 random generator. We are also applying some "smearing" (measurement errors): 1% error on voltage (pot), pressure and current and 1.3 absolute error on temperature. At the end of the loop body we fill the ntuple.

In [2]:
TRandom3 rndm;
float pot,cur,temp,pres;
for (int i=0;i<10000;++i){
pot=rndm.Uniform(0.,10.);
temp=rndm.Uniform(250.,350.);
pres=rndm.Uniform(0.5,1.5);
cur=pot/(10.+0.05*(temp-300.)-0.2*(pres-1));

pot*=rndm.Gaus(1.,0.01);
temp+=rndm.Gaus(0.,0.3);
pres*=rndm.Gaus(1.,0.02);
cur*=rndm.Gaus(1.,0.01);

cond_data.Fill(pot,cur,temp,pres);
}


Save the TNtuple and close the file.

In [3]:
cond_data.Write();
ofile.Close();