
| Line: 1 to 1 | ||||||||
|---|---|---|---|---|---|---|---|---|
GROWTH Marshal Scanning Schedule | ||||||||
| Line: 14 to 14 | ||||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
GROWTH Marshal wish list | ||||||||
| Line: 60 to 60 | ||||||||
SEDm TDEs
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 84 to 82 | ||||||||
Low mass host galaxy or orphan TDEs
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 92 to 89 | ||||||||
High mass host galaxy
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 108 to 103 | ||||||||
Large AGN flares / Changing look
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 116 to 110 | ||||||||
TDEs in AGN
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 120 to 114 | ||||||||
| ||||||||
| Deleted: | ||||||||
| < < | ||||||||
High-level Channels for confirmed TDEs | ||||||||
| Deleted: | ||||||||
| < < | Since the detection rate of real TDEs will be modest, the selection of confirmed TDEs with more advanced facilities will likely happen manually via the Marshal. Although it will help to automate the channels below to make sure no events are missed or the follow-up happens even when the PI is offline for a few days. | |||||||
| Added: | ||||||||
| > > | Since the detection rate of real TDEs will be modest, the selection of confirmed TDEs with more advanced facilities will likely happen manually via the Marshal. Although it will help to automate the channels below to make sure no events are missed or the follow-up happens even when the PI is offline for a few days. | |||||||
HST
| ||||||||
| Line: 220 to 208 | ||||||||
| Changed: | ||||||||
| < < | GROWTH Marshal Nuclear Transients Filter (Version updated on Jun 29, 2018)
nuclear = False;
large_amp = False;
extended_host = False;
blue_flare = False;
sgscore = 0;
real = False;
mover = True;
brightstar = False;
positiveflux = False;
host_in_ps1 = False;
hasref = False;
near_bright_star = False;
out_of_plane = False;
bright = False;
adjacent_det = False;
crowded = True;
color = 99.0;
prevCandidates = observation["prv_candidates"];
b_now = observation["candidate"]["fid"];
the_other_band = 3 - b_now;
t_now = observation["candidate"]["jd"];
t_this = -1;
offset = observation["candidate"]["distnr"];
ps1offset = observation["candidate"]["distpsnr1"];
numofsources = observation["candidate"]["nmtchps"];
gal_lat = observation["candidate"]["gal_lat"];
host_mag = observation["candidate"]["magnr"];
m_now = observation["candidate"]["magpsf"];
m_this = -1;
m_max = m_now;
sgscore = observation["candidate"]["sgscore1"];
magnr = observation["candidate"]["magnr"];
distnr = observation["candidate"]["distnr"];
rbscore = observation["candidate"]["rb"];
distpsnr1 = observation["candidate"]["distpsnr1"];
isdiffpos = observation["candidate"]["isdiffpos"];
srmag = observation["candidate"]["srmag1"];
if (sgscore < 0.3) {
extended_host = True;
}
if (gal_lat > 6){
out_of_plane = True;
}
if (numofsources < 40){
crowded = False;
}
if (ps1offset < 1.0){
host_in_ps1 = True;
}
if (rbscore and rbscore > 0.2) {
real = True;
}
if (offset < 0.5) {
nuclear = True;
}
if (magnr and magnr < 15.0 and distnr and distnr < 10) {
brightStar = True;
}
if (distpsnr1 and distpsnr1 > 2) {
near_bright_star = True;
}
if (srmag and srmag > 0) {
hasref = True;
}
if (isdiffpos == "t"
or isdiffpos == "1") {
positiveflux = True;
}
if (prevCandidates) {
for candidate in (prevCandidates) {
if (candidate["magpsf"] and candidate["jd"] and candidate["fid"] and candidate["isdiffpos"] and(candidate["isdiffpos"] == "t"
or candidate["isdiffpos"] == "1")) {
dt = t_now - candidate["jd"];
if (candidate["magpsf"] <=20){
bright = True;
}
if (mover == True and dt > 0.02 and candidate["magpsf"] < 99) {
mover = False;
}
if ((color == 99) and(dt < 2.0) and(candidate["fid"] == the_other_band)) {
if (b_now < the_other_band) {
color = m_now - candidate["magpsf"];
} else {
color = candidate["magpsf"] - m_now;
}
}
dt0 = t_this - candidate["jd"];
if (candidate["magpsf"] < 99) {
if ((adjacent_det == False) and(dt0 > -1.0)) {
adjacent_det = True;
}
if (dt0 < 0){
t_this = candidate["jd"];
m_this = candidate["magpsf"];
}
}
if ((candidate["fid"] == b_now) and(candidate["magpsf"] < m_max)) {
m_max = candidate["magpsf"];
}
}
}
}
if (adjacent_det == False){
if ((t_now - t_this) < 1){
adjacent_det = True;
}
}
if (color < 0) {
blue_flare = True;
annotate "blueflare"
color;
} else {
cont_det = False;
}
if (m_max and m_max > 0 and host_mag and host_mag > 0) {
delm = -2.5 * log10(10 ** (-0.4 * host_mag) + 10 ** (-0.4 * m_max)) - host_mag;
diff_mag = m_max - host_mag;
} else {
delm = -999;
diff_mag = -999;
}
annotate "dm"
delm;
annotate "offset"
offset;
annotate "color"
color;
annotate "sgscore"
sgscore;
annotate "diff_mag"
diff_mag;
annotate "adjacent_det"
adjacent_det; | |||||||
| > > | GROWTH Marshal Nuclear Transients Filter (Version updated on Nov 29, 2018)def compiledFunction(current_observation):
filteron = False
annotations={}
calccount=10000
nuclear = False
large_amp = False
extended_host = False
blue_flare = False
sgscore = 0
real = False
mover = True
brightstar = False
positiveflux = False
host_in_ps1 = False
hasref = False
near_bright_star = False
out_of_plane = False
bright = False
adjacent_det = False
crowded = True
color = 99.0
prevcandidates = current_observation['prv_candidates']
b_now = current_observation['candidate']['fid']
the_other_band = 3 - b_now
t_now = current_observation['candidate']['jd']
t_this = (-1)
offset = current_observation['candidate']['distnr']
ps1offset = current_observation['candidate']['distpsnr1']
numofsources = current_observation['candidate']['nmtchps']
gal_lat = current_observation['candidate']['gal_lat']
host_mag = current_observation['candidate']['magnr']
m_now = current_observation['candidate']['magpsf']
m_this = (-1)
m_max = m_now
sgscore = current_observation['candidate']['sgscore1']
magnr = current_observation['candidate']['magnr']
distnr = current_observation['candidate']['distnr']
rbscore = current_observation['candidate']['rb']
distpsnr1 = current_observation['candidate']['distpsnr1']
isdiffpos = current_observation['candidate']['isdiffpos']
srmag = current_observation['candidate']['srmag1']
if (sgscore < 0.8):
extended_host = True
calccount -= 2
if (math.fabs(gal_lat) > 7):
out_of_plane = True
calccount -= 2
if (numofsources < 40):
crowded = False
calccount -= 2
if (ps1offset < 1.0):
host_in_ps1 = True
calccount -= 2
if (rbscore and rbscore > 0.2):
real = True
calccount -= 2
if (offset < 0.5):
nuclear = True
calccount -= 2
if (magnr and magnr < 15.0 and distnr and distnr < 10):
brightstar = True
calccount -= 2
if (distpsnr1 and distpsnr1 > 2):
near_bright_star = True
calccount -= 2
if (srmag and srmag > 0):
hasref = True
calccount -= 2
if (isdiffpos == 't' or isdiffpos == '1'):
positiveflux = True
calccount -= 2
if (prevcandidates):
for candidate in (prevcandidates):
calccount -= 2
if (candidate['magpsf'] and candidate['jd'] and candidate['fid'] and candidate['isdiffpos'] and (candidate['isdiffpos'] == 't' or candidate['isdiffpos'] == '1')):
dt = t_now - candidate['jd']
if (candidate['magpsf'] <= 20):
bright = True
calccount -= 2
if (mover == True and dt > 0.02 and candidate['magpsf'] < 99):
mover = False
calccount -= 2
if ((color == 99) and (dt < 2.0) and (candidate['fid'] == the_other_band)):
if (b_now < the_other_band):
color = m_now - candidate['magpsf']
calccount -= 2
else:
color = candidate['magpsf'] - m_now
calccount -= 2
calccount -= 3
dt0 = t_this - candidate['jd']
if (candidate['magpsf'] < 99):
if ((adjacent_det == False) and (dt0 > (-1.0))):
adjacent_det = True
calccount -= 2
if (dt0 < 0):
t_this = candidate['jd']
m_this = candidate['magpsf']
calccount -= 3
calccount -= 3
if ((candidate['fid'] == b_now) and (candidate['magpsf'] < m_max)):
m_max = candidate['magpsf']
calccount -= 2
calccount -= 8
if calccount < 0:
break
calccount -= 2
if (adjacent_det == False):
if ((t_now - t_this) < 1):
adjacent_det = True
calccount -= 2
calccount -= 2
if (color < 0):
blue_flare = True
annotations['blueflare'] = color
calccount -= 3
else:
cont_det = False
calccount -= 2
if (m_max and m_max > 0 and host_mag and host_mag > 0):
delm = (-2.5) * math.log10(10 ** ((-0.4) * host_mag) + 10 ** ((-0.4) * m_max)) - host_mag
diff_mag = m_max - host_mag
calccount -= 3
else:
delm = (-999)
diff_mag = (-999)
calccount -= 3
annotations['dm'] = delm
annotations['offset'] = offset
annotations['color'] = color
annotations['sgscore'] = sgscore
annotations['diff_mag'] = diff_mag
annotations['adjacent_det'] = adjacent_det
annotations['gal_lat'] = gal_lat
tde_cand = positiveflux and hasref and real and out_of_plane and nuclear and extended_host and bright and host_in_ps1 and (not brightstar and (not mover and (not near_bright_star and (not crowded))))
filteron = tde_cand
return filteron,annotations | |||||||
| Deleted: | ||||||||
| < < | TDE_cand = positiveflux and hasref and real and nuclear and extended_host and bright and host_in_ps1 and not brightStar and not mover and not near_bright_star and not crowded; filteron TDE_cand; | |||||||
| -- SuviGezari - 17 Jan 2018 | ||||||||