Cross-correlate all channels of an event with a template. More...
#include <CrossCorrelator.h>
Public Member Functions | |
TemplateCorrelator (Int_t run, UInt_t eventNumber) | |
virtual | ~TemplateCorrelator () |
void | initTemplate (const FilteredAnitaEvent *fEv) |
void | initTemplate (Int_t run, UInt_t eventNumber) |
virtual void | correlateEvent (const FilteredAnitaEvent *fEv) |
virtual void | correlateEvent (const FilteredAnitaEvent *fEv, AnitaPol::AnitaPol_t pol) |
TGraph * | getCrossCorrelationGraph (AnitaPol::AnitaPol_t pol, Int_t ant) const |
Double_t | getPeakCorrelation (AnitaPol::AnitaPol_t pol, Double_t minOffset=-100, Double_t maxOffset=100, Double_t stepSize=(1./2.6f)) const |
virtual Double_t | getCrossCorrelation (AnitaPol::AnitaPol_t pol, Int_t ant, Double_t deltaT) const |
Public Member Functions inherited from Acclaim::CrossCorrelator | |
void | doUpsampledCrossCorrelations (AnitaPol::AnitaPol_t pol, Int_t phiSector) |
TGraph * | getCrossCorrelationGraph (AnitaPol::AnitaPol_t pol, Int_t ant1, Int_t ant2) const |
TGraph * | getUpsampledCrossCorrelationGraph (AnitaPol::AnitaPol_t pol, Int_t ant1, Int_t ant2) const |
TGraph * | getCrossCorrelationGraphWorker (Int_t numSamps, AnitaPol::AnitaPol_t pol, Int_t ant1, Int_t ant2) const |
Double_t | getTimeOfMaximumUpsampledCrossCorrelation (AnitaPol::AnitaPol_t pol, Int_t ant1, Int_t ant2) const |
void | initializeVariables () |
void | getNormalizedInterpolatedTGraphs (const FilteredAnitaEvent *realEvent, AnitaPol::AnitaPol_t pol, bool raw=false) |
void | renormalizeFourierDomain (AnitaPol::AnitaPol_t pol, Int_t ant) |
void | doFFTs (AnitaPol::AnitaPol_t pol) |
void | doCrossCorrelations (AnitaPol::AnitaPol_t pol) |
Bool_t | useCombo (Int_t ant1, Int_t ant2, Int_t phiSector, Int_t deltaPhiSect) |
void | fillCombosToUse () |
void | do5PhiSectorCombinatorics () |
Double_t | getInterpolatedUpsampledCorrelationValue (AnitaPol::AnitaPol_t pol, Int_t combo, Double_t deltaT) const |
Additional Inherited Members | |
Public Attributes inherited from Acclaim::CrossCorrelator | |
std::complex< Double_t > | ffts [AnitaPol::kNotAPol][NUM_SEAVEYS][((NUM_SAMP *2)/2+1)] |
FFTs of evenly resampled waveforms. | |
Double_t | crossCorrelations [AnitaPol::kNotAPol][336][NUM_SAMP *2] |
Cross correlations. | |
Double_t | crossCorrelationsUpsampled [AnitaPol::kNotAPol][336][NUM_SAMP *2 *6 *2] |
Upsampled cross correlations. | |
Double_t | fVolts [AnitaPol::kNotAPol][NUM_SEAVEYS][NUM_SAMP *2] |
Hold the filtered waveforms for padding... | |
Double_t | startTimes [AnitaPol::kNotAPol][NUM_SEAVEYS] |
Double_t | interpRMS [AnitaPol::kNotAPol][NUM_SEAVEYS] |
RMS of interpolated TGraphs. | |
Double_t | interpRMS2 [AnitaPol::kNotAPol][NUM_SEAVEYS] |
RMS of interpolated TGraphs with extra zero padding. | |
Int_t | comboIndices [NUM_SEAVEYS][NUM_SEAVEYS] |
Array mapping ant1+ant2 to combo index. | |
UInt_t | eventNumber [AnitaPol::kNotAPol] |
For tracking event number. | |
Double_t | nominalSamplingDeltaT |
ANITA-3 => 1./2.6 ns, deltaT for evenly resampling. | |
Double_t | correlationDeltaT |
nominalSamplingDeltaT/UPSAMPLE_FACTOR, deltaT of for interpolation. | |
Int_t | numSamples |
Number of samples in waveform after padding. | |
Int_t | numSamplesUpsampled |
Number of samples in waveform after padding and up sampling. | |
Int_t | numCombos |
Number of possible antenna pairs, counted during initialization. Should equal NUM_COMBOS. | |
std::vector< Int_t > | comboToAnt1s |
Vector mapping combo index to ant1. | |
std::vector< Int_t > | comboToAnt2s |
Vector mapping combo index to ant2. | |
std::vector< Int_t > | combosToUseGlobal [NUM_PHI] |
Depends on L3 trigger for global image. | |
Int_t | multiplyTopRingByMinusOne |
For showing how I'm an idiot with respect to compiling the ANITA-3 prioritizer. | |
Int_t | kOnlyThisCombo |
For debugging, only fill histograms with one particular antenna pair. | |
Int_t | kDeltaPhiSect |
Specifies how many phi-sectors around peak use in reconstruction. | |
Cross-correlate all channels of an event with a template.
This class overloads a few member functions while repurposing some member variable so not really a case of straight forward inheritance...
Definition at line 153 of file CrossCorrelator.h.
Acclaim::TemplateCorrelator::TemplateCorrelator | ( | Int_t | run, |
UInt_t | eventNumber | ||
) |
Constructor, Initialize the template correlator
run | the run of the event to use as a template |
eventNumber | of the event to use as a template |
Definition at line 427 of file CrossCorrelator.cxx.
|
virtual |
Destructor (do nothing)
Definition at line 437 of file CrossCorrelator.cxx.
|
virtual |
Loop over polarisations and correlate the event
fEv | is the FilteredAnitaEvent to correlate with the template |
Reimplemented from Acclaim::CrossCorrelator.
Definition at line 489 of file CrossCorrelator.cxx.
|
virtual |
Correlate the FilteredAnitaEvent to the template
fEv | is the FilteredAnitaEvent to correlate with the template |
pol | is the |
Reimplemented from Acclaim::CrossCorrelator.
Definition at line 506 of file CrossCorrelator.cxx.
TGraph * Acclaim::TemplateCorrelator::getCrossCorrelationGraph | ( | AnitaPol::AnitaPol_t | pol, |
Int_t | ant | ||
) | const |
Look at the correlation of the template with the channel of the event
pol | |
ant |
Definition at line 576 of file CrossCorrelator.cxx.
void Acclaim::TemplateCorrelator::initTemplate | ( | const FilteredAnitaEvent * | fEv | ) |
Store the template waveforms
fEv | is the FilteredAnitaEvent to use as the template |
Definition at line 466 of file CrossCorrelator.cxx.
void Acclaim::TemplateCorrelator::initTemplate | ( | Int_t | run, |
UInt_t | eventNumber | ||
) |
Initialize the template correlator
run | the run of the event to use as a template |
eventNumber | of the event to use as a template |
Definition at line 450 of file CrossCorrelator.cxx.