コード例 #1
0
 def calc_delta_t(trigger1_ifo,
                  trigger1_end_time,
                  trigger1_end_time_ns,
                  trigger2_ifo,
                  trigger2_end_time,
                  trigger2_end_time_ns,
                  time_slide_id,
                  rings=rings,
                  offset_vectors=offset_vectors):
     print("calculating delta_t", file=sys.stderr)
     trigger1_true_end_time = dbtables.lsctables.LIGOTimeGPS(
         trigger1_end_time, trigger1_end_time_ns)
     trigger2_true_end_time = dbtables.lsctables.LIGOTimeGPS(
         trigger2_end_time, trigger2_end_time_ns)
     # find the instruments that were on at trigger 1's end time and
     # find the ring that contains this trigger
     try:
         [ring] = [
             segs[segs.find(trigger1_end_time)]
             for segs in rings.values() if trigger1_end_time in segs
         ]
     except ValueError:
         # FIXME THERE SEEMS TO BE A BUG IN  THINCA!  Occasionally thinca records a trigger on the upper boundary
         # of its ring.  This would make it outside the ring which is very problematic.  It needs to be fixed in thinca
         # for now we'll allow the additional check that the other trigger is in the ring and use it.
         print("trigger1 found not on a ring, trying trigger2",
               file=sys.stderr)
         [ring] = [
             segs[segs.find(trigger2_end_time)]
             for segs in rings.values() if trigger2_end_time in segs
         ]
     # now we can unslide the triggers on the ring
     try:
         trigger1_true_end_time = SnglInspiralUtils.slideTimeOnRing(
             trigger1_true_end_time,
             offset_vectors[time_slide_id][trigger1_ifo], ring)
         trigger2_true_end_time = SnglInspiralUtils.slideTimeOnRing(
             trigger2_true_end_time,
             offset_vectors[time_slide_id][trigger2_ifo], ring)
         out = abs(trigger1_true_end_time - trigger2_true_end_time)
         return float(out)
     except:
         print("calc delta t failed", trigger1_true_end_time,
               trigger2_true_end_time, ring)
         return float(
             abs(trigger1_true_end_time - trigger2_true_end_time)) % 1
コード例 #2
0
ファイル: mvsc_get_doubles.py プロジェクト: Solaro/lalsuite
 def calc_delta_t(trigger1_ifo, trigger1_end_time, trigger1_end_time_ns, trigger2_ifo, trigger2_end_time, trigger2_end_time_ns, time_slide_id, rings = rings, offset_vectors = offset_vectors):
   print >>sys.stderr, "calculating delta_t"
   trigger1_true_end_time = dbtables.lsctables.LIGOTimeGPS(trigger1_end_time, trigger1_end_time_ns)
   trigger2_true_end_time = dbtables.lsctables.LIGOTimeGPS(trigger2_end_time, trigger2_end_time_ns)
   # find the instruments that were on at trigger 1's end time and
   # find the ring that contains this trigger
   try:
     [ring] = [segs[segs.find(trigger1_end_time)] for segs in rings.values() if trigger1_end_time in segs]
   except ValueError:
     # FIXME THERE SEEMS TO BE A BUG IN  THINCA!  Occasionally thinca records a trigger on the upper boundary
     # of its ring.  This would make it outside the ring which is very problematic.  It needs to be fixed in thinca
     # for now we'll allow the additional check that the other trigger is in the ring and use it.
       print >>sys.stderr, "trigger1 found not on a ring, trying trigger2"
       [ring] = [segs[segs.find(trigger2_end_time)] for segs in rings.values() if trigger2_end_time in segs]
   # now we can unslide the triggers on the ring
   try:
     trigger1_true_end_time = SnglInspiralUtils.slideTimeOnRing(trigger1_true_end_time, offset_vectors[time_slide_id][trigger1_ifo], ring)
     trigger2_true_end_time = SnglInspiralUtils.slideTimeOnRing(trigger2_true_end_time, offset_vectors[time_slide_id][trigger2_ifo], ring)
     out = abs(trigger1_true_end_time - trigger2_true_end_time)
     return float(out)
   except:
     print "calc delta t failed",trigger1_true_end_time, trigger2_true_end_time, ring
     return float(abs(trigger1_true_end_time - trigger2_true_end_time)) % 1