Skip to content

[PWGLF] Add f0(980) scalar-product flow analysis - #18274

Open
syano0822 wants to merge 6 commits into
AliceO2Group:masterfrom
syano0822:f0_v2_OO
Open

syano0822 wants to merge 6 commits into
AliceO2Group:masterfrom
syano0822:f0_v2_OO

Conversation

@syano0822

Copy link
Copy Markdown
Contributor

This PR adds an invariant-mass flow-analysis task for f0(980) candidates reconstructed from pion pairs.

The task provides:

  • unlike-sign and like-sign invariant-mass distributions versus pair transverse momentum and event activity;
  • scalar-product and event-plane numerators using corrected FT0C Q-vectors;
  • three-subevent correlations using FT0C, FT0A, and positive-eta TPC Q-vectors;
  • automatic pp, OO, and pO collision-system identification from GRPLHCIF, with a configurable override;
  • configurable daughter-track, rapidity, and pion PID selections, including separate TPC selections for tracks with and without TOF;
  • event-selection, Q-vector, track-quality, TPC/TOF PID, and centrality QA histograms.

The task is registered as o2-analysis-lf-f0980-flow-sp.

Validation:

  • clang-format --dry-run --Werror PWGLF/Tasks/Resonances/f0980FlowSP.cxx
  • cmake --build . --target O2Physicsexe-analysis-lf-f0980-flow-sp -j10

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

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

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for 9df4587 at 2026-10-13 17:53:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'To reproduce the results below locally, run: '\''aliBuild build O2Physics-code-check -e ALIBUILD_BASE_HASH=upstream/master'\''.'
To reproduce the results below locally, run: 'aliBuild build O2Physics-code-check -e ALIBUILD_BASE_HASH=upstream/master'.
++ echo 'To apply all automatic fixes, add the '\''-e O2PHYSICS_CHECKER_FIX=1'\'' option.'
To apply all automatic fixes, add the '-e O2PHYSICS_CHECKER_FIX=1' option.
++ echo 'See the documentation for more details at: <https://aliceo2group.github.io/analysis-framework/docs/tools/#running-with-o2physics-code-check>.'
See the documentation for more details at: <https://aliceo2group.github.io/analysis-framework/docs/tools/#running-with-o2physics-code-check>.
++ echo 'Found 12 errors and 6 warnings.'
Found 12 errors and 6 warnings.
++ [[ 12 -gt 0 ]]
++ cat /sw/BUILD/5926fc0dc7b54e5a35b5e5578c200f628d49bfaa/O2Physics-code-check/errors.txt
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:13:1: error: included header Multiplicity.h is not used directly [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:24:1: error: included header ASoAHelpers.h is not used directly [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:32:1: error: included header Vector4D.h is not used directly [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:46:24: error: no header providing "ROOT::Math::PxPyPzMVector" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:52:46: error: no header providing "o2::framework::OutputObjHandlingPolicy" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:53:3: error: no header providing "o2::framework::Service" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:103:39: error: no header providing "o2::aod::Collisions" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:110:36: error: no header providing "o2::aod::Tracks" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:110:49: error: no header providing "o2::aod::TracksExtra" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:123:51: error: no header providing "o2::aod::BCsWithTimestamps" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:272:40: error: no header providing "TH1" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:516:10: error: no header providing "size_t" is directly included [misc-include-cleaner,-warnings-as-errors]
++ [[ 6 -gt 0 ]]
++ cat /sw/BUILD/5926fc0dc7b54e5a35b5e5578c200f628d49bfaa/O2Physics-code-check/warnings.txt
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:50:8: warning: constructor does not initialize these fields: ccdb [cppcoreguidelines-pro-type-member-init]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:273:11: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:280:11: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:470:62: warning: forwarding reference parameter 'trackSelect' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:470:88: warning: forwarding reference parameter 'pionSelect' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward]
PWGLF/Tasks/Resonances/f0980FlowSP.cxx:470:111: warning: forwarding reference parameter 'fillPair' is never forwarded inside the function body [cppcoreguidelines-missing-std-forward]
++ [[ 12 -gt 0 ]]
++ exit 1
--

Full log here.

@vkucera vkucera left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @syano0822 , please see my suggestions.
Also, since you are adding a new workflow, please consider addressing the errors and warnings reported by the CI.

Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated
Comment thread PWGLF/Tasks/Resonances/f0980FlowSP.cxx Outdated

auto* grplhcif = ccdb->getForTimeStamp<o2::parameters::GRPLHCIFData>("GLO/Config/GRPLHCIF", bc.timestamp());
if (grplhcif == nullptr) {
LOGF(fatal, "Cannot load GLO/Config/GRPLHCIF for run %d and timestamp %" PRIu64, bc.runNumber(), bc.timestamp());

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, I didn't know about the PRIu64 macro. Thanks!

@syano0822

Copy link
Copy Markdown
Contributor Author

Dear expert,

The merge is blocked due to "build/O2Physics/o2/macOS-arm".

I believe this is not due to this PR.

Satoshi

@vkucera

vkucera commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

Dear expert,

The merge is blocked due to "build/O2Physics/o2/macOS-arm".

I believe this is not due to this PR.

Satoshi

Correct, the failure has been fixed. Now it's a matter of time before the PR is automatically recompiled again.

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