Difference: AMPELChannels (14 vs. 15)

Revision 152018-11-29 - SjoertVanVelzen

Line: 1 to 1
 
META TOPICPARENT name="AGNTDEWorkingGroup"

GROWTH Marshal Scanning Schedule

Line: 14 to 14
 
  • after you save alerts, click on their pages, and make a brief summary of what they are in your scanning report. "blue rising transient", "broad-line QSO", "red, fading transient", etc.
  • make sure you are searching 24 hours of alerts, and that you are looking at "nuclear transients" only, and that you select the correct pull-down menu for "nuclear transients" when you "save" and "remove"
Changed:
<
<
  • should we add a requirement for 3 consecutive detections, at least one < 20 mag.
>
>
  • should we add a requirement for 3 consecutive detections, at least one < 20 mag.
 

GROWTH Marshal wish list

Line: 60 to 60
 

SEDm TDEs

  • Steward: Tiara
Changed:
<
<
  • Goal: Early follow-up with moderate contamination, complete for m_g<18.5
>
>
  • Goal: Early follow-up with moderate contamination, complete for m_g<18.5
 
  • Description: Strict TDE selection; similar to iPTF search.
  • Facilities: SEDm
  • Code: inside the Marshal, also see code below (might be replaced by Ampel filter once the Marshal accepts auto uploads).
Line: 84 to 82
 

Low mass host galaxy or orphan TDEs

  • Steward: Sjoert
  • Goal: Make sure TDEs in low mass galaxies are not missed (eg, because galaxy center is harder to measure).
Changed:
<
<
  • Description: Blue and constant color. Orphan flare or host galaxy mass < 1e10 Msun. Less strict requirement on offset from host (eg, 1").
>
>
  • Description: Blue and constant color. Orphan flare or host galaxy mass < 1e10 Msun. Less strict requirement on offset from host (eg, 1").
 
  • Facilities: Swift, optical spectroscopy
  • Code: not yet, we first need PS1 photoz T2 module
Line: 92 to 89
 

High mass host galaxy

  • Steward: Sjoert
  • Goal: Find more sources like ASASSN-15lh
Changed:
<
<
  • Description: Host galaxy mass >1e11 and nuclear flare
>
>
  • Description: Host galaxy mass >1e11 and nuclear flare
 
  • Facilities: Get optical spectrum
  • Code: not yet, we first need PS1 photoz T2 module
Line: 108 to 103
 

Large AGN flares / Changing look

  • Steward: Sara
  • Goal: Find extreme AGN
Changed:
<
<
  • Description: AGN with spectrum and very large amplitude (delta m>1)
>
>
  • Description: AGN with spectrum and very large amplitude (delta m>1)
 
  • Facilities: Swift?
  • Code: Ampel
Line: 116 to 110
 

TDEs in AGN

  • Steward: Sara & Sjoert ?
  • Goal: Try to find TDEs in AGN
Changed:
<
<
  • Description: AGN and large flare and BH mass < 1e8 and photometric TDE properties
>
>
  • Description: AGN and large flare and BH mass < 1e8 and photometric TDE properties
 
  • Facilities: depends on how bright the AGN is
  • Code: not yet, first need to make AGN flares
Line: 120 to 114
 
  • Facilities: depends on how bright the AGN is
  • Code: not yet, first need to make AGN flares
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

  • Steward: Brad
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

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback