Skip to content

DPL Analysis: Dynamic extraction matchers#15402

Open
aalkin wants to merge 15 commits into
AliceO2Group:devfrom
aalkin:dynamic-extraction-matchers
Open

DPL Analysis: Dynamic extraction matchers#15402
aalkin wants to merge 15 commits into
AliceO2Group:devfrom
aalkin:dynamic-extraction-matchers

Conversation

@aalkin
Copy link
Copy Markdown
Member

@aalkin aalkin commented May 15, 2026

  • Rework workflow option handling (supersedes DPL: streamline option building #15320)
  • Add --aod-origin-replace <newOrigin> workflow option, that is used in adaptAnalysisTask to replace all of the default origins (i.e. AOD) with the new origin - both in inputs (including implicit) and outputs
  • Rework the input extraction, grouping and handling of Spawns/Defines/Builds to account for origin replacement
  • Track the origin replacement using InputSpec/OutputSpec metadata for correct handling by the reader
  • Update the grouping errors to use the actual matcher in the error message
  • Restrict Preslice to only accept tables and not iterators as its template argument (O2Physics PR [Common,PWGDQ,PWGJE,PWGLF] Preslice requires table type rather than iterator type O2Physics#16258)

Using the provided option, the common support tasks, like event selection and track propagation, can be duplicated in the workflow to process separate origin chains.

@aalkin aalkin requested a review from a team as a code owner May 15, 2026 09:30
@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented May 15, 2026

Error while checking build/O2/fullCI_slc9 for 43ea930 at 2026-05-15 16:12:

## sw/BUILD/O2Physics-latest/log
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/mcCollsExtra.cxx:53:27: error: template constraint failure for 'template<class T>  requires  is_table<T> using o2::framework::Preslice = o2::framework::PresliceBase<T, o2::framework::PreslicePolicySorted, false>'
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/mcCollsExtra.cxx:53:63: error: cannot convert 'const o2::framework::expressions::BindingNode' to 'int' in initialization
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/mcCollsExtra.cxx:97:54: error: no matching function for call to 'o2::soa::Join<o2::soa::Table<o2::aod::Hash<3827758336>, o2::aod::Hash<4186066504>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<3988646457>, o2::aod::Hash<3313470560>, o2::aod::Hash<2286545062> > >::sliceBy(int&, int64_t) const'
/sw/slc9_x86-64/O2/slc9_x86-64-slc9_x86-64-local20/include/Framework/StructToTuple.h:141:38: error: static assertion failed: You need to make sure that you have implicit constructors or that you call the explicit constructor correctly.
/sw/slc9_x86-64/GCC-Toolchain/v14.2.0-alice2-1/include/c++/14.2.0/bits/stl_construct.h:115:28: error: no matching function for call to 'construct_at(mcCollisionExtra*&)'
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/Tasks/qaMuon.cxx:281:25: error: template constraint failure for 'template<class T>  requires  is_table<T> using o2::framework::Preslice = o2::framework::PresliceBase<T, o2::framework::PreslicePolicySorted, false>'
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/Tasks/qaMuon.cxx:281:52: error: cannot convert 'const o2::framework::expressions::BindingNode' to 'int' in initialization
/sw/slc9_x86-64/O2/slc9_x86-64-slc9_x86-64-local20/include/Framework/StructToTuple.h:141:38: error: static assertion failed: You need to make sure that you have implicit constructors or that you call the explicit constructor correctly.
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/Tasks/qaMuon.cxx:1618:41: error: no matching function for call to 'o2::soa::Table<o2::aod::Hash<408887460>, o2::aod::Hash<3067181455>, o2::aod::Hash<2286545062> >::sliceBy(int&, int64_t) const'
/sw/slc9_x86-64/GCC-Toolchain/v14.2.0-alice2-1/include/c++/14.2.0/bits/stl_construct.h:115:28: error: no matching function for call to 'construct_at(muonQa*&)'
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/muonRealignment.cxx:107:25: error: template constraint failure for 'template<class T>  requires  is_table<T> using o2::framework::Preslice = o2::framework::PresliceBase<T, o2::framework::PreslicePolicySorted, false>'
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/muonRealignment.cxx:107:52: error: cannot convert 'const o2::framework::expressions::BindingNode' to 'int' in initialization
/sw/SOURCES/O2Physics/slc9_x86-64-slc9_x86-64/0/Common/TableProducer/muonRealignment.cxx:241:47: error: no matching function for call to 'o2::soa::Table<o2::aod::Hash<408887460>, o2::aod::Hash<3067181455>, o2::aod::Hash<2286545062> >::sliceBy(int&, int64_t) const'
/sw/slc9_x86-64/O2/slc9_x86-64-slc9_x86-64-local20/include/Framework/StructToTuple.h:141:38: error: static assertion failed: You need to make sure that you have implicit constructors or that you call the explicit constructor correctly.
/sw/slc9_x86-64/GCC-Toolchain/v14.2.0-alice2-1/include/c++/14.2.0/bits/stl_construct.h:115:28: error: no matching function for call to 'construct_at(MuonRealignment*&)'
CMake Error: Generator: build tool execution failed, command was: /sw/slc9_x86-64/ninja-fortran/fortran-v1.11.1.g9-10/bin/ninja -j24 install

Full log here.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants