.. include:: ../images.rst
Installing a local copy of the cWB libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. important::
For the recommended **CMake** build (see below), the auxiliary libraries
are provided by an activated conda environment -- no manual library
installation is needed.
For the **traditional Makefile** build, it is necessary to first install
the `auxiliary libraries <../install.html#how-to-install-the-auxiliary-libraries>`__
manually; **$HOME_LIB** is the environment variable pointing to the
auxiliary libraries path.
The cWB pipeline is implemented in the **cWB library** which contains the algorithms and the pipeline infrastructure.
The pipeline uses the **cWB config** which contains the configurations files and the search procedures.
The following table reports the list of of steps to be executed to install the cWB pipeline:
+--------------------------------------------------------------+------------------------------------------------------+
| `1 - cWB config installation <#cwb-config-installation>`__ | the configurations-files and search-procedures |
+--------------------------------------------------------------+------------------------------------------------------+
| `2 - cWB library installation <#cwb-library-installation>`__ | the algorithm-library and pipeline-infrastructure |
+--------------------------------------------------------------+------------------------------------------------------+
| `3 - cWB www files setting <#cwb-www-setup>`__ | html, javascripts and images used by CEDs & reports |
+--------------------------------------------------------------+------------------------------------------------------+
| `4 - cWB test installation <#test-cwb-installation>`__ | quick tests to check the cWB installation |
+--------------------------------------------------------------+------------------------------------------------------+
|
1 - cWB config installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~
**What is**: configuration files used by the cWB pipeline to perform the analysis
.. note::
We provide two git repositories:
- |PUBLIC| https://gitlab.com/gwburst/public/config_o3.git
The public **config_o3** repository contains the configuration files and
the search procedures used for the production and post-production
analysis of the O1, O2 and O3 observing runs, using the
`DATA `__ released in the
`Gravitational Wave Open Science Center ( GWOSC ) `__.
|
- |LVK| git.ligo.org:cWB/2g/config_o4.git
The current, O4 configuration used within the LVK collaboration. This
repository is **not yet publicly released** (unlike config_o3, which
covers O1-O3); until it is, LVK members should use it directly from
git.ligo.org, and public users should refer to config_o3 above.
**Installation:**
1. Download cWB config from GIT Repository
The suggested local directory is **$HOME/git/cWB/config_o3** (this is also
the path expected by the IGWN-conda setup script, see the `library README
`__):
.. code-block:: bash
cd $HOME/git/cWB
git clone https://gitlab.com/gwburst/public/config_o3.git
cd config_o3
git lfs install --skip-smudge
git lfs pull -I XTALKS/wdmXTalk
# then, to use O3a run do:
make DATA=GWOSC O3=O3a
# or for O3b run:
make DATA=GWOSC O3=O3b
By default the downloaded repository is the last available version; to
use a specific tagged version instead:
.. code-block:: bash
git tag # list the available tags
git checkout -b TAG TAG # then select a suitable tag
|LVK| LVK members with access to the restricted data (frame lists, data
quality and xml files) can additionally pull the **LVC** branch inside the
config_o3 checkout:
.. code-block:: bash
cd config_o3
git clone -b LVC git@git.ligo.org:cWB/config_o3.git LVC
cd LVC
git lfs install --skip-smudge
# lastly, from config_o3, create the symbolic links to the LVK data:
make DATA=LVC O3=O3a # or O3=O3b
|LVK|
At CIT the tagged versions are available in the following directory:
/home/waveburst/SOFT/cWB/tags/config
|
2 - cWB library installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**What is**: gravitational wave burst analysis software: algorithm library and pipeline infrastructure
.. note::
We provide two git repositories:
- |PUBLIC| https://gitlab.com/gwburst/public/library.git
- |LVK| https://git.ligo.org/cWB/library.git
Both track the same release history (see the :doc:`changelog <../changelog>`);
the LVK repository additionally carries LVK-only developments. The
current release is documented in the changelog; a suggested tag is
**cWB-6.4.8.0**.
**Installation:**
Two build systems are supported: the recommended **CMake** build (used by
CI), and the **traditional Makefile** build, kept for backward
compatibility.
CMake (recommended)
^^^^^^^^^^^^^^^^^^^^^^
1. Activate a conda environment providing the auxiliary libraries. See the
`library README `__
for the supported ROOT versions and known-good package combinations; the
relevant conda-forge packages are ``root_base``, ``healpix_cxx``,
``cfitsio``, ``libframel`` and, optionally, ``liblal liblalburst
liblalmetaio liblalsimulation`` for LAL support:
.. code-block:: bash
conda activate your_cwb_env
2. Clone the repository:
.. code-block:: bash
cd $HOME/git/cWB
git clone https://gitlab.com/gwburst/public/library.git # or the LVK repository
cd library
To use a specific tagged version instead of the latest commit:
.. code-block:: bash
git tag # list the available tags
git checkout -b TAG TAG # e.g. cWB-6.4.8.0
3. Build and install, using the `build.sh script `__.
By default this installs under ``tools/install``; passing an argument
installs under ``tools/install_`` instead, which is convenient
to keep several builds side by side:
.. code-block:: bash
bash build.sh # -> tools/install
bash build.sh mybuild # -> tools/install_mybuild
Extra CMake options can be passed via the ``CMAKE_ARGS`` environment
variable, for example to build with up to 8 detectors instead of the
default 4:
.. code-block:: bash
CMAKE_ARGS="-DXIFO=8" bash build.sh
4. Activate the installed environment:
.. code-block:: bash
source tools/install/etc/cwb/cwb-activate.sh # (or tools/install_/etc/cwb/cwb-activate.sh)
Set the cross-talk catalog location, e.g.:
.. code-block:: bash
export CWB_CONFIG="$HOME/git/cWB/config_o3"
export HOME_WAT_FILTERS="${CWB_CONFIG}/XTALKS"
Traditional Makefile (legacy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is the historical, ``tcsh``-based build. It requires the auxiliary
libraries (ROOT, HEALPix, CFITSIO, FRAMELIB, and optionally LAL/CVODE) to
be built and installed manually, see the
`auxiliary libraries <../install.html#how-to-install-the-auxiliary-libraries>`__
section.
1. Setting the cWB environmental variables (The cWB init script)
.. code-block:: bash
- Copy the default init root file into the $HOME directory
cp $HOME/git/cWB/library/tools/cwb/cwb.rootrc ~/.rootrc
- Create a directory used by cWB to display from WEB the CEDs and reports produced
by the cWB analysis.
Example for CIT user do :
mkdir ~/public_html/reports
reports can be browse at (user must be substituted with the user name):
https://ldas-jobs.ligo.caltech.edu/~user/reports/
- Go into the cloned git library directory and select one of the following
watenv init scripts suitable for your environment (sh,csh=bash,tcsh):
- cit_watenv.(sh,csh) -> default for CIT cluster
- cnaf_watenv.(sh,csh) -> default for CNAF cluster
- atlas_watenv.(sh,csh) -> default for ATLAS cluster
- cascina_watenv.(sh,csh) -> default for CASCINA cluster
- gatech_watenv.(sh,csh) -> default for GEORGIA-TECH cluster
- virtualbox_watenv.(sh,csh) -> default for VIRTUALBOX machine
- Copy the selected watenv init script:
cp cit_watenv.(sh,csh) user_watenv.(sh,csh)
- Edit and change the environmental parameters according to the paths where the
auxiliary libraries and config files have been installed.
setenv HOME_LIBS "/home/waveburst/SOFT/" # default location at CIT cluster
setenv CWB_CONFIG "$HOME/git/cWB/config_o3" # Location of cWB config
- Execute the init script
source user_watenv.(sh,csh)
2. Compile library
.. code-block:: bash
- Go into the cloned git library directory execute your cWB init script:
source user_watenv.(sh,csh)
- Compile cWB with the default settings (up to 4 detectors)
make
- Install cWB libraries to the default directory ($HOME/git/cWB/library/tools/install)
make install # only install
make winstall # compile + install
with this option only the compiled shared library files
are copied to the destination directory
- It is possible to install cWB libraries into a specific directory:
make install ODIR=your_specific_dir
with this option all the library files and the compiled shared library files
are copied to the destination directory (but the .git infos are excluded)
3. Compile cWB with specific options (the instructions refere to tcsh shell, for bash shell see for example $HOME/git/cWB/cit_watenv.sh):
.. code-block:: bash
- To compile cWB with up to 8 detectors capability
make XIFO=8
- To compile cWB with/without LAL (default : enabled) set
# disable
unsetenv _USE_LAL # disable LAL in cWB
# enable
setenv _USE_LAL 1 # enable LAL in cWB
setenv HOME_LAL "${HOME_LIBS}/LAL/lalsuite/master"
setenv LAL_INC "${HOME_LAL}/include"
setenv LALINSPINJ_EXEC "${HOME_LAL}/bin/lalapps_inspinj"
- To compile cWB with/without HEALPix (default : enabled) set
# disable
unsetenv _USE_HEALPIX # disable HEALPix in cWB
# enable
setenv _USE_HEALPIX 1 # enable HEALPix in cWB
setenv HOME_HEALPIX "${HOME_LIBS}/HEALPix/Healpix_3.40"
setenv HOME_CFITSIO "${HOME_LIBS}/CFITSIO/cfitsio-3.45"
- To compile cWB with eBBH (default : enabled) set
# disable
unsetenv _USE_EBBH # disable EBBH in cWB
# enable
setenv _USE_EBBH 1 # enable EBBH in CWB
setenv HOME_CVODE "${HOME_LIBS}/CVODE/sundials-2.7.0/dist"
.. important::
The cWB init script must located in the main cWB library directory, if the installation has been done in
the non default directory then the destination directory must be used.
To check the cWB environmental variables use the command: **cwb_watenv**
|
3 - cWB WWW setup
~~~~~~~~~~~~~~~~~
cWB needs html files, javascripts and images to display the CEDs & reports from WEB.
All such stuff must be located into a directory visible from WEB.
.. note::
|LVK|
For CIT cluster we suggest to use the pre-installed directory in the waveburst account:
/home/waveburst/public_html/waveburst/WWW/ced
which is the default path defined in the CIT init script file cwb_watenv.(sh.csh):
setenv HOME_CED_PATH "/home/waveburst/public_html/waveburst/WWW/ced"
To setup a local WWW directory use the script **$CWB_SCRIPTS/cwb_create_www.sh**.
It is implemented for CIT user and VirtualBox Machine but it can be easily adapted
others cases. To execute the script do:
.. code-block:: bash
1) activate the cWB environment (cwb-activate.sh for CMake, or the
watenv init script for the traditional Makefile build)
2) cd /tools/cwb/www # $HOME_WAT for a traditional install
make
3) $CWB_SCRIPTS/cwb_create_www.sh
In CIT cluster it creates the directory: **$HOME/public_html/waveburst/WWW**
|
4 - Test cWB installation
~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
The easiest way to check cWB has been installed correctly is to process with cWB
the GWTC-1 public data released in `GWOSC `__.
The analysis of GWTC-1 Catalog events can be easily performed with a dedicated cWB command:
`cwb_gwosc <../commands.html#cwb-gwosc>`__.
The command line to execute the full analysis of GW150914 event is:
.. code-block:: bash
cwb_gwosc GW=GW150914 all
The output of the previous command is the Coherent Event Display ( CED ) of the GW150914 event.
See the `CEDs of the GWTC-1 Catalog `__
See also `My first cWB pipeline test <../faq.html#my-first-cwb-pipeline-test>`__