def _list_crossmatch(<EOL>self,<EOL>dbRows):
self.log.debug('<STR_LIT>')<EOL>dbRas = []<EOL>dbRas[:] = [d[self.raCol] for d in dbRows]<EOL>dbDecs = []<EOL>dbDecs[:] = [d[self.decCol] for d in dbRows]<EOL>mesh = HTM(<EOL>depth=<NUM_LIT:12>,<EOL>log=self.log<EOL>)<EOL>if self.closest:<EOL><INDENT>maxmatch = <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>maxmatch = <NUM_LIT:0><EOL><DEDENT>matchIndices1, matchIndices2, seps = mesh.match(<EOL>ra1=self.ra,<EOL>dec1=self.dec,<EOL>ra2=np.array(dbRas),<EOL>dec2=np.array(dbDecs),<EOL>radius=float(self.radius / (<NUM_LIT> * <NUM_LIT>)),<EOL>maxmatch=maxmatch  <EOL>)<EOL>matches = []<EOL>for m1, m2, s in zip(matchIndices1, matchIndices2, seps):<EOL><INDENT>if self.separations:<EOL><INDENT>dbRows[m2]["<STR_LIT>"] = s * (<NUM_LIT> * <NUM_LIT>)<EOL><DEDENT>matches.append(dbRows[m2])<EOL><DEDENT>self.log.debug('<STR_LIT>')<EOL>return matchIndices1, matches<EOL>
*to a finer grain crossmatch of the input coordinates and the database results.*

        **Key Arguments:**
            - ``dbRows`` -- the rows return from the database on first crossmatch pass.

        **Return:**
            - ``matchIndices1`` -- indices of the coordinate in the original ra and dec lists
            - ``matches`` -- the matched database rows