1. A method, comprising: generating a first set of one or more soft detector outputs, including by: using at least a first detector to generate the first set of soft detector outputs; multiplying the output of the first detector by (1−γ 1 ) to produce a first product; multiplying the output of a second detector by γ 1 to produce a second product, wherein γ 1 is in the range of [0,1] and the second detector includes a least squares soft output Viterbi detector; and summing the first product and the second product; and using an error correction decoder to determine if error correction decoding is successful using the first set of soft detector outputs; and in the event it is determined error correction decoding is not successful, generating a second set of one or more soft detector outputs, including by: using at least the first detector and the second detector to generate the second set of soft detector outputs; multiplying the output of the first detector by (1−γ 2 ) to produce a third product; multiplying the output of the second detector by γ 2 to produce a fourth product, wherein γ 2 is in the range of [0,1] and γ 1 <γ 2 ; and summing the third product and the fourth product, wherein: the first set of one or more soft detector outputs includes one or more likelihoods; the second set of one or more soft detector outputs includes one or more likelihoods; and the largest likelihood associated with the first set of soft detector outputs is greater than the largest likelihood associated with the second set of soft detector outputs.