artdaq  v3_08_00
artdaq::RandomDelayFilter Class Reference

A filter which delays for a random amount of time, then drops a random fraction of events. Used to simulate the delays and efficiency of real filters. More...

Inheritance diagram for artdaq::RandomDelayFilter:

Public Member Functions

 RandomDelayFilter (fhicl::ParameterSet const &p)
 RandomDelayFilter Constructor. More...
 
 RandomDelayFilter (RandomDelayFilter const &)=delete
 Copy Constructor is deleted.
 
 RandomDelayFilter (RandomDelayFilter &&)=delete
 Move Constructor is deleted.
 
RandomDelayFilteroperator= (RandomDelayFilter const &)=delete
 Copy Assignment operator is deleted. More...
 
RandomDelayFilteroperator= (RandomDelayFilter &&)=delete
 Move Assignment operator is deleted. More...
 
bool filter (art::Event &e) override
 Filter is a required override of art::EDFilter, and is called for each event. More...
 

Detailed Description

A filter which delays for a random amount of time, then drops a random fraction of events. Used to simulate the delays and efficiency of real filters.

Multiple RandomDelayFilters in series can simulate the effect of multiple layers of filtering

Definition at line 38 of file RandomDelayFilter_module.cc.

Constructor & Destructor Documentation

artdaq::RandomDelayFilter::RandomDelayFilter ( fhicl::ParameterSet const &  p)
explicit

RandomDelayFilter Constructor.

Parameters
pParameterSet used to confgure RandomDelayFilter

RandomDelayFilter accepts the following Parametrs: "minimum_delay_ms" (Default: 0): The minimum amount of time to delay, in ms "maximum_delay_ms" (Default: 1000): The maximum amount of time to delay, in ms "mean_delay_ms" (Default: 500): If using a non-uniform distribution for delay times, the mean of the distribution, in ms (This value will be used for Fixed delays) "sigma_delay_ms" (Default: 100): If using a Normal distribution for delay times, the sigma of the distribution, in ms "pass_filter_percentage" (Default: 100): The fraction of events which will pass the filter "distribution_type" (Default: "Uniform"): The distribution to sample for delays (Uniform, Normal, Exponential, Fixed) "cpu_load_ratio" (Default: 0.5): The fraction of the delay time which should be active (spinning) versis passive (sleeping) "random_seed" (Default: time(0)): The seed for the ditribution

Definition at line 117 of file RandomDelayFilter_module.cc.

Member Function Documentation

bool artdaq::RandomDelayFilter::filter ( art::Event &  e)
override

Filter is a required override of art::EDFilter, and is called for each event.

Parameters
eThe art::Event to filter
Returns
Whether the event passes the filter

This function is where RandomDelayFilter performs its work, using the delay distribution to pick a delay time, spinning and/or sleeping for that amount of time, then picking an integer from the pass distribution to determine if the event should pass or not.

Definition at line 187 of file RandomDelayFilter_module.cc.

RandomDelayFilter& artdaq::RandomDelayFilter::operator= ( RandomDelayFilter const &  )
delete

Copy Assignment operator is deleted.

Returns
RandomDelayFilter copy
RandomDelayFilter& artdaq::RandomDelayFilter::operator= ( RandomDelayFilter &&  )
delete

Move Assignment operator is deleted.

Returns
RandomDelayFilter instance

The documentation for this class was generated from the following file: