util_RIFT_pseudo_pipe.py
Overview
util_RIFT_pseudo_pipe.py is the primary user-facing interface for RIFT analyses.
It provides a command-line interface similar to lalinference_pipe for running
parameter estimation on gravitational wave events.
This executable sets up RIFT analyses, manages prior configurations, handles GraceDB event retrieval, and coordinates the overall analysis workflow.
Location
MonteCarloMarginalizeCode/Code/bin/util_RIFT_pseudo_pipe.py
Usage
Run on a GraceDB event:
python util_RIFT_pseudo_pipe.py --gracedb-id G329483 --approx NRHybSur3dq8 --l-max 4
Reproduce a previously run analysis using an INI file:
python util_RIFT_pseudo_pipe.py --use-ini test.ini --use-coinc coinc.xml --use-rundir test --use-online-psd-file psd.xml.gz
With online PSD file:
python util_RIFT_pseudo_pipe.py --gracedb-id G123456 --approx IMRPhenomXHM --use-online-psd-file psd.xml.gz
Command-Line Arguments
Event Selection
- --gracedb-id <id>
GraceDB event ID to analyze. This is the primary way to specify an event.
- --event-time <time>
Event time (GPS). Must be used with
--manual-initial-grid.
- --use-ini <file>
INI file for parsing. Intended to reproduce lalinference_pipe functionality. Full path recommended.
- --use-rundir <path>
Working directory. Must be an absolute path.
- --use-coinc <file>
Coincidence XML file.
Waveform Configuration
- --approx <name>
Waveform approximant (REQUIRED). Examples:
NRHybSur3dq8,IMRPhenomXHM.
- --l-max <int>
Maximum l for spherical harmonics (default: 2).
- --use-gwsurrogate
Use gwsurrogate instead of lalsuite.
- --use-gwsignal
Use gwsignal interface.
Spin Configuration
- --assume-nospin
Force analysis with zero spin.
- --assume-precessing
Force analysis with transverse spins.
- --assume-nonprecessing
Force analysis without transverse spins.
- --assume-matter
Force analysis with matter effects (BNS).
- --assume-matter-eos <eos>
Force analysis with matter and specify EOS.
- --assume-highq
Force high-q strategy, neglecting spin2.
Distance and Marginalization
- --internal-marginalize-distance
Marginalize over distance variable.
- --internal-marginalize-distance-file <file>
Filename for marginalization file.
- --internal-distance-max <value>
Upper limit on distance (required for marginalization).
- --distance-reweighting
Reweight posterior samples due to different distance prior (LVK production prior).
Calibration
- --calibration-reweighting
Add job to DAG to reweight posterior samples due to calibration uncertainty.
- --calibration-reweighting-count <int>
Number of calibration curves to request when marginalizing (default: 100).
- --bilby-ini-file <file>
Pass INI file for calibration reweighting.
- --bilby-pickle-file <file>
Bilby pickle file with event settings.
Advanced Options
- --add-extrinsic
Add extrinsic parameters to analysis.
- --add-extrinsic-time-resampling
Add time resampling option (for vectorized calculations).
- --internal-use-amr
Use adaptive mesh refinement strategy.
- --internal-force-iterations <n>
Override internal guidance on number of iterations.
- --internal-test-convergence-threshold <value>
Convergence test threshold (default: 0.02).
Examples
Basic BNS Analysis
Run a basic BNS analysis on a GraceDB event:
python util_RIFT_pseudo_pipe.py --gracedb-id G329483 --approx NRHybSur3dq8 --l-max 4
Analysis with Calibration Reweighting
Run with calibration uncertainty marginalization:
python util_RIFT_pseudo_pipe.py --gracedb-id G329483 --approx NRHybSur3dq8 --calibration-reweighting --calibration-reweighting-count 200
Precessing Binary Analysis
Run with precessing spins:
python util_RIFT_pseudo_pipe.py --gracedb-id G329483 --approx IMRPhenomXHM --assume-precessing
Distance Marginalization
Run with distance marginalization:
python util_RIFT_pseudo_pipe.py --gracedb-id G329483 --approx NRHybSur3dq8 --internal-marginalize-distance --internal-distance-max 200
See Also
create_event_parameter_pipeline_BasicIteration - Pipeline generator
API Reference - API Reference