# RDS QSCAN datafind Nodes rds_qscan_data_find_node = stfu_pipe.fuDataFindNode( dag, q_rds_data_find_job, cp, options, ifo, trigger_time=event.time, qscan=True, data_type="rds") # h(t) QSCAN Nodes ht_qscan_node = stfu_pipe.fuQscanNode( dag, ht_qscan_job, cp, options, event.time, ifo, ht_qscan_data_find_node.outputFileName, p_nodes=[ht_qscan_data_find_node], type="ht") if cp.has_option('fu-remote-jobs', 'remote-ifos') and ifo in cp.get( 'fu-remote-jobs', 'remote-ifos'): remote_rds_qscan_node = stfu_pipe.fuRemoteQscanNode( dag, remote_rds_qscan_job, cp, options, event.time, ifo, p_nodes=[rds_qscan_data_find_node, setup_proxy_node], type="rds")
gpsevents = time_only_events(options.gps_times) elif options.input_file: gpsevents = extractTimesFromFile(options.input_file) else: print >> sys.stderr, "an argument is missing in the command:\n You need to use one of the options --gps-times or --input-file" sys.exit(1) for cnt, event in enumerate(gpsevents.events): for ifo in event.ifos_list: if options.verbose: print >>sys.stdout, "following up %s @ %s" % (ifo, event.time) # h(t) QSCAN datafind Nodes ht_qscan_data_find_node = stfu_pipe.fuDataFindNode(dag, q_ht_data_find_job, cp, options, ifo, trigger_time=event.time, qscan=True) # RDS QSCAN datafind Nodes rds_qscan_data_find_node = stfu_pipe.fuDataFindNode(dag,q_rds_data_find_job, cp, options, ifo, trigger_time=event.time, qscan=True, data_type="rds") # h(t) QSCAN Nodes ht_qscan_node = stfu_pipe.fuQscanNode(dag, ht_qscan_job, cp, options, event.time, ifo, ht_qscan_data_find_node.outputFileName, p_nodes=[ht_qscan_data_find_node],type="ht") if cp.has_option('fu-remote-jobs','remote-ifos') and ifo in cp.get('fu-remote-jobs','remote-ifos'): remote_rds_qscan_node = stfu_pipe.fuRemoteQscanNode(dag, remote_rds_qscan_job, cp, options, event.time, ifo, p_nodes=[rds_qscan_data_find_node,setup_proxy_node], type="rds") remote_seis_qscan_node = stfu_pipe.fuRemoteQscanNode(dag, remote_seis_qscan_job, cp, options, event.time, ifo, p_nodes=[rds_qscan_data_find_node,setup_proxy_node], type="seismic") distrib_remote_rds_qscan_node = stfu_pipe.distribRemoteQscanNode(dag, distrib_remote_rds_qscan_job, cp, options, ifo, event.time, p_nodes=[remote_rds_qscan_node,rds_qscan_data_find_node], type="rds") distrib_remote_seis_qscan_node = stfu_pipe.distribRemoteQscanNode(dag, distrib_remote_seis_qscan_job, cp, options, ifo, event.time, p_nodes=[remote_seis_qscan_node,rds_qscan_data_find_node], type="seismic") # write the event info to disk and cache for stfu_page exportGPSEventToDisk(event, search, cnt, dag) #### ALL FINNISH #### default_cp.write() dag.write_all() write_user_info(cp)
#Prepare files for remote scans at Lyon CC... if opts.prepare_scan_ccin2p3 and ifo in cp.get("fu-remote-jobs","remote-ifos").strip().split(","): if times: CCRemoteScans = prepareLyonRemoteScans(cp,ifo,times[0]) else: CCRemoteScans = None for qtime in times: # SETUP DATAFIND JOBS FOR BACKGROUND QSCANS (REGULAR DATA SET) dNode = stfu_pipe.fuDataFindNode(dag,rdsdataJob,cp,opts,ifo,sngl=None,qscan=True,trigger_time=qtime,data_type='rds',p_nodes=[start_node]) # SETUP DATAFIND JOBS FOR BACKGROUND QSCANS (HOFT) dHoftNode = stfu_pipe.fuDataFindNode(dag,htdataJob,cp,opts,ifo,sngl=None,qscan=True,trigger_time=qtime,p_nodes=[start_node]) # SETUP BACKGROUND QSCAN JOBS qHtBgNode = stfu_pipe.fuQscanNode(dag,htQscanBgJob,cp,opts,qtime,ifo,dHoftNode.output_cache.path,p_nodes=[dHoftNode],type="ht",variety="bg") qRdsBgNode = stfu_pipe.fuQscanNode(dag,rdsQscanBgJob,cp,opts,qtime,ifo,dNode.output_cache.path,p_nodes=[dNode],type="rds",variety="bg") qSeisBgNode = stfu_pipe.fuQscanNode(dag,seisQscanBgJob,cp,opts,qtime,ifo,dNode.output_cache.path,p_nodes=[dNode],type="seismic",variety="bg") if opts.prepare_scan_ccin2p3 and ifo in cp.get("fu-remote-jobs","remote-ifos").strip().split(","): if hasattr(qRdsBgNode.output_cache,'__iter__'): dag.output_cache.extend(qRdsBgNode.output_cache) else: dag.output_cache.append(qRdsBgNode.output_cache) if hasattr(qSeisBgNode.output_cache,'__iter__'): dag.output_cache.extend(qSeisBgNode.output_cache) else: dag.output_cache.append(qSeisBgNode.output_cache)
dHoftNode = stfu_pipe.fuDataFindNode(dag, htdataJob, cp, opts, ifo, sngl=None, qscan=True, trigger_time=qtime, p_nodes=[start_node]) # SETUP BACKGROUND QSCAN JOBS qHtBgNode = stfu_pipe.fuQscanNode(dag, htQscanBgJob, cp, opts, qtime, ifo, dHoftNode.output_cache.path, p_nodes=[dHoftNode], type="ht", variety="bg") qRdsBgNode = stfu_pipe.fuQscanNode(dag, rdsQscanBgJob, cp, opts, qtime, ifo, dNode.output_cache.path, p_nodes=[dNode], type="rds", variety="bg")