Hello, I think I came across a bug in root (if this has not been fixed yet), I'm using Version 3.00/06 12 March 2001 from /afs/cern.ch/na49/library.4/ROOT/pro/rootsys/ on RH6.1/i386. Here's test.C { nt = new TNtuple("ntuple","ntuple","x:y"); nt->Fill(1.0,2.0); TString cut = "(x>0)"; while (nt->Draw("y:x",cut,"goff")>0) { cut.Prepend("(x<0)||"); cout << cut.Length() << endl; cout << cut << endl; } } i.e. cut is a string of n times (x<0) || ... and the last condition is (x>0) so the event in the ntuple should always be selected, the program should continue forever. However, it stops quite early: root [0] .x test.C 12 (x<0)||(x>0) 19 (x<0)||(x<0)||(x>0) 26 (x<0)||(x<0)||(x<0)||(x>0) 33 (x<0)||(x<0)||(x<0)||(x<0)||(x>0) 40 (x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x>0) 47 (x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x>0) 54 (x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x>0) 61 (x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x<0)||(x>0) root [1] When using a cut like 0||0||0||(x>0), I manage to get to longer strings (I stopped the program at about 500). Any ideas ? best regards & thanks for looking into this & sorry if this has been fixed already, André -- ------------------+---------------------------------- Andre Holzner | +41 22 76 76750 Bureau 32 2-C13 | Building 32 CERN | Office 2-C13 CH-1211 Geneve 23 | http://wwweth.cern.ch/~holzner/
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET