Skip to content

[PWGDQ] Add post-prefilter single-track QA task and fill electron-leg DCA for electron-muon pairs - #17254

Open
Shunsuke-Kurita wants to merge 33 commits into
AliceO2Group:masterfrom
Shunsuke-Kurita:post-prefilter-singletrack-QA
Open

[PWGDQ] Add post-prefilter single-track QA task and fill electron-leg DCA for electron-muon pairs#17254
Shunsuke-Kurita wants to merge 33 commits into
AliceO2Group:masterfrom
Shunsuke-Kurita:post-prefilter-singletrack-QA

Conversation

@Shunsuke-Kurita

Copy link
Copy Markdown
Contributor

This PR adds two small, related extensions for prefilter-aware analysis in the DQ framework.

1. New task AnalysisPostPrefilterTrackSelection in dqEfficiency_withAssoc.cxx

The new task joins ReducedTracksAssoc with the BarrelTrackCuts andPrefilter decisions and fills track-level histogram classes for both surviving(TrackBarrelPostPrefilter_<cut>) and vetoed (TrackBarrelPrefilterVetoed_<cut>) tracks,per track cut and per MC signal.

Use cases:

  • direct MC measurement of the photonic electron tagging efficiency, eps_eff = vetoed / (vetoed + survived), per pT bin, needed for residual photonic background corrections;
  • post-prefilter per-origin DCA templates for HF-electron template fits (removes the pre/post-prefilter mismatch of the photonic template);
  • general prefilter QA at the single-track level.

Implementation notes:

  • The prefilter bit positions are resolved from the track-selection cut list viagetTaskOptionValue, in the same way as in AnalysisPrefilterSelection.
  • processSkimmed, processSkimmedWithCov and processDummy process functions are provided; the task is off by default (processDummy) and does not affect existingworkflows.

2. Fill electron-leg DCA variables in FillPair for kElectronMuon pairs

VarManager::FillPair fills the leg DCA variables (kDCAxy1/kDCAz1) only for kDecayToEE. This PR fills them also for kElectronMuon (barrel electron leg), guarded by the ReducedTrackBarrel fill map, so that electron-muon pairing tasks can book leg-DCA histograms (e.g. electron pT vs DCAxy for HF-electron studies with the muon condition applied). Not filled in FillPairME, since the mixed-event barrel track type carries no DCA columns (noted in a comment).

Shunsuke-Kurita and others added 30 commits December 21, 2023 14:29
Shunsuke-Kurita and others added 3 commits July 25, 2026 01:09
…y_withAssoc

AnalysisTrackSelection runs before AnalysisPrefilterSelection, so the effect
of the conversion-prefilter veto cannot be inspected at the single-track level
anywhere in the workflow (the only prefilter-aware consumers are the pairing
tasks). The new AnalysisPostPrefilterTrackSelection task joins the
track-collision associations with both the BarrelTrackCuts and the Prefilter
decisions and fills track-level histograms, separately for tracks surviving
the prefilter veto and for vetoed tracks, per track cut and per MC signal.

Use cases: post-prefilter per-origin DCA templates for HF-electron template
fits, MC measurement of the photonic-electron tagging efficiency
(vetoed / (vetoed + survived)), and track-level prefilter QA.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

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

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for 6db7649 at 2026-07-29 16:29:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'Found 61 errors and 0 warnings.'
Found 61 errors and 0 warnings.
++ [[ 61 -gt 0 ]]
++ cat /sw/BUILD/20f005e69da19282fabf65f07892576b709f881b/O2Physics-code-check/errors.txt
PWGDQ/Core/VarManager.h:1205:10: error: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1206:10: error: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1566:10: error: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1570:10: error: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1801:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1820:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1876:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1900:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1924:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1950:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:1963:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2630:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2766:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2782:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2806:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2852:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2872:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:2930:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3363:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3397:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3425:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3457:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3491:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3545:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3641:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3666:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3941:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:3999:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4051:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4110:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4184:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4436:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4506:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4681:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:4771:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5168:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5229:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5452:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5716:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5821:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:5917:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
PWGDQ/Core/VarManager.h:6025:14: error: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay,-warnings-as-errors]
[0 more errors; see full log]

Full log here.

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.

2 participants