Toolbox library
This page gives a description of the
Toolbox
class. This class consists of several structures and functions written in C++ which can be used at the different stages of the cWB analysis.
The available structures are collected in the following list:
cWB_CAT: enumeration of possible Data Quality (see data quality)
dqfile information about a segment list of DQ (see data quality)
frfile information on a frame file (name, start, stop)
slag information regarding superlags environment (see What are super lags and how to use them)
mdcshift information about possible shift on MDC (start, stop, shift)
ifoparms information about a detector (see Detectors)
The available functions are collected in the following list:
Method for construction of segments |
|
Data Quality management |
|
Job management |
|
Superlag management |
|
Condor submission management |
|
Merging management |
|
Parameter history management |
|
Detector PSD management |
|
Substitute shell command |
|
Post-processing management |
|
Various utilities |
|
Utilities for Hilbert and Wigner-Ville Transforms |
Method for construction of segments
cWB contains a struct: - waveSegment which describes a single segment period of the type [start, stop]. cWB manages segment list as c++ vector of waveSegment (segment list).
- cWB::Toolbox::unionSegments
Check if a segment list is in increasing order and join eventual consecutive waveSegment in the list
- cWB::Toolbox::mergeSegLists
Merge two segment list (create a new segment list which contains the coincidence times)
- cWB::Toolbox::getMaxSeg
Find the waveSegment with the maximum lenght
- cWB::Toolbox::getTimeSegList
Calculate the sum of segment lengths in the list
- cWB::Toolbox::dumpSegList
Dump a segment list in a txt file
- cWB::Toolbox::getSlagJobList
Modify the segment list to be composed of segments with lenght equal to the input parameter
Data Quality management
dqfile
cWB::Toolbox::readSegList
Check if the segment list contained in the dq file is in increasing order and join eventual consecutive waveSegment in the list
Merge segment lists with DQ>maximum dq order
cWB::Toolbox::setSlagShifts
Job management
For the construction of segments, the pipeline follows the parameters specified in Job settings.
cWB::Toolbox::getJobList
Construct the jobs segment list
Construct the jobs segment list selecting the segments with a minimum lenght
- cWB::Toolbox::dumpJobList
Dump the job list in a txt file
- cWB::Toolbox::getSegList
Construct the job segment list taking in account superlag (see What are super lags and how to use them).
Superlag management
- cWB::Toolbox::getSlagList
Contruct segment list
- cWB::Toolbox::dumpSlagList
Dump segment list in a file
- cWB::Toolbox::getSlag
Get slag structure referred to a certain job
- cWB::Toolbox::getSegList
Create the merged segment list considering DQ_CAT1
Condor submission management
cWB can use condor as batch system. The following functions manage this submission with the creation of the two files:
.sub : contains executable file and output condor files
.dag : submit one job for each segment in the final segment list
- cWB::Toolbox::createDagFile
produce the .dag file
- cWB::Toolbox::createSubFile
produce the .sub file
- cWB::Toolbox::getCondorJobList
get the job list from .dag file
- cWB::Toolbox::getJobBenchmark
extract benchmark info from bench status history line (see Benchmark parameters for more details)
Merging management
- cWB::Toolbox::mergecWBTrees
merge selected trees contained in the root files inside a selected directory
- cWB::Toolbox::mergeTrees
merge selected trees contained in the root files listed in a txt file
- cWB::Toolbox::readFileList
read a list from a text file
- cWB::Toolbox::dumpFileList
write a list to a text file
- cWB::Toolbox::getMergeJobList
return a vector of jobs number from a file list. The job number is extracted from root file name of the type : *_job#.root
History management
- cWB::Toolbox::readFile
Read history from a file and creates a string containing variable values
- cWB::Toolbox::getEnvcWB
Creates a string containing variable values extracting from the running environment
Detector PSD management
- cWB::Toolbox::makeSpectrum
Calculate PSD. It is possible to save in a text file
- cWB::Toolbox::getSimNoise
Create Gaussian noise coloured according a given PSD
- cWB::Toolbox::convertSampleRate
Resample data
- cWB::Toolbox::GetDetectorPSD
Extract PSD from a text file
Substitute shell commands
- cWB::Toolbox::getFileListFromDir
Create a list of files contained in a directory
- cWB::Toolbox::checkFile
Check if a files exists
- cWB::Toolbox::mkDir
Create a directory if not exists (if exists ask confirmation)
- cWB::Toolbox::rmDir
Remove a directory, asking a confirmation
- cWB::Toolbox::PrintProcInfo
Print on shell information about memory usage and date
- cWB::Toolbox::getTemporaryFileName
get name of temporary file on the node
- cWB::Toolbox::mksTemp
call the mksTemp linux command
Post processing management
- cWB::Toolbox::setVeto
apply Data Quality and veto to waveburst in ifname root file and create an output root file adding a flag for each Data Quality
- cWB::Toolbox::setCuts
Apply some selection cuts on a tree, called by the command cwb_setcuts
- cWB::Toolbox::setUniqueEvents
Apply unique event selection on a sim tree, called by the command cwb_setcuts
- cWB::Toolbox::getLiveTime
Calculate background livetime
- cWB::Toolbox::getZeroLiveTime
Calculate zero-lag livetime
- cWB::Toolbox::doPoissonPlot
Produce Poisson plot in the web page (see Background part)
- cWB::Toolbox::isLeafInTree
Check if a leaf is present in a tree
- cWB::Toolbox::setMultiplicity
Calculate Multiplicity for Rate vs threshold figure (see Background part)
- cWB::Toolbox::getRate
Calculate FAR rate at a certain rho treshold
Various utilities
- cWB::Toolbox::resampleToPowerOfTwo
Resample to the minimum power of two bigger than original rate
- cWB::Toolbox::getJobId
return jobId from the file name
- cWB::Toolbox::getParameter
Get parameter values from a string written in shell command
- cWB::Toolbox::getFileName
Get file name from a c++ pointer or link
- cWB::Toolbox::getUniqueFileList
Merge various files list in a unique one and write in a text files
- cWB::Toolbox::WriteFrameFile
Create a frame file containing data from time domain
Utilities for Hilbert and Wigner-Ville Transforms
The Hilbert & Wigner-Ville transforms are used where?
- cWB::Toolbox::getHilbertTransform
Calculate the Hilbert transform
- cWB::Toolbox::getHilbertEnvelope
Return the envelope from analytic signal analysis
- cWB::Toolbox::getHilbertIFrequency
Return the instantaneous frequency from analytic signal analysis
- cWB::Toolbox::getWignerVilleTransform
Return Time-Frequency map
- cWB::Toolbox::unWrapPhase
Phase unwrapping ensures that all appropriate multiples of 2pi have been included in phase evolution
- cWB::Toolbox::getSineFittingParams
return from a sine fitting: A sin ( wt + f ) the values of A, w and f