Public Member Functions | List of all members
PrettyAnitaEvent Class Reference

This is the event class, inherited from UsefulAnitaEvent, that has a number of correlation related methods. More...

#include <PrettyAnitaEvent.h>

Public Member Functions

 PrettyAnitaEvent (CalibratedAnitaEvent *calPtr, WaveCalType::WaveCalType_t calType=WaveCalType::kDefault)
 The assignment constructor. More...
 
 PrettyAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, PrettyAnitaHk *theHk)
 
 PrettyAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, RawAnitaHeader *headPtr)
 
int getMaxAntenna (AnitaPol::AnitaPol_t pol, Double_t *peakPtr=0)
 Calls getMaxAntennaCorrelation. More...
 
int getMaxAntennaVSquared (AnitaPol::AnitaPol_t pol, Double_t *peakPtr=0)
 Select the antenna with the maximum voltage squared. More...
 
int getMaxAntennaCorrelation (AnitaPol::AnitaPol_t pol, Double_t *peakPtr=0)
 Select the upper antenna with the maximum correlation (defined as peak/rms of the correlation) with it's pair in the lower ring. More...
 
int getMaxAntennaCorrelationRollingAvg (AnitaPol::AnitaPol_t pol, Double_t *peakPtr=0)
 Select the upper antenna with the maximum correlation (defined as peak/rms of the correlation) with it's pair in the lower ring. More...
 
CorrelationSummarygetCorrelationSummary (Int_t centreAnt, AnitaPol::AnitaPol_t pol, Double_t deltaT=0)
 Generates a CorrelationSummary object for a set of 10 antennas. More...
 
CorrelationSummaryAnita3getCorrelationSummaryAnita3 (Int_t centreAnt, AnitaPol::AnitaPol_t pol, Double_t deltaT=0)
 Generates a CorrelationSummaryAnita3 object for a set of 15 antennas. More...
 
CorrelationSummaryAnita3createCorrelationSummaryAnita3 (Int_t centreAnt, AnitaPol::AnitaPol_t pol, Double_t deltaT=0)
 Generates a CorrelationSummaryAnita3 object for a set of 15 antennas. More...
 
TCanvas * getSixWaveformCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with six waveforms plotted in it. More...
 
TCanvas * getTenWaveformCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with ten waveforms plotted in it. More...
 
TCanvas * getSixFFTPowerCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with six FFT power spectral densitity plots. More...
 
TCanvas * getSixPowerEnvelopeCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with six power envelope plots using FFTtools::getSimplePowerEnvelopeGraph. More...
 
TCanvas * getSixInterpolatedCanvas (int ant, AnitaPol::AnitaPol_t pol, Double_t deltaT=(1./(2.6 *8)), TCanvas *can=0)
 Generates a TCanvas with six interpolated waveforms plotted in it. More...
 
TCanvas * getSixCorrelationCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with six correlations plotted in it. More...
 
TCanvas * getTenCorrelationCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with ten correlations plotted in it. More...
 
TCanvas * getElevenCorrelationCanvas (int ant, AnitaPol::AnitaPol_t pol, TCanvas *can=0)
 Generates a TCanvas with eleven correlations (the combinations of six antennas) plotted in it. More...
 
TCanvas * getElevenInterpolationCorrelationCanvas (int ant, AnitaPol::AnitaPol_t pol, Double_t deltaT=(1./(2.6 *8)), TCanvas *can=0)
 Generates a TCanvas with eleven correlations of interpolated waveforms (the 11 correlations are combinations of six antennas) plotted in it. More...
 
TCanvas * getSixInterpolatedCorrelationCanvas (int ant, AnitaPol::AnitaPol_t pol, Double_t deltaT=(1./(2.6 *8)), TCanvas *can=0)
 Generates a TCanvas with six correlations of interpolated waveforms plotted in it. More...
 
TGraph * getSimplePowerEnvelopeGraph (int chanIndex)
 Wrapper around FFTtools::getSimplePowerEnvelopeGraph.
 
TGraph * getInterpolatedGraph (int chanIndex, double deltaT)
 Wrapper around FFTtools::getInterpolatedGraph.
 
TGraph * getFFTMagnitude (TGraph *grIn)
 Wrapper around FFTtools::makePowerSpectrum.
 
TGraph * getFFTMagnitude (int chanIndex)
 Wrapper around FFTtools::makePowerSpectrum.
 
TGraph * getCorrelation (int chanIndex1, int chanIndex2)
 Wrapper around FFTtools::getCorrelationGraph.
 
TGraph * getCorrelation (TGraph *gr1, TGraph *gr2)
 Wrapper around FFTtools::getCorrelationGraph.
 
TGraph * getCorrelationInterpolated (int chanIndex1, int chanIndex2, Double_t deltaT=(1./(2.6 *8)))
 Wrapper around FFTtools::getInterpolatedCorrelationGraph.
 
void fillSixAntArrays (int ant, int topAnts[3], int bottomAnts[3])
 Utility to get neighbouring antenna numbers.
 
void fillNextFourAntArrays (int ant, int nextFourAnts[4])
 Utility to get next to neighbouring antenna numbers.
 
void fillNadirArrays (int ant, int nadirAnts[9])
 
void fillNineAntArrays (int ant, int nineAnts[9])
 Utility to get neighbouring antenna numbers ( Top 0-2, Middle 3-5, Bottom 6-8)
 
void fillNextSixAntArrays (int ant, int nextFourAnts[4])
 Utility to get next to neighbouring antenna numbers.
 
 ClassDef (PrettyAnitaEvent, 1)
 ROOT's magic macro.
 
void setPassBandFilterFlag (int flag)
 
void setNotchFilterFlag (int numNotches)
 
void setPassBandLimits (Double_t low, Double_t high)
 
void setNotchBandLimits (Int_t notchNum, Double_t low, Double_t high)
 
- Public Member Functions inherited from UsefulAnitaEvent
 UsefulAnitaEvent ()
 Default constructor.
 
 UsefulAnitaEvent (CalibratedAnitaEvent *calibratedPtr, WaveCalType::WaveCalType_t calType=WaveCalType::kDefault)
 Assignment constructor from a CalibratedAnitaEvent.
 
 UsefulAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, PrettyAnitaHk *theHk=0)
 Assignment constructor using PrettyAnitaHk for the temperature calibration. See WaveCalType for calibration options.
 
 UsefulAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, RawAnitaHeader *theHd)
 Assignment constructor using RawAnitaHeader for the c3p0Num to do the temperature calibration using the 125MHz clock. See WaveCalType for calibration options.
 
 UsefulAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, Double_t surfTemp)
 Assignment constructor using surfTemp for the temperature calibration. See WaveCalType for calibration options.
 
 UsefulAnitaEvent (RawAnitaEvent *eventPtr, WaveCalType::WaveCalType_t calType, RawAnitaHeader *theHd, std::vector< Double_t > *rcoInfo, std::vector< Double_t > *clockPhiInfo, std::vector< Double_t > *tempFactorInfo, Int_t clockProblemInfo, Int_t clockSpikeInfo, Int_t rfSpikeInfo)
 Assignment constructor using calibInfo from makeCalibratedEventInfo in anitaTreeMaker for thermal corrections. See WaveCalType for calibration options.
 
virtual ~UsefulAnitaEvent ()
 Destructor.
 
int calibrateEvent (WaveCalType::WaveCalType_t calType)
 Work horse member function called by constructor.
 
TGraph * getGraphFromSurfAndChan (int surf, int chan) const
 Returns a voltage-time waveform for given SURF and channel.
 
TGraph * getGraph (int chanIndex) const
 Returns a voltage-time waveform for given channel index.
 
TGraph * getGraph (int ant, AnitaPol::AnitaPol_t pol) const
 Returns a voltage time waveform for given ant-pol.
 
TGraph * getGraph (AnitaRing::AnitaRing_t ring, int phi, AnitaPol::AnitaPol_t pol) const
 Returns a voltage-time waveform for given ring-phi-pol.
 
TGraph * getDeconvolvedALFA ()
 
Int_t guessRco (int chanIndex)
 Looks at clock channel to try and guess which RCO phase we are in.
 
Int_t getRcoCorrected (int chanIndex)
 Returns firmware RCO after correcting for latch delay (and factor of -1 for different definitions of which phase getRCO and guessRCO return) More...
 
std::vector< Double_t > getClockAlignment (std::vector< Int_t > listOfClockNums)
 For calibration.
 
Int_t checkIfTreatingCalibratedEventAsRawEvent (RawAnitaEvent *rawEventPtr, const char *funcName)
 Prints a verbose error message if you're calling the wrong constructor type.
 
Bool_t getAlfaFilterFlag ()
 a list to store the spikey RF channel.
 
Bool_t setAlfaFilterFlag (Bool_t newBoolianFlag)
 
- Public Member Functions inherited from RawAnitaEvent
 RawAnitaEvent ()
 Default constructor.
 
 RawAnitaEvent (PedSubbedEventBody_t *psBody)
 Assignment constructor.
 
 RawAnitaEvent (PedSubbedEventBodyVer11_t *psBody)
 Ver11 Assignment constructor.
 
 RawAnitaEvent (PedSubbedEventBodyVer10_t *psBody)
 Ver10 Assignment constructor.
 
 ~RawAnitaEvent ()
 Destructor.
 
Int_t getLabChip (Int_t chanIndex) const
 Returns the LABRADOR number.
 
Int_t getRCO (Int_t chanIndex) const
 Returns the RCO phase.
 
Int_t getFirstHitBus (Int_t chanIndex) const
 Returns the firstHitbus value for the channel.
 
Int_t getLastHitBus (Int_t chanIndex) const
 Returns the lastHitbus value for the channel.
 
Int_t getWrappedHitBus (Int_t chanIndex) const
 Return the wrapped hitbus flag for the channel. When the HITBUS is wrapped the waveform runs from firstHitbus+1 to lastHitbus-1, otherwise it runs from lastHitbus+1 to firstHitbus-1 (crossing the 259–>0 boudnary).
 
Int_t getLatestSample (Int_t chanIndex)
 Returns the latest sample in the waveform.
 
Int_t getEarliestSample (Int_t chanIndex)
 Returns the earliest sample in the waveform.
 
 ClassDef (RawAnitaEvent, 11)
 

Additional Inherited Members

- Static Public Member Functions inherited from UsefulAnitaEvent
static int getChanIndex (int surf, int chan)
 Utility function.
 
- Public Attributes inherited from UsefulAnitaEvent
Int_t fFromCalibratedAnitaEvent
 Flag used in determining whether the event came from a CalibratedAnitaEvent.
 
UInt_t fC3poNum
 Used to monitor the clock period.
 
Int_t gotCalibTemp
 Flag to check if we are using the temperature calibration.
 
Double_t calibTemp
 Value for the temperature calibration.
 
WaveCalType::WaveCalType_t fCalType
 The calibration type requested.
 
int fNumPoints [12 *9]
 Number of poins per channel.
 
double fVolts [12 *9][260]
 Array of unwrapped (unless kNoCalib) voltages for each channel.
 
double fTimes [12 *9][260]
 Array of unwrapped (unless kNoCalib) times for each channel.
 
int fCapacitorNum [12 *9][260]
 Array of capacitor numbers.
 
UInt_t fLastEventGuessed
 Internal variable to see if we've already tried to guess the RCO and temp correction factors for this event.
 
Int_t fRcoArray [12]
 An array to store the guessed at RCO values.
 
Double_t fTempFactorGuesses [12]
 A holder variable to cling on to the temperature correction factor that we are guessing at.
 
Int_t fClockProblem
 Flag raised if more than 4 upgoing zero crossings in clock, won't update temp correction. RCO guessing may also be negatively affected by this.
 
Int_t fClockSpike
 Flag raised if the ADC value is too large or small in clock.
 
Int_t fRFSpike
 Flag raised if the ADC value is too large or small in RF.
 
Double_t fClockPhiArray [12]
 An array to store the derived clock calibration numbers (from aligning the clocks)
 
std::vector< int > SpikeyRFChannelList
 
- Public Attributes inherited from RawAnitaEvent
UInt_t whichPeds
 Timestamp of pedestals used in subtraction.
 
UInt_t eventNumber
 Event number from software.
 
UInt_t surfEventId [12]
 SURF Event Id's.
 
UChar_t chanId [12 *9]
 
UChar_t chipIdFlag [12 *9]
 chipIdFlag More...
 
UChar_t firstHitbus [12 *9]
 First sample of the hitbus. More...
 
UChar_t lastHitbus [12 *9]
 Last sample of the hitbus. More...
 
Short_t xMax [12 *9]
 Maximum value in ADCs???
 
Short_t xMin [12 *9]
 Minimum value in ADCs???
 
Float_t mean [12 *9]
 Mean of the waveform.
 
Float_t rms [12 *9]
 RMS of the waveform.
 
Short_t data [12 *9][260]
 The pedestal subtracted waveform data. Note that these arrays must be unwrapped and calibrated to become UsefulAnitaEvent objects.
 

Detailed Description

This is the event class, inherited from UsefulAnitaEvent, that has a number of correlation related methods.

Basically this class is a good chunk of what the event correlator is all about. It inherits from UsefulAnitaEvent and can be used as a drop in replacement for the former. It provides a number of methods that do useful correlator-y stuff.

Definition at line 74 of file PrettyAnitaEvent.h.

Inheritance diagram for PrettyAnitaEvent:
Inheritance graph
[legend]
Collaboration diagram for PrettyAnitaEvent:
Collaboration graph
[legend]

Constructor & Destructor Documentation

PrettyAnitaEvent::PrettyAnitaEvent ( CalibratedAnitaEvent calPtr,
WaveCalType::WaveCalType_t  calType = WaveCalType::kDefault 
)

The assignment constructor.

Parameters
eventPtrA pointer to the RawAnitaEvent.
calTypeThe desired calibration option.
theHkThe hk (needed for the temperature correction of the SURF timebase).

Definition at line 41 of file PrettyAnitaEvent.cxx.

Member Function Documentation

CorrelationSummaryAnita3 * PrettyAnitaEvent::createCorrelationSummaryAnita3 ( Int_t  centreAnt,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = 0 
)

Generates a CorrelationSummaryAnita3 object for a set of 15 antennas.

Parameters
centreAntThe number of one of the antennas in the centre of the set of 10.
polWhich polarisation to use?
deltaTAn optional value to use if interpolation is required. This value is taking as being the desired sampling period of the interpolated waveforms.
Returns
A pointer to the CorrelationSummaryAnita3 object that is created. Only the antenna positions are filled in this function, not the correlation values!!!

Definition at line 1580 of file PrettyAnitaEvent.cxx.

CorrelationSummary * PrettyAnitaEvent::getCorrelationSummary ( Int_t  centreAnt,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = 0 
)

Generates a CorrelationSummary object for a set of 10 antennas.

Parameters
centreAntThe number of one of the antennas in the centre of the set of 10.
polWhich polarisation to use?
deltaTAn optional value to use if interpolation is required. This value is taking as being the desired sampling period of the interpolated waveforms.
Returns
A pointer to the CorrelationSummary object that is created.

Definition at line 1254 of file PrettyAnitaEvent.cxx.

CorrelationSummaryAnita3 * PrettyAnitaEvent::getCorrelationSummaryAnita3 ( Int_t  centreAnt,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = 0 
)

Generates a CorrelationSummaryAnita3 object for a set of 15 antennas.

Parameters
centreAntThe number of one of the antennas in the centre of the set of 10.
polWhich polarisation to use?
deltaTAn optional value to use if interpolation is required. This value is taking as being the desired sampling period of the interpolated waveforms.
Returns
A pointer to the CorrelationSummaryAnita3 object that is created.

Definition at line 1722 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getElevenCorrelationCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with eleven correlations (the combinations of six antennas) plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 374 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getElevenInterpolationCorrelationCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = (1./(2.6*8)),
TCanvas *  can = 0 
)

Generates a TCanvas with eleven correlations of interpolated waveforms (the 11 correlations are combinations of six antennas) plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
deltaTThe optional sampling period for the interpolated waveforms (default is up sampling by afactor of 8).
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 503 of file PrettyAnitaEvent.cxx.

int PrettyAnitaEvent::getMaxAntenna ( AnitaPol::AnitaPol_t  pol,
Double_t *  peakPtr = 0 
)

Calls getMaxAntennaCorrelation.

Parameters
polWhich polarisation to use?
peakPtrAn optional pointer to a double in which to store the peak/rms value.
Returns
The antenna number of the antenna with the largest signal.

Definition at line 1127 of file PrettyAnitaEvent.cxx.

int PrettyAnitaEvent::getMaxAntennaCorrelation ( AnitaPol::AnitaPol_t  pol,
Double_t *  peakPtr = 0 
)

Select the upper antenna with the maximum correlation (defined as peak/rms of the correlation) with it's pair in the lower ring.

Parameters
polWhich polarisation to use?
peakPtrAn optional pointer to a double in which to store the peak/rms correlation value.
Returns
The antenna number of the antenna with the largest peak/rms correlation value.

Definition at line 1157 of file PrettyAnitaEvent.cxx.

int PrettyAnitaEvent::getMaxAntennaCorrelationRollingAvg ( AnitaPol::AnitaPol_t  pol,
Double_t *  peakPtr = 0 
)

Select the upper antenna with the maximum correlation (defined as peak/rms of the correlation) with it's pair in the lower ring.

Parameters
polWhich polarisation to use?
peakPtrAn optional pointer to a double in which to store the peak/rms correlation value.
Returns
The antenna number of the antenna with the largest peak/rms correlation value.

Definition at line 1188 of file PrettyAnitaEvent.cxx.

int PrettyAnitaEvent::getMaxAntennaVSquared ( AnitaPol::AnitaPol_t  pol,
Double_t *  peakPtr = 0 
)

Select the antenna with the maximum voltage squared.

Parameters
polWhich polarisation to use?
peakPtrAn optional pointer to a double in which to store the peak V^2 value.
Returns
The antenna number of the antenna with the largest V^2.

Definition at line 1135 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixCorrelationCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with six correlations plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 265 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixFFTPowerCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with six FFT power spectral densitity plots.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the PSDs plotted.

Definition at line 165 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixInterpolatedCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = (1./(2.6*8)),
TCanvas *  can = 0 
)

Generates a TCanvas with six interpolated waveforms plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
deltaTThe sampling period of the interpolated waveforms (interpolation done using FFTtools::getInterpolatedGraph)
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 682 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixInterpolatedCorrelationCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
Double_t  deltaT = (1./(2.6*8)),
TCanvas *  can = 0 
)

Generates a TCanvas with six correlations of interpolated waveforms plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
deltaTThe optional sampling period for the interpolated waveforms (default is up sampling by afactor of 8).
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 631 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixPowerEnvelopeCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with six power envelope plots using FFTtools::getSimplePowerEnvelopeGraph.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the power enevlope graphs.

Definition at line 215 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getSixWaveformCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with six waveforms plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 6.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the waveforms.

Definition at line 57 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getTenCorrelationCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with ten correlations plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 10.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the interpolated waveforms.

Definition at line 317 of file PrettyAnitaEvent.cxx.

TCanvas * PrettyAnitaEvent::getTenWaveformCanvas ( int  ant,
AnitaPol::AnitaPol_t  pol,
TCanvas *  can = 0 
)

Generates a TCanvas with ten waveforms plotted in it.

Parameters
antThe number of one of the antennas in the centre of the set of 10.
polWhich polarisation to use?
canAn optional pointer to a TCanvas to use instead of creating a new one.
Returns
A pointer to the TCanvas with the waveforms.

Definition at line 107 of file PrettyAnitaEvent.cxx.


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