def extract_flare(obsid_list, times): count = 1 for obs in obsid_list: # Cycles through obsID's binlength = raw_input('Select bin length, (usually 200): ') # Bin set to 200 index1 = (count*2)-2 # Gets the start time index of the obsID index2 = (count*2)-1 # Gets the stop time index of the obsID start = times[index1] # Selects the start and stop times for the obsID being run stop = times[index2] count += 1 # Adds 1 to the count to continue formula ie. obsID number 3 will have count = 3, index1=4, and index2=5 which are its start and stop times in the times list print "Performing dmextract and deflare on obsID %s" % obs dmextract(infile="reprojected_data/%s_background.fits[bin time=%s:%s:%s]" % (obs, start, stop, binlength), outfile='reprojected_data/%s_background.lc' % obs, opt='ltc1', clobber='yes') deflare(infile='reprojected_data/%s_background.lc' % obs, outfile='reprojected_data/%s_bkg_deflare.gti' % obs, method='clean', plot='no', save='reprojected_data/%s_plot' % obs)
def lightcurves_with_exclusion(cluster): for observation in cluster.observations: # data_nosrc_hiEfilter = "{}/acisI_nosrc_fullE.fits".format(obs_analysis_dir) data_nosrc_hiEfilter = "{}/acisI_nosrc_hiEfilter.fits".format(observation.analysis_directory) print("Creating the image with sources removed") data = observation.acis_nosrc_filename image_nosrc = "{}/img_acisI_nosrc_fullE.fits".format(observation.analysis_directory) if io.file_exists(observation.exclude_file): print("Removing sources from event file to be used in lightcurve") infile = "{}[exclude sky=region({})]".format(data_nosrc_hiEfilter, observation.exclude) outfile = "{}/acisI_lcurve.fits".format(observation.analysis_directory) clobber = True rt.dmcopy.punlearn() rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber) data_lcurve = "{}/acisI_lcurve.fits".format(observation.analysis_directory) else: yes_or_no = io.check_yes_no( "Are there sources to be excluded from observation {} while making the lightcurve? ".format(observation.id)) if yes_or_no: # yes_or_no == True print("Create the a region file with the region to be excluded and save it as {}".format(observation.exclude_file)) else: data_lcurve = data_nosrc_hiEfilter backbin = 259.28 echo = True tstart = rt.dmkeypar(infile=data_nosrc_hiEfilter, keyword="TSTART", echo=echo) tstop = rt.dmkeypar(infile=data_nosrc_hiEfilter, keyword="TSTOP", echo=echo) print("Creating lightcurve from the events list with dmextract") infile = "{}[bin time={}:{}:{}]".format(data_lcurve, tstart, tstop, backbin) outfile = "{}/acisI_lcurve.lc".format(observation.analysis_directory) opt = "ltc1" rt.dmextract.punlearn() rt.dmextract(infile=infile, outfile=outfile, opt=opt, clobber=clobber) lcurve = outfile print("Cleaning the lightcurve by removing flares with deflare. Press enter to continue.") rt.deflare.punlearn() infile = lcurve outfile = "{}/acisI_gti.gti".format(observation.analysis_directory) method = "clean" save = "{}/acisI_lcurve".format(observation.analysis_directory) rt.deflare(infile=infile, outfile=outfile, method=method, save=save) gti = outfile print("filtering the event list using GTI info just obtained.") infile = "{}[@{}]".format(data_nosrc_hiEfilter, gti) outfile = observation.clean clobber = True rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber) data_clean = outfile print("Don't forget to check the light curves!")
def generate_light_curve(observation): # filter out high energy background flares obsid_analysis_dir = observation.analysis_directory data = observation.acis_nosrc_filename background = observation.background_nosrc_filename infile = "{}[energy=9000:12000]".format(data) outfile = "{}/acisI_hiE.fits".format(obsid_analysis_dir) clobber = True rt.dmcopy.punlearn() rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber) data_hiE = outfile infile = "{}[bin sky=8]".format(data_hiE) outfile = "{}/img_acisI_hiE.fits".format(obsid_analysis_dir) rt.dmcopy.punlearn() rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber) backbin = 259.28 echo = True tstart = rt.dmkeypar(infile=data_hiE, keyword="TSTART", echo=echo) tstop = rt.dmkeypar(infile=data_hiE, keyword="TSTOP", echo=echo) print("Creating a lightcurve from the high energy events list with dmextract") rt.dmextract.punlearn() infile = "{}[bin time={}:{}:{}]".format(data_hiE, tstart, tstop, backbin) outfile = "{}/acisI_lcurve_hiE.lc".format(obsid_analysis_dir) print('Running dmextract infile={} outfile={} opt=ltc1 clobber=True'.format(infile, outfile)) rt.dmextract(infile=infile, outfile=outfile, opt='ltc1', clobber=True) lcurve_hiE = outfile print("cleaning the lightcurve for {}, press enter to continue.".format(observation.id)) rt.deflare.punlearn() outfile = "{}/acisI_gti_hiE.gti".format(obsid_analysis_dir) method = "clean" save = "{}/acisI_lcurve_hiE".format(obsid_analysis_dir) rt.deflare(infile=lcurve_hiE, outfile=outfile, method=method, save=save) gti_hiE = outfile print("Filtering the event list using GTI info from high energy flares.") infile = "{}[@{}]".format(data, gti_hiE) outfile = "{}/acisI_nosrc_hiEfilter.fits".format(obsid_analysis_dir) print("running: dmcopy infile={} outfile={} clobber={}".format(infile, outfile, clobber)) rt.dmcopy.punlearn() rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber) data_nosrc_hiEfilter = outfile infile = "{}[bin sky=8]".format(data_nosrc_hiEfilter) outfile = "{}/img_acisI_nosrc_fullE.fits".format(obsid_analysis_dir) rt.dmcopy.punlearn() rt.dmcopy(infile=infile, outfile=outfile, clobber=clobber)