hitmaker

Name

hitmaker -- Create hit ring items from raw GET ring items.

Synopsis

hitmaker inputuri outputuri

DESCRIPTION

hitmaker takes a source of raw GET ring items and converts them into a stream of ring items containing hits. For the output format, see Output Ring Items below. inputuri specifies the source of data. This can be either a file: or tcp: URI to accept data from an offline file or online ring buffer respectively. outputuri specifies where the output ring items will be put. Again file: or tcp: URIs can be used, however if a tcp: URI is specified, the host must be localhost.

All non PHYSICS_EVENT items encounterd on the input are passsed without modification to the output. PHYSICS_EVENT items retain the same body header as the input item (timestamp and source id), however the output ring item body is a set of hits computed from the traces that are present in the input item. See Output Ring Itesm below.

Output Ring Items

The body of output PHYSICS_EVENT items is a leading uint32_t followed by a sequence of NSCLGET::Hit items as defined in /usr/opt/NSCLGET/include/AnalyzeFrame.h. The leading uint32_t specifies the number of hits to follow.

The s_cobo, s_asad, s_aget and s_chan define which global channel the hit comes from. The following items in each NSCLGET::Hit are computed from the raw traces:

s_time

The centroid in time of the baseline subtracted trace. See below for baseline determination.

s_peak

The height of the trace peak. This is found by taking the sample with the largest value, the sample on each side of it and performing a Lagrange three point interpolation. As such the resolution of this height should be better than that of the ADC.

Note that this computation is performed on a baseline subtracted waveform.

s_integral

Integration of the background subtracted waveform.

GET pulses can sit on a considerable baseline. The computations described above are done on a trace from which the estimated baseline is subtracted. The baseline is determined by taking the minimum value of the leftmost and rightmost samples in the trace. This works quite well for unsuppressed data where the full trace is present. It's not so clear this is a good estimator for suppressed data as the idea then is to suppress data that are at or near the baseline. Nonethelesss, without any outside information that's the best we can do.

The assumed baseline should only influence the peak value and the integration.