def get_thinca_livetimes(ring_sets, veto_segments, offset_vectors, verbose = False): # FIXME: somebody should document this livetimes = {} for available_instruments, rings in ring_sets.items(): for on_instruments in (combo for m in range(2, len(available_instruments) + 1) for combo in iterutils.choices(sorted(available_instruments), m)): if verbose: print >>sys.stderr, "%s/%s" % (",".join(on_instruments), ",".join(sorted(available_instruments))), on_instruments = frozenset(on_instruments) if on_instruments not in livetimes: livetimes[on_instruments] = [0.0] * len(offset_vectors) for i, livetime in enumerate(SnglInspiralUtils.compute_thinca_livetime(on_instruments, available_instruments - on_instruments, rings, veto_segments, offset_vectors)): livetimes[on_instruments][i] += livetime return livetimes
def get_thinca_livetimes(ring_sets, veto_segments, offset_vectors, verbose=False): # FIXME: somebody should document this livetimes = {} for available_instruments, rings in ring_sets.items(): for on_instruments in (combo for m in range(2, len(available_instruments) + 1) for combo in iterutils.choices( sorted(available_instruments), m)): if verbose: print >> sys.stderr, "%s/%s" % (",".join( on_instruments), ",".join(sorted(available_instruments))), on_instruments = frozenset(on_instruments) if on_instruments not in livetimes: livetimes[on_instruments] = [0.0] * len(offset_vectors) for i, livetime in enumerate( SnglInspiralUtils.compute_thinca_livetime( on_instruments, available_instruments - on_instruments, rings, veto_segments, offset_vectors)): livetimes[on_instruments][i] += livetime return livetimes