Pick[minimus, UnitStep[min + emin - minimus[[;; , 2]]], 1]
or a pure function that does the same thing:
pF = Pick[#, UnitStep[#2 + #3 - #[[;; , 2]]], 1] &;
Examples:
min = RandomReal[{0, 0.5}, 10^6];
emin = RandomReal[{0, 0.5}, 10^6];
minimus = RandomReal[{0, 1}, {10^6, 2}];
p1 = pF[minimus, min, emin]; // AbsoluteTiming // First
0.059911
p2 = Pick[minimus, Thread[minimus[[;; , 2]] < (min + emin)]]; //
AbsoluteTiming // First
0.988790
p3 = First@Transpose@Select[Transpose@{minimus, min, emin},
#[[1, 2]] < (#[[2]] + #[[3]]) &]; // AbsoluteTiming // First
2.497177
p1 == p2 == p3
True
Update: A variation suggested by @ciao in the comments is faster for large lists:
pFx = With[{tot = #2 + #3}, Pick[#, UnitStep[Subtract[tot, Transpose[#][[2]]]], 1]] &;
min = RandomReal[{0, 0.5}, 10^7];
emin = RandomReal[{0, 0.5}, 10^7];
minimus = RandomReal[{0, 1}, {10^7, 2}];
p1 = pF[minimus, min, emin]; // AbsoluteTiming // First
0.555083
p1x = pFx[minimus, min, emin]; // AbsoluteTiming // First
0.461842
p1x == p1
True
Function[{x}, Select[minimus[[x]], #1[[2]] < (min[[x]] + emin[[x]]) &] & /@ Range@Length@minimus
. Or justTable[Select[minimus[[x]], #1[[2]] < (min[[x]] + emin[[x]]) &], {x, Length@minimus}]
. $\endgroup$Select[minimus[[6]]...
is selecting from two values, you sure ties is correct? See my answer if you need another thing. $\endgroup$