From c003fb17898ba7b74f8d176079949cf13260fa34 Mon Sep 17 00:00:00 2001 From: Duncan Meacher <duncan.meacher@ligo.org> Date: Fri, 21 Sep 2018 16:16:15 -0500 Subject: [PATCH] gstlal_ll_inspiral_pipe: Added shared memory partition options for injections --- gstlal-inspiral/bin/gstlal_ll_inspiral_pipe | 25 +++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/gstlal-inspiral/bin/gstlal_ll_inspiral_pipe b/gstlal-inspiral/bin/gstlal_ll_inspiral_pipe index b88ec070cb..53be177aff 100755 --- a/gstlal-inspiral/bin/gstlal_ll_inspiral_pipe +++ b/gstlal-inspiral/bin/gstlal_ll_inspiral_pipe @@ -205,6 +205,9 @@ def parse_command_line(): parser.add_option("--inj-dq-channel-name", metavar = "name", default=[], action = "append", help = "Set the name of the injection DQ channel to process (required if --inj-channel-name set).") parser.add_option("--inj-framexmit-addr", metavar = "name", default=[], action = "append", help = "Set the framexmit address to process for the injection stream (required if --inj-channel-name set). IFO=ADDR:port can be given multiple times.") parser.add_option("--inj-framexmit-iface", metavar = "name", action = "append", help = "Set the interface address to process for injections (required if --inj-channel-name set).") + parser.add_option("--inj-shared-memory-partition", metavar = "name", action = "append", help = "Set the name of the shared memory partition for a given instrument. Can be given multiple times as --inj-shared-memory-partition=IFO=PARTITION-NAME") + parser.add_option("--inj-shared-memory-assumed-duration", type = "int", default = 4, help = "Set the assumed span of files in seconds. Default = 4.") + parser.add_option("--inj-shared-memory-block-size", type = "int", default = 4096, help = "Set the byte size to read per buffer. Default = 4096.") parser.add_option("--ht-gate-threshold", metavar = "float", help = "Set the h(t) gate threshold to reject glitches", type="float") parser.add_option("--ht-gate-threshold-linear", metavar = "mchirp_min:ht_gate_threshold_min-mchirp_max:ht_gate_threshold_max", type="string", help = "Set the threshold on whitened h(t) to mark samples as gaps (glitch removal) with a linear scale of mchirp") parser.add_option("--max-jobs", metavar = "num", type = "int", help = "stop parsing the cache after reaching a certain number of jobs to limit what is submitted to the HTCondor pool") @@ -271,11 +274,15 @@ def parse_command_line(): state_channel_dict = datasourceinfo.state_channel_dict dq_channel_dict = datasourceinfo.dq_channel_dict framexmit_dict = datasourceinfo.framexmit_addr - shared_memory_partition_dict = datasourceinfo.shm_part_dict + shm_part_dict = datasourceinfo.shm_part_dict inj_channel_dict = datasource.channel_dict_from_channel_list_with_node_range(options.inj_channel_name) inj_state_channel_dict = datasource.channel_dict_from_channel_list(options.inj_state_channel_name) inj_dq_channel_dict = datasource.channel_dict_from_channel_list(options.inj_dq_channel_name) inj_framexmit_dict = datasource.framexmit_dict_from_framexmit_list(options.inj_framexmit_addr) + ## A dictionary for injection shared memory partition + inj_shm_part_dict = {"H1": "LHO_InjData", "L1": "LLO_InjData", "V1": "VIRGO_InjData"} + if options.inj_shared_memory_partition is not None: + inj_shm_part_dict.update( datasource.channel_dict_from_channel_list(options.inj_shared_memory_partition) ) inj_range_dict = {} for tag, channel in inj_name_dict.items(): @@ -294,7 +301,7 @@ def parse_command_line(): options.likelihood_files = [CacheEntry(line).url for line in open(options.likelihood_cache)] options.zerolag_likelihood_files = [CacheEntry(line).url for line in open(options.zerolag_likelihood_cache)] - return options, filenames, bankcache, channel_dict, dq_channel_dict, state_channel_dict, framexmit_dict, shared_memory_partition_dict, inj_channel_dict, inj_dq_channel_dict, inj_state_channel_dict, inj_framexmit_dict, inj_name_dict, inj_range_dict + return options, filenames, bankcache, channel_dict, dq_channel_dict, state_channel_dict, framexmit_dict, shm_part_dict, inj_channel_dict, inj_dq_channel_dict, inj_state_channel_dict, inj_framexmit_dict, inj_name_dict, inj_range_dict, inj_shm_part_dict # @@ -302,7 +309,7 @@ def parse_command_line(): # -options, filenames, bank_cache, channel_dict, dq_channel_dict, state_channel_dict, framexmit_dict, shared_memory_partition_dict, inj_channel_dict, inj_dq_channel_dict, inj_state_channel_dict, inj_framexmit_dict, inj_name_dict, inj_range_dict = parse_command_line() +options, filenames, bank_cache, channel_dict, dq_channel_dict, state_channel_dict, framexmit_dict, shm_part_dict, inj_channel_dict, inj_dq_channel_dict, inj_state_channel_dict, inj_framexmit_dict, inj_name_dict, inj_range_dict, inj_shm_part_dict = parse_command_line() try: os.mkdir("logs") except: pass @@ -367,7 +374,7 @@ for ifo in channel_dict: "framexmit-iface":options.framexmit_iface } else : - datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict({ifo: shared_memory_partition_dict[ifo]}), + datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict({ifo: shm_part_dict[ifo]}), "shared-memory-block-size":options.shared_memory_block_size, "shared-memory-assumed-duration":options.shared_memory_assumed_duration } @@ -423,7 +430,7 @@ for num_insp_nodes, (svd_banks, likefile, zerolikefile) in enumerate(zip(bank_gr "framexmit-iface":options.framexmit_iface } else : - datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict(shared_memory_partition_dict, opt = "shared-memory-partition"), + datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict(shm_part_dict, opt = "shared-memory-partition"), "shared-memory-block-size":options.shared_memory_block_size, "shared-memory-assumed-duration":options.shared_memory_assumed_duration } @@ -483,13 +490,13 @@ for num_insp_nodes, (svd_banks, likefile, zerolikefile) in enumerate(zip(bank_gr # Data source dag options if (options.data_source == "framexmit"): - datasource_opts = {"framexmit-addr":datasource.framexmit_list_from_framexmit_dict({ifo: framexmit_dict[ifo]}), + datasource_opts = {"framexmit-addr":datasource.framexmit_list_from_framexmit_dict(framexmit_dict), "framexmit-iface":options.framexmit_iface } else : - datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict({ifo: shared_memory_partition_dict[ifo]}), - "shared-memory-block-size":options.shared_memory_block_size, - "shared-memory-assumed-duration":options.shared_memory_assumed_duration + datasource_opts = {"shared-memory-partition":datasource.pipeline_channel_list_from_channel_dict(inj_shm_part_dict, opt = "shared-memory-partition"), + "shared-memory-block-size":options.inj_shared_memory_block_size, + "shared-memory-assumed-duration":options.inj_shared_memory_assumed_duration } common_opts = {"psd-fft-length":options.psd_fft_length, -- GitLab