def tic_xmatch(<EOL>ra,<EOL>decl,<EOL>radius_arcsec=<NUM_LIT>,<EOL>apiversion='<STR_LIT>',<EOL>forcefetch=False,<EOL>cachedir='<STR_LIT>',<EOL>verbose=True,<EOL>timeout=<NUM_LIT>,<EOL>refresh=<NUM_LIT>,<EOL>maxtimeout=<NUM_LIT>,<EOL>maxtries=<NUM_LIT:3>,<EOL>jitter=<NUM_LIT>,<EOL>raiseonfail=False<EOL>):
service = '<STR_LIT>'<EOL>xmatch_input = {'<STR_LIT>':[{'<STR_LIT:name>':'<STR_LIT>','<STR_LIT:type>':'<STR_LIT:float>'},<EOL>{'<STR_LIT:name>':'<STR_LIT>','<STR_LIT:type>':'<STR_LIT:float>'}]}<EOL>xmatch_input['<STR_LIT:data>'] = [{'<STR_LIT>':x, '<STR_LIT>':y} for (x,y) in zip(ra, decl)]<EOL>params = {'<STR_LIT>':'<STR_LIT>',<EOL>'<STR_LIT>':'<STR_LIT>',<EOL>'<STR_LIT>':radius_arcsec/<NUM_LIT>}<EOL>return mast_query(service,<EOL>params,<EOL>data=xmatch_input,<EOL>jitter=jitter,<EOL>apiversion=apiversion,<EOL>forcefetch=forcefetch,<EOL>cachedir=cachedir,<EOL>verbose=verbose,<EOL>timeout=timeout,<EOL>refresh=refresh,<EOL>maxtimeout=maxtimeout,<EOL>maxtries=maxtries,<EOL>raiseonfail=raiseonfail)<EOL>
This does a cross-match with TIC.

    Parameters
    ----------

    ra,decl : np.arrays or lists of floats
        The coordinates that will be cross-matched against the TIC.

    radius_arcsec : float
        The cross-match radius in arcseconds.

    apiversion : str
        The API version of the MAST service to use. This sets the URL that this
        function will call, using `apiversion` as key into the `MAST_URLS` dict
        above.

    forcefetch : bool
        If this is True, the query will be retried even if cached results for
        it exist.

    cachedir : str
        This points to the directory where results will be downloaded.

    verbose : bool
        If True, will indicate progress and warn of any issues.

    timeout : float
        This sets the amount of time in seconds to wait for the service to
        respond to our initial request.

    refresh : float
        This sets the amount of time in seconds to wait before checking if the
        result file is available. If the results file isn't available after
        `refresh` seconds have elapsed, the function will wait for `refresh`
        seconds continuously, until `maxtimeout` is reached or the results file
        becomes available.

    maxtimeout : float
        The maximum amount of time in seconds to wait for a result to become
        available after submitting our query request.

    maxtries : int
        The maximum number of tries (across all mirrors tried) to make to either
        submit the request or download the results, before giving up.

    jitter : float
        This is used to control the scale of the random wait in seconds before
        starting the query. Useful in parallelized situations.

    raiseonfail : bool
        If this is True, the function will raise an Exception if something goes
        wrong, instead of returning None.

    Returns
    -------

    dict
        This returns a dict of the following form::

            {'params':dict of the input params used for the query,
             'provenance':'cache' or 'new download',
             'result':path to the file on disk with the downloaded data table}