_ROOT Version:6.15/01
_Platform:CENTOS 7
Compiler: Not Provided
Hello I tried to plot histogram by reading 2 root files. However, the program crashes. I do not understand why.
Here is the following code:
TFile* f = new TFile("totalN.root","READ");
TFile* f1 = new TFile("totalN_2mm.root","READ");
TTree *EverythingN;
f->GetObject("EverythingN", EverythingN);
f1->GetObject("EverythingN1", EverythingN);
//////////////////////////reasonID == -1 /////////////////////
Double_t w = 800;
Double_t h = 1000;
Double_t hscale = 2000000.;
Double_t hscale_10 = 10000000.;
TCanvas * c1 = new TCanvas("c1", "c1", w, h);
c1->SetWindowSize(w + (w - c1->GetWw()), h + (h - c1->GetWh()));
const Int_t nbins = 100;
Double_t xmin = 1e-5;
Double_t xmax = 10.;
Double_t logxmin = log10(xmin);
Double_t logxmax = log10(xmax);
Double_t binwidth = (logxmax-logxmin)/nbins;
Double_t xbins[nbins+1];
xbins[0] = xmin;
for (Int_t i=1;i<=nbins;i++) {
xbins[i] = xmin + TMath::Power(10,logxmin+i*binwidth);
}
TH1F *energy0 = new TH1F("Energy_original", "Neutron energy spectrum from orginal, reason ID==-1",nbins,xbins);
EverythingN->Draw("log10((energyK/1000.))>>Energy_original", "reasonID==-1","H*");
energy0->Scale(1/hscale_10);
energy0->Draw();
TH1F *energy1 = new TH1F("Energy_2mm", "Neutron energy spectrum from 2mm reduction, reason ID==-1",nbins,xbins);
EverythingN1->Draw("log10((energyK/1000.))>>Energy_2mm", "reasonID==-1","H*");
energy1->Scale(1/hscale);
energy1->Draw("SAMES");
After that, I have following error message
root [0]
Processing plotNtuple_Esep.C...
#0 0x00007f5c1cd9717c in waitpid () from /usr/lib64/libc.so.6
#1 0x00007f5c1cd14e52 in do_system () from /usr/lib64/libc.so.6
#2 0x00007f5c1de32f4d in TUnixSystem::Exec (shellcmd=<optimized out>, this=0x10ab960) at /home/dslee/root_cern/root-6.14.04/root/core/unix/src/TUnixSystem.cxx:2119
#3 TUnixSystem::StackTrace (this=0x10ab960) at /home/dslee/root_cern/root-6.14.04/root/core/unix/src/TUnixSystem.cxx:2413
#4 0x00007f5c18a020f5 in cling::MultiplexInterpreterCallbacks::PrintStackTrace() () from /home/dslee/root_cern/root-6.14.04/root-build/lib/libCling.so
#5 0x00007f5c18a01afb in cling_runtime_internal_throwIfInvalidPointer () from /home/dslee/root_cern/root-6.14.04/root-build/lib/libCling.so
#6 0x00007f5c1e542985 in ?? ()
#7 0x00007ffc8dabf160 in ?? ()
#8 0x00007f5c1dd81080 in TArrayF::Set (this=0x7ffc8dabf180, this
entry=0x31deef0, n=17978224) at /home/dslee/root_cern/root-6.14.04/root/core/cont/src/TArrayF.cxx:115
#9 0x00007f5c0dbe681c in TH1F::TH1F (this=0x31deb20, name=<optimized out>, title=<optimized out>, nbins=<optimized out>, xbins=<optimized out>) at /home/dslee/root_cern/root-6.14.04/root/hist/hist/src/TH1.cxx:9381
#10 0x0000000001c20ce0 in ?? ()
#11 0x0000000000000000 in ?? ()
terminate called after throwing an instance of 'cling::InvalidDerefException'
what(): Trying to dereference null pointer or trying to call routine taking non-null arguments
Could someone help me with this?
Thank you