def METHOD_NAME(self, peaks, lone_hits, start, end):
    # General setup
    res = np.zeros(1, dtype=self.dtype)
    res['time'] = start
    res['endtime'] = end
    n_pmt = self.n_tpc_pmts
    n_bins = self.online_peak_monitor_nbins
    # Bounds for histograms
    res['area_vs_width_bounds'] = self.area_vs_width_bounds
    res['lone_hits_area_bounds'] = self.lone_hits_area_bounds
    # -- Peak vs area 2D histogram --
    # Always cut out unphysical peaks
    sel = (peaks['area'] > 0) & (peaks['range_50p_area'] > 0)
    res['area_vs_width_hist'] = self.area_width_hist(peaks[sel])
    del sel
    # -- Lone hit properties --
    # Make a mask with the cuts.
    # Now only take lone hits that are separated in time.
    if len(lone_hits):
        lh_timedelta = lone_hits[1:]['time'] - strax.endtime(lone_hits)[:-1]
        # Hits on the left are far away? (assume first is because of chunk bound)
        mask = np.hstack([True, lh_timedelta > self.lone_hits_min_gap])
        # Hits on the right are far away? (assume last is because of chunk bound)
        mask &= np.hstack([lh_timedelta > self.lone_hits_min_gap, True])
    else:
        mask = []
    masked_lh = strax.apply_selection(lone_hits[mask],
                                      selection_str=self.lone_hits_cut_string)
    # Make histogram of ADC counts
    # NB: LONE HITS AREA ARE IN ADC!
    lone_hit_areas, _ = np.histogram(masked_lh['area'],
                                     bins=n_bins,
                                     range=self.lone_hits_area_bounds)
    lone_hit_channel_count, _ = np.histogram(masked_lh['channel'],
                                             bins=n_pmt,
                                             range=[0, n_pmt])
    # Count number of lone-hits per PMT
    res['lone_hits_area_hist'] = lone_hit_areas
    res['lone_hits_per_channel'] = lone_hit_channel_count
    # Clear mask, don't re-use
    del mask
    # -- AFT histogram --
    aft_b = [0, 1]
    aft_hist, _ = np.histogram(peaks['area_fraction_top'], bins=n_bins, range=aft_b)
    res['aft_hist'] = aft_hist
    res['aft_bounds'] = aft_b
    # Estimate Single Electron (SE) gain
    se_hist, se_bins = np.histogram(peaks['area'], bins=n_bins,
                                    range=self.online_se_bounds)
    bin_centers = (se_bins[1:] + se_bins[:-1]) / 2
    res['online_se_gain'] = bin_centers[np.argmax(se_hist)]
    return res