From 66f63d8167c615726aa8ae6c5ea66e1dcda85f3a Mon Sep 17 00:00:00 2001 From: Jeremy Wilkinson Date: Thu, 25 Nov 2021 15:18:13 +0100 Subject: [PATCH 1/5] add tpc mult to multiplicity table --- Common/TableProducer/multiplicityTable.cxx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Common/TableProducer/multiplicityTable.cxx b/Common/TableProducer/multiplicityTable.cxx index 1b4cfd0e54d..3695a5f824f 100644 --- a/Common/TableProducer/multiplicityTable.cxx +++ b/Common/TableProducer/multiplicityTable.cxx @@ -28,9 +28,9 @@ void customize(std::vector& workflowOptions) struct MultiplicityTableTaskIndexed { Produces mult; - Partition run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); - - void processRun2(aod::Run2MatchedSparse::iterator const& collision, aod::Tracks const& tracks, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) + Partition run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); + Partition> tracksWithTPC = ((aod::track::detectorMap & o2::aod::track::TPC) != 0); + void processRun2(aod::Run2MatchedSparse::iterator const& collision, soa::Join const& tracks, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) { float multV0A = -1.f; float multV0C = -1.f; @@ -39,6 +39,7 @@ struct MultiplicityTableTaskIndexed { float multZNA = -1.f; float multZNC = -1.f; int multTracklets = run2tracklets.size(); + int multTPC = tracksWithTPC.size(); if (collision.has_fv0a()) { auto v0a = collision.fv0a(); @@ -66,12 +67,13 @@ struct MultiplicityTableTaskIndexed { multZNA = zdc.energyCommonZNA(); multZNC = zdc.energyCommonZNC(); } - LOGF(debug, "multV0A=%5.0f multV0C=%5.0f multT0A=%5.0f multT0C=%5.0f multZNA=%6.0f multZNC=%6.0f multTracklets=%i", multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets); - mult(multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets); + + LOGF(debug, "multV0A=%5.0f multV0C=%5.0f multT0A=%5.0f multT0C=%5.0f multZNA=%6.0f multZNC=%6.0f multTracklets=%i multTPC=%i", multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets, multTPC); + mult(multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets, multTPC); } PROCESS_SWITCH(MultiplicityTableTaskIndexed, processRun2, "Produce Run 2 multiplicity tables", true); - void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) + void processRun3(soa::Join const& collisions, soa::Join const& tracks, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) { for (auto& collision : collisions) { float multV0A = -1.f; @@ -81,7 +83,7 @@ struct MultiplicityTableTaskIndexed { float multZNA = -1.f; float multZNC = -1.f; int multTracklets = -1; - + int multTPC = tracksWithTPC.size(); const float* aAmplitudesA; const float* aAmplitudesC; @@ -100,8 +102,8 @@ struct MultiplicityTableTaskIndexed { } } - LOGF(debug, "multV0A=%5.0f multV0C=%5.0f multT0A=%5.0f multT0C=%5.0f multZNA=%6.0f multZNC=%6.0f multTracklets=%i", multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets); - mult(multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets); + LOGF(debug, "multV0A=%5.0f multV0C=%5.0f multT0A=%5.0f multT0C=%5.0f multZNA=%6.0f multZNC=%6.0f multTracklets=%i multTPC=%i", multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets, multTPC); + mult(multV0A, multV0C, multT0A, multT0C, multZNA, multZNC, multTracklets, multTPC); } } PROCESS_SWITCH(MultiplicityTableTaskIndexed, processRun3, "Produce Run 3 multiplicity tables", false); From 3bd427c8da38d935d7903f6423597f98051ef7e4 Mon Sep 17 00:00:00 2001 From: Jeremy Wilkinson Date: Thu, 25 Nov 2021 17:17:17 +0100 Subject: [PATCH 2/5] correct expression for TPC mult --- Common/DataModel/Multiplicity.h | 4 +++- Common/TableProducer/multiplicityTable.cxx | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Common/DataModel/Multiplicity.h b/Common/DataModel/Multiplicity.h index 0dcfae46850..29c694fa7cf 100644 --- a/Common/DataModel/Multiplicity.h +++ b/Common/DataModel/Multiplicity.h @@ -28,6 +28,7 @@ DECLARE_SOA_DYNAMIC_COLUMN(MultV0M, multV0M, //! DECLARE_SOA_DYNAMIC_COLUMN(MultT0M, multT0M, //! [](float multT0A, float multT0C) -> float { return multT0A + multT0C; }); DECLARE_SOA_COLUMN(MultTracklets, multTracklets, int); +DECLARE_SOA_COLUMN(MultTPC, multTPC, int); } // namespace mult DECLARE_SOA_TABLE(Mults, "AOD", "MULT", //! @@ -36,7 +37,8 @@ DECLARE_SOA_TABLE(Mults, "AOD", "MULT", //! mult::MultZNA, mult::MultZNC, mult::MultV0M, mult::MultT0M, - mult::MultTracklets); + mult::MultTracklets, + mult::MultTPC); using Mult = Mults::iterator; } // namespace o2::aod diff --git a/Common/TableProducer/multiplicityTable.cxx b/Common/TableProducer/multiplicityTable.cxx index 3695a5f824f..9f755fcab2d 100644 --- a/Common/TableProducer/multiplicityTable.cxx +++ b/Common/TableProducer/multiplicityTable.cxx @@ -28,9 +28,9 @@ void customize(std::vector& workflowOptions) struct MultiplicityTableTaskIndexed { Produces mult; - Partition run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); - Partition> tracksWithTPC = ((aod::track::detectorMap & o2::aod::track::TPC) != 0); - void processRun2(aod::Run2MatchedSparse::iterator const& collision, soa::Join const& tracks, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) + Partition run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); + Partition> tracksWithTPC = (aod::track::tpcNClsFindable > (uint8_t)0); + void processRun2(aod::Run2MatchedSparse::iterator const& collision, aod::Tracks const& tracks, soa::Join const& tracksExtra, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) { float multV0A = -1.f; float multV0C = -1.f; @@ -73,7 +73,7 @@ struct MultiplicityTableTaskIndexed { } PROCESS_SWITCH(MultiplicityTableTaskIndexed, processRun2, "Produce Run 2 multiplicity tables", true); - void processRun3(soa::Join const& collisions, soa::Join const& tracks, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) + void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, aod::TracksExtra const& tracksExtra, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) { for (auto& collision : collisions) { float multV0A = -1.f; From 91a46d88700123d1343fa0f322f9cbb30989e1dd Mon Sep 17 00:00:00 2001 From: Jeremy Wilkinson Date: Thu, 25 Nov 2021 17:48:17 +0100 Subject: [PATCH 3/5] set tpc mult only for run2 processing --- Common/TableProducer/multiplicityTable.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/TableProducer/multiplicityTable.cxx b/Common/TableProducer/multiplicityTable.cxx index 9f755fcab2d..2b47aaa3faa 100644 --- a/Common/TableProducer/multiplicityTable.cxx +++ b/Common/TableProducer/multiplicityTable.cxx @@ -73,7 +73,7 @@ struct MultiplicityTableTaskIndexed { } PROCESS_SWITCH(MultiplicityTableTaskIndexed, processRun2, "Produce Run 2 multiplicity tables", true); - void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, aod::TracksExtra const& tracksExtra, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) + void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, soa::Join const& tracksExtra, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) { for (auto& collision : collisions) { float multV0A = -1.f; @@ -83,7 +83,7 @@ struct MultiplicityTableTaskIndexed { float multZNA = -1.f; float multZNC = -1.f; int multTracklets = -1; - int multTPC = tracksWithTPC.size(); + int multTPC = -1; const float* aAmplitudesA; const float* aAmplitudesC; From 64c2c194efc0c7b3bdc3c4acac0e80058b5b52db Mon Sep 17 00:00:00 2001 From: Jeremy Wilkinson Date: Thu, 25 Nov 2021 17:54:38 +0100 Subject: [PATCH 4/5] remove vestigial join --- Common/TableProducer/multiplicityTable.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/TableProducer/multiplicityTable.cxx b/Common/TableProducer/multiplicityTable.cxx index 2b47aaa3faa..9feb0011ca0 100644 --- a/Common/TableProducer/multiplicityTable.cxx +++ b/Common/TableProducer/multiplicityTable.cxx @@ -73,7 +73,7 @@ struct MultiplicityTableTaskIndexed { } PROCESS_SWITCH(MultiplicityTableTaskIndexed, processRun2, "Produce Run 2 multiplicity tables", true); - void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, soa::Join const& tracksExtra, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) + void processRun3(soa::Join const& collisions, aod::Tracks const& tracks, aod::BCs const& bcs, aod::Zdcs const& zdcs, aod::FV0As const& fv0as, aod::FT0s const& ft0s) { for (auto& collision : collisions) { float multV0A = -1.f; From 54eb6a52d03c0d4554d3e416431100cc9c0b9b24 Mon Sep 17 00:00:00 2001 From: Jeremy Wilkinson Date: Fri, 26 Nov 2021 10:17:50 +0100 Subject: [PATCH 5/5] remove extra Tracks table subscription --- Common/TableProducer/multiplicityTable.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/TableProducer/multiplicityTable.cxx b/Common/TableProducer/multiplicityTable.cxx index 9feb0011ca0..a32e3e6fcb8 100644 --- a/Common/TableProducer/multiplicityTable.cxx +++ b/Common/TableProducer/multiplicityTable.cxx @@ -28,9 +28,9 @@ void customize(std::vector& workflowOptions) struct MultiplicityTableTaskIndexed { Produces mult; - Partition run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); + Partition> run2tracklets = (aod::track::trackType == static_cast(o2::aod::track::TrackTypeEnum::Run2Tracklet)); Partition> tracksWithTPC = (aod::track::tpcNClsFindable > (uint8_t)0); - void processRun2(aod::Run2MatchedSparse::iterator const& collision, aod::Tracks const& tracks, soa::Join const& tracksExtra, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) + void processRun2(aod::Run2MatchedSparse::iterator const& collision, soa::Join const& tracksExtra, aod::BCs const&, aod::Zdcs const&, aod::FV0As const& fv0as, aod::FV0Cs const& fv0cs, aod::FT0s const& ft0s) { float multV0A = -1.f; float multV0C = -1.f;