From 2a7a361fddbfeeb261fb29c921c14a3d216988b4 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Sat, 17 Oct 2026 17:00:46 +0000 Subject: [PATCH] Please consider the following formatting changes --- .../PseudorapidityDensityMFT.cxx | 133 +++++++++--------- 1 file changed, 63 insertions(+), 70 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 5b320a09e95..9fa859dc0dd 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -50,8 +50,8 @@ #include #include #include -#include #include +#include #include #include @@ -296,7 +296,6 @@ struct PseudorapidityDensityMFT { static constexpr int NoCompatibleCollisions = 0; static constexpr int SingleCompatibleCollision = 1; - static constexpr int ChargeUnitTimesThree = 3; void initMagField(FullBCs::iterator const& bc) @@ -394,7 +393,7 @@ struct PseudorapidityDensityMFT { Configurable useTriggerTVX{"useTriggerTVX", true, "Require kIsTriggerTVX in processGenReco"}; Configurable useNoTimeFrameBorderCut{"useNoTimeFrameBorderCut", true, "Require kNoTimeFrameBorder in processGenReco"}; Configurable useNoITSROFrameBorderCut{"useNoITSROFrameBorderCut", true, "Require kNoITSROFrameBorder in processGenReco"}; - AxisSpec multAxisRecoMFT = {multBinning, "N_{ch}^{reco,MFT}"}; + AxisSpec multAxisRecoMFT = {multBinning, "N_{ch}^{reco,MFT}"}; AxisSpec multAxisGenMFT = {multBinning, "N_{ch}^{gen,MFT}"}; // Namespace plus invocation/reco IDs makes offline event keys independent of // local collision-index reuse across dataframes and separate worker outputs. @@ -520,17 +519,11 @@ struct PseudorapidityDensityMFT { const AxisSpec key16{65536, -0.5, 65535.5}; registry.add({"Association/EventTrackKeysBeforeDCA", ";#eta;z_{chosen}^{reco};DCAxy;DCAz;track category;association (0:right,1:wrong,2:unclassified);namespace0;namespace1;namespace2;namespace3;namespace4;namespace5;callLow;callHigh;recoLow;recoHigh", - {HistType::kTHnSparseD, {etaBinning, zAxis, dcaXyAxis, dcaZAxis, - {2, -0.5, 1.5}, {3, -0.5, 2.5}, - key16, key16, key16, key16, key16, key16, key16, key16, key16, key16}}}); - registry.add({"Association/hNumRecoEventsWithRightTracks", ";Selected reco collisions with right-associated tracks;Count", - {HistType::kTH1D, {{1, 0.5, 1.5}}}}); - registry.add({"Association/hNumRecoEventsWithWrongTracks", ";Selected reco collisions with wrong-associated tracks;Count", - {HistType::kTH1D, {{1, 0.5, 1.5}}}}); - registry.add({"Association/RecoEventVzWithRightTracks", ";z_{chosen}^{reco} (cm);Selected reco collisions", - {HistType::kTH1D, {zAxis}}}); - registry.add({"Association/RecoEventVzWithWrongTracks", ";z_{chosen}^{reco} (cm);Selected reco collisions", - {HistType::kTH1D, {zAxis}}}); + {HistType::kTHnSparseD, {etaBinning, zAxis, dcaXyAxis, dcaZAxis, {2, -0.5, 1.5}, {3, -0.5, 2.5}, key16, key16, key16, key16, key16, key16, key16, key16, key16, key16}}}); + registry.add({"Association/hNumRecoEventsWithRightTracks", ";Selected reco collisions with right-associated tracks;Count", {HistType::kTH1D, {{1, 0.5, 1.5}}}}); + registry.add({"Association/hNumRecoEventsWithWrongTracks", ";Selected reco collisions with wrong-associated tracks;Count", {HistType::kTH1D, {{1, 0.5, 1.5}}}}); + registry.add({"Association/RecoEventVzWithRightTracks", ";z_{chosen}^{reco} (cm);Selected reco collisions", {HistType::kTH1D, {zAxis}}}); + registry.add({"Association/RecoEventVzWithWrongTracks", ";z_{chosen}^{reco} (cm);Selected reco collisions", {HistType::kTH1D, {zAxis}}}); registry.add({"OfflineVariations/RecoTrackSparseBeforeDCA", ";#eta;z_{vtx}^{reco} (cm);DCA_{xy} (cm);DCA_{z} (cm);category (0: nonamb, 1: amb)", {HistType::kTHnSparseF, {etaBinning, zAxis, dcaXyAxis, dcaZAxis, {2, -0.5, 1.5}}}}); @@ -1473,10 +1466,10 @@ struct PseudorapidityDensityMFT { std::vector::iterator> cols; for (const auto& bc : bcs) { - if (!useEvSel || - (bc.selection_bit(aod::evsel::kIsBBT0A) && - bc.selection_bit(aod::evsel::kIsBBT0C))) { - registry.fill(HIST("EventSelection"), static_cast(EventSelectionBin::GoodBCs)); + if (!useEvSel || + (bc.selection_bit(aod::evsel::kIsBBT0A) && + bc.selection_bit(aod::evsel::kIsBBT0C))) { + registry.fill(HIST("EventSelection"), static_cast(EventSelectionBin::GoodBCs)); cols.clear(); for (const auto& collision : collisions) { if (collision.has_foundBC()) { @@ -1599,7 +1592,7 @@ struct PseudorapidityDensityMFT { ((phi > ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) - cfgPhiCut) && (phi < ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) + cfgPhiCut))) { continue; - } + } } registry.fill(HIST("TracksEtaZvtx"), track.eta(), z); @@ -1962,7 +1955,7 @@ struct PseudorapidityDensityMFT { ((phi > ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) - cfgPhiCut) && (phi < ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) + cfgPhiCut))) { continue; - } + } } registry.fill(HIST("Tracks/Centrality/EtaZvtx"), track.eta(), z, c); @@ -2102,9 +2095,9 @@ struct PseudorapidityDensityMFT { if (usePhiCut) { if ((phi <= PhiVetoLow) || - ((phi >= PhiVetoPiMin) && (phi <= PhiVetoPiMax)) || - (phi >= PhiVetoHigh)) { - continue; + ((phi >= PhiVetoPiMin) && (phi <= PhiVetoPiMax)) || + (phi >= PhiVetoHigh)) { + continue; } } if (usePtCut) { @@ -2744,8 +2737,7 @@ struct PseudorapidityDensityMFT { std::abs(parentPdg) != PDG_t::kLambda0) { continue; } - const int parentSpecies = parentPdg == PDG_t::kK0Short ? 1 : - (parentPdg == PDG_t::kLambda0 ? 2 : 3); + const int parentSpecies = parentPdg == PDG_t::kK0Short ? 1 : (parentPdg == PDG_t::kLambda0 ? 2 : 3); registry.fill(HIST("Strangeness/Mid/RecoStrangeEtaZvtx"), centralTrack.eta(), z, centralTrack.dcaXY(), centralTrack.dcaZ(), parentSpecies); @@ -2832,8 +2824,8 @@ struct PseudorapidityDensityMFT { original.chi2() / getTrackNdf(original) >= cfgChi2NDFMax || offlinePhi <= cfgPhiCut1 || offlinePhi >= cfgPhiCut2 || (usePhiCut && (offlinePhi <= PhiVetoLow || - (offlinePhi >= PhiVetoPiMin && offlinePhi <= PhiVetoPiMax) || - offlinePhi >= PhiVetoHigh)) || + (offlinePhi >= PhiVetoPiMin && offlinePhi <= PhiVetoPiMax) || + offlinePhi >= PhiVetoHigh)) || (usePtCut && original.pt() > cfgnPt) || !passGenRecoTrackMode(offlineTrack)) { continue; } @@ -2881,8 +2873,10 @@ struct PseudorapidityDensityMFT { (!useDCAxyCut || std::abs(offlineTrack.bestDCAXY()) <= maxDCAxy) && (!useDCAzCut || std::abs(offlineTrack.bestDCAZ()) <= maxDCAz); if (passesConfiguredDCA) { - if (association == 0) recoEventsWithRightTracks.insert(chosenId); - if (association == 1) recoEventsWithWrongTracks.insert(chosenId); + if (association == 0) + recoEventsWithRightTracks.insert(chosenId); + if (association == 1) + recoEventsWithWrongTracks.insert(chosenId); } } @@ -3069,8 +3063,7 @@ struct PseudorapidityDensityMFT { // excludes fake labels and counts only matched secondaries. if (isSecondaryCharged) { const int parentSpecies = - mcpartMother.pdgCode() == PDG_t::kK0Short ? 1 : - (mcpartMother.pdgCode() == PDG_t::kLambda0 ? 2 : 3); + mcpartMother.pdgCode() == PDG_t::kK0Short ? 1 : (mcpartMother.pdgCode() == PDG_t::kLambda0 ? 2 : 3); registry.fill(HIST("Strangeness/Fwd/RecoStrangeEtaZvtx"), etaReco, z, dcaXYReco, dcaZReco, parentSpecies); } @@ -3511,7 +3504,7 @@ struct PseudorapidityDensityMFT { ((phi >= PhiVetoPiMin) && (phi <= PhiVetoPiMax)) || (phi >= PhiVetoHigh)) { continue; - } + } } if (usePtCut) { if (ptCut > cfgnPt) { @@ -3524,54 +3517,54 @@ struct PseudorapidityDensityMFT { mcCollision.posZ()); registry.fill(HIST("TracksPtEtaGen_t"), particle.pt(), particle.eta()); } - if ( mcCollision.posZ() >= cfgVzCut1 && mcCollision.posZ() <= cfgVzCut2) { + if (mcCollision.posZ() >= cfgVzCut1 && mcCollision.posZ() <= cfgVzCut2) { registry.fill(HIST("TracksEtaZvtxGen_gt0t"), particle.eta(), mcCollision.posZ()); registry.fill(HIST("TracksPhiEtaGen_gt0t"), particle.phi(), particle.eta()); - - if ( nChargedCentral > 0) { - if (particle.isPhysicalPrimary()) { - registry.fill(HIST("TracksEtaZvtxGen_gt0t_primary"), particle.eta(), mcCollision.posZ()); - } - registry.fill(HIST("TracksEtaZvtxGen"), particle.eta(), - mcCollision.posZ()); - registry.fill(HIST("TracksPtEtaGen"), particle.pt(), particle.eta()); - registry.fill(HIST("TracksPhiEtaGen"), particle.phi(), particle.eta()); - registry.fill(HIST("TracksPhiZvtxGen"), particle.phi(), - mcCollision.posZ()); - if (particle.isPhysicalPrimary()) { - registry.fill(HIST("Purity/mc/PrimaryAll"), static_cast(SingleCountBin::Count)); - registry.fill(HIST("Purity/mc/PrimaryAllEta"), particle.eta()); - registry.fill(HIST("Purity/mc/PrimaryTracksEtaZvtx"), particle.eta(), mcCollision.posZ()); - registry.fill(HIST("Purity/mc/PrimaryTracksPhiEta"), particle.phi(), particle.eta()); - } - // Retain both vertex definitions for narrow reco-z slices. A split - // generated event contributes once per accepted reconstructed collision, - // matching SelectedRecoEventVertexResponse; do not interpret as unique MC events. - if (particle.isPhysicalPrimary()) { - for (const auto& [offlineRecoId, offlineRecoZ] : recoVtxZ) { - registry.fill(HIST("OfflineVariations/GenPrimaryEtaTrueZRecoZ"), - particle.eta(), mcCollision.posZ(), offlineRecoZ); + if (nChargedCentral > 0) { + if (particle.isPhysicalPrimary()) { + registry.fill(HIST("TracksEtaZvtxGen_gt0t_primary"), particle.eta(), mcCollision.posZ()); } - } - - if (atLeastOneSel8VzGt0) { - registry.fill(HIST("TracksEtaZvtxGen_gt0"), particle.eta(), + registry.fill(HIST("TracksEtaZvtxGen"), particle.eta(), mcCollision.posZ()); - registry.fill(HIST("TracksPhiEtaGen_gt0"), particle.phi(), particle.eta()); + registry.fill(HIST("TracksPtEtaGen"), particle.pt(), particle.eta()); + registry.fill(HIST("TracksPhiEtaGen"), particle.phi(), particle.eta()); + registry.fill(HIST("TracksPhiZvtxGen"), particle.phi(), + mcCollision.posZ()); + if (particle.isPhysicalPrimary()) { + registry.fill(HIST("Purity/mc/PrimaryAll"), static_cast(SingleCountBin::Count)); + registry.fill(HIST("Purity/mc/PrimaryAllEta"), particle.eta()); + registry.fill(HIST("Purity/mc/PrimaryTracksEtaZvtx"), particle.eta(), mcCollision.posZ()); + registry.fill(HIST("Purity/mc/PrimaryTracksPhiEta"), particle.phi(), particle.eta()); + } + + // Retain both vertex definitions for narrow reco-z slices. A split + // generated event contributes once per accepted reconstructed collision, + // matching SelectedRecoEventVertexResponse; do not interpret as unique MC events. if (particle.isPhysicalPrimary()) { - registry.fill(HIST("TracksEtaZvtxGen_gt0_primary"), particle.eta(), mcCollision.posZ()); - registry.fill(HIST("TracksPhiEtaGen_gt0_primary"), particle.phi(), particle.eta()); - registry.fill(HIST("TracksPtZvtxGen_gt0_primary"), particle.pt(), mcCollision.posZ()); - registry.fill(HIST("Purity/mc/PrimaryTracksEtaZvtx_gt0"), particle.eta(), mcCollision.posZ()); - registry.fill(HIST("Purity/mc/PrimaryTracksPtZvtx_gt0"), particle.pt(), mcCollision.posZ()); - // registry.fill(HIST("Purity/mc/PrimaryTracksDCAxyZvtx_gt0"), dcaXyCut, mcCollision.posZ()); - // registry.fill(HIST("Purity/mc/PrimaryTracksDCAzZvtx_gt0"), dcaZCut, mcCollision.posZ()); + for (const auto& [offlineRecoId, offlineRecoZ] : recoVtxZ) { + registry.fill(HIST("OfflineVariations/GenPrimaryEtaTrueZRecoZ"), + particle.eta(), mcCollision.posZ(), offlineRecoZ); + } + } + + if (atLeastOneSel8VzGt0) { + registry.fill(HIST("TracksEtaZvtxGen_gt0"), particle.eta(), + mcCollision.posZ()); + registry.fill(HIST("TracksPhiEtaGen_gt0"), particle.phi(), particle.eta()); + if (particle.isPhysicalPrimary()) { + registry.fill(HIST("TracksEtaZvtxGen_gt0_primary"), particle.eta(), mcCollision.posZ()); + registry.fill(HIST("TracksPhiEtaGen_gt0_primary"), particle.phi(), particle.eta()); + registry.fill(HIST("TracksPtZvtxGen_gt0_primary"), particle.pt(), mcCollision.posZ()); + registry.fill(HIST("Purity/mc/PrimaryTracksEtaZvtx_gt0"), particle.eta(), mcCollision.posZ()); + registry.fill(HIST("Purity/mc/PrimaryTracksPtZvtx_gt0"), particle.pt(), mcCollision.posZ()); + // registry.fill(HIST("Purity/mc/PrimaryTracksDCAxyZvtx_gt0"), dcaXyCut, mcCollision.posZ()); + // registry.fill(HIST("Purity/mc/PrimaryTracksDCAzZvtx_gt0"), dcaZCut, mcCollision.posZ()); + } } } } - } if (particle.isPhysicalPrimary()) { ++nGenPrimaryChargedMFT;