Omicron
4.2.0
An algorithm to detect and characterize transient events in gravitational-wave detectors
|
Process data with the Omicron algorithm. More...
#include <Oomicron.h>
Public Member Functions | |
int | Condition (const unsigned int aInVectSize, double *aInVect, bool &aIsFlat) |
Conditions a data vector. More... | |
bool | DefineNewChunk (const unsigned int aTimeStart, const unsigned int aTimeEnd, const bool aResetPsdBuffer=false) |
Defines a new time chunk. More... | |
bool | ExtractTriggers (double &aTriggerRate) |
Extracts and saves triggers above threshold. More... | |
Long64_t | FlushTriggers (void) |
Flushes triggers. More... | |
double | GetBandFrequency (const unsigned int aQindex, const unsigned int aBandIndex) |
Returns the band central frequency [Hz] of a given Q-plane. More... | |
unsigned int | GetBandN (const unsigned int aQindex) |
Returns the number of frequency rows of a given Q-plane. More... | |
double * | GetBands (const unsigned int aQindex) |
Returns the list of frequency bands. More... | |
unsigned int | GetBandTileN (const unsigned int aQindex, const unsigned int aBandIndex) |
Returns the number of tiles in a frequency row of given Q-plane. More... | |
string | GetChannelName (const unsigned int aChannelIndex) |
Returns the name of a given channel. More... | |
string | GetChannelName (void) |
Returns the name of the current channel. More... | |
unsigned int | GetChannelNativeFrequency (void) |
Returns the native sampling frequency of the current channel. More... | |
string | GetChannelPrefix (const unsigned int aChannelIndex) |
Returns the name prefix of a given channel. More... | |
vector< string > | GetChannels (void) |
Returns the list of channels. More... | |
unsigned int | GetChannelsN (void) |
Returns the number of channels. More... | |
unsigned int | GetChunkDuration (void) |
Returns the chunk duration [s]. More... | |
unsigned int | GetChunkTimeEnd (void) |
Returns the current chunk end time [s]. More... | |
unsigned int | GetChunkTimeStart (void) |
Returns the current chunk start time [s]. More... | |
unsigned int | GetInjectionChannelN (void) |
Returns the number of injection channels. More... | |
unsigned int | GetInjGenN (void) |
Returns the total number of InjGen injections. More... | |
unsigned int | GetOverlapDuration (void) |
Returns the overlap duration [s]. More... | |
double | GetQ (const unsigned int aQindex) |
Returns the Q value of a given q planes. More... | |
unsigned int | GetQN (void) |
Returns the number of q planes. More... | |
unsigned int | GetSampleFrequency (void) |
Returns the working sampling frequency [Hz]. More... | |
bool | GetSgInjectionFlag (void) |
Returns the SG injection flag. More... | |
double | GetSnrSqMax (const unsigned int aQindex) |
Returns the maximum SNR squared estimated in a given Q plane. More... | |
double | GetSnrThreshold (void) |
Returns the SNR threshold used to save triggers. More... | |
bool | GetStatus (void) |
Returns class status. More... | |
double | GetTileAmplitude (const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex) |
Returns the amplitude of a given tile. More... | |
double | GetTileAmplitudeSq (const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex) |
Returns the amplitude squared of a given tile. More... | |
double | GetTileFrequencyMax (void) |
Returns the tiling maximum frequency [Hz]. More... | |
double | GetTileFrequencyMin (void) |
Returns the tiling minimum frequency [Hz]. More... | |
long unsigned int | GetTileN (const double aPadding=0.0) |
Returns the number of tiles. More... | |
Segments * | GetTileSegments (TH1D *aSnrThreshold, const double aPadding) |
Returns tile segments. More... | |
double | GetTileSnrSq (const unsigned int aQindex, const unsigned int aBandIndex, const unsigned int aTimeTileIndex) |
Returns the SNR squared of a given tile. More... | |
Long64_t | GetTriggerN (void) |
Returns the current number of triggers in memory for the current channel. More... | |
unsigned int | GetTriggerSegmentsN (void) |
Returns the number of processed segments. More... | |
bool | InitSegments (Segments *aInSeg, Segments *aOutSeg=NULL) |
Initializes the segments. More... | |
bool | LoadData (double **aDataVector, unsigned int &aSize) |
Loads a data vector. More... | |
bool | MakeDirectories (const double aId=0.0) |
Creates a specific directory tree for the output. More... | |
bool | NewChannel (void) |
Calls a new channel. More... | |
bool | NewChunk (void) |
Calls a new time chunk. More... | |
void | PrintMessage (const string aMessage) |
Prints a formatted message with a timer. More... | |
void | PrintStatusInfo (void) |
Prints a progress report. More... | |
long unsigned int | Project (void) |
Projects whitened data onto the tiles and fills output structures. More... | |
void | ResetPsdBuffer (void) |
Resets the PSD buffer of current channel. More... | |
void | ResetSequence (void) |
Resets the time sequence of chunks. More... | |
void | ResetTriggerBuffer (void) |
Resets the trigger buffer of current channel. More... | |
void | SetPlotTimeOffset (const double aTimeOffset) |
When time plots are requested in output, a time offset [s] can be added. More... | |
bool | WriteOutput (void) |
Writes output products to disk. More... | |
string | WriteTriggers (const bool aUseLVDir=false) |
Writes triggers to disk. More... | |
Constructors and destructors | |
Omicron (const string aOptionFile, const bool aOneChannel, const unsigned int aGpsRef=0, const bool aStrict=false) | |
Constructor of the Omicron class. More... | |
virtual | ~Omicron (void) |
Destructor of the Omicron class. More... | |
Private Member Functions | |
string | GetColorCode (const double aSnrRatio) |
Returns a html color code based on a SNR ratio value. More... | |
bool | IsFlat (const unsigned int aInVectSize, double *aInVect) |
Tests whether a data vector is flat. More... | |
void | MakeFfl (const unsigned int aGpsRef=0) |
Makes the FFL to access the data. More... | |
void | MakeHtml (void) |
Generates a HTML report in the main output directory. More... | |
void | MakeHtmlInit (void) |
Generates a preliminary HTML report in the main output directory. More... | |
void | MakeInjections (const unsigned int aGpsRef=0) |
Makes the injection engines. More... | |
void | MakeOptions (void) |
Saves a selection of options. More... | |
void | MakeSpectrum (const bool aOneChannel) |
Makes the Spectrum objects. More... | |
void | MakeTiling (void) |
Makes the tiling structure. More... | |
void | MakeTriggers (void) |
Makes the trigger objects. More... | |
void | ReadOptions (const string aOptFile, const bool aStrict=false) |
Reads the option file. More... | |
void | SaveAPSD (const string aType) |
Prints the ASD/PSD to a file. More... | |
void | SaveOptions (void) |
Prints the options in a ROOT file. More... | |
void | SaveSG (void) |
Prints the SineGaus injection parameters in a txt file. More... | |
void | SaveSummary (void) |
Prints the summary text file. More... | |
void | SaveTS (const bool aWhite=false) |
Prints the timeseries to a file. More... | |
void | SaveWPSD (void) |
Prints the PSD after whitening to a file. More... | |
void | Whiten (Spectrum *aSpec, const double aNorm=1.0) |
Whiten the chunk data vector. More... | |
Private Attributes | |
unsigned int * | chan_cond_ctr |
Number of Condition() calls /channel. More... | |
unsigned int * | chan_data_ctr |
Number of LoadData() calls /channel. More... | |
double * | chan_mapsnrmax |
Channel SNR max in maps (only for html) More... | |
unsigned int * | chan_proj_ctr |
Number of Project() calls /channel. More... | |
unsigned int * | chan_write_ctr |
Number of WriteOutput() calls /channel. More... | |
int | chanindex |
Current channel index (-1 = no channel). More... | |
unsigned int | chunk_ctr |
Number of called chunks. More... | |
vector< unsigned int > | chunkcenter |
Chunk centers (only for html). More... | |
vector< string > | chunktfile |
save chunk file (only for html) More... | |
double * | ChunkVect |
Chunk raw data (time domain). More... | |
ffl * | FFL |
ffl object (NULL if none). More... | |
ffl * | FFL_inject |
FFL for injections. More... | |
vector< string > | GO_InjChan |
List of injection channels. More... | |
vector< double > | GO_InjFact |
List of injection factors. More... | |
bool | GO_InjSg |
Flag to perform sine-Gaussian injections. More... | |
string | GO_MainDir |
Output main directory (original). More... | |
string | GO_OutFormat |
Output format string. More... | |
string | GO_OutProducts |
Output product string. More... | |
double | GO_RateMax |
Maximum trigger rate. More... | |
bool | GO_thumb |
Flag to produce thumbnails. More... | |
unsigned int | GO_Verbosity |
Verbosity level. More... | |
InjEct ** | inject |
Software injections / channel. More... | |
Segments * | inSegments |
Requested segments. More... | |
string | MainDir |
Output main directory. More... | |
fft * | offt |
FFT plan to FFT the input chunk. More... | |
Oinject * | oinj |
Software Oinject injections. More... | |
ofstream | oinjfile |
Output file with omicron injection parameters. More... | |
unsigned int | one_channel |
Optimization flag to process one channel at a time. More... | |
ofstream | osummaryfile |
Output summary file. More... | |
vector< string > | outdir |
Output directories / channel. More... | |
Segments ** | outSegments |
Processed segments /channel. More... | |
struct tm * | ptm |
GMT time. More... | |
Spectrum ** | spectrum1 |
1st spectrum structure / channel. More... | |
Spectrum ** | spectrum2 |
2nd spectrum structure / channel. More... | |
Spectrum * | spectrumw |
Spectrum structure to test whitening. More... | |
bool | status_OK |
General status. More... | |
Otile * | tile |
Tiling structure. More... | |
time_t | timer |
Timer. More... | |
time_t | timer_start |
Timer start. More... | |
double | toffset |
Time offset for plots [s]. More... | |
unsigned int * | trig_ctr |
Number of tiles above snr thr /channel. More... | |
vector< TriggerBuffer * > | triggers |
Output triggers / channel. More... | |
double * | TukeyWindow |
Tukey window. More... | |
Process data with the Omicron algorithm.
This class is designed to offer various methods to conduct an Omicron analysis. The Omicron object must be initialized with an option file: see ReadOptions().
After construction, the Omicron methods should be called sequentially to perform the analysis. Here is a typical sequence:
Omicron::Omicron | ( | const string | aOptionFile, |
const bool | aOneChannel, | ||
const unsigned int | aGpsRef = 0 , |
||
const bool | aStrict = false |
||
) |
Constructor of the Omicron class.
This constructor initializes all the components to run Omicron: data structures, data streams, spectra, tiling, maps, triggers, injections, monitoring, etc.
An option file is required to define all the parameters to run Omicron. For more details about the Omicron configuration, see ReadOptions().
When the one-channel optimization flag is active, channels must be processed completely one by one with NewChannel(). Indeed, only one channel spectrum container is created and is used for one channel after the other. With this mode, it is impossible to process all channels one chunk at a time.
[in] | aOptionFile | Path to the option file. |
[in] | aOneChannel | One-channel optimization flag. |
[in] | aGpsRef | Reference time to initiate structures. |
[in] | aStrict | Strict mode: when set to true, the status of the Omicron object is set to false if options are incorrectly provided. |
|
virtual |
Destructor of the Omicron class.
int Omicron::Condition | ( | const unsigned int | aInVectSize, |
double * | aInVect, | ||
bool & | aIsFlat | ||
) |
Conditions a data vector.
Before projecting the data onto the tiles, the data is conditioned and whitened with this function. The following operations are performed:
[in] | aInVectSize | Input vector size. |
[in] | aInVect | Input data vector (time domain). |
[out] | aIsFlat | Flag set to true if the input data vector is detected to be flat. |
bool Omicron::DefineNewChunk | ( | const unsigned int | aTimeStart, |
const unsigned int | aTimeEnd, | ||
const bool | aResetPsdBuffer = false |
||
) |
Defines a new time chunk.
Instead of defining a list of input segments (see InitSegments()) and processing sequentially the data (see NewChunk()), it is possible to define any new time chunk.
Optionally, it is possible to reset the PSD buffer (for all channels).
[in] | aTimeStart | GPS start time of the chunk. |
[in] | aTimeEnd | GPS end time of the chunk. |
[in] | aResetPsdBuffer | Flag to reset the PSD buffers. |
bool Omicron::ExtractTriggers | ( | double & | aTriggerRate | ) |
Extracts and saves triggers above threshold.
Triggers are saved using Otile::SaveTriggers(). The trigger structure for each channel is filled with tiles with a SNR above threshold.
[out] | aTriggerRate | Trigger rate [Hz] measured over the chunk excluding half the overlap on both sides. |
Long64_t Omicron::FlushTriggers | ( | void | ) |
Flushes triggers.
All triggers collected until now with ExtractTriggers() are flushed in the final MakeTriggers structure.
|
inline |
Returns the band central frequency [Hz] of a given Q-plane.
[in] | aQindex | Q-plane index. If the index is out of range, the full map is considered. |
[in] | aBandIndex | Band index. |
|
inline |
Returns the number of frequency rows of a given Q-plane.
[in] | aQindex | Q-plane index. If the index is out of range, the full map is considered. |
|
inline |
Returns the list of frequency bands.
The returned array is of size GetBandN()+1 and contains the bin limits.
[in] | aQindex | Q-plane index. If the index is out of range, the full map is considered. |
|
inline |
Returns the number of tiles in a frequency row of given Q-plane.
[in] | aQindex | Q-plane index. If the index is out of range, the full map is considered. |
[in] | aBandIndex | Band index. |
|
inline |
Returns the name of a given channel.
Returns "" if no channel is defined.
[in] | aChannelIndex | Channel index. |
|
inline |
Returns the name of the current channel.
Returns "" if no channel is defined.
|
inline |
Returns the native sampling frequency of the current channel.
Returns 0 if no channel is defined.
|
inline |
Returns the name prefix of a given channel.
Returns "" if no channel is defined.
[in] | aChannelIndex | Channel index. |
vector< string > Omicron::GetChannels | ( | void | ) |
Returns the list of channels.
|
inline |
Returns the number of channels.
|
inline |
Returns the chunk duration [s].
|
inline |
Returns the current chunk end time [s].
|
inline |
Returns the current chunk start time [s].
|
private |
Returns a html color code based on a SNR ratio value.
[in] | aSnrRatio | SNR ratio value. |
|
inline |
Returns the number of injection channels.
|
inline |
Returns the total number of InjGen injections.
|
inline |
Returns the overlap duration [s].
|
inline |
Returns the Q value of a given q planes.
[in] | aQindex | Q-plane index. |
|
inline |
Returns the number of q planes.
|
inline |
Returns the working sampling frequency [Hz].
|
inline |
Returns the SG injection flag.
|
inline |
Returns the maximum SNR squared estimated in a given Q plane.
[in] | aQindex | Q-plane index. |
|
inline |
Returns the SNR threshold used to save triggers.
|
inline |
Returns class status.
|
inline |
Returns the amplitude of a given tile.
[in] | aQindex | Q-plane index. |
[in] | aBandIndex | Band index. |
[in] | aTimeTileIndex | Tile index in the band. |
|
inline |
Returns the amplitude squared of a given tile.
[in] | aQindex | Q-plane index. |
[in] | aBandIndex | Band index. |
[in] | aTimeTileIndex | Tile index in the band. |
|
inline |
Returns the tiling maximum frequency [Hz].
|
inline |
Returns the tiling minimum frequency [Hz].
|
inline |
Returns the number of tiles.
[in] | aPadding | Number of seconds excluded on both sides of the time range. |
|
inline |
Returns tile segments.
A tile segment is the tile start/stop. Here, tiles are selected if the SNR is larger than a given threshold. The threshold is given as a TH1D histogram binned in the tile frequency [Hz]. The bin content is the SNR threshold. A negative bin content is considered as an infinite threshold. Out-of-range frequencies are associated to an infinite threshold.
[in] | aSnrThreshold | SNR threshold as a function of frequency. |
[in] | aPadding | Number of seconds excluded on both sides of the tiling structure when selecting tiles above the SNR threshold. |
|
inline |
Returns the SNR squared of a given tile.
[in] | aQindex | Q-plane index. |
[in] | aBandIndex | Band index. |
[in] | aTimeTileIndex | Tile index in the band. |
|
inline |
Returns the current number of triggers in memory for the current channel.
|
inline |
Returns the number of processed segments.
bool Omicron::InitSegments | ( | Segments * | aInSeg, |
Segments * | aOutSeg = NULL |
||
) |
Initializes the segments.
This function should always be called before processing data. The input segment structure is used:
Optionally, output segments (for triggers only!) can be specified. If so, triggers outside the output segments are not be saved. Use a pointer to NULL to not use this option.
[in] | aInSeg | Pointer to the input Segments structure. |
[in] | aOutSeg | Pointer to the output Segments structure. |
|
private |
Tests whether a data vector is flat.
[in] | aInVectSize | Vector size: must be strictly positive. |
[in] | aInVect | Pointer to data vector. |
bool Omicron::LoadData | ( | double ** | aDataVector, |
unsigned int & | aSize | ||
) |
Loads a data vector.
A data vector is returned, as well as its size.
[out] | aDataVector | Pointer to the data vector. |
[out] | aSize | Size of the data vector. |
bool Omicron::MakeDirectories | ( | const double | aId = 0.0 | ) |
Creates a specific directory tree for the output.
Two directory structures are possible:
[path_to_outdir]/aId/[channel_name]
if aId
is not 0[path_to_outdir]/[channel_name]
if aId
is 0where [path_to_outdir]
is the output directory specified by the user in the option file and [channel_name]
is the channel name being processed.
The aId
value is rounded to the third digit.
If this function is never called, all the output is dumped in the output directory specified by the user in the option file.
[in] | aId | Directory id. |
|
private |
Makes the FFL to access the data.
The FFL object is created if provided in the options (DATA/FFL or DATA/LCF).
[in] | aGpsRef | Provide a GPS time to load the channel list in the FFL. If not provided, the first frame is used. |
|
private |
Generates a HTML report in the main output directory.
|
private |
Generates a preliminary HTML report in the main output directory.
This report can be produced before running the Omicron analysis.
|
private |
Makes the injection engines.
[in] | aGpsRef | Provide a GPS time to load the injection channel list in the FFL. If not provided, the first frame is used. |
|
private |
Saves a selection of options.
This is mostly for optimization purposes. GwollumOptions::GetOptionValues() can be expensive when called multiple times.
|
private |
Makes the Spectrum objects.
[in] | aOneChannel | Set this flag to true to only create a single Spectrum object. Otherwise, one Spectrum object is created per channel. |
|
private |
Makes the tiling structure.
|
private |
Makes the trigger objects.
The list of channels is extracted (blacklisted channels are removed). If a FFL file was provided, it is used to test the existence of a channel.
bool Omicron::NewChannel | ( | void | ) |
Calls a new channel.
The channels defined in the option file are called sequentially. If this function is called after the last channel, false is returned and the channel sequence is reset: at the next call, the first channel will be loaded again.
bool Omicron::NewChunk | ( | void | ) |
Calls a new time chunk.
The time chunks are called following the time sequence defined by the Otile class.
void Omicron::PrintMessage | ( | const string | aMessage | ) |
Prints a formatted message with a timer.
[in] | aMessage | Message to print. |
void Omicron::PrintStatusInfo | ( | void | ) |
Prints a progress report.
long unsigned int Omicron::Project | ( | void | ) |
Projects whitened data onto the tiles and fills output structures.
Otile::ProjectData() is called to fill the tiling structure.
|
private |
Reads the option file.
[in] | aOptFile | Path to the option file. This can be either a txt file or a root file. |
[in] | aStrict | Set this flag to true to operate a stricter check of parameters. |
Omicron parameters must be provided with an option file. If the option file is a text file, each parameter is identified with a tag and a keyword:
TAG KEYWORD [PARAMETERS]
The combination of tag/keyword/parameters is called an option.
The list of options can also be provided in a ROOT file (extension: .root
). In that case, the options are listed in a TTree named gwloptions
which must be generated with the GwollumOptions
class.
gwloptions
TTree in a ROOT sub-directory. The sub-directory must be given after the path to the ROOT file using |
as a separator. For example: /path/to/my/root/file.root|subdir1/subdir2
Here we list all the options for Omicron.
OUTPUT DIRECTORY [PARAMETER]
[PARAMETER]
is the directory path (relative or absolute). The output directory must be provided and it must exist.
OUTPUT PRODUCTS [PARAMETERS]
[PARAMETERS]
is the list of products computed by Omicron. Possible parameters are:
triggers
: Omicron tiles above a SNR threshold are saved in a file.asd
: The amplitude spectral density function is saved in a file.psd
: The power spectral density function is saved in a file.html
: A html report is produced in the output directory specified with the directory option.timeseries
: The condition time series is saved in a file.white
: The time series after whitening is saved in a file.whitepsd
: The power spectral density after whitening is saved in a file.mapsnr
: The snr spectrograms are saved in a file.mapamplitude
: The amplitude spectrograms are saved in a file.mapphase
: The phase spectrograms are saved in a file.summary
: A channel summary is written in a text file.options
: The list of options is saved in a ROOT file.By default, only triggers
are produced. The ouput file format is specified with the format option.
OUTPUT FORMAT [PARAMETERS]
[PARAMETERS]
is the list of file formats to save output products. Supported formats: root
(native), hdf5
(for triggers only), and all the usual graphical formats (svg
, gif
, pdf
, png
, eps
and so on). By default = root
.
wav
to produce sound files for time series.OUTPUT VERBOSITY [PARAMETER]
[PARAMETER]
is the verbosity level: 0, 1, 2, or 3. By default = 0.
OUTPUT STYLE [PARAMETER]
[PARAMETER]
defines the css style for the web report (if requested with the output products option). It also defines the graphical color palette for the plots. Several styles are supported:
GWOLLUM
(default): black background, blue style.FIRE
: black background, color palette from red to yellowSTANDARD
: light background, rainbow color palettePINK
: black background, pink style.OUTPUT NOLOGO [PARAMETER]
If [PARAMETER]
is set to a non-zero value, the omicron background logo does not appear on the web reports (if requested with the output products option). By default, the logo is present ([PARAMETER] = 0
).
OUTPUT PLOTDIMENSIONS [PARAMETERS]
This option sets the graphical plot dimensions (if requested with the OUTPUT/FORMAT option). Two integer numbers should be provided with [PARAMETERS]
: the width and the height measured in a number of pixels.
OUTPUT HTMLMAINPAGE [PARAMETER]
This option specifies the file name of the html main page (if required with the OUTPUT/PRODUCTS option). By default = index.html
.
DATA FFL [PARAMETERS]
or
DATA LCF [PARAMETERS]
This option specifies the list of frame files to be processed by omicron. In the first option, it is provided as a frame file list (FFL). In the second option, it is provided as a LAL cache file (LCF). [PARAMETERS]
must provide the path to the FFL or LCF file (absolute or relative). It can be complemented by 2 optional parameters which are used to load the FFL file multiple times in a row (for online applications):
By default, no FFL file is used.
DATA SAMPLEFREQUENCY [PARAMETER]
This option specifies the working sampling frequency of omicron in [Hz]. All channel time series are sampled to a common frequency before being processed. Only downsampling is supported. The working sampling frequency must be a power of 2 and must be at least 16 Hz.
DATA CHANNELS [PARAMETERS]
This option specifies the list of channels to process, e.g. V1:Hrec_hoft_16384Hz V1:LSC_DARM
. Multiple channel names can be provided using wildcards. This option can also be used on multiple lines. This option is mandatory.
DATA BLACKLISTEDCHANNELS [PARAMETERS]
This option specifies the list of channels to exclude from the processing, e.g. V1:Hrec_hoft_16384Hz V1:LSC_DARM
. Multiple channel names can be provided using wildcards. This option can also be used on multiple lines.
PARAMETER TIMING [PARAMETERS]
This option specifies the timing parameters to perform the analysis. It includes 2 parameters:
PARAMETER FREQUENCYRANGE [PARAMETERS]
This option specifies the search frequency range with a lower bound and a higher bound, both in [Hz]. The higher bound must be compatible with the sampling frequency option. This option is mandatory.
PARAMETER QRANGE [PARAMETERS]
This option specifies the search Q range with a lower bound and a higher bound. The lower bound must be at least \(\sqrt{11}\). This option is mandatory.
PARAMETER MISMATCHMAX [PARAMETER]
This option specifies the maximum energy mismatch between time-frequency tiles. This value should be a number between 0 and 1. By default, max mismatch = 0.25.
PARAMETER FULLMAPNT [PARAMETER]
This option specifies the time resolution of the full time-frequency map, where all Q planes are combined. The given parameter is the number of bins used to cover the chunk time range. If this parameter is set to 0, the maximal resolution is used, which can be expensive in memory usage. By default, number of time bins = 301.
PARAMETER SNRTHRESHOLD [PARAMETERS]
This option specifies the signal-to-noise ratio. There are 2 SNR thresholds:
By default, both thresholds are set to 7.
PARAMETER PSDLENGTH [PARAMETER]
This option specifies the duration [s] over which the power spectrum density is estimated. By default, use the analysis window duration minus the overlap.
PARAMETER HIGHPASS [PARAMETER]
This option specifies the frequency cutoff [Hz] at which to high-pass the data before processing. By default, do not high-pass the data.
PARAMETER CLUSTERING [PARAMETER]
This option selects the clustering method. Only one clustering method is currently supported: "TIME". By default, no clustering.
PARAMETER CLUSTERDT [PARAMETER]
This option specifies the time window duration to cluster triggers in [s]. By default, = 0.1 s
PARAMETER WINDOWS [PARAMETERS]
This option specifies the list of time windows for plots. There is no limit on the number of parameters. By default, the chunk duration is used.
PARAMETER MAPLOGSCALE [PARAMETER]
This option, when different from 0, activates the log scale for the color scale of spectrograms. By default, a log scale is used.
PARAMETER MAPVRANGE [PARAMETERS]
This option specifies the vertical range for spectrogram plots. Use an impossible range (e.g. 1 0) for an automatic scaling.
PARAMETER THUMB [PARAMETER]
When producing a web report (html
in the OUTPUT/PRODUCTS), spectrogram thumbnails can be produced. This improves the resolutions of images in the web page. It also speed-up the loading of the page. Producing thumbnails has a cost on the processing speed. If thumbnails are not produced, a simple browser rescaling of the image is used. Use a non zero value to activate the thumbnail production. By default, thumbnails are produced.
PARAMETER FFTPLAN [PARAMETER]
This option specifies the plan to perform Fourier transforms with FFTW. By default = "FFTW_MEASURE".
PARAMETER TRIGGERRATEMAX [PARAMETER]
This option specifies maximum trigger rate limit [Hz] when saving triggers to files. If the trigger rate is above this value (over the analysis window), the file is not saved. By default = 5000 Hz.
PARAMETER TRIGGERBUFFERSIZE [PARAMETER]
This option is used for online applications. Triggers produced by omicron can be buffered. This parameter defines the size of the buffer. By default, there is no buffer (size=0).
PARAMETER CHIRP [PARAMETERS]
With this option, it is possible to draw a Newtonian chirp on top of omicron spectrograms. There can be one or two parameters:
By default: no chirp.
INJECTION CHANNELS [PARAMETERS]
This option specifies the list of channels to be used as injection signals. There should be as many channels as listed in the main channel list.
INJECTION FACTORS [PARAMETERS]
This option specifies the list of amplitude scaling factors used to inject signals. There should be as many factors as the number of injection channels.
INJECTION FFL [PARAMETERS]
or
INJECTION LCF [PARAMETERS]
If the injection channel(s) are not included in the main ffl file, this option specifies an additional ffl file. [PARAMETER]
is the relative or absolute path to the ffl/lcf file. This parameter can be complemented by 2 optional parameters which are used to load the FFL file multiple times in a row (for online applications):
INJECTION INJGEN [PARAMETERS]
Injections can also be performed with injection files listing the source/waveform parameters. The injection files must be ROOT files generated with the GWOLLUM/InjGen class. This option provides a list of file patterns to the injection files.
INJECTION TUKEYFRAC [PARAMETER]
When the InjGen injections option is active, the injected waveform is Tukey-windowed before being added to the data. With this option, you can set the fraction of the time used to transition from 0 to 1 and then from 1 to 0. By default, this parameter is set to 0.1. It means that it takes 5% of the waveform to transition from 0 to 1 and 5% of the waveform to transition from 1 to 0.
INJECTION SG [PARAMETER]
Sine-gauss injections can be performed by setting [PARAMETER]
to a value different from 0. One waveform is injected in every analysis window.
INJECTION SGTIME [PARAMETERS]
By default, sine-Gaussian waveforms are always injected at the center of the analysis window. With this option, the time of the injection can be taken as a random value in a given time range. The time range is defined with 2 values: a negative and a positive range from the center (in seconds).
INJECTION SGFREQUENCY [PARAMETERS]
With this option, the frequency of the injection is taken as a random value in a given frequency range, following a logarithmic distribution. If only one value is provided, the injection frequency is fixed at that value.
INJECTION SGQ [PARAMETERS]
With this option, the quality factor of the injection is taken as a random value in a given range, following a logarithmic distribution. If only one value is provided, the injection Q is fixed at that value.
INJECTION SGAMPLITUDE [PARAMETERS]
With this option, the amplitude of the injection is taken as a random value in a given range, following a logarithmic distribution. If only one value is provided, the injection amplitude is fixed at that value.
|
inline |
Resets the PSD buffer of current channel.
|
inline |
Resets the time sequence of chunks.
The sequence is initialized to the start at the first chunk. Note that the segments set with InitSegments() remain the same.
|
inline |
Resets the trigger buffer of current channel.
|
private |
Prints the ASD/PSD to a file.
[in] | aType | "ASD" or "PSD". |
|
private |
Prints the options in a ROOT file.
|
private |
Prints the SineGaus injection parameters in a txt file.
|
private |
Prints the summary text file.
|
private |
Prints the timeseries to a file.
[in] | aWhite | Set to true to save the whitened timeseries. |
|
private |
Prints the PSD after whitening to a file.
|
inline |
When time plots are requested in output, a time offset [s] can be added.
[in] | aTimeOffset | Time offset [s]. |
|
private |
Whiten the chunk data vector.
The data vector (in the frequency domain) is whitened:
[in] | aSpec | Spectrum object to whiten the data. |
[in] | aNorm | Normalization factor. |
bool Omicron::WriteOutput | ( | void | ) |
Writes output products to disk.
The output data products selected by the user in the option file and for the current chunk/channel are written to disk.
string Omicron::WriteTriggers | ( | const bool | aUseLVDir = false | ) |
Writes triggers to disk.
All triggers collected until now with FlushTriggers() are saved to disk.
Optionnally, it is possible to use the LIGO/Virgo convention to save trigger files:
[OUTPUT DIRECTORY]/[IFO]/[CHANNEL]_OMICRON/[GPS (5 first digits)]/file
[in] | aUseLVDir | Set to true to use the LIGO/Virgo convention for trigger files. |
|
private |
Number of Condition() calls /channel.
|
private |
Number of LoadData() calls /channel.
|
private |
Channel SNR max in maps (only for html)
|
private |
Number of Project() calls /channel.
|
private |
Number of WriteOutput() calls /channel.
|
private |
Current channel index (-1 = no channel).
|
private |
Number of called chunks.
|
private |
Chunk centers (only for html).
|
private |
save chunk file (only for html)
|
private |
Chunk raw data (time domain).
|
private |
ffl object (NULL if none).
|
private |
FFL for injections.
|
private |
List of injection channels.
|
private |
List of injection factors.
|
private |
Flag to perform sine-Gaussian injections.
|
private |
Output main directory (original).
|
private |
Output format string.
|
private |
Output product string.
|
private |
Maximum trigger rate.
|
private |
Flag to produce thumbnails.
|
private |
Verbosity level.
|
private |
Software injections / channel.
|
private |
Requested segments.
|
private |
Output main directory.
|
private |
FFT plan to FFT the input chunk.
|
private |
Output file with omicron injection parameters.
|
private |
Optimization flag to process one channel at a time.
|
private |
Output summary file.
|
private |
Output directories / channel.
|
private |
Processed segments /channel.
|
private |
GMT time.
|
private |
1st spectrum structure / channel.
|
private |
2nd spectrum structure / channel.
|
private |
Spectrum structure to test whitening.
|
private |
General status.
|
private |
Tiling structure.
|
private |
Timer.
|
private |
Timer start.
|
private |
Time offset for plots [s].
|
private |
Number of tiles above snr thr /channel.
|
private |
Output triggers / channel.
|
private |
Tukey window.