def check_g_RA_dec(detectors): """ Create a figure to plot the RA dec component of the amplitude-maximized amplitude-averaged metric. """ dRA = 2 * pi / 200 ddec = pi / 200 RA, dec = scipy.mgrid[-pi + dRA:pi:dRA, -pi / 2:pi / 2 + ddec:ddec] A, B, C, D = metric.maximum_likelihood_matrix(RA, dec, detectors) z0 = [] z1 = [] z2 = [] z3 = [] Fderivs = True for detector1 in detectors: I_n1 = detector1.I_n fp1 = metric.Fp(RA, dec, detector1) fx1 = metric.Fx(RA, dec, detector1) if Fderivs: dfp_dRA1 = metric.dFp_dRA(RA, dec, detector1) dfx_dRA1 = metric.dFx_dRA(RA, dec, detector1) dfp_ddec1 = metric.dFp_ddec(RA, dec, detector1) dfx_ddec1 = metric.dFx_ddec(RA, dec, detector1) drn_dRA1 = metric.drn_dRA(RA, dec, detector1) drn_ddec1 = metric.drn_ddec(RA, dec, detector1) z0.append((B * fp1 * fp1 + A * fx1 * fx1 - 2 * C * fp1 * fx1) / D * I_n1['-1'] * (-2 * pi * drn_dRA1) * (-2 * pi * drn_ddec1)) if Fderivs: z1.append((B*dfp_dRA1*dfp_ddec1+A*dfx_dRA1*dfx_ddec1-C*dfp_dRA1*dfx_ddec1-C*dfx_dRA1*dfp_ddec1)/D \ *I_n1['-7']) z2.append([]) z3.append([]) for detector2 in detectors: I_n2 = detector2.I_n fp2 = metric.Fp(RA, dec, detector2) fx2 = metric.Fx(RA, dec, detector2) if Fderivs: dfp_ddec2 = metric.dFp_ddec(RA, dec, detector2) dfx_ddec2 = metric.dFx_ddec(RA, dec, detector2) drn_ddec2 = metric.drn_ddec(RA, dec, detector2) pre = B * fp1 * fp2 + A * fx1 * fx2 - C * fp1 * fx2 - C * fx1 * fp2 z2[-1].append(pre*(B*fp1*fp2+A*fx1*fx2-C*fp1*fx2-C*fx1*fp2)/D**2 \ *I_n1['-4']*I_n2['-4']*(-2*pi*drn_dRA1)*(-2*pi*drn_ddec2)) if Fderivs: z3[-1].append(pre*(B*dfp_dRA1*dfp_ddec2+A*dfx_dRA1*dfx_ddec2-C*dfp_dRA1*dfx_ddec2-C*dfx_dRA1*dfp_ddec2)/D**2 \ *I_n1['-7']*I_n2['-7']) plot_metric_component_pieces(RA, dec, z0, z1, z2, z3)
def check_g_RA_dec(detectors): """ Create a figure to plot the RA dec component of the amplitude-maximized amplitude-averaged metric. """ dRA = 2*pi/200 ddec = pi/200 RA,dec = scipy.mgrid[-pi+dRA:pi:dRA, -pi/2:pi/2+ddec:ddec] A,B,C,D = metric.maximum_likelihood_matrix(RA, dec, detectors) z0 = [] z1 = [] z2 = [] z3 = [] Fderivs = True for detector1 in detectors: I_n1 = detector1.I_n fp1 = metric.Fp(RA, dec, detector1) fx1 = metric.Fx(RA, dec, detector1) if Fderivs: dfp_dRA1 = metric.dFp_dRA(RA, dec, detector1) dfx_dRA1 = metric.dFx_dRA(RA, dec, detector1) dfp_ddec1 = metric.dFp_ddec(RA, dec, detector1) dfx_ddec1 = metric.dFx_ddec(RA, dec, detector1) drn_dRA1 = metric.drn_dRA(RA, dec, detector1) drn_ddec1 = metric.drn_ddec(RA, dec, detector1) z0.append((B*fp1*fp1+A*fx1*fx1-2*C*fp1*fx1)/D*I_n1['-1']*(-2*pi*drn_dRA1)*(-2*pi*drn_ddec1)) if Fderivs: z1.append((B*dfp_dRA1*dfp_ddec1+A*dfx_dRA1*dfx_ddec1-C*dfp_dRA1*dfx_ddec1-C*dfx_dRA1*dfp_ddec1)/D \ *I_n1['-7']) z2.append([]) z3.append([]) for detector2 in detectors: I_n2 = detector2.I_n fp2 = metric.Fp(RA, dec, detector2) fx2 = metric.Fx(RA, dec, detector2) if Fderivs: dfp_ddec2 = metric.dFp_ddec(RA, dec, detector2) dfx_ddec2 = metric.dFx_ddec(RA, dec, detector2) drn_ddec2 = metric.drn_ddec(RA, dec, detector2) pre = B*fp1*fp2+A*fx1*fx2-C*fp1*fx2-C*fx1*fp2 z2[-1].append(pre*(B*fp1*fp2+A*fx1*fx2-C*fp1*fx2-C*fx1*fp2)/D**2 \ *I_n1['-4']*I_n2['-4']*(-2*pi*drn_dRA1)*(-2*pi*drn_ddec2)) if Fderivs: z3[-1].append(pre*(B*dfp_dRA1*dfp_ddec2+A*dfx_dRA1*dfx_ddec2-C*dfp_dRA1*dfx_ddec2-C*dfx_dRA1*dfp_ddec2)/D**2 \ *I_n1['-7']*I_n2['-7']) plot_metric_component_pieces(RA, dec, z0, z1, z2, z3)
def check_toa(detectors): """ Create a figure to plot the times of arrival of a GW signal as a function of sky location. """ fig = pylab.figure(figsize=(6, 6)) dRA = 2 * pi / 200 ddec = pi / 200 RAs, decs = scipy.mgrid[-pi + dRA:pi:dRA, -pi / 2:pi / 2 + ddec:ddec] for idx, detector in enumerate(detectors): ax = fig.add_axes(boundingbox(len(detectors), 3, idx + 1, 1)) m = mollwiede_map(ax) levels = 20 z = metric.rn(RAs, decs, detector) x, y = m(RAs * 180. / pi, decs * 180. / pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\vec{r_{\rm %s}} \cdot \hat{n}$' % (detector.name)) ax = fig.add_axes(boundingbox(len(detectors), 3, idx + 1, 2)) m = mollwiede_map(ax) levels = 20 z = metric.drn_dRA(RAs, decs, detector) x, y = m(RAs * 180. / pi, decs * 180. / pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\partial_\alpha (\vec{r_{\rm %s}} \cdot \hat{n})$' % (detector.name)) ax = fig.add_axes(boundingbox(len(detectors), 3, idx + 1, 3)) m = mollwiede_map(ax) levels = 20 z = metric.drn_ddec(RAs, decs, detector) x, y = m(RAs * 180. / pi, decs * 180. / pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\partial_\delta (\vec{r_{\rm %s}} \cdot \hat{n})$' % (detector.name))
def check_toa(detectors): """ Create a figure to plot the times of arrival of a GW signal as a function of sky location. """ fig = pylab.figure(figsize=(6,6)) dRA = 2*pi/200 ddec = pi/200 RAs,decs = scipy.mgrid[-pi+dRA:pi:dRA, -pi/2:pi/2+ddec:ddec] for idx,detector in enumerate(detectors): ax = fig.add_axes(boundingbox(len(detectors),3,idx+1,1)) m = mollwiede_map(ax) levels = 20 z = metric.rn(RAs, decs, detector) x, y = m(RAs*180./pi, decs*180./pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\vec{r_{\rm %s}} \cdot \hat{n}$'%(detector.name)) ax = fig.add_axes(boundingbox(len(detectors),3,idx+1,2)) m = mollwiede_map(ax) levels = 20 z = metric.drn_dRA(RAs, decs, detector) x, y = m(RAs*180./pi, decs*180./pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\partial_\alpha (\vec{r_{\rm %s}} \cdot \hat{n})$'%(detector.name)) ax = fig.add_axes(boundingbox(len(detectors),3,idx+1,3)) m = mollwiede_map(ax) levels = 20 z = metric.drn_ddec(RAs, decs, detector) x, y = m(RAs*180./pi, decs*180./pi) CS = m.contour(x, y, z, levels) plot_arms(m, [detector]) ax.set_title(r'$\partial_\delta (\vec{r_{\rm %s}} \cdot \hat{n})$'%(detector.name))