On request of one of our users, we now added a new column to each Rockstar catalogue: the
This id is used to indicate which merger trees (identified by their treeRootId) have “crossed” during their history, interchanging halos in between, i.e. halos can have a host or a descendant in another tree. Thus, in order to get the full merger information (the “forest”) with all possible halos involved, one needs to query for the common forestId.
Here’s an example:
SELECT treeRootId, forestId, rockstarId, scale, descId, pId, upId, Mvir, x, y, z FROM MDPL2.Rockstar WHERE forestId = 12568649357 ORDER BY treeRootId, scale
This query retrieves all halos with the same
forestId and sorts them by their treeRootId (the merger tree) and by time (scale). We have added database indizeson the
treeRootId in order to make queries for these columns much faster, so the query above only takes a few seconds.
Plotting the resulting rows with TOPCAT (using SAMP, see Topcat and SAMP for general instructions how to do this) in a 3D coordinate system, we can get the image on the left.
This shows the 3D positions (x,y,z) of all the halos in the forest. There are two distinct merger trees, indicated by different markers and enclosed by the blue and green circles. The circle’s size represents roughly the mass of the halos at each timestep. Both merger trees (actually, it’s just one line here because we picked on of the smallest for this example) cross at some timestep, which is the reason why they were assigned the same forestId.
The image on the right side is another example, from MDR1.Rockstar: each dot represents a dark matter halo from the same forest, the different merger trees (halos with the same treeRootId) are marked with different colors.
The corresponding SQL query to get these halos is:
SELECT treeRootId, forestId, scale, Mvir, x, y, z FROM MDR1.Rockstar WHERE forestId = 789412595 ORDER BY treeRootId, scale