Skip to content
Snippets Groups Projects
Makefile.offline_inspiral_injection_template 4.27 KiB
all : dag

.PHONY: launch
launch : {{ workflow }}_inspiral_dag.dag
	condor_submit_dag $<

.PHONY: dag
dag : {{ workflow }}_inspiral_dag.dag
	@echo ""

.PHONY: summary
summary :
	mkdir -p {{ config.summary.webdir }}
	gstlal_inspiral_summary_page \
		--title gstlal-{{ config.start }}-{{ config.stop }}-closed-box \
		--webserver-dir {{ config.summary.webdir }} \
		--output-user-tag ALL_COMBINED \
		--output-user-tag PRECESSION_COMBINED \
		{% for inj_name in config.filter.injections.keys() %}
		--output-user-tag {{ inj_name.upper() }}_INJECTION \
		--output-user-tag {{ inj_name.upper() }}_INJECTION_PRECESSION \
		{% endfor %}
		--glob-path plots
	mkdir -p {{ config.summary.webdir }}/OPEN-BOX
	gstlal_inspiral_summary_page \
		--title gstlal-{{ config.start }}-{{ config.stop }}-open-box \
		--webserver-dir {{ config.summary.webdir }}/OPEN-BOX \
		--output-user-tag ALL_COMBINED \
		--output-user-tag PRECESSION_COMBINED \
		{% for inj_name in config.filter.injections.keys() %}
		--output-user-tag {{ inj_name.upper() }}_INJECTION \
		--output-user-tag {{ inj_name.upper() }}_INJECTION_PRECESSION \
		{% endfor %}
		--open-box \
		--glob-path plots
	chmod a-r {{ config.summary.webdir }}/OPEN-BOX

.PHONY: unlock
unlock :
	chmod a+r {{ config.summary.webdir }}/OPEN-BOX

segments.xml.gz :
	cp {{ config.data.analysis_dir }}/$@ $@
	@echo ""

vetoes.xml.gz :
	cp {{ config.data.analysis_dir }}/$@ $@
	@echo ""

{{ config.svd.option_file }} :
	cp {{ config.data.analysis_dir }}/$@ $@
	gstlal_inspiral_set_svdbin_option --config config.yml

tisi.xml : inj_tisi.xml
	lalburst_gen_timeslides {% for instrument, slides in config.filter.time_slides.items() %} --instrument={{ instrument }}={{ slides }}{% endfor %} bg_tisi.xml
	ligolw_add --output $@ bg_tisi.xml $<
	@echo ""

inj_tisi.xml :
	lalburst_gen_timeslides {% for instrument in config.ifos %} --instrument={{ instrument }}=0:0:0{% endfor %} $@
	@echo ""

%_inspiral_dag.dag : vetoes.xml.gz segments.xml.gz tisi.xml plots {% for inj in config.filter.injections.values() %} {{ inj.file }}{% endfor %} {{ config.svd.option_file }}

	gstlal_inspiral_workflow create -c config.yml --workflow $*

{% if config.injections.sets %}
{% for inj_name, params in config.injections.sets.items() %}
{{ params.output_tag }}.xml.gz :
	gstlal_lvc_rates_injections \
		--gps-start-time {{ config.start + params.time.shift }} \
		--gps-end-time {{ config.stop }} \
		--snr-calculation INJ_PARAMS \
		--mass-distribution {{ params.mass_distribution }} \
		--spin-distribution ALIGNED_ALIGNED \
		--max-redshift {{ params.max_redshift }} \
		{% for param in ['mass1', 'mass2', 'mass', 'spin1', 'spin2', 'spin'] %}
		{% if params[param] %}
		{% for stat, val in params[param].items() %}
		--{{ stat }}-{{ param }} {{ val }} \
		{% endfor %}
		{% endif %}
		{% endfor %}
		--max-mtotal {{ params.max_mtotal }}\
		--waveform {{ params.waveform }} \
		--approximant {{ params.approximant }} \
		--time-step {{ params.time.step }} \
		--time-interval {{ params.time.interval }} \
		--random-seed {{ params.random_seed }} \
		--h1-reference-spectrum-file {{ config.injections.h1_reference_spectrum_file }} \
		--l1-reference-spectrum-file {{ config.injections.l1_reference_spectrum_file }} \
		--v1-reference-spectrum-file {{ config.injections.v1_reference_spectrum_file }} \
		--output-tag {{ params.output_tag }}
	mv {{ params.output_tag }}-{{ config.start + params.time.shift }}-{{ config.stop }}.xml.gz {{ params.output_tag }}.xml.gz
	ligolw_no_ilwdchar $@
	@echo ""

{% endfor %}
{% endif %}
{% if config.injections.combine %}
{{ config.injections.combined_file }} : {% for inj in config.injections.sets.values() %} {{ inj.output_tag }}.xml.gz{% endfor %}

	gstlal_inspiral_combine_injection_sets $^ --single-output -o $(basename {{ config.injections.combined_file }})
	rm injection_str.txt
{% endif %}

plots :
	mkdir -p $@

clean : 
	rm -rf segments.xml.gz *tisi.xml
	rm -rf split_bank *vetoes.xml.gz
	rm -rf reference_psd median_psd
	rm -rf filter rank plots
	rm -rf logs *inspiral_dag.dag* *inspiral_dag.sh *.sub _condor_stdout
	rm -rf {% for inj in config.filter.injections.values() %} {{ inj.file }}{% endfor %}

	{% if config.injections.sets %}
	rm -rf {% for inj in config.injections.sets.values() %} {{ inj.output_tag }}.xml.gz{% endfor %}
	{% endif %}


clean-lite :
	rm -rf logs/* *inspiral_dag.dag* *inspiral_dag.sh *.sub