Public Member Functions | Protected Attributes | List of all members
Acclaim::Filters::RayleighFilter Class Reference

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 FourierBuffergetFourierBuffer () 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
AnalysisWaveformgetWf (FilteredAnitaEvent *ev, int i)
 
AnalysisWaveformgetWf (FilteredAnitaEvent *ev, int ant, AnitaPol::AnitaPol_t pol)
 

Detailed Description

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.

Inheritance diagram for Acclaim::Filters::RayleighFilter:
Inheritance graph
[legend]
Collaboration diagram for Acclaim::Filters::RayleighFilter:
Collaboration graph
[legend]

Constructor & Destructor Documentation

Acclaim::Filters::RayleighFilter::RayleighFilter ( double  channelChiSquareCdfThresh,
double  chiSquarePerDofThresh,
Int_t  numEvents 
)
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:

Parameters
channelChiSquareCdfThreshIf 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.
chiSquarePerDofThresholdThe 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.
numEventsis the number of events over which to track frequency amplitudes in the FourierBuffer

Definition at line 553 of file AcclaimFilters.cxx.

Member Function Documentation

virtual const char* Acclaim::Filters::RayleighFilter::description ( ) const
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.

void Acclaim::Filters::RayleighFilter::process ( FilteredAnitaEvent fEv)
virtual

Applies the RayleighFilter operation

Parameters
fEvis the event to filter

Reimplemented from Acclaim::Filters::RayleighMonitor.

Definition at line 579 of file AcclaimFilters.cxx.

virtual const char* Acclaim::Filters::RayleighFilter::tag ( ) const
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.


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