Hi,
I’m trying to produce a contour plot and access the contours as TGraph objects. I followed the User Guide, p. 32, and did:
h_sig_ip->Draw(“CONTLIST”);
TObjArray *contours = gROOT->GetListOfSpecials()->FindObject(“contours”);
TList list = (TList)contours->At(1);
TGraph gr1 = (TGraph)list->First();
gr1->Draw(“ACP”);
This does not compile - I get:
g++ -O2 -Wall -fPIC -pthread -I/usr/root/include -c -o TEventViewTool.o TEventViewTool.C
TEventViewTool.C: In member function void TEventViewTool::scanEff(double, double, double, double, double)': TEventViewTool.C:1552: error: invalid conversion from
TObject*’ to `TObjArray*'
gmake: *** [TEventViewTool.o] Error 1
So I naively tried instead
h_sig_ip->Draw(“CONTLIST”);
TObject *contours = gROOT->GetListOfSpecials()->FindObject(“contours”);
TList list = (TList)contours;
TGraph gr1 = (TGraph)list->First();
gr1->Draw(“ACP”);
This compiles, but when executing I get a segmentation fault because of the line for drawing the TGraph, see below.
Thanks for your help!
Martin
*** Break *** segmentation violation
Generating stack trace…
0x41729a81 in TEventViewTool::scanEff(double, double, double, double, double) + 0x16b1 from /usr/athena/testarea/MyEventViewAnalysis/./libTEventViewTool.so
0x41717b6a in from /usr/athena/testarea/MyEventViewAnalysis/./libTEventViewTool.so
0x40745f2d in G__call_cppfunc + 0x2c6 from /usr/root/lib/libCint.so.4.04
0x40734a18 in G__interpret_func + 0x7ac from /usr/root/lib/libCint.so.4.04
0x407174eb in G__getfunction + 0x13f0 from /usr/root/lib/libCint.so.4.04
0x407b4182 in G__getstructmem + 0x8b4 from /usr/root/lib/libCint.so.4.04
0x407aab90 in G__getvariable + 0x4fe from /usr/root/lib/libCint.so.4.04
0x4070d8e3 in G__getitem + 0x52a from /usr/root/lib/libCint.so.4.04
0x4070c321 in G__getexpr + 0x7c05 from /usr/root/lib/libCint.so.4.04
0x4075f597 in G__exec_function + 0xc7 from /usr/root/lib/libCint.so.4.04
0x40767721 in G__exec_statement + 0x337f from /usr/root/lib/libCint.so.4.04
0x40736240 in G__interpret_func + 0x1fd4 from /usr/root/lib/libCint.so.4.04
0x40717cc7 in G__getfunction + 0x1bcc from /usr/root/lib/libCint.so.4.04
0x4070d913 in G__getitem + 0x55a from /usr/root/lib/libCint.so.4.04
0x4070c321 in G__getexpr + 0x7c05 from /usr/root/lib/libCint.so.4.04
0x4075f597 in G__exec_function + 0xc7 from /usr/root/lib/libCint.so.4.04
0x40767721 in G__exec_statement + 0x337f from /usr/root/lib/libCint.so.4.04
0x406f35c7 in G__exec_tempfile_core + 0x2f9 from /usr/root/lib/libCint.so.4.04
0x406f379e in G__exec_tempfile_fp + 0x22 from /usr/root/lib/libCint.so.4.04
0x40770510 in G__process_cmd + 0x4dd4 from /usr/root/lib/libCint.so.4.04
0x401b1971 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) + 0xaf from /usr/root/lib/libCore.so.4.04
0x400fe5ff in TApplication::ProcessLine(char const*, bool, int*) + 0x699 from /usr/root/lib/libCore.so.4.04
0x40d6b408 in TControlBarButton::Action() + 0x38 from /usr/root/lib/libGpad.so.4.04
0x41323be0 in TRootControlBar::ProcessMessage(long, long, long) + 0x22 from /usr/root/lib/libGui.so
0x41296c9a in TGFrame::HandleClientMessage(Event_t*) + 0x36 from /usr/root/lib/libGui.so
0x4129a22c in TGMainFrame::HandleClientMessage(Event_t*) + 0x22 from /usr/root/lib/libGui.so
0x412969d4 in TGFrame::HandleEvent(Event_t*) + 0x2ec from /usr/root/lib/libGui.so
0x4126ec44 in TGClient::HandleEvent(Event_t*) + 0xfe from /usr/root/lib/libGui.so
0x4126e876 in TGClient::ProcessOneEvent() + 0x74 from /usr/root/lib/libGui.so
0x4126e995 in TGClient::HandleInput() + 0x2d from /usr/root/lib/libGui.so
0x4126d02e in TGInputHandler::Notify() + 0x1e from /usr/root/lib/libGui.so
0x4025b299 in TUnixSystem::DispatchOneEvent(bool) + 0x6b from /usr/root/lib/libCore.so.4.04
0x4016b98a in TSystem::InnerLoop() + 0x18 from /usr/root/lib/libCore.so.4.04
0x4016b92a in TSystem::Run() + 0x7a from /usr/root/lib/libCore.so.4.04
0x400fee34 in TApplication::Run(bool) + 0x32 from /usr/root/lib/libCore.so.4.04
0x410fece0 in TRint::Run(bool) + 0x3d4 from /usr/root/lib/libRint.so.4.04
0x08048d77 in main + 0x67 from /usr/root/bin/root.exe
0x00545e23 in __libc_start_main + 0xd3 from /lib/tls/libc.so.6
0x08048c89 in TApplicationImp::ShowMembers(TMemberInspector&, char*) + 0x31 from /usr/root/bin/root.exe
Root > Function scanEff() busy flag cleared