Tracks the amplitudes of frequencies, how well they track a Rayleigh distribution and filters if they do not. More...
#include <AcclaimFilters.h>
Public Member Functions | |
RayleighFilter (double channelChiSquareCdfThresh, double chiSquarePerDofThresh, Int_t numEvents) | |
Constructor for the RayleighFilter. More... | |
virtual | ~RayleighFilter () |
Destructor. | |
virtual void | process (FilteredAnitaEvent *fEv) |
virtual const char * | tag () const |
virtual const char * | description () const |
Public Member Functions inherited from Acclaim::Filters::RayleighMonitor | |
RayleighMonitor (int numEvents) | |
Constructor for theh RayleighMonitor. More... | |
virtual void | processOne (AnalysisWaveform *wave, const RawAnitaHeader *h=NULL, int ant=0, int pol=0) |
virtual unsigned | outputLength (unsigned i) const |
returns the number of doubles each output array More... | |
virtual unsigned | nOutputs () const |
virtual const char * | outputName (unsigned i) const |
maps the output array index to a name More... | |
virtual void | fillOutput (unsigned i, double *v) const |
puts the ith output buffer into the array v. More... | |
const FourierBuffer * | getFourierBuffer () const |
Public Member Functions inherited from FilterOperation | |
virtual | ~FilterOperation () |
Protected Attributes | |
TRandom3 * | fRandy |
double | fChiSquarePerDofThreshold |
double | fChanChiSquareCdfThreshold |
double | fChanChiSquareThreshold |
Protected Attributes inherited from Acclaim::Filters::RayleighMonitor | |
int | fNumEvents |
FourierBuffer | fourierBuffer |
TString | fDescription |
unsigned | fNumOutputs |
AnitaPol::AnitaPol_t | fOutputPol |
int | fOutputAnt |
Additional Inherited Members | |
Protected Member Functions inherited from FilterOperation | |
AnalysisWaveform * | getWf (FilteredAnitaEvent *ev, int i) |
AnalysisWaveform * | getWf (FilteredAnitaEvent *ev, int ant, AnitaPol::AnitaPol_t pol) |
Tracks the amplitudes of frequencies, how well they track a Rayleigh distribution and filters if they do not.
RayleigFilter As with RayleighMonitor, most all the hard work in tracking these amplitudes is done by the FourierBuffer class. However, the process function extracts the numbers from FourierBuffer and applies the filtering logic there.
Definition at line 138 of file AcclaimFilters.h.
|
explicit |
Constructor for the RayleighFilter.
This filter operation actually takes some action based on the values calculated by the FourierBuffer. This is by far the most developed filter in this library (although, again, the hard work is all inside FourierBuffer).
The parameters passed in the constructor here too complicated to be explained in a single comment line, so here goes:
channelChiSquareCdfThresh | If one divides each frequency bin amplitude squared, by the rayleigh amplitude squared and histograms them (and the amplitudes are well behaved) you should find the distibution is a chi-square with 2 degrees of freedom. (This is because underlying the Rayleigh distribution you have two gaussian distributed degrees of freedom) By histogramming all the frequency amplitudes in a channel one can find outliers. |
chiSquarePerDofThreshold | The rayleigh amplitude chi square per degree of freedom is evaluated assuming the TSpectrum amplitude. If the distribution of amplitudes is not well described by a Rayligh distribution with a amplitude equal to the TSpectrum amplitude, that frequency bin is filtered. |
numEvents | is the number of events over which to track frequency amplitudes in the FourierBuffer |
Definition at line 553 of file AcclaimFilters.cxx.
|
inlinevirtual |
human readable description, should provide sufficient information to understand what was done
Reimplemented from Acclaim::Filters::RayleighMonitor.
Definition at line 145 of file AcclaimFilters.h.
|
virtual |
Applies the RayleighFilter operation
fEv | is the event to filter |
Reimplemented from Acclaim::Filters::RayleighMonitor.
Definition at line 579 of file AcclaimFilters.cxx.
|
inlinevirtual |
short name for operation, will be used for output tree name, if there is one
Reimplemented from Acclaim::Filters::RayleighMonitor.
Definition at line 144 of file AcclaimFilters.h.