From 3380524fe69315c0b3dae1809a9d52e76c462162 Mon Sep 17 00:00:00 2001 From: nzardosh Date: Wed, 16 Sep 2026 12:55:27 +0200 Subject: [PATCH 1/2] additions for embedding --- Framework/Core/include/Framework/ASoA.h | 8 ++++++-- Framework/Core/include/Framework/AnalysisDataModel.h | 9 +++++++++ Framework/TestWorkflows/src/o2TestHistograms.cxx | 1 - Framework/TestWorkflows/src/o2TestMultisource.cxx | 1 - 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Framework/Core/include/Framework/ASoA.h b/Framework/Core/include/Framework/ASoA.h index 4f1ef6bdeda57..381c213750bff 100644 --- a/Framework/Core/include/Framework/ASoA.h +++ b/Framework/Core/include/Framework/ASoA.h @@ -2307,6 +2307,7 @@ namespace o2::aod O2ORIGIN("AOD"); O2ORIGIN("AOD1"); O2ORIGIN("AOD2"); +O2ORIGIN("EMB"); O2ORIGIN("JOIN"); O2HASH("JOIN/0"); @@ -3214,12 +3215,15 @@ consteval auto getIndexTargets() #define DECLARE_SOA_TABLE_STAGED_VERSIONED(_BaseName_, _Desc_, _Version_, ...) \ O2HASH(_Desc_ "/" #_Version_); \ O2HASH(#_BaseName_); \ - O2HASH("Stored" #_BaseName_); \ + O2HASH("Stored" #_BaseName_); \ + O2HASH("StoredEMB" #_BaseName_); \ DECLARE_SOA_TABLE_METADATA(_BaseName_, _Desc_, _Version_, __VA_ARGS__); \ using Stored##_BaseName_##Metadata = _BaseName_##Metadata; \ + using StoredEMB##_BaseName_##Metadata = _BaseName_##Metadata; \ DECLARE_SOA_TABLE_METADATA_TRAIT(_BaseName_, _Desc_, _Version_); \ DECLARE_SOA_STAGE(_BaseName_, "AOD", _Desc_, _Version_); \ - DECLARE_SOA_STAGE(Stored##_BaseName_, "AOD1", _Desc_, _Version_); + DECLARE_SOA_STAGE(Stored##_BaseName_, "AOD1", _Desc_, _Version_); \ + DECLARE_SOA_STAGE(StoredEMB##_BaseName_, "EMB", _Desc_, _Version_); #define DECLARE_SOA_TABLE_STAGED(_BaseName_, _Desc_, ...) \ DECLARE_SOA_TABLE_STAGED_VERSIONED(_BaseName_, _Desc_, 0, __VA_ARGS__); diff --git a/Framework/Core/include/Framework/AnalysisDataModel.h b/Framework/Core/include/Framework/AnalysisDataModel.h index bf2de38189fdf..9d6413ea892a4 100644 --- a/Framework/Core/include/Framework/AnalysisDataModel.h +++ b/Framework/Core/include/Framework/AnalysisDataModel.h @@ -108,6 +108,8 @@ DECLARE_SOA_TABLE_VERSIONED(Collisions_001, "AOD", "COLLISION", 1, //! Time and collision::Flags, collision::Chi2, collision::NumContrib, collision::CollisionTime, collision::CollisionTimeRes); +template +using CollisionsFrom = Collisions_001From; using Collisions = Collisions_001; // current version using Collision = Collisions::iterator; @@ -671,6 +673,8 @@ DECLARE_SOA_TABLE_VERSIONED(Run2TrackExtras_001, "AOD", "RUN2TRACKEXTRA", 1, //! track::ITSSignal, track::ITSSharedClusterMap, track::ITSNSharedCls); +template +using TracksExtraFrom = TracksExtra_002From; using StoredTracksExtra = StoredTracksExtra_002; using TracksExtra = TracksExtra_002; @@ -1918,6 +1922,8 @@ DECLARE_SOA_TABLE_VERSIONED(McCollisions_001, "AOD", "MCCOLLISION", 1, //! MC co mccollision::GetSubGeneratorId, mccollision::GetSourceId); +template +using McCollisionsFrom = McCollisions_001From; using McCollisions = McCollisions_001; using McCollision = McCollisions::iterator; @@ -2048,6 +2054,9 @@ DECLARE_SOA_EXTENDED_TABLE(McParticles_001, StoredMcParticles_001, "EXMCPARTICLE mcparticle::P, mcparticle::Y); +template +using McParticlesFrom = McParticles_001From; + using StoredMcParticles = StoredMcParticles_001; using McParticles = McParticles_001; using McParticle = McParticles::iterator; diff --git a/Framework/TestWorkflows/src/o2TestHistograms.cxx b/Framework/TestWorkflows/src/o2TestHistograms.cxx index 9c2cba35b9156..2928b6364dbde 100644 --- a/Framework/TestWorkflows/src/o2TestHistograms.cxx +++ b/Framework/TestWorkflows/src/o2TestHistograms.cxx @@ -23,7 +23,6 @@ using namespace o2::framework::expressions; namespace o2::aod { -O2ORIGIN("EMB"); namespace skimmedExampleTrack { DECLARE_SOA_COLUMN(Pt, pt, float); //! diff --git a/Framework/TestWorkflows/src/o2TestMultisource.cxx b/Framework/TestWorkflows/src/o2TestMultisource.cxx index d52a25f67e98f..8d1ed8d8b8a09 100644 --- a/Framework/TestWorkflows/src/o2TestMultisource.cxx +++ b/Framework/TestWorkflows/src/o2TestMultisource.cxx @@ -24,7 +24,6 @@ using namespace o2::framework::expressions; namespace o2::aod { -O2ORIGIN("EMB"); using TracksPlus = soa::Join; template using TracksPlusFrom = soa::Join, StoredTracksExtra_002From>; From 37a9887e76fdc8ada7f36e78e36e976cd529162b Mon Sep 17 00:00:00 2001 From: nzardosh Date: Thu, 24 Sep 2026 13:02:07 +0200 Subject: [PATCH 2/2] fixing DECLARE_SOA_TABLE_STAGED_VERSIONED --- Framework/Core/include/Framework/ASoA.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Framework/Core/include/Framework/ASoA.h b/Framework/Core/include/Framework/ASoA.h index 381c213750bff..2a846d3da93c0 100644 --- a/Framework/Core/include/Framework/ASoA.h +++ b/Framework/Core/include/Framework/ASoA.h @@ -3215,15 +3215,13 @@ consteval auto getIndexTargets() #define DECLARE_SOA_TABLE_STAGED_VERSIONED(_BaseName_, _Desc_, _Version_, ...) \ O2HASH(_Desc_ "/" #_Version_); \ O2HASH(#_BaseName_); \ - O2HASH("Stored" #_BaseName_); \ - O2HASH("StoredEMB" #_BaseName_); \ + O2HASH("Stored" #_BaseName_); \ DECLARE_SOA_TABLE_METADATA(_BaseName_, _Desc_, _Version_, __VA_ARGS__); \ using Stored##_BaseName_##Metadata = _BaseName_##Metadata; \ - using StoredEMB##_BaseName_##Metadata = _BaseName_##Metadata; \ DECLARE_SOA_TABLE_METADATA_TRAIT(_BaseName_, _Desc_, _Version_); \ DECLARE_SOA_STAGE(_BaseName_, "AOD", _Desc_, _Version_); \ - DECLARE_SOA_STAGE(Stored##_BaseName_, "AOD1", _Desc_, _Version_); \ - DECLARE_SOA_STAGE(StoredEMB##_BaseName_, "EMB", _Desc_, _Version_); + DECLARE_SOA_STAGE(Stored##_BaseName_, "AOD1", _Desc_, _Version_); \ + using StoredEMB##_BaseName_ = Stored##_BaseName_##From>; #define DECLARE_SOA_TABLE_STAGED(_BaseName_, _Desc_, ...) \ DECLARE_SOA_TABLE_STAGED_VERSIONED(_BaseName_, _Desc_, 0, __VA_ARGS__);