-
Notifications
You must be signed in to change notification settings - Fork 622
[PWGHF] Fix unbound index issue in XiC0 tree creator #10710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @Tao-Fang , please stop creating and closing PRs on the same subject. Keep one PR opened and update it if needed. |
|
|
Hi @Tao-Fang, Concerning the content, I see you are trying to workaround the unbound index issue (which prevents from running on the GRID if I remember correctly) by replicating the indexing with a different approach. I'm not sure this will work, since the indexing will be the same for multiple jobs on the GRID, so if your plan is to merge the output the index will not be unique. |
Hello Fabio Thanks for you reply, you are right the indexing will be the same for multiple jobs, and when I do the merge the index will overlap then It can't continue conect event table to collision table. Now I have change the define of HfToXiPiEvBase to INDEX_COLUMN_CUSTOM just like Lc died in DerivedTables.h L166-173, but somehow It will stell overlap when I local test Cheers |
|
Hi @Tao-Fang, AFAIK using I think the approach behind the Lc derived tables is different and they are not meant to be merged. @vkucera can tell you more on this. |
Thank you for your reply. The easiest solution is indeed to store the needed information, and I have tested it locally—it works. Lc adds multiplicity information in DerivedTables.h. Should I add Xic to DerivedTables.h as well? I am not sure because Lc and D+ are three-prong decays. |
|
@Tao-Fang What is done in |
|
Thank you for your patient answer, I just think to add cenrtl directly at the candidate level is easier, now I have update the new code. They tested well locally. |
Please consider the following formatting changes to AliceO2Group#10710
|
Error while checking build/O2Physics/o2 for 86be21a at 2025-04-03 13:15: Full log here. |
fcatalan92
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @Tao-Fang, please do not change 'HfToXiPiEvs' and all the tree creator code. You should just add the information you need to HfToXiPiFulls (for consistency) and HfToXiPiLites.
| DECLARE_SOA_COLUMN(CentFV0A, centFV0A, float); | ||
| DECLARE_SOA_COLUMN(CentFDDM, centFDDM, float); | ||
| DECLARE_SOA_COLUMN(MultZeqNTracksPV, multZeqNTracksPV, float); | ||
| DECLARE_SOA_COLUMN(Centrality, centrality, float); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you just want a specific centrality estimator, please specify this info in the name of the column.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you just want a specific centrality estimator, please specify this info in the name of the column.
For different centrality change different processes to achieve, and a common centrality variable is needed, otherwise, some tables that require centrality are not declared, Like I processes the FT0M the FT0A column will not declared at the table I used
|
Hi @Tao-Fang , I don't see how these extensive changes address the unbound index issue mentioned in the PR title. Can you please clarify your intentions? |
|
My initial idea was to adopt an approach similar to the Lc vs multiplicity analysis, where I added FT0M, Ntrack, and other information into the collision table. Then, I try to use the SliceBy method to linke the collision-level and candidate-leve by rowEv.lastIndex(). However, I encount an issue where merging results caused rowEv.lastIndex() to overlap along the y-axis for different parent datasets (since rowEv.lastIndex() is not unique across parent data). This broken link between the collision and candidate layers. I try to repid what seen in Faced with this challenge, I just change the way, similar to the Ds analysis (treeCreatorDsToKKPi.cxx), where centrality-related information is added directly at the candidate level. If implemented this way, the previous structure such as storing FT0M in the collision table and relying on sliceBy would become useless. Therefore, I go to remove the collision-level FT0M/Ntracks and related sliceBy wich the January code I submissed. |
|
Hi @Tao-Fang , thanks for the clarification.
If just adding the multiplicity/centrality column is fine for you, I would suggest to go with the first solution. |
|
Thank you for your understanding. I am currently using the first solution. Regarding the output functions, on one hand, I added them previously, and I believe that deleting this part will not affect others. On the other hand, I need to clean up this part of the results because if I don’t remove the SOA_COLUMN declarations at the collision level, running a specific centrality process will break due to undefined variables. Moreover, the parts I am deleting were intended for the second structure you mentioned, making them clear. |
| full::McCollisionId, | ||
| collision::NumContrib, | ||
| collision::PosX, | ||
| collision::PosY, | ||
| collision::PosZ, | ||
| full::IsEventReject, | ||
| full::RunNumber, | ||
| full::CentFT0A, | ||
| full::CentFT0C, | ||
| full::CentFT0M, | ||
| full::CentFV0A, | ||
| full::CentFDDM, | ||
| full::MultZeqNTracksPV); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why were all these columns removed from the table?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the part of the structure that I added earlier and wanted to bund central to the collision lever. Of course, it's nice to keep central's information at the collision level. But the problem is that when I choose to run the program in a specific central and want get central info at candidate level (e.g. FT0M it won't find the like FT0A's FT0C Table at collision level), so I just deleted this part
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
No description provided.