From 895e3560aa254e9329066b5b4b1a0c154612567c Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 23 Jul 2025 13:06:22 +0200 Subject: [PATCH 1/2] Adding lite collision tables to reduce output size --- DPG/Tasks/ITS/filterTracks.cxx | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/DPG/Tasks/ITS/filterTracks.cxx b/DPG/Tasks/ITS/filterTracks.cxx index 0a535e1607b..c7d80e32665 100644 --- a/DPG/Tasks/ITS/filterTracks.cxx +++ b/DPG/Tasks/ITS/filterTracks.cxx @@ -92,6 +92,26 @@ DECLARE_SOA_TABLE(FilterColl, "AOD", "FILTERCOLL", o2::aod::collision::NumContrib, o2::aod::collision::CollisionTime, o2::aod::collision::CollisionTimeRes); +DECLARE_SOA_TABLE(FilterCollLite, "AOD", "FILTERCOLLLITE", + o2::aod::collision::PosX, + o2::aod::collision::PosY, + o2::aod::collision::PosZ, + o2::aod::collision::CovXX, + o2::aod::collision::CovXY, + o2::aod::collision::CovYY, + o2::aod::collision::CovXZ, + o2::aod::collision::CovYZ, + o2::aod::collision::CovZZ, + o2::aod::collision::Chi2, + o2::aod::collision::NumContrib, + o2::aod::collision::CollisionTime); +DECLARE_SOA_TABLE(FilterCollPos, "AOD", "FILTERCOLLPOS", + o2::aod::collision::PosX, + o2::aod::collision::PosY, + o2::aod::collision::PosZ, + o2::aod::collision::Chi2, + o2::aod::collision::NumContrib, + o2::aod::collision::CollisionTime); DECLARE_SOA_TABLE(FilterTrack, "AOD", "FILTERTRACK", o2::aod::track::CollisionId, aod::filtertracks::IsInsideBeamPipe, @@ -152,12 +172,17 @@ struct FilterTracks { Produces filteredTracksMC; Produces selectedGenParticles; Produces filterCollTable; + Produces filterCollLiteTable; + Produces filterCollPosTable; SliceCache cache; // Configurable dummy{"dummy", 0, "dummy"}; Configurable minTrackPt{"minTrackPt", 0.25, "min track pt"}; Configurable trackDcaXyMax{"trackDcaXyMax", 0.5, "max track pt"}; Configurable trackPtSampling{"trackPtSampling", 0, "track sampling mode"}; + Configurable produceCollTableFull{"produceCollTableFull", false, "produce full collision table"}; + Configurable produceCollTableLite{"produceCollTableLite", false, "produce lite collision table"}; + Configurable produceCollTableExtraLite{"produceCollTableExtraLite", true, "produce extra lite collision table"}; Configurable trackPtWeightLowPt{"trackPtWeightLowPt", 0.01f, "trackPtWeightLowPt"}; Configurable trackPtWeightMidPt{"trackPtWeightMidPt", 0.10f, "trackPtWeightMidPt"}; Configurable collFilterFraction{"collFilterFraction", 0.05f, "collFilterFraction"}; @@ -296,7 +321,12 @@ struct FilterTracks { PROCESS_SWITCH(FilterTracks, processData, "process data", true); void processCollisions(FilterCollisionsWithEvSel::iterator const& collision) { - filterCollTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.flags(), collision.chi2(), collision.numContrib(), collision.collisionTime(), collision.collisionTimeRes()); + if (produceCollTableFull) + filterCollTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.flags(), collision.chi2(), collision.numContrib(), collision.collisionTime(), collision.collisionTimeRes()); + if (produceCollTableLite) + filterCollTable(collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); + if (produceCollTableExtraLite) + filterCollTable(collision.posX(), collision.posY(), collision.posZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); } PROCESS_SWITCH(FilterTracks, processCollisions, "process collisions", true); From e85d483a4bfd412787571d41ffddee961ac02c90 Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 23 Jul 2025 13:11:21 +0200 Subject: [PATCH 2/2] Fix tables which are filled --- DPG/Tasks/ITS/filterTracks.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DPG/Tasks/ITS/filterTracks.cxx b/DPG/Tasks/ITS/filterTracks.cxx index c7d80e32665..dc9c8ef777f 100644 --- a/DPG/Tasks/ITS/filterTracks.cxx +++ b/DPG/Tasks/ITS/filterTracks.cxx @@ -324,9 +324,9 @@ struct FilterTracks { if (produceCollTableFull) filterCollTable(collision.bcId(), collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.flags(), collision.chi2(), collision.numContrib(), collision.collisionTime(), collision.collisionTimeRes()); if (produceCollTableLite) - filterCollTable(collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); + filterCollLiteTable(collision.posX(), collision.posY(), collision.posZ(), collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); if (produceCollTableExtraLite) - filterCollTable(collision.posX(), collision.posY(), collision.posZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); + filterCollPosTable(collision.posX(), collision.posY(), collision.posZ(), collision.chi2(), collision.numContrib(), collision.collisionTime()); } PROCESS_SWITCH(FilterTracks, processCollisions, "process collisions", true);