I'm writing about a problem that I'm facing while using merger trees to derive the properties of cluster's galaxies at z > 0. In particular, I'm selecting from TNG300 clusters as all halos with GroupMcrit,200 > 1e14 Msun. The galaxies inside the cluster are defined to be those within GroupMcrit,200. For each cluster, I would like to track its galaxies backward, using merger trees.
I think my problem is on the index that I'm putting as an input in il.sublink.loadTree. Here I use an index defined as follows:
cond = SubhaloGrNr == np.unique(SubhaloGrNr)[270] # 270 is, for example, the last cluster found. SubhaloGrNr is red from this function: il.groupcat.loadSubhalos and masks are applied to limit it for galaxies with a mass above a threshold and for the halos defined as clusters
idx = np.where(cond)[0]
Then I select "galaxies" inside the cluster:
cond_mass = subhalo_mass_n6_pc[:,4]>=10**8.5
idx_pc = idx[cond_mass]
idx_inside = idx_pc[distances <= Group_Rcrit200[270]]
At this stage, plotting the coordinates of the galaxies I see them in some position of the box.
Then I use idx_inside as input id for the merger trees:
tree = il.sublink.loadTree(
basePath,
99,
id=idx_inside[i],
onlyMPB=True,
fields=fields
)
But now all the positions, for all the clusters progenitors (not only the 271th), e.g., at snapnum = 91 (but also for lower values) are on the same position in the box of the progenitors of cluster N = 0.
So I think that I'm doing something wrong in using idx_inside as an input index for loadTree. Could you help me figure out what should be the correct way to do this? Thanks a lot!
Hello,
I'm writing about a problem that I'm facing while using merger trees to derive the properties of cluster's galaxies at z > 0. In particular, I'm selecting from TNG300 clusters as all halos with GroupMcrit,200 > 1e14 Msun. The galaxies inside the cluster are defined to be those within GroupMcrit,200. For each cluster, I would like to track its galaxies backward, using merger trees.
I think my problem is on the index that I'm putting as an input in il.sublink.loadTree. Here I use an index defined as follows:
cond = SubhaloGrNr == np.unique(SubhaloGrNr)[270] # 270 is, for example, the last cluster found. SubhaloGrNr is red from this function: il.groupcat.loadSubhalos and masks are applied to limit it for galaxies with a mass above a threshold and for the halos defined as clusters
idx = np.where(cond)[0]
Then I select "galaxies" inside the cluster:
cond_mass = subhalo_mass_n6_pc[:,4]>=10**8.5
idx_pc = idx[cond_mass]
idx_inside = idx_pc[distances <= Group_Rcrit200[270]]
At this stage, plotting the coordinates of the galaxies I see them in some position of the box.
Then I use idx_inside as input id for the merger trees:
But now all the positions, for all the clusters progenitors (not only the 271th), e.g., at snapnum = 91 (but also for lower values) are on the same position in the box of the progenitors of cluster N = 0.
So I think that I'm doing something wrong in using idx_inside as an input index for loadTree. Could you help me figure out what should be the correct way to do this? Thanks a lot!
Never mind, solved!