Hi, I cannot reproduce your problem. Please provide a test example that I can run. Also specify which version of ROOT you are using. Rene Brun Fedor Ratnikov wrote: > > Hi, > I faced the strange behavior. > Assuming two 2D histograms > h_ptshouldervsn_eff and h_ptshouldervsn > are defined, I run the function (2deff.C file): > > void twodeff () > { > h_ptshouldervsn_eff.Reset (); > int in = 0; > for (; in < 3; in++) { > double sum = 0.; > int ip = 3; > while (--ip >= 0) { > printf ("before: ip %d in %d sum %f\n", ip, in, sum); > sum += h_ptshouldervsn.GetBinContent(ip, in); > printf ("after: ip %d in %d sum %f\n", > ip, in, sum); > h_ptshouldervsn_eff.SetBinContent(ip, in, sum); > } > } > } > > .root [16] .L 2deff.C > root [17] twodeff() > > It results to infinite loop: > > ... > after: ip 0 in 0 sum 0.000000 > before: ip 2 in 1 sum 0.000000 > after: ip 2 in 0 sum 0.000000 > before: ip 1 in 0 sum 0.000000 > after: ip 1 in 0 sum 0.000000 > before: ip 0 in 0 sum 0.000000 > after: ip 0 in 0 sum 0.000000 > before: ip 2 in 1 sum 0.000000 > after: ip 2 in 0 sum 0.000000 > before: ip 1 in 0 sum 0.000000 > after: ip 1 in 0 sum 0.000000 > ... > > I conclude that GetBinContent overwrites second > argument. Why? > > Thanks, Fedor. > > root [17] twodeff() -- > MS318(CDF/Rutgers) Fermilab, Batavia, IL 60510 USA > Tel.:+1(630)840-8435 Fax:+1(630)840-6315
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:47 MET