To introduce the concept of Ntuples, let us consider the following example. A Data Summary Tape (DST) contains 10000 events. Each event consists of many variables (say NVAR=200) for which we would like to make some distributions according to various selection criteria.
One possibility is to create and fill 200 histograms on an event-by-event basis while reading the DST. An alternative solution, particularly interesting during interactive data analysis with the data presentation system PAW [bib-PAW], is to create one Ntuple. Instead of histograming the 200 variables directly, and therefore losing the exact values of the variables for each event and their correlations, the variables are first stored in an Ntuple. (One can of course fill the histograms at the same time!) An Ntuple is like a table where the 200 variables mentioned above are the columns and each event is a row. The storage requirement is proportional to the number of columns in one event and can become significant for large event samples. An Ntuple can thus be regarded as a standard way of storing a DST.
Once the events are stored in this form, it becomes easy, in particular with PAW, to make 1- or more-dimensional projections of any of the NVAR variables of the events and to change the selection mechanisms, or the binning and so on. Before running the system on a large number of events, the selection mechanisms can be rapidly tested on a small sample.