Skip to content

[PWGLF] Fix Omega2012 input subscription#16335

Open
jjh740707-prog wants to merge 1 commit into
AliceO2Group:masterfrom
jjh740707-prog:fix-omega2012-resotracks-input
Open

[PWGLF] Fix Omega2012 input subscription#16335
jjh740707-prog wants to merge 1 commit into
AliceO2Group:masterfrom
jjh740707-prog:fix-omega2012-resotracks-input

Conversation

@jjh740707-prog
Copy link
Copy Markdown

This patch adds ResoTracks as an unused input to Omega2012Analysis::processData.

The table is not used in the analysis logic, but subscribing to it aligns the process signature with the resonance daughter initializer output and avoids DPL input framing issues when running the task with ResoCascades and ResoV0s.

@github-actions github-actions Bot added the pwglf label May 21, 2026
@github-actions github-actions Bot changed the title Fix Omega2012 input subscription [PWGLF] Fix Omega2012 input subscription May 21, 2026
@github-actions
Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 4 warnings, 🔕 3 disabled

@vkucera
Copy link
Copy Markdown
Collaborator

vkucera commented May 22, 2026

@jjh740707-prog Can you please elaborate what kind of "DPL input framing issues" is this fixing?

@vkucera
Copy link
Copy Markdown
Collaborator

vkucera commented May 22, 2026

@jjh740707-prog Please set up your GitHub account such that colleagues can identify you.

@jjh740707-prog
Copy link
Copy Markdown
Author

@vkucera Thanks for asking. I should have described this more clearly.

The issue was not related to the Omega(2012) physics selection itself, but to the DPL input subscription configuration used in the resonance workflow.

In my local workflow, I run

o2-analysis-lf-resonance-module-initializer
o2-analysis-lf-omega2012analysis

with the resonance daughter tables enabled. The initializer produces the daughter tables used by the analysis task, namely:

ResoTracks
ResoCascades
ResoV0s

Before this patch, the task subscribed only to:

ResoCollision
ResoCascades
ResoV0s

through

void processData(const aod::ResoCollision& collision,
aod::ResoCascades const& resocasc,
aod::ResoV0s const& resov0s)

In my local tests, this configuration did not behave consistently when used together with the resonance initializer workflow. The symptoms included DPL/runtime messages such as

"Header is not a DataHeader?"

and the analysis output was not filled correctly in the failing runs.

After comparing with the subscription pattern used in other resonance tasks, I found that explicitly subscribing to ResoTracks resolves the issue by making the task subscribe to the complete set of resonance daughter tables produced by the initializer.

The patch therefore changes the signature to

void processData(const aod::ResoCollision& collision,
aod::ResoTracks const& /resotracks/,
aod::ResoCascades const& resocasc,
aod::ResoV0s const& resov0s)

The ResoTracks table is intentionally unused in the analysis logic. It is added only to ensure the expected DPL input subscription configuration.

The actual Omega(2012) reconstruction remains unchanged: the analysis still uses only ResoCascades and ResoV0s in fill(), so the selection, invariant-mass calculation, and histogram filling logic are unaffected.

After this change, the same local workflow completed successfully, all devices exited with code 0, and the same-event and mixed-event Omega(2012) histograms were filled as expected.

@mjkim525
Copy link
Copy Markdown
Contributor

Hi @jjh740707-prog,

Is there any reason for using o2-analysis-lf-resonance-module-initializer instead of o2-analysis-lf-resonance-initializer?

Also, are these results based on the discussion with @BongHwi, the author?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants