Postproduction¶
The postproduction pipeline takes the trigger catalogs produced by pycWB search jobs and produces final analysis products: background estimates, ranked candidate lists, detection efficiency curves, and HTML summary reports.
This section covers the complete postproduction workflow and each analysis component.
Quick Start¶
A complete postproduction run is driven by a workflow YAML:
pycwb post-process path/to/postprocess_workflow.yaml
To inspect the dependency graph without running:
pycwb post-process path/to/postprocess_workflow.yaml --diagram-only
A reference template is available at
examples/postproduction/standard_analysis_10pct_workflow.yaml.
Postproduction Architecture¶
The postproduction system is built on a YAML-driven workflow engine
(pycwb.post_production.workflow) that chains actions as a directed
acyclic graph (DAG). Actions are Python functions registered with the
action_spec() decorator
(pycwb.post_production.action_spec), declaring their inputs, outputs,
and arguments.
Key modules:
Module |
Purpose |
|---|---|
|
FAR vs. ranking statistic computation |
|
XGBoost classifier training |
|
Model scoring, FAR evaluation, efficiency |
|
Trigger/job selection and train/FAR splitting |
|
Trigger-to-injection matching |
|
Zero-lag significance analysis |
|
Multi-tab HTML report generation |
Typical Workflow Steps¶
A complete postproduction analysis follows this sequence:
Split background into training and FAR-holdout subsets (Training Set Preparation).
Match and filter simulation triggers to injection truth.
Train XGBoost ranking model on BKG + SIM features (XGBoost Classification).
Score background holdout with the trained model.
Build FAR lookup table from scored background (Background Estimation).
Score simulations and compute detection efficiency (Detection Efficiency).
Analyze zero-lag candidates and compute Poisson significance.
Generate HTML report with all results.
See Post-Production Workflow Guide for detailed YAML examples of each step.