For discrete data in the form of event triggers, it is often very
illuminating to analyse the rate at which these events occur in time -
usually a high event rate is indicative of a higher noise level.
One can calculate the event rate of an EventTable via the
event_rate() method:.
EventTable.event_rate(stride, start=None, end=None, timecolumn='time')[source]Calculate the rate TimeSeries for this Table.
| Parameters: | stride :  
 start :  
 end :  
 timecolumn :  
 | 
|---|---|
| Returns: | rate :  
 | 
For example, using the same data as before we can calculate and plot the event rate on a 1-second stride:
>>> from gwpy.table import EventTable
>>> events = EventTable.read('H1-LDAS_STRAIN-968654552-10.xml.gz', tablename='sngl_burst', columns=['peak', 'central_freq', 'snr'])
>>> rate = events.event_rate(1, start=968654552, end=968654562, timecolumn='peak')
>>> plot = rate.plot()
>>> ax = plot.gca()
>>> ax.set_ylabel('Event rate [Hz]')
>>> ax.set_title('LIGO Hanford Observatory event rate for HW100916')
>>> plot.show()
(png)
 
This code is a snippet of the example Calculating (and plotting) rate versus time for an EventTable.
Following from a simple rate versus time calculation, it is often useful
to calculate the event rate for multiple conditions on the same table.
For this, we can use the binned_event_rates() method:
EventTable.binned_event_rates(stride, column, bins, operator='>=', start=None, end=None, timecolumn='time')[source]Calculate an event rate TimeSeriesDict over
a number of bins.
| Parameters: | stride :  
 column :  
 bins :  
 start :  
 end :  
 timecolumn :  
 | 
|---|---|
| Returns: | rates : ~gwpy.timeseries.TimeSeriesDict` 
 | 
For example, in the following example, we calculate the rate of events with signal-to-noise ratio (SNR) above some threshold, for the same table as above.
>>> rates = events.binned_event_rates(1, 'snr', [2, 3, 5, 8], operator='>=', start=968654552, end=968654562, timecolumn='peak')
>>> plot = rates.plot()
>>> ax = plot.gca()
>>> ax.set_ylabel('Event rate [Hz]')
>>> ax.set_title('LIGO Hanford Observatory event rate for HW100916')
>>> plot.show()
(png)
 
This code is a snippet of the example on Plotting EventTable rate versus time for specific column bins.