Re: 3D EventLoop to fill 3-D histogram.

Rene Brun (Rene.Brun@cern.ch)
Fri, 17 Oct 1997 08:24:07 +0200


Andy Haas wrote:
>
> I'm running version 1.02 on WinNT.
>
> In trying to create a 3D Histogram from a saved ntuple, I've done the
> following but it crashes:
>
> {
> f1 = new TFile("haas.root");
> h3 = new TH3F("h3" , "3-D Histogram" ,250,0,25,250,0,25,250,0,50);
> ntuple->EventLoop(3,h3);
> }
>
> What am I doing wrong?
> Thanks in adavnce, Andy.

The facility to fill an already existing 3-D histogram from an ntuple
is not implemented. Some TTree functions like TTree::Draw, EventLoop
are ready for 3-D histograms, but not the auxiliary functions
TakeAction and Estimate.
You should not call TTree::EventLoop directly (this function should be
protected in fact). To loop on a Tree, use the functions Draw or Loop.
The reason why your example crash, I think, is that you create
a 3-D histogram with 250 channels in x,y and z. This requires
about 62Mbytes of main memory!
What you can do is to produce a 3-d scatter plot with a command such as
ntuple->Draw("x:y"z)

Rene Brun