gstlal-inspiral  0.4.2
 All Classes Namespaces Files Functions Variables Pages
Makefile.spinning_BBH
1 #
2 # Template bank parameters
3 #
4 
5 # The filtering start frequency
6 LOW_FREQUENCY_CUTOFF = 30.0
7 # The maximum frequency to filter to
8 HIGH_FREQUENCY_CUTOFF = 2048.0
9 # Controls the number of templates in each SVD sub bank
10 NUM_SPLIT_TEMPLATES = 100
11 # Controls the overlap from sub bank to sub bank - helps mitigate edge effects
12 # in the SVD. Redundant templates will be removed
13 OVERLAP = 10
14 # The program used to make the template bank. This will be searched for in the
15 # process param table in order to extract some metadata
16 BANK_PROGRAM = lalapps_cbc_sbank
17 # The approximant that you wish to filter with
18 APPROXIMANT = IMRPhenomB
19 
20 #
21 # Triggering parameters
22 #
23 
24 # The detectors to analyze
25 IFOS = H1 L1
26 # The GPS start time for MDC2 Studies
27 START = 966384015
28 # The GPS end time for MDC2 Studies
29 #STOP = 967384015
30 STOP = $(shell echo $(START) + 24*3600 | bc -l)
31 # A user tag for the run
32 TAG = test_chad
33 # A web directory for output
34 WEBDIR = ~/public_html/test/MDC/BBH/recolored/spin/$(START)-$(STOP)-$(TAG)
35 # The number of sub banks to process in parallel for each gstlal_inspiral job
36 NUMBANKS = 4
37 # The control peak time for the composite detection statistic. If set to 0 the
38 # statistic is disabled
39 PEAK = 0
40 # The length of autocorrelation chi-squared in sample points
41 AC_LENGTH = 151
42 # The minimum number of samples to include in a given time slice
43 SAMPLES_MIN = 512
44 # The maximum number of samples to include in the 256 Hz or above time slices
45 SAMPLES_MAX_256 = 512
46 
47 #
48 # additional options, e.g.,
49 #
50 
51 #ADDITIONAL_DAG_OPTIONS = "--samples-min $(SAMPLES_MIN) --samples-max-256 $(SAMPLES_MAX_256) --blind-injections BNS-MDC1-WIDE.xml"
52 #ADDITIONAL_DAG_OPTIONS = "--samples-min $(SAMPLES_MIN) --samples-max-256 $(SAMPLES_MAX_256)"
53 
54 # GSTLAL_SEGMENTS Options
55 SEG_SERVER=https://segdb.ligo.caltech.edu
56 LIGO_SEGMENTS="$*:CBC-MDC1_SCIENCE_EARLY_RECOLORED:2"
57 SEGMENT_TRIM = 16
58 SEGMENT_MIN_LENGTH = 512
59 
60 #GSTLAL VETO Options
61 
62 # Vetoes file names
63 vetoes_suffix := _vetoes.xml
64 VETOES_FILES := $(addsuffix $(vetoes_suffix),$(IFOS))
65 
66 LIGO_VETOES="$*:DMT-INJECTION"
67 
68 #
69 # Injections
70 #
71 
72 # The seed is the string before the suffix _injections.xml
73 # Change as appropriate, whitespace is important
74 # Taken from the MDC2 BBH Injections Wiki Page:
75 # https://www.lsc-group.phys.uwm.edu/ligovirgo/cbcnote/StellarMassBBH/Mdc2Injections
76 
77 #
78 # Low Mass BBH MDC2 Injections
79 #
80 
81 LOWMASSBBHSTT4A := HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Aligned_0.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Aligned_1.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Aligned_2.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Aligned_3.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Aligned_4.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Aligned_5.xml.gz
82 
83 LOWMASSBBHSTT4P := HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Precessing_0.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Precessing_1.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Precessing_2.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Precessing_3.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT4_Precessing_4.xml.gz HL-INJECTIONS_BBH_SpinMDC_SpinTaylorT2_Precessing_5.xml.gz
84 
85 LOWMASSBBHSEOBV2 := HL-INJECTIONS_BBH_SpinMDC_lowmass_SEOBNRv2_Aligned_0.xml.gz HL-INJECTIONS_BBH_SpinMDC_lowmass_SEOBNRv2_Aligned_2.xml.gz HL-INJECTIONS_BBH_SpinMDC_lowmass_SEOBNRv2_Aligned_4.xml.gz
86 
87 #
88 # High Mass BBH MDC2 Injections
89 #
90 
91 HIGHMASSBBH := HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_0.xml.gz HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_1.xml.gz HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_2.xml.gz HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_3.xml.gz HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_4.xml.gz HL-INJECTIONS_BBH_SpinMDC_SEOBNRv2_Aligned_5.xml.gz
92 
93 INJECTIONS := $(HIGHMASSBBH)
94 
95 # NOTE you shouldn't need to change these next three lines
96 comma:=,
97 INJECTION_REGEX = $(subst $(space),$(comma),$(INJECTIONS))
98 
99 #
100 # Segment and frame type info
101 #
102 
103 # The LIGO and Virgo frame types
104 LIGO_FRAME_TYPE='T1200307_V4_EARLY_RECOLORED_V2'
105 VIRGO_FRAME_TYPE='T1300121_V1_EARLY_RECOLORED_V2'
106 # The Channel names. FIXME sadly you have to change the CHANNEL_NAMES string if
107 # you want to analyze a different set of IFOS
108 H1_CHANNEL=LDAS-STRAIN
109 L1_CHANNEL=LDAS-STRAIN
110 V1_CHANNEL=h_16384Hz
111 CHANNEL_NAMES:=--channel-name=H1=$(H1_CHANNEL) --channel-name=L1=$(L1_CHANNEL) --channel-name=V1=$(V1_CHANNEL)
112 
113 #
114 # Get some basic definitions. NOTE this comes from the share directory probably.
115 #
116 
117 include Makefile.offline_analysis_rules
118 
119 #
120 # Workflow
121 #
122 
123 all : dag
124 
125 bank_aligned_spin.xml.gz :
126  gsiscp pcdev1.cgca.uwm.edu:/home/kent/testGSTLAL/SBankTestIII/H1-SBANK_3to110-1000000000-50000.xml.gz $@
127 
128 $(INJECTIONS):
129  gsiscp pcdev1.cgca.uwm.edu:/home/kent/SVN/cbc/bbh/mdcs/early_recolored/spin/"{$(INJECTION_REGEX)}" .
130 
131 
132 %_split_bank.cache : bank_aligned_spin.xml.gz
133  mkdir -p $*_split_bank
134  gstlal_bank_splitter --f-low $(LOW_FREQUENCY_CUTOFF) --group-by-chi --output-path $*_split_bank --approximant $(APPROXIMANT) --bank-program $(BANK_PROGRAM) --output-cache $@ --overlap $(OVERLAP) --instrument $* --n $(NUM_SPLIT_TEMPLATES) --sort-by mchirp --add-f-final --max-f-final $(HIGH_FREQUENCY_CUTOFF) $<
135 
136 plots :
137  mkdir plots
138 
139 $(WEBDIR) :
140  mkdir -p $(WEBDIR)
141 
142 tisi.xml :
143  ligolw_tisi --instrument=H1=0:0:0 --instrument=H2=0:0:0 --instrument=L1=0:0:0 --instrument=V1=0:0:0 tisi0.xml
144  ligolw_tisi --instrument=H1=0:0:0 --instrument=H2=0:0:0 --instrument=L1=3.14159:3.14159:3.14159 --instrument=V1=6.28319:6.28319:6.28319 tisi1.xml
145  ligolw_add --output $@ tisi0.xml tisi1.xml
146 
147 dag : segments.xml.gz vetoes.xml.gz frame.cache tisi.xml plots $(WEBDIR) $(INJECTIONS) $(BANK_CACHE_FILES)
148  gstlal_inspiral_pipe --data-source frames --gps-start-time $(START) --gps-end-time $(STOP) --frame-cache frame.cache --frame-segments-file segments.xml.gz --vetoes vetoes.xml.gz --frame-segments-name datasegments --control-peak-time $(PEAK) --num-banks $(NUMBANKS) --fir-stride 4 --web-dir $(WEBDIR) --time-slide-file tisi.xml $(INJECTION_LIST) --bank-cache $(BANK_CACHE_STRING) --tolerance 0.9999 --overlap $(OVERLAP) --flow $(LOW_FREQUENCY_CUTOFF) $(CHANNEL_NAMES) --autocorrelation-length $(AC_LENGTH) $(ADDITIONAL_DAG_OPTIONS)
149 
150 V1_frame.cache:
151  # FIXME force the observatory column to actually be instrument
152  ligo_data_find -o V -t $(VIRGO_FRAME_TYPE) -l -s $(START) -e $(STOP) --url-type file | awk '{ print $$1" V1_"$$2" "$$3" "$$4" "$$5}' > $@
153 
154 %_frame.cache:
155  # FIXME horrible hack to get the observatory, not guaranteed to work
156  $(eval OBS:=$*)
157  $(eval OBS:=$(subst 1,$(empty),$(OBS)))
158  $(eval OBS:=$(subst 2,$(empty),$(OBS)))
159  # FIXME force the observatory column to actually be instrument
160  ligo_data_find -o $(OBS) -t $(LIGO_FRAME_TYPE) -l -s $(START) -e $(STOP) --url-type file | awk '{ print $$1" $*_"$$2" "$$3" "$$4" "$$5}' > $@
161 
162 frame.cache: $(FRAME_CACHE_FILES)
163  cat $(FRAME_CACHE_FILES) > frame.cache
164  #FIXME: since these frame types were made incorrectly, make sure ligolw_path_to_cache
165  # reads ifo names properly
166  sed -i s/H\ $(LIGO_FRAME_TYPE)/H\ H1_$(LIGO_FRAME_TYPE)/g frame.cache
167  sed -i s/L\ $(LIGO_FRAME_TYPE)/L\ L1_$(LIGO_FRAME_TYPE)/g frame.cache
168  sed -i s/V\ $(VIRGO_FRAME_TYPE)/V\ V1_$(VIRGO_FRAME_TYPE)/g frame.cache
169 
170 %_segmentspadded.xml:
171  ligolw_segment_query --segment-url=${SEG_SERVER} -q --gps-start-time ${START} --gps-end-time ${STOP} --include-segments=$(LIGO_SEGMENTS) --result-name=datasegments > $@
172  ligolw_segments_compat $@
173 
174 segments.xml.gz: $(SEGMENTS_FILES) frame.cache
175  # These segments come from the MDC set
176  ligolw_add --output segdb.xml $(SEGMENTS_FILES)
177  ligolw_cut --delete-column segment:segment_def_cdb --delete-column segment:creator_db --delete-column segment_definer:insertion_time segdb.xml
178  gstlal_cache_to_segments frame.cache nogaps.xml
179  gstlal_segments_operations --segment-file1 segdb.xml --segment-file2 nogaps.xml --intersection --output-file $@
180  gstlal_segments_trim --trim $(SEGMENT_TRIM) --gps-start-time $(START) --gps-end-time $(STOP) --min-length $(SEGMENT_MIN_LENGTH) --output $@ $@
181 
182 
183 %_vetoes.xml:
184  ligolw_segment_query --segment-url=${SEG_SERVER} -q --gps-start-time ${START} --gps-end-time ${STOP} --include-segments=$(LIGO_VETOES) --result-name=vetoes > $@
185  ligolw_segments_compat $@
186 
187 vetoes.xml.gz: $(VETOES_FILES)
188  ligolw_add --output $@ $(VETOES_FILES)
189  ligolw_cut --delete-column segment:segment_def_cdb --delete-column segment:creator_db --delete-column segment_definer:insertion_time $@
190  gzip $@
191 
192 
193 clean:
194  -rm -rvf *.sub *.dag* *.cache *.sh logs *.sqlite plots *.html Images *.css *.js
195  -rm -rvf lalapps_run_sqlite/ ligolw_* gstlal_*
196  -rm -vf segments.xml.gz tisi.xml H*.xml L*.xml V*.xml ?_injections.xml ????-*_split_bank-*.xml vetoes.xml.gz
197  -rm -vf *marginalized*.xml.gz *-ALL_LLOID*.xml.gz
198  -rm -vf tisi0.xml tisi1.xml
199  -rm -rf *_split_bank
200  -rm -rf $(INJECTIONS) $(FAR_INJECTIONS)
201  -rm -rf nogaps.xml segdb.xml
202  -rm -rf bank_aligned_spin.xml.gz