Hi Mike, This seems to be a CINT deficiency in combining the boolean operations between a TCut object and the literal string. Your test will work if you replace the lines: snarltree->Draw("hitlist[].strip:hitlist[].plane>>hps1", "(hitlist[].padc+hitlist[].nadc)>0"&&pid&&trig&&tof1,"colz"); by TCut cur("(hitlist[].padc+hitlist[].nadc)>0"); snarltree->Draw("hitlist[].strip:hitlist[].plane>>hps1", cur&&pid&&trig&&tof1,"colz"); Rene Brun Mike Kordosky wrote: > > Hi, > > I am having a problem associated with TTree::Draw that I believe is > associated with some recent change to root/cint. I have the following > unnamed macro: > > { > > TCut pid("nhitstrips/nhitplanes>1.65 && ceradc[2]==0"); > TCut trig("triggerword>300"); > > TFile f("/data/disk5/dsts/angle-1-22-03/UberDST-41008.root"); > TH1F* h1 = new TH1F("h1", "h1", 200, 0, 200); > > TCut tof1("toftdc[2]-toftdc[0]>580 && toftdc[2]-toftdc[0]<640"); > > TCanvas* c2 = new TCanvas("c2", "c2", 600, 800); > c2->Divide(1,2); > c2->cd(1); > > f.cd(); > > TH2F* hps1 = new TH2F("hps1", "hps1", 60, -0.5, 59.5, 24, -0.5, 23.5); > > snarltree->Draw("hitlist[].strip:hitlist[].plane>>hps1", > "(hitlist[].padc+hitlist[].nadc)>0"&&pid&&trig&&tof1,"colz"); > > } > > Running this macro causes root to dump: > > *** Break *** segmentation violation > Generating stack trace... > 0x401b01a7 in TUnixSystem::StackTrace() + 0x393 from > /data/disk4/minoscode/root/lib/libCore.so > 0x401aeb1b in TUnixSystem::DispatchSignals(ESignals) + 0x85 from > /data/disk4/minoscode/root/lib/libCore.so > 0x401adb68 in <unknown> from /data/disk4/minoscode/root/lib/libCore.so > 0x401b1cae in <unknown> from /data/disk4/minoscode/root/lib/libCore.so > 0x40dc2f05 in <unknown> from /lib/i686/libpthread.so.0 > 0x42029188 in <unknown> from /data/disk4/minoscode/root/bin/root.exe > 0x40c78e72 in <unknown> from /data/disk4/minoscode/root/lib/libTree.so > 0x405dbaff in G__call_cppfunc + 0x2c4 from > /data/disk4/minoscode/root/lib/libCint.so > . > . > . > and so on. > > The odd thing is that it works if I comment out the last command > (TTree::Draw), then run the macro and finally highlight and copy the last > line into the interpreter. I'm pretty sure that this sort of thing did > work in previous versions of root (for example versions from the era > oct02-jan03). > > I use: > > gcc 3.2.1 > linux x86, kernel 2.4.20 > root from cvs on may 31. > > I can (privately) provide the datafile associated with this problem. > > Mike Kordosky > > -- > Graduate Research Assistant // High Energy Physics Lab > kordosky@hep.utexas.edu // University of Texas at Austin > kordosky@fnal.gov // > ph: (512) 471-8426 (RLM Lab, Office) > (512) 475-8673 (ENS Lab)
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET