ReadTriggers Class Reference

Read trigger files. More...

#include <ReadTriggers.h>

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

List of all members.

Public Member Functions

bool Clusterize (void)
 Clusters triggers.
double GetClusterAmplitude (const int aclst)
 Returns the peak Amplitude of cluster number aclst.
double GetClusterBandWidth (const int aclst)
 Returns the bandwidth of cluster number aclst.
double GetClusterDuration (const int aclst)
 Returns the duration of cluster number aclst.
double GetClusterFrequency (const int aclst)
 Returns the peak frequency of cluster number aclst.
double GetClusterFrequencyEnd (const int aclst)
 Returns the ending frequency of cluster number aclst.
double GetClusterFrequencyStart (const int aclst)
 Returns the starting frequency of cluster number aclst.
double GetClusterMeanDuration (void)
 Returns the mean duration of clusters.
int GetClusterNumber (const double atime)
 Returns the cluster number of cluster overlapping time atime.
double GetClusterQ (const int aclst)
 Returns the peak Q value of cluster number aclst.
int GetClusterSize (const int aclst)
 Returns the size of cluster number aclst.
double GetClusterSNR (const int aclst)
 Returns the peak SNR of cluster number aclst.
int GetClusterStatus (const int aclst)
 Returns the status value of cluster number aclst.
double GetClusterTheta (const int aclst)
 Returns the theta value of cluster number aclst.
double GetClusterTime (const int aclst)
 Returns the peak time of cluster number aclst.
double GetClusterTimeEnd (const int aclst)
 Returns the ending time of cluster number aclst.
double GetClusterTimeStart (const int aclst)
 Returns the starting time of cluster number aclst.
double GetDeltaT (void)
 Returns the clustering delta_t value.
double GetFrequencyMax (void)
 Returns the maximum value of frequency in the trigger sample.
double GetFrequencyMin (void)
 Returns the minimum value of frequency in the trigger sample.
int GetNcluster (void)
 Returns the number of clusters.
int GetNCluster (void)
 Returns the number of clusters.
int GetNtrig (void)
 Returns the number of triggers.
int GetNTrig (void)
 Returns the number of triggers.
int GetNTriggers (void)
 Returns the number of triggers.
int GetNtriggers (void)
 Returns the number of triggers.
double GetSNRMax (void)
 Returns the maximum value of SNR in the trigger sample.
double GetSNRMin (void)
 Returns the minimum value of SNR in the trigger sample.
double GetTimeMax (void)
 Returns the maximum time value in the trigger sample.
double GetTimeMin (void)
 Returns the minimum time value in the trigger sample.
double GetTriggerAmplitude (const int atrig)
 Returns the amplitude of trigger number atrig.
double GetTriggerBandWidth (const int atrig)
 Returns the bandwidth of trigger number atrig.
double GetTriggerDuration (const int atrig)
 Returns the duration of trigger number atrig.
string GetTriggerFile (const double atime)
 Returns the path to the file containing trigger time atime.
string GetTriggerFile (const int atrig)
 Returns the path to the file containing trigger number atrig.
double GetTriggerFrequency (const int atrig)
 Returns the frequency of trigger number atrig.
double GetTriggerFrequencyEnd (const int atrig)
 Returns the ending frequency of trigger number atrig.
double GetTriggerFrequencyStart (const int atrig)
 Returns the starting frequency of trigger number atrig.
double GetTriggerQ (const int atrig)
 Returns the Q value of trigger number atrig.
double GetTriggerSNR (const int atrig)
 Returns the SNR value of trigger number atrig.
double GetTriggerTime (const int atrig)
 Returns the time of trigger number atrig.
double GetTriggerTimeEnd (const int atrig)
 Returns the ending time of trigger number atrig.
double GetTriggerTimeStart (const int atrig)
 Returns the starting time of trigger number atrig.
bool SetClusterBranchStatus (const char *bname, bool status=true)
 Modifies the branch status of the cluster tree.
bool SetClusterSNRthr (const double asnrthr)
 Sets a SNR threshold for clustering.
bool SetClusterStatus (const int aclst, const int anewstatus)
 Sets a new cluster status value.
bool SetDeltaT (const double adeltat)
 Sets a new clustering delta_t.
bool SetNewPattern (const string apattern)
 Loads new trigger files.
bool SetTriggerBranchStatus (const char *bname, bool status=true)
 Modifies the branch status of the triggers tree.
bool WriteClusters (TFile *atfile, const string adirectory="")
 Writes clusters in a ROOT file.
Constructors and destructors



 ReadTriggers (const string apattern, const string adirectory="", const int averbose=0)
 Constructor of the ReadTriggers class.
virtual ~ReadTriggers (void)
 Destructor of the ReadTriggers class.

Protected Attributes

double Camp
 cluster peak Amplitude (TTree)
double Cdelta_t
 time clustering delta_t (s)
double Cfend
 cluster peak frequency end (TTree)
Long64_t Cfirstentry
 cluster first trigger entry (TTree)
double Cfreq
 cluster peak frequency (TTree)
double Cfstart
 cluster peak frequency start (TTree)
double cl_snr_thr
 SNR threshold for clustering.
int * cl_status
 cluster status
double Cmeandur
 cluster mean duration
double Cq
 cluster peak Q (TTree)
Long64_t Csize
 cluster size (TTree)
double Csnr
 cluster peak SNR (TTree)
double Ctend
 cluster peak time end (TTree)
double Ctime
 cluster peak time (TTree)
TTree * Ctree
 cluster parameter tree
double Ctstart
 cluster peak time start (TTree)
double fFreqMax
 max peak frequency
double fFreqMin
 min peak frequency
double fSNRMax
 max peak snr
double fSNRMin
 min peak snr
Long64_t * offsets
 tree offsets - DO NOT DELETE
double Tamp
 trigger peak Amplitude (TTree)
double Tfend
 trigger peak frequency end (TTree)
double Tfreq
 trigger peak frequency (TTree)
double Tfstart
 trigger peak frequency start (TTree)
double Tq
 trigger peak Q (TTree)
double Tsnr
 trigger peak SNR (TTree)
double Ttend
 trigger peak time end (TTree)
double Ttime
 trigger peak time (TTree)
ChainTtree
 trigger parameter trees
double Ttstart
 trigger peak time start (TTree)

Detailed Description

Read trigger files.

This class was designed to read triggers stored in TTrees saved in ROOT files (following the GWOLLUM convention). This class provides many functions to access the trigger characteristics. Moreover it offers several algorithms to cluster triggers on the fly.

Author:
Florent Robinet

Constructor & Destructor Documentation

ReadTriggers::ReadTriggers ( const string  apattern,
const string  adirectory = "",
const int  averbose = 0 
)

Constructor of the ReadTriggers class.

The trigger files designated by the file pattern 'apattern' are loaded. The triggers tree is accessed in the root directory 'adirectory'. The verbosity level, set by 'averbose', follows the GWOLLUM convention for verbosity.

Parameters:
apattern input file pattern
adirectory trigger ROOT directory
averbose verbosity level
ReadTriggers::~ReadTriggers ( void   )  [virtual]

Destructor of the ReadTriggers class.


Member Function Documentation

bool ReadTriggers::Clusterize ( void   ) 

Clusters triggers.

A clustering algorithm can be applied on triggers. The clustering is performed on the fly and all the cluster information is stored in memory.

One algorithm is implemented: triggers are clustered time-wise.

   A trigger is defined by a peak time value and a duration (tend - tstart).
   This clustering method can be described by the following logic:
                                                       'time'
   A trigger can be represented by a time segment:  |----||--------|
                                                 tstart           tend
   
   2 consecutive triggers are clustered if they verify one of the 2 following scenarios:
   
   Scenario#1: overlapping triggers,
        trigger#1 |---||---------|
        trigger#2            |--------||--|
   
   Scenario#2: if the distance inter-triggers dt < delta_t,
        trigger#1 |---||---------|
        trigger#2                      |--------||--| 
                                 <----->
                                    dt
   
   In Scenario#2, 2 consecutive triggers are clustered if the time distance
   between them is smaller than the delta_t parameter. This parameter is equal
   to 100ms by default. It can be changed with the SetDeltaT() function.
   

The new cluster takes the characteristics of the loudest trigger of the cluster, i.e. the 'time', 'frequency', 'q', 'amplitude' and 'snr' values. The time and frequency boundaries variables are integrated over the full cluster. The new cluster status is 1 by default (see SetClusterStatus()).

double ReadTriggers::GetClusterAmplitude ( const int  aclst  ) 

Returns the peak Amplitude of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterBandWidth ( const int  aclst  ) 

Returns the bandwidth of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterDuration ( const int  aclst  ) 

Returns the duration of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterFrequency ( const int  aclst  ) 

Returns the peak frequency of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterFrequencyEnd ( const int  aclst  ) 

Returns the ending frequency of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterFrequencyStart ( const int  aclst  ) 

Returns the starting frequency of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterMeanDuration ( void   )  [inline]

Returns the mean duration of clusters.

int ReadTriggers::GetClusterNumber ( const double  atime  ) 

Returns the cluster number of cluster overlapping time atime.

-1 is returned if this function fails.

Parameters:
atime time input
double ReadTriggers::GetClusterQ ( const int  aclst  ) 

Returns the peak Q value of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
int ReadTriggers::GetClusterSize ( const int  aclst  ) 

Returns the size of cluster number aclst.

0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterSNR ( const int  aclst  ) 

Returns the peak SNR of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
int ReadTriggers::GetClusterStatus ( const int  aclst  ) 

Returns the status value of cluster number aclst.

-100 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterTheta ( const int  aclst  ) 

Returns the theta value of cluster number aclst.

-100.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterTime ( const int  aclst  ) 

Returns the peak time of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterTimeEnd ( const int  aclst  ) 

Returns the ending time of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetClusterTimeStart ( const int  aclst  ) 

Returns the starting time of cluster number aclst.

0.0 is returned if this function fails.

Parameters:
aclst cluster number
double ReadTriggers::GetDeltaT ( void   )  [inline]

Returns the clustering delta_t value.

double ReadTriggers::GetFrequencyMax ( void   )  [inline]

Returns the maximum value of frequency in the trigger sample.

Returns 10000.0 if no trigger.

double ReadTriggers::GetFrequencyMin ( void   )  [inline]

Returns the minimum value of frequency in the trigger sample.

Returns 1.0 if no trigger.

int ReadTriggers::GetNcluster ( void   )  [inline]

Returns the number of clusters.

int ReadTriggers::GetNCluster ( void   )  [inline]

Returns the number of clusters.

int ReadTriggers::GetNtrig ( void   )  [inline]

Returns the number of triggers.

int ReadTriggers::GetNTrig ( void   )  [inline]

Returns the number of triggers.

int ReadTriggers::GetNTriggers ( void   )  [inline]

Returns the number of triggers.

int ReadTriggers::GetNtriggers ( void   )  [inline]

Returns the number of triggers.

double ReadTriggers::GetSNRMax ( void   )  [inline]

Returns the maximum value of SNR in the trigger sample.

Returns 10000.0 if no trigger.

double ReadTriggers::GetSNRMin ( void   )  [inline]

Returns the minimum value of SNR in the trigger sample.

Returns 1.0 if no trigger.

double ReadTriggers::GetTimeMax ( void   )  [inline]

Returns the maximum time value in the trigger sample.

Reimplemented from ReadTriggerSegments.

double ReadTriggers::GetTimeMin ( void   )  [inline]

Returns the minimum time value in the trigger sample.

Reimplemented from ReadTriggerSegments.

double ReadTriggers::GetTriggerAmplitude ( const int  atrig  ) 

Returns the amplitude of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerBandWidth ( const int  atrig  ) 

Returns the bandwidth of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerDuration ( const int  atrig  ) 

Returns the duration of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
string ReadTriggers::GetTriggerFile ( const double  atime  ) 

Returns the path to the file containing trigger time atime.

"none" is returned if this function fails.

Parameters:
atime trigger time
string ReadTriggers::GetTriggerFile ( const int  atrig  ) 

Returns the path to the file containing trigger number atrig.

"none" is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerFrequency ( const int  atrig  ) 

Returns the frequency of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerFrequencyEnd ( const int  atrig  ) 

Returns the ending frequency of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerFrequencyStart ( const int  atrig  ) 

Returns the starting frequency of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerQ ( const int  atrig  ) 

Returns the Q value of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerSNR ( const int  atrig  ) 

Returns the SNR value of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerTime ( const int  atrig  ) 

Returns the time of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerTimeEnd ( const int  atrig  ) 

Returns the ending time of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
double ReadTriggers::GetTriggerTimeStart ( const int  atrig  ) 

Returns the starting time of trigger number atrig.

0.0 is returned if this function fails.

Parameters:
atrig trigger number
bool ReadTriggers::SetClusterBranchStatus ( const char *  bname,
bool  status = true 
)

Modifies the branch status of the cluster tree.

This function allows to change the status of the cluster tree branches. See also TTree::SetBranchStatus( ). This function is particularly useful to speed up processes looping over clusters. The user should re-activate the branch before using any other class functions.

Parameters:
bname branch name
status new status
bool ReadTriggers::SetClusterSNRthr ( const double  asnrthr  ) 

Sets a SNR threshold for clustering.

Only clusters with a SNR greater than this threshold will be saved. This function should be called before calling the Clusterize() function.

Parameters:
asnrthr new SNR threshold
bool ReadTriggers::SetClusterStatus ( const int  aclst,
const int  anewstatus 
)

Sets a new cluster status value.

Clusters can be tagged with a status. By default this status is 1. This function allows to assign a new status value to cluster 'aclst'.

Parameters:
aclst cluster index
anewstatus new cluster status
bool ReadTriggers::SetDeltaT ( const double  adeltat  ) 

Sets a new clustering delta_t.

Sets a new delta_t value for the time-clustering. The value should be given in seconds.

Parameters:
adeltat new delta_t value in seconds
bool ReadTriggers::SetNewPattern ( const string  apattern  ) 

Loads new trigger files.

This function resets the ReadTriggers class to introduce a new list of files given by 'apattern'.

Parameters:
apattern new input file pattern

Reimplemented from ReadTriggerMetaData.

bool ReadTriggers::SetTriggerBranchStatus ( const char *  bname,
bool  status = true 
)

Modifies the branch status of the triggers tree.

This function allows to change the status of the triggers tree branches. See also TTree::SetBranchStatus( ). This function is particularly useful to speed up processes looping over triggers. The user should re-activate the branch before using any other class functions.

Parameters:
bname branch name
status new status
bool ReadTriggers::WriteClusters ( TFile *  atfile,
const string  adirectory = "" 
)

Writes clusters in a ROOT file.

Clusters are saved in a ROOT file following the GWOLLUM convention for triggers. The segment tree is saved as well. Original metadata are not saved.

Parameters:
atfile ROOT file where to save the clusters
adirectory TDirectory where to save the clusters

Member Data Documentation

double ReadTriggers::Camp [protected]

cluster peak Amplitude (TTree)

double ReadTriggers::Cdelta_t [protected]

time clustering delta_t (s)

double ReadTriggers::Cfend [protected]

cluster peak frequency end (TTree)

Long64_t ReadTriggers::Cfirstentry [protected]

cluster first trigger entry (TTree)

double ReadTriggers::Cfreq [protected]

cluster peak frequency (TTree)

double ReadTriggers::Cfstart [protected]

cluster peak frequency start (TTree)

double ReadTriggers::cl_snr_thr [protected]

SNR threshold for clustering.

int* ReadTriggers::cl_status [protected]

cluster status

double ReadTriggers::Cmeandur [protected]

cluster mean duration

double ReadTriggers::Cq [protected]

cluster peak Q (TTree)

Long64_t ReadTriggers::Csize [protected]

cluster size (TTree)

double ReadTriggers::Csnr [protected]

cluster peak SNR (TTree)

double ReadTriggers::Ctend [protected]

cluster peak time end (TTree)

double ReadTriggers::Ctime [protected]

cluster peak time (TTree)

TTree* ReadTriggers::Ctree [protected]

cluster parameter tree

double ReadTriggers::Ctstart [protected]

cluster peak time start (TTree)

double ReadTriggers::fFreqMax [protected]

max peak frequency

double ReadTriggers::fFreqMin [protected]

min peak frequency

double ReadTriggers::fSNRMax [protected]

max peak snr

double ReadTriggers::fSNRMin [protected]

min peak snr

Long64_t* ReadTriggers::offsets [protected]

tree offsets - DO NOT DELETE

double ReadTriggers::Tamp [protected]

trigger peak Amplitude (TTree)

double ReadTriggers::Tfend [protected]

trigger peak frequency end (TTree)

double ReadTriggers::Tfreq [protected]

trigger peak frequency (TTree)

double ReadTriggers::Tfstart [protected]

trigger peak frequency start (TTree)

double ReadTriggers::Tq [protected]

trigger peak Q (TTree)

double ReadTriggers::Tsnr [protected]

trigger peak SNR (TTree)

double ReadTriggers::Ttend [protected]

trigger peak time end (TTree)

double ReadTriggers::Ttime [protected]

trigger peak time (TTree)

Chain* ReadTriggers::Ttree [protected]

trigger parameter trees

double ReadTriggers::Ttstart [protected]

trigger peak time start (TTree)


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Friends Defines

Generated on 26 Sep 2014 by  doxygen 1.6.1