Align and merge event files from different OBSIDs

Any two Chandra observations will generally use different X/Y sky coordinate systems, even if the nominal pointing of the observatory was the same. Before merging two observations one must convert the event positions of one observation to the coordinate system used by the other.
IF you trust the offset and roll accuracy of the coordinate systems supplied by the pipelines, then this is a simple offset calculation which is independent of the data (i.e. it can be done even if you have no point sources). The CXC plans to release a tool for this, dmreproject, eventually. In the mean time you might do something in IDL like is done in reproject_event_files.pro, which unfortunately doesn't preserve the FITS headers perfectly.

However, in general one will want to use a set of source positions from the two observations to derive a least-squares coordinate transformation. The IDL program register_frames.pro will do this.

Use Scott Koch's Perl script coordshift.pl to apply the transformation to the skew event list. Once the alignment is made and confirmed, the datasets can be merged with dmmerge.

One should think carefully about any further analysis done with such a multi-obsid dataset. Exposure maps must be combined (somehow). You can no longer simply call mkrmf to get a response matrix since a given region on the sky will, in general, have fallen on different detector regions in the two observations. In general, when you run any CIAO tool on the combined dataset, consider what FITS keywords the tool may be consulting and consider whether those keyword values make sense for the combined dataset.
A convenient display for testing the result is to show one image in contours on the other shown as an image. P. Broos informs us of several methods for doing this: FTOOL fv, H. Ebeling's IDL routine /bulk/pkg/asc/ebeling/imcont.pro and imcont2.pro, IDL's intrinsic routine IMAGE_CONT, and TARA's Event Browser's dataset 2d Tool .