Omicron  4.2.0
An algorithm to detect and characterize transient events in gravitational-wave detectors
OxEventResults Class Reference

Ox analysis results. More...

#include <OxEventResults.h>

Public Member Functions

unsigned int GetCumulativeLiveTime (void)
 Returns the cumulative livetime [s]. More...
 
TH1D * GetCumulativeRankPlot (void)
 Returns the cumulative 1D histogram of the event rank distribution. More...
 
unsigned int GetEventN (void)
 Returns the number of events saved until now. More...
 
double GetEventRate (const double aRank)
 Returns the event rate [Hz] above a given rank value. More...
 
TH1D * GetFrequencyPlot (void)
 Returns the 1D histogram of the event frequency distribution. More...
 
TGraphErrors * GetIfarPlot (OxEventResults *aBackground)
 Returns the inverse false-alarm rate TGraph for the loudest events. More...
 
Long64_t GetLoudest (double &aRank, const unsigned int aLoudestIndex)
 Returns the event TTree index in the list of loudest events. More...
 
unsigned int GetLoudestN (void)
 Returns the number of loudest events. More...
 
TH2D * GetRankFrequencyPlot (void)
 Returns the 2D histogram of the event rank vs. More...
 
TH1D * GetRankPlot (void)
 Returns the 1D histogram of the event rank distribution. More...
 
Segments * GetSegments (void)
 Returns the analysis segments. More...
 
TH1D * GetSliceVeto1dPlot (const unsigned int aQindex)
 Returns the 1D histogram of the event slice veto. More...
 
TH2D * GetSliceVeto2dPlot (void)
 Returns the 2D histogram of the event slce veto. More...
 
TH1D * GetTimeVariancePlot (const unsigned int aQindex)
 Returns the 1D histogram of the time variance along frequency rows. More...
 
TH1D * GetXiqMaxPlot (void)
 Returns the 1D histogram of the maximum spread of \(\Xi\) values across Q planes. More...
 
TH1D * GetXiqPlot (void)
 Returns the 1D histogram of the spread of \(\Xi\) values across Q planes. More...
 
void Process (const unsigned int aEventsNorm)
 Processes the results. More...
 
double RateToRank (const double aRate)
 Returns the event rank corresponding to a given event rate. More...
 
void Reset (void)
 Resets all the analysis results. More...
 
void SaveEvent (const unsigned int aStartTime, const unsigned int aEndTime)
 Saves an event. More...
 
void SetLoudestN (const unsigned int aN=0)
 Sets the number of loudest events to record. More...
 
Constructors and destructors
 OxEventResults (const string aName, OxEventParam *aParam, Omicron *aOmicron)
 Constructor of the OxEventResults class. More...
 
virtual ~OxEventResults (void)
 Destructor of the OxEventResults class. More...
 

Private Attributes

TGraphErrors * g_loudest
 List of loudest events (X=rank, Y=entry). More...
 
TH1D * h1_frequency
 Frequency distribution [Hz]. More...
 
TH1D * h1_rk
 Rank distribution. More...
 
TH1D * h1_rk_cum
 Rank cumulative distribution. More...
 
TH1D ** h1_sliceveto
 Number of frequency rows rejected by the slice veto / Q plane. More...
 
TH1D ** h1_tvar
 Time variance along frequency rows / Q plane. More...
 
TH1D * h1_Xiq
 \(\Xi\) spread across Q planes distribution. More...
 
TH1D * h1_Xiq_max
 \(\Xi\) maximum spread across Q planes distribution. More...
 
TH2D * h2_rk_frequency
 Rank vs frequency [Hz]. More...
 
TH2D * h2_sliceveto
 Number of frequency rows rejected by the slice veto. More...
 
unsigned int livetime
 Analysis cumulative livetime [s]. More...
 
unsigned int * omicron_nf
 Number of Omicron frequency rows /Q. More...
 
unsigned int omicron_nq
 Number of Omicron Q planes. More...
 
OxEventParam * param
 Ox event parameters - do not delete. More...
 
Segments * segments
 Analysis segments. More...
 

Detailed Description

Ox analysis results.

This class is designed to collect Ox events and present results of an Ox analysis. The class must be initialized with an OxEventParam object from which the event parameters will be extracted. Everytime an event is loaded, call SaveEvent() to save the event parameters. Multiple plots are then filled. After all events have been loaded, call Process() to process the results. Finally, Get functions are available to acess result plots.

Constructor & Destructor Documentation

◆ OxEventResults()

OxEventResults::OxEventResults ( const string  aName,
OxEventParam *  aParam,
Omicron aOmicron 
)

Constructor of the OxEventResults class.

All the analysis containers/plots are created. An OxEventParam object must be linked to save events in the result structures.

Parameters
[in]aNameName to uniquely identify the OxEventResults object.
[in]aParamOx event parameters.
[in]aOmicronOmicron object to initialize plots.

◆ ~OxEventResults()

virtual OxEventResults::~OxEventResults ( void  )
virtual

Destructor of the OxEventResults class.

Member Function Documentation

◆ GetCumulativeLiveTime()

unsigned int OxEventResults::GetCumulativeLiveTime ( void  )
inline

Returns the cumulative livetime [s].

◆ GetCumulativeRankPlot()

TH1D* OxEventResults::GetCumulativeRankPlot ( void  )
inline

Returns the cumulative 1D histogram of the event rank distribution.

Warning
DO NOT DELETE.

◆ GetEventN()

unsigned int OxEventResults::GetEventN ( void  )
inline

Returns the number of events saved until now.

This is the number of events collected until now with the SaveEvent() function. It only includes events inside the range of the rank distribition histogram, excluding under/overflows.

◆ GetEventRate()

double OxEventResults::GetEventRate ( const double  aRank)
inline

Returns the event rate [Hz] above a given rank value.

Precondition
Results must be processed first (Process()).
Parameters
[in]aRankEvent rank value.

◆ GetFrequencyPlot()

TH1D* OxEventResults::GetFrequencyPlot ( void  )
inline

Returns the 1D histogram of the event frequency distribution.

Warning
DO NOT DELETE.

◆ GetIfarPlot()

TGraphErrors* OxEventResults::GetIfarPlot ( OxEventResults aBackground)

Returns the inverse false-alarm rate TGraph for the loudest events.

The list of loudest events is scanned. For each event, the false-alarm rate is computed. It is converted to an inverse false-alarm rate in [yr]. Then the cumulative distribution is built.

Note
If the loudest events have a rank value higher than the the loudest background event, the inverse false-alarm rate is set to 0.
Warning
The returned TGraph must be deleted by the user.
Parameters
[in]aBackgroundBackground distribution to evaluate the event false-alarm rate.

◆ GetLoudest()

Long64_t OxEventResults::GetLoudest ( double &  aRank,
const unsigned int  aLoudestIndex 
)
inline

Returns the event TTree index in the list of loudest events.

Returns
It returns -1 if that event does not exist.
Parameters
[out]aRankThe rank value for that event.
[in]aLoudestIndexIndex in the list of loudest events.

◆ GetLoudestN()

unsigned int OxEventResults::GetLoudestN ( void  )
inline

Returns the number of loudest events.

Note
This is a maximum number. The list of actual events can be shorter.

◆ GetRankFrequencyPlot()

TH2D* OxEventResults::GetRankFrequencyPlot ( void  )
inline

Returns the 2D histogram of the event rank vs.

frequency distribution.

Warning
DO NOT DELETE.

◆ GetRankPlot()

TH1D* OxEventResults::GetRankPlot ( void  )
inline

Returns the 1D histogram of the event rank distribution.

Warning
DO NOT DELETE.

◆ GetSegments()

Segments* OxEventResults::GetSegments ( void  )
inline

Returns the analysis segments.

Warning
DO NOT DELETE.

◆ GetSliceVeto1dPlot()

TH1D* OxEventResults::GetSliceVeto1dPlot ( const unsigned int  aQindex)
inline

Returns the 1D histogram of the event slice veto.

Warning
DO NOT DELETE.
Parameters
[in]aQindexQ plane index: must be valid!

◆ GetSliceVeto2dPlot()

TH2D* OxEventResults::GetSliceVeto2dPlot ( void  )
inline

Returns the 2D histogram of the event slce veto.

Warning
DO NOT DELETE.

◆ GetTimeVariancePlot()

TH1D* OxEventResults::GetTimeVariancePlot ( const unsigned int  aQindex)
inline

Returns the 1D histogram of the time variance along frequency rows.

Warning
DO NOT DELETE.
Parameters
[in]aQindexQ plane index: must be valid!

◆ GetXiqMaxPlot()

TH1D* OxEventResults::GetXiqMaxPlot ( void  )
inline

Returns the 1D histogram of the maximum spread of \(\Xi\) values across Q planes.

Warning
DO NOT DELETE.

◆ GetXiqPlot()

TH1D* OxEventResults::GetXiqPlot ( void  )
inline

Returns the 1D histogram of the spread of \(\Xi\) values across Q planes.

Warning
DO NOT DELETE.

◆ Process()

void OxEventResults::Process ( const unsigned int  aEventsNorm)

Processes the results.

When all the events are saved with SaveEvent(), call this function to process the results:

  • Cumulative distribution histograms are computed.
  • All the histograms are normalized to contain a reference number of events.
  • All histograms are given statistical error bars.
Parameters
[in]aEventsNormReference number of events to normalize all histograms.

◆ RateToRank()

double OxEventResults::RateToRank ( const double  aRate)

Returns the event rank corresponding to a given event rate.

The event cumulative rank distribution is interpolated to associate a rank value to a given event rate value.

If the requested event rate is too high, the lower end of the rank distribution is returned as an effective value. If the event rate cannot be reached (too low), the highest known rank value is returned.

Warning
The event cumulative rank distribution is used for the interpolation. Therefore the Process() function must be called first.
Parameters
[in]aRateRequested event rate value [Hz].

◆ Reset()

void OxEventResults::Reset ( void  )

Resets all the analysis results.

◆ SaveEvent()

void OxEventResults::SaveEvent ( const unsigned int  aStartTime,
const unsigned int  aEndTime 
)

Saves an event.

Call this function to save an event and its parameters in the result structures. The OxEventParam object linked in the constructor is used to extract the event parameters.

Parameters
[in]aStartTimeEvent GPS start time [s]. Use the first detector as a reference.
[in]aEndTimeEvent GPS end time [s]. Use the first detector as a reference.

◆ SetLoudestN()

void OxEventResults::SetLoudestN ( const unsigned int  aN = 0)
inline

Sets the number of loudest events to record.

Note
The list of loudest events is reset if it already exists: all rank values are set to -1.
Parameters
[in]aNNumber of events to record.

Member Data Documentation

◆ g_loudest

TGraphErrors* OxEventResults::g_loudest
private

List of loudest events (X=rank, Y=entry).

◆ h1_frequency

TH1D* OxEventResults::h1_frequency
private

Frequency distribution [Hz].

◆ h1_rk

TH1D* OxEventResults::h1_rk
private

Rank distribution.

◆ h1_rk_cum

TH1D* OxEventResults::h1_rk_cum
private

Rank cumulative distribution.

◆ h1_sliceveto

TH1D** OxEventResults::h1_sliceveto
private

Number of frequency rows rejected by the slice veto / Q plane.

◆ h1_tvar

TH1D** OxEventResults::h1_tvar
private

Time variance along frequency rows / Q plane.

◆ h1_Xiq

TH1D* OxEventResults::h1_Xiq
private

\(\Xi\) spread across Q planes distribution.

◆ h1_Xiq_max

TH1D* OxEventResults::h1_Xiq_max
private

\(\Xi\) maximum spread across Q planes distribution.

◆ h2_rk_frequency

TH2D* OxEventResults::h2_rk_frequency
private

Rank vs frequency [Hz].

◆ h2_sliceveto

TH2D* OxEventResults::h2_sliceveto
private

Number of frequency rows rejected by the slice veto.

◆ livetime

unsigned int OxEventResults::livetime
private

Analysis cumulative livetime [s].

◆ omicron_nf

unsigned int* OxEventResults::omicron_nf
private

Number of Omicron frequency rows /Q.

◆ omicron_nq

unsigned int OxEventResults::omicron_nq
private

Number of Omicron Q planes.

◆ param

OxEventParam* OxEventResults::param
private

Ox event parameters - do not delete.

◆ segments

Segments* OxEventResults::segments
private

Analysis segments.


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