This chapter describes functions for creating and manipulating ntuples, sets of values associated with events. The ntuples are stored in files. Their values can be extracted in any combination and booked in a histogram using a selection function.
The values to be stored are held in a GSL::Vector or a GSL::Matrix object, and an ntuple is created associating this object with a file. The values are then written to the file (normally inside a loop) using the ntuple functions described below.
A histogram can be created from ntuple data by providing a selection function and a value function. The selection function specifies whether an event should be included in the subset to be analyzed or not. The value function computes the entry to be added to the histogram for each event.
Ntuple class¶ ↑
These create a new write-only ntuple file
Any existing file with the same name is truncated to zero length and
overwritten. A preexisting
the current ntuple data must be supplied: this is used to copy ntuples in
and out of the file.
This opens an existing ntuple file
filenamefor reading. A preexisting
v for the current ntuple data must
Writing and reading ntuples¶ ↑
This method writes the current ntuple data to the corresponding file.
This method reads the current row of the ntuple file.
Histogramming ntuple values¶ ↑
Once an ntuple has been created its contents can be histogrammed in various ways using the function gsl_ntuple_project. Two user-defined functions must be provided, a function to select events and a function to compute scalar values. The selection function and the value function both accept the ntuple row as a first argument and other parameters as a second argument.
Constructors for selection functions and value functions. The selection function shoud return a non-zero value for each ntuple row that is to be included in the histogram. The value function should return the value to be added to the histogram for the ntuple row.
Set the parameters of the functions, by an array
GSL::Ntuple.project(h, n, valfn, selfn)
These methods updates the histogram
hfrom the ntuple
nusing the functions
selfn. For each ntuple row where the selection function
selenis non-zero the corresponding value of that row is computed using the function value_func
valfnand added to the histogram
h. Those ntuple rows where
selfnreturns zero are ignored. New entries are added to the histogram, so subsequent calls can be used to accumulate further data in the same histogram.
Reference index top