In TNG website, Subhalo Search, when I search information about a galaxy, I can see its merger tree, as the figure shows.
Can I know how do you find every subhalos' merger path like this figure shows? I mean it is very clear to see the relation or connection or branch between subhalos from it. But when I use ill.sublink.loadTree() to return snapshot and subfindID or subhalomass, it cannot distinguish different merger trees. All merger trees are shown at the same time.
If you can distinguish them in website, maybe there is a way to distinguish them in python. But I don't know how.
Best wishes,
Jinning
Dylan Nelson
7 Jan '22
Dear Jinning,
The image you include is indeed of a "full merger tree". This is also the return of loadTree() (unless you specifically request only the MPB or MDB). However, the return from this function is 1D, i.e. you need to use the "Next Progenitor" links to draw the picture above.
If you have a more concrete question, i.e. what you mean by "distinguish different merger trees", then I can try to help more specifically.
I don't know what they mean and I don't know how to use them to draw the 2D picture like the figure above.
Could you tell me how to draw such a picture and choose a galaxy for example?(The picture above is the merger tree of galaxy 422664, can you use this galaxy to make an example?)
Thanks for your time and your help!
Best wishes,
Jinning
Dylan Nelson
7 Jan '22
That is correct, these numbers correspond to the "IDs" of the merger tree. Specifically, the SubhaloID field in SubLink. If you look at that field, you will see similar numbers. The special case of -1 is mentioned in the documentation.
If you subtract from all valid entries the first value of SubhaloID, you will be left with indices into (any field of) the tree you have loaded. This is because SubhaloID is "contiguous within a single tree".
Jinning Liang
8 Jan '22
It works. Thanks for your help!
Ma Hongchuan
26 Apr '22
Can I know how you draw the picture above specifically? Thanks in advance!
Dylan Nelson
26 Apr '22
This picture comes from the interactive merger tree tool. One way to access this is with the little tree icon on the Subhalo Search page.
It requests a sublink/full.json tree from the API, then draws it using d3.js (you can see the source code in your browser).
Ma Hongchuan
26 Apr '22
Thanks! good to know. What also bothers me is that how can I get a single minor tree of the picture above. Like I can get all the SubhaloID of the first group, what should I do next?
Dylan Nelson
26 Apr '22
Yes you can extract a sub-tree from a tree - I would look at the diagram on the documentation page and think about which links you want to follow.
Ma Hongchuan
27 Apr '22
Well, can you break it down? Still a little confused about getting a sub-tree.
What I'm trying to do now is to split a tree into sub-tree, more specifically, to get all the branches so I can use the subtree to study the properties of satellite galaxies.
For example, the first cluster, it has a central, I assume its ID GroupFirstSub[0], and I can get all the satellite ID from GroupFirstSub[0]+1 to GroupFirstSub[1]. put an ID in the loadtree function, you can get its evolution history I assume. But on the Subhalo Search page I notice that every ID in the range(GroupFirstSub[0]+1 ,GroupFirstSub[1]) has a different tree, why is that? Shouldn't they are located on different position of the same sub-tree?
Dylan Nelson
27 Apr '22
The tree of GroupFirstSub[0] (which is Subhalo ID 0) contains the progenitors of that subhalo at earlier snapshots. That is, its direct progenitor and any other subhalos which have merged into those progenitors.
But all the satellites of Halo 0 (Subhalo IDs 1, 2, 3, and so on) still exist at z=0 and so, by definition, have not merged into Subhalo 0. Thus they have separate trees.
Hi!
In TNG website, Subhalo Search, when I search information about a galaxy, I can see its merger tree, as the figure shows.
Can I know how do you find every subhalos' merger path like this figure shows? I mean it is very clear to see the relation or connection or branch between subhalos from it. But when I use ill.sublink.loadTree() to return snapshot and subfindID or subhalomass, it cannot distinguish different merger trees. All merger trees are shown at the same time.
If you can distinguish them in website, maybe there is a way to distinguish them in python. But I don't know how.
Best wishes,
Jinning
Dear Jinning,
The image you include is indeed of a "full merger tree". This is also the return of
loadTree()
(unless you specifically request only the MPB or MDB). However, the return from this function is 1D, i.e. you need to use the "Next Progenitor" links to draw the picture above.If you have a more concrete question, i.e. what you mean by "distinguish different merger trees", then I can try to help more specifically.
Dear Dylan,
Yeah, that's what I meant. I have tried to use Next Progenitor to draw the picture. But it returns a list consist of "-1" and some long numbers.
For example:
That's part of the return.
I don't know what they mean and I don't know how to use them to draw the 2D picture like the figure above.
Could you tell me how to draw such a picture and choose a galaxy for example?(The picture above is the merger tree of galaxy 422664, can you use this galaxy to make an example?)
Thanks for your time and your help!
Best wishes,
Jinning
That is correct, these numbers correspond to the "IDs" of the merger tree. Specifically, the
SubhaloID
field in SubLink. If you look at that field, you will see similar numbers. The special case of-1
is mentioned in the documentation.If you subtract from all valid entries the first value of SubhaloID, you will be left with indices into (any field of) the tree you have loaded. This is because SubhaloID is "contiguous within a single tree".
It works. Thanks for your help!
Can I know how you draw the picture above specifically? Thanks in advance!
This picture comes from the interactive merger tree tool. One way to access this is with the little tree icon on the Subhalo Search page.
It requests a
sublink/full.json
tree from the API, then draws it using d3.js (you can see the source code in your browser).Thanks! good to know. What also bothers me is that how can I get a single minor tree of the picture above. Like I can get all the SubhaloID of the first group, what should I do next?
Yes you can extract a sub-tree from a tree - I would look at the diagram on the documentation page and think about which links you want to follow.
Well, can you break it down? Still a little confused about getting a sub-tree.
What I'm trying to do now is to split a tree into sub-tree, more specifically, to get all the branches so I can use the subtree to study the properties of satellite galaxies.
For example, the first cluster, it has a central, I assume its ID GroupFirstSub[0], and I can get all the satellite ID from GroupFirstSub[0]+1 to GroupFirstSub[1]. put an ID in the loadtree function, you can get its evolution history I assume. But on the Subhalo Search page I notice that every ID in the range(GroupFirstSub[0]+1 ,GroupFirstSub[1]) has a different tree, why is that? Shouldn't they are located on different position of the same sub-tree?
The tree of GroupFirstSub[0] (which is Subhalo ID 0) contains the progenitors of that subhalo at earlier snapshots. That is, its direct progenitor and any other subhalos which have merged into those progenitors.
But all the satellites of Halo 0 (Subhalo IDs 1, 2, 3, and so on) still exist at z=0 and so, by definition, have not merged into Subhalo 0. Thus they have separate trees.
(Trees are by subhalo, not halo).
I hope that helps.