TChain::Draw histogram filling limit

I have chained many TTrees together into a TChain. The chain now has about 4.3e9 entries. When I use the TChain::Draw like this:

TH1D *hnorm = new TH1D(“shift_norm”,“shift_norm”,nbins,xstart,xend);

ch->Draw(“shift>>shift_norm”,"","");

I do not appear to be getting the full number of entries in the histogram, rather just 1e9 entries exactly. Is there a limit that I’m not aware of somewhere? I know about the ch->SetEstimate() but I thought that only applied to extracting the values from the chain in vector form.

Try:

ch->Draw("shift>>shift_norm", "", "", 10000000000LL); // 1e10

or:

ch->Draw("shift>>shift_norm", "", "", ch->GetEntries());

Which version of ROOT are you using?

I meant to write that down, but perhaps I forgot due to embarrassment: ROOT v5.34/05, I have C++11 issues on my system so upgrading to ROOT 6 is something I’ve been avoiding.

This problem is indeed fixed in v6. To work around the problem in v5, either follow Pepe’s suggestion or call (once before any of the Draw)
ch->GetEntries();

Cheers,
Philippe.

Philippe, note that in ROOT 5, TChain::kBigNumber = 1.23456789e9 and so the original problem will always be present (unless a sufficiently high “nentries” is given in the “Draw” statement).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.