I want to draw a two dimentional plot


ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided


Hi root experts !
I have one root file, inside it there are two directories named “noise_ADCunits” and “noise_electronsCharge”. I want to draw a two dimentional plot between “noiseADC_3.1.1.V” vs “noiseELEC_3.1.1.V”, saved inside those directories respectively.
So, I tried with the code:

void svd()
{
TFile *f = new TFile("/home/souvik/svd/02627/beam.0003.02627.HLT2.f00000.root");
TH1F h1 = (TH1F)f->Get(“noise_ADCunits/noiseADC_3.1.1.V”);
TH1F h2 = (TH1F)f->Get(“noise_electronsCharge/noiseELEC_3.1.1.V”);
TH2F *h3 = new TH2F("", "2D distribution ", 50, 1.7, 2.1, 50, 0, 10);

h3->Draw(noiseADC_3.1.1.V, noiseELEC_3.1.1.V);

}
Errors are:
use of undeclared identifier ‘noiseADC_3’
h3->Draw(noiseADC_3.1.1.V,noiseELEC_3.1.1.V);
error: use of undeclared identifier ‘noiseELEC_3’
h3->Draw(noiseADC_3.1.1.V,noiseELEC_3.1.1.V);

But, it is not working. Can anybody please suggest me what to do ?
Thanks in Advance.

Attach the output of:

rootls -l /home/souvik/svd/02627/beam.0003.02627.HLT2.f00000.root:*

I am getting the following.

TTree Nov 13 20:47 2018 calib “RECREATE”
TDirectoryFile Nov 13 20:47 2018 CoG_ShiftMeanToZero “CoG_ShiftMeanToZero”
TDirectoryFile Nov 13 20:47 2018 CoG_ShiftMeanToZeroTBDep “CoG_ShiftMeanToZeroTBDep”
TDirectoryFile Nov 13 20:47 2018 gain_electronsCharge “gain_electronsCharge”
TDirectoryFile Nov 13 20:47 2018 noise_ADCunits “noise_ADCunits”
TDirectoryFile Nov 13 20:47 2018 noise_electronsCharge “noise_electronsCharge”
TDirectoryFile Nov 13 20:47 2018 peakTime “peakTime”
TDirectoryFile Nov 13 20:47 2018 pulseWidth “pulseWidth”

Execute the command from my previous post AS IS, WITHOUT ANY MODIFICATIONS.

It is something like this: It is large but I am attaching few lines.

TTree Nov 13 20:47 2018 calib “RECREATE”
CoG_ShiftMeanToZero :
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero3.1.1.U “CoG_ShiftMeanToZero (Layer3, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero3.1.1.V “CoG_ShiftMeanToZero (Layer3, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero3.1.2.U “CoG_ShiftMeanToZero (Layer3, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero3.1.2.V “CoG_ShiftMeanToZero (Layer3, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.1.U “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.1.V “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.2.U “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.2.V “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.3.U “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor3,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero4.1.3.V “CoG_ShiftMeanToZero (Layer4, Ladder1, sensor3,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.1.U “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.1.V “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.2.U “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.2.V “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.3.U “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor3,U side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.3.V “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor3,V side)”
TH1F Nov 13 20:47 2018 CoG_ShiftMeanToZero5.1.4.U “CoG_ShiftMeanToZero (Layer5, Ladder1, sensor4,U side)”

gain_electronsCharge :
TH1F Nov 13 20:47 2018 gainInElectrons_3.1.1.U “Gain (Layer3, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 gainInElectrons_3.1.1.V “Gain (Layer3, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 gainInElectrons_3.1.2.U “Gain (Layer3, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 gainInElectrons_3.1.2.V “Gain (Layer3, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.1.U “Gain (Layer4, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.1.V “Gain (Layer4, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.2.U “Gain (Layer4, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.2.V “Gain (Layer4, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.3.U “Gain (Layer4, Ladder1, sensor3,U side)”
TH1F Nov 13 20:47 2018 gainInElectrons_4.1.3.V “Gain (Layer4, Ladder1, sensor3,V side)”
TH1F Nov 13 20:47 2018 gainInElectrons_5.1.1.U “Gain (Layer5, Ladder1, sensor1,U side)”

You cut the output so it is not clear if “noise_ADCunits/noiseADC_3.1.1.V” and “noise_electronsCharge/noiseELEC_3.1.1.V” are really 1-dimensional (TH1F) histograms.
If they are, you CANNOT make a 2-dimensional (TH2H) histogram from two 1-dimensional histograms (you could only go the other way around).

They look something like this.

noise_ADCunits :
TH1F Nov 13 20:47 2018 noiseADC_3.1.1.U “strip noise (Layer3, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 noiseADC_3.1.1.V “strip noise (Layer3, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 noiseADC_3.1.2.U “strip noise (Layer3, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 noiseADC_3.1.2.V “strip noise (Layer3, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 noiseADC_4.1.1.U “strip noise (Layer4, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 noiseADC_4.1.1.V “strip noise (Layer4, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 noiseADC_4.1.2.U “strip noise (Layer4, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 noiseADC_4.1.2.V “strip noise (Layer4, Ladder1, sensor2,V side)”

noise_electronsCharge :
TH1F Nov 13 20:47 2018 noiseELEC_3.1.1.U “strip noise (Layer3, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_3.1.1.V “strip noise (Layer3, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_3.1.2.U “strip noise (Layer3, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_3.1.2.V “strip noise (Layer3, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.1.U “strip noise (Layer4, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.1.V “strip noise (Layer4, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.2.U “strip noise (Layer4, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.2.V “strip noise (Layer4, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.3.U “strip noise (Layer4, Ladder1, sensor3,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_4.1.3.V “strip noise (Layer4, Ladder1, sensor3,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_5.1.1.U “strip noise (Layer5, Ladder1, sensor1,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_5.1.1.V “strip noise (Layer5, Ladder1, sensor1,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_5.1.2.U “strip noise (Layer5, Ladder1, sensor2,U side)”
TH1F Nov 13 20:47 2018 noiseELEC_5.1.2.V “strip noise (Layer5, Ladder1, sensor2,V side)”
TH1F Nov 13 20:47 2018 noiseELEC_5.1.3.U “strip noise (Layer5, Ladder1, sensor3,U side)”

I just want to check how do they depend on each other. So, a two dimensional plot will be helpful.

You need to create 2-dimensional histograms directly from your tree(s), using e.g. TTree::Draw or TTree::Project.

I got the root file and there is these information. If I have to do that what you just said then I have to change the code which is giving me this root file. Is it ? For my case it is not possible to change the code. Is it possible to do it other way around ?

Regards

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.