From 4f9a61f1f7e09d082297b558f0f78fc14e36505e Mon Sep 17 00:00:00 2001 From: tutripat <73981392+tutripat@users.noreply.github.com> Date: Fri, 28 Aug 2026 08:32:36 +0200 Subject: [PATCH 1/9] Add UseGoodItsLayersAll to event selection steps in data --- .../Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 27e11cebe8b..78e53a48c20 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -196,6 +196,7 @@ struct PseudorapidityDensityMFT { NoTimeFrameBorder, NoITSROFrameBorder, NoSameBunchPileup, + UseGoodItsLayersAll, GoodZvtxFT0vsPV, NoCollInRofStandard, NoCollInRofStrict, @@ -473,6 +474,7 @@ struct PseudorapidityDensityMFT { x->SetBinLabel(static_cast(DataCutBin::NoTimeFrameBorder), "kNoTimeFrameBorder (if useEvSel)"); x->SetBinLabel(static_cast(DataCutBin::NoITSROFrameBorder), "kNoITSROFrameBorder (if useEvSel)"); x->SetBinLabel(static_cast(DataCutBin::NoSameBunchPileup), "kNoSameBunchPileup"); + x->SetBinLabel(static_cast(DataCutBin::UseGoodItsLayersAll), "kIsGoodITSLayersAll"); x->SetBinLabel(static_cast(DataCutBin::GoodZvtxFT0vsPV), "kIsGoodZvtxFT0vsPV"); x->SetBinLabel(static_cast(DataCutBin::NoCollInRofStandard), "kNoCollInRofStandard (cfg)"); x->SetBinLabel(static_cast(DataCutBin::NoCollInRofStrict), "kNoCollInRofStrict (cfg)"); @@ -1629,11 +1631,12 @@ struct PseudorapidityDensityMFT { DataCutBin bin; }; - const std::array steps = {{ + const std::array steps = {{ {useTriggerTVX, aod::evsel::kIsTriggerTVX, DataCutBin::IsTriggerTVX}, {useNoTimeFrameBorderCut, aod::evsel::kNoTimeFrameBorder, DataCutBin::NoTimeFrameBorder}, {useNoITSROFrameBorderCut, aod::evsel::kNoITSROFrameBorder, DataCutBin::NoITSROFrameBorder}, {useNoSameBunchPileup, aod::evsel::kNoSameBunchPileup, DataCutBin::NoSameBunchPileup}, + {useGoodItsLayersAll, aod::evsel::kIsGoodITSLayersAll, DataCutBin::UseGoodItsLayersAll}, {useGoodZvtxFT0vsPV, aod::evsel::kIsGoodZvtxFT0vsPV, DataCutBin::GoodZvtxFT0vsPV}, {useNoCollInRofStandard, aod::evsel::kNoCollInRofStandard, DataCutBin::NoCollInRofStandard}, {useNoCollInRofStrict, aod::evsel::kNoCollInRofStrict, DataCutBin::NoCollInRofStrict}, From 8a30af7ee9997117b8bbbd1a046c96fd7178fb53 Mon Sep 17 00:00:00 2001 From: tutripat <73981392+tutripat@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:06:05 +0200 Subject: [PATCH 2/9] Fixing formatting issues Initialize enabled and bin in EvSelStep structs --- .../PseudorapidityDensityMFT.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 78e53a48c20..c788479ea13 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -1626,9 +1626,9 @@ struct PseudorapidityDensityMFT { const auto passEventSelection = [&](auto const& collision) { struct EvSelStep { - bool enabled; + bool enabled{false}; decltype(aod::evsel::kIsTriggerTVX) bit; - DataCutBin bin; + DataCutBin bin{DataCutBin::All}; }; const std::array steps = {{ @@ -2207,9 +2207,9 @@ struct PseudorapidityDensityMFT { const auto countAndPassEvSelGenReco = [&](auto const& collision) { struct EvSelStep { - bool enabled; + bool enabled{false}; decltype(aod::evsel::kIsTriggerTVX) bit; - GenRecoCutBin bin; + GenRecoCutBin bin{GenRecoCutBin::AllRecoCollisions}; }; const std::array steps = {{ @@ -2514,9 +2514,9 @@ struct PseudorapidityDensityMFT { const auto countAndPassEvSelGenReco = [&](auto const& collision) { struct EvSelStep { - bool enabled; + bool enabled{false}; decltype(aod::evsel::kIsTriggerTVX) bit; - GenRecoCutBin bin; + GenRecoCutBin bin{GenRecoCutBin::AllRecoCollisions}; }; const std::array steps = {{ @@ -2674,7 +2674,6 @@ struct PseudorapidityDensityMFT { std::unordered_set uniqueBestRecoCols; if (tracks.size() > 0) { - bool countedPrimary = false; for (const auto& track : tracks) { const auto originalTrack = track.template mfttrack_as(); float ndf = getTrackNdf(originalTrack); @@ -3177,14 +3176,13 @@ struct PseudorapidityDensityMFT { registry.fill(HIST("Purity/SelectedAfterDCAxy/PrimaryAll"), static_cast(SingleCountBin::Count)); registry.fill(HIST("Purity/SelectedAfterDCAxy/PrimaryAllEta"), mcPart.eta()); - countedPrimary = true; registry.fill(HIST("Purity/PurityOverall"), static_cast(SingleCountBin::Count), - countedPrimary ? static_cast(BoolBin::Yes) + isPrimaryCharged ? static_cast(BoolBin::Yes) : static_cast(BoolBin::No)); registry.fill(HIST("Purity/PurityVsEta"), originalTrack.eta(), - countedPrimary ? static_cast(BoolBin::Yes) + isPrimaryCharged ? static_cast(BoolBin::Yes) : static_cast(BoolBin::No)); } // hasmclable } // track loop From cfbff4b5bde0b45d263c6a46b05facb92da44e21 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 28 Aug 2026 07:06:38 +0000 Subject: [PATCH 3/9] Please consider the following formatting changes --- .../Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index c788479ea13..473d21a25ee 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -3180,10 +3180,10 @@ struct PseudorapidityDensityMFT { registry.fill(HIST("Purity/PurityOverall"), static_cast(SingleCountBin::Count), isPrimaryCharged ? static_cast(BoolBin::Yes) - : static_cast(BoolBin::No)); + : static_cast(BoolBin::No)); registry.fill(HIST("Purity/PurityVsEta"), originalTrack.eta(), isPrimaryCharged ? static_cast(BoolBin::Yes) - : static_cast(BoolBin::No)); + : static_cast(BoolBin::No)); } // hasmclable } // track loop } // track>mid From d1498bd5a4aeabf3c910733b43dce195d5d51e87 Mon Sep 17 00:00:00 2001 From: tutripat <73981392+tutripat@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:45:12 +0200 Subject: [PATCH 4/9] Fixing formatting issues Removed unused constants and refactored event selection logic. --- .../PseudorapidityDensityMFT.cxx | 62 ++++++++----------- 1 file changed, 26 insertions(+), 36 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 473d21a25ee..914a5c412c6 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -295,18 +295,8 @@ struct PseudorapidityDensityMFT { } static constexpr int NoCompatibleCollisions = 0; static constexpr int SingleCompatibleCollision = 1; - - static constexpr int OrphanAmbDegree = 0; - static constexpr int NonAmbiguousAmbDegree = 1; - static constexpr int ChargeUnitTimesThree = 3; - struct EvSelStep { - bool enabled; - uint32_t bit; - GenRecoCutBin bin; - }; - void initMagField(FullBCs::iterator const& bc) { if (magRunNumber == bc.runNumber()) { @@ -446,20 +436,20 @@ struct PseudorapidityDensityMFT { "enabled!"); } AxisSpec multAxis = {multBinning, "N_{trk}"}; - auto hstat = registry.get(HIST("EventSelection")); - auto* x = hstat->GetXaxis(); - x->SetBinLabel(static_cast(EventSelectionBin::All), "All"); - x->SetBinLabel(static_cast(EventSelectionBin::Vz), "Vz"); - x->SetBinLabel(static_cast(EventSelectionBin::VzItsRof), "Vz+ITSRof"); - x->SetBinLabel(static_cast(EventSelectionBin::VzSelected), "Vz+Selected"); - x->SetBinLabel(static_cast(EventSelectionBin::Sel8VzInelGt0), "Sel8+Vz+INEL>0"); - x->SetBinLabel(static_cast(EventSelectionBin::SelInelInelFwdGt0), "Sel INEL,INEL_fwd>0"); - x->SetBinLabel(static_cast(EventSelectionBin::Rejected), "Rejected"); - x->SetBinLabel(static_cast(EventSelectionBin::GoodBCs), "Good BCs"); - x->SetBinLabel(static_cast(EventSelectionBin::BCsWithCollisions), "BCs with collisions"); - x->SetBinLabel(static_cast(EventSelectionBin::BCsWithPileupSplitting), "BCs with pile-up/splitting"); - x->SetBinLabel(static_cast(EventSelectionBin::PerCollisionSampleGt0), "percollisionSample>0"); - x->SetBinLabel(static_cast(EventSelectionBin::MidtracksAndPerCollisionSampleGt0), "midtracks+percollisionSample>0"); + auto eventSelectionHist = registry.get(HIST("EventSelection")); + auto* eventSelectionAxis = eventSelectionHist->GetXaxis(); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::All), "All"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::Vz), "Vz"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::VzItsRof), "Vz+ITSRof"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::VzSelected), "Vz+Selected"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::Sel8VzInelGt0), "Sel8+Vz+INEL>0"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::SelInelInelFwdGt0), "Sel INEL,INEL_fwd>0"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::Rejected), "Rejected"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::GoodBCs), "Good BCs"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::BCsWithCollisions), "BCs with collisions"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::BCsWithPileupSplitting), "BCs with pile-up/splitting"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::PerCollisionSampleGt0), "percollisionSample>0"); + eventSelectionAxis->SetBinLabel(static_cast(EventSelectionBin::MidtracksAndPerCollisionSampleGt0), "midtracks+percollisionSample>0"); registry.add({"EventSelectionData", ";cut;events", {HistType::kTH1F, {{16, 0.5, 16.5}}}}); @@ -1160,12 +1150,12 @@ struct PseudorapidityDensityMFT { ";status;centrality;events", {HistType::kTH1F, {{5, 0.5, 5.5}}}}); auto heff = registry.get(HIST("EventEfficiencymc")); - x = heff->GetXaxis(); - x->SetBinLabel(static_cast(EventEfficiencyBin::Generated), "Generated"); - x->SetBinLabel(static_cast(EventEfficiencyBin::GeneratedInelGt0), "Generated INEL>0"); - x->SetBinLabel(static_cast(EventEfficiencyBin::Reconstructed), "Reconstructed"); - x->SetBinLabel(static_cast(EventEfficiencyBin::Selected), "Selected"); - x->SetBinLabel(static_cast(EventEfficiencyBin::SelectedInelGt0), "Selected INEL>0"); + auto* eventEfficiencyAxis = heff->GetXaxis(); + eventEfficiencyAxis->SetBinLabel(static_cast(EventEfficiencyBin::Generated), "Generated"); + eventEfficiencyAxis->SetBinLabel(static_cast(EventEfficiencyBin::GeneratedInelGt0), "Generated INEL>0"); + eventEfficiencyAxis->SetBinLabel(static_cast(EventEfficiencyBin::Reconstructed), "Reconstructed"); + eventEfficiencyAxis->SetBinLabel(static_cast(EventEfficiencyBin::Selected), "Selected"); + eventEfficiencyAxis->SetBinLabel(static_cast(EventEfficiencyBin::SelectedInelGt0), "Selected INEL>0"); } if (doprocessGen) { @@ -1426,9 +1416,9 @@ struct PseudorapidityDensityMFT { std::vector::iterator> cols; for (const auto& bc : bcs) { - if (!useEvSel || - (useEvSel && ((bc.selection_bit(aod::evsel::kIsBBT0A) && - bc.selection_bit(aod::evsel::kIsBBT0C)) != 0))) { + 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) { @@ -1518,7 +1508,7 @@ struct PseudorapidityDensityMFT { { registry.fill(HIST("EventSelection"), static_cast(EventSelectionBin::All)); - if (!useEvSel || (useEvSel && collision.sel8())) { + if (!useEvSel || collision.sel8()) { registry.fill(HIST("EventSelection"), static_cast(EventSelectionBin::VzSelected)); auto z = collision.posZ(); auto perCollisionSample = sampleCentral->sliceByCached( @@ -2089,7 +2079,7 @@ struct PseudorapidityDensityMFT { if constexpr (ExColsGenCent::template contains()) { cRec = collision.centFT0C(); } - if (!useEvSel || (useEvSel && collision.sel8())) { + if (!useEvSel || collision.sel8()) { if constexpr (ExColsGenCent::template contains()) { if (!atLeastOne) { cGen = cRec; @@ -2165,7 +2155,7 @@ struct PseudorapidityDensityMFT { soa::Join::iterator const& collision, MFTTracksLabeled const& tracks, aod::McParticles const&) { - if (!useEvSel || (useEvSel && collision.sel8())) { + if (!useEvSel || collision.sel8()) { for (const auto& track : tracks) { if (!track.has_mcParticle()) { continue; From 56c950a6cd764e2fc399f2e90b8d127c7f390756 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 28 Aug 2026 07:45:57 +0000 Subject: [PATCH 5/9] Please consider the following formatting changes --- .../GlobalEventProperties/PseudorapidityDensityMFT.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 914a5c412c6..569858b9258 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -1416,9 +1416,9 @@ 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))) { + 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) { From fe4353d79bda13b3cceae1e68033ba31e66624e2 Mon Sep 17 00:00:00 2001 From: tutripat <73981392+tutripat@users.noreply.github.com> Date: Fri, 28 Aug 2026 16:12:58 +0200 Subject: [PATCH 6/9] Refactor AxisSpec declarations to const Changed AxisSpec declarations to const for better safety and clarity. Updated various variable initializations to use uniform initialization syntax. --- .../PseudorapidityDensityMFT.cxx | 95 ++++++++++--------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 569858b9258..82a0e0148ed 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -69,38 +69,38 @@ using namespace o2::framework::expressions; using namespace o2::aod::track; using namespace o2::aod::rctsel; -AxisSpec ptAxis = {2001, -0.005, 20.005}; -AxisSpec deltazAxis = {6100, -6.1, 6.1}; -AxisSpec zAxis = {3001, -30.1, 30.1}; -AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; -AxisSpec etaAxis = {18, -4.6, -1.}; -// AxisSpec dcaXyAxis = {2000, -10, 10}; -// AxisSpec dcaZAxis = {2000, -10, 10}; -// AxisSpec dcaXAxis = {2000, -10, 10}; -// AxisSpec dcaYAxis = {2000, -10, 10};// previous AxisSpec dcaYAxis = {2000, -10, 10}; - -AxisSpec dcaXyAxis = {6000, -30, 30}; -AxisSpec dcaZAxis = {6000, -30, 30}; -AxisSpec dcaXAxis = {6000, -30, 30}; -AxisSpec dcaYAxis = {6000, -30, 30}; // previous AxisSpec dcaYAxis = {2000, -10, 10}; -// AxisSpec dcaXyAxis = {600, -0.15f, 0.15f}; -// AxisSpec dcaZAxis = {600, -0.15f, 0.15f}; -// AxisSpec dcaXAxis = {600, -0.15f, 0.15f}; -// AxisSpec dcaYAxis = {600, -0.15f, 0.15f}; +const AxisSpec ptAxis = {2001, -0.005, 20.005}; +const AxisSpec deltazAxis = {6100, -6.1, 6.1}; +const AxisSpec zAxis = {3001, -30.1, 30.1}; +const AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; +const AxisSpec etaAxis = {18, -4.6, -1.}; +// const AxisSpec dcaXyAxis = {2000, -10, 10}; +// const AxisSpec dcaZAxis = {2000, -10, 10}; +// const AxisSpec dcaXAxis = {2000, -10, 10}; +// const AxisSpec dcaYAxis = {2000, -10, 10};// previous AxisSpec dcaYAxis = {2000, -10, 10}; + +const AxisSpec dcaXyAxis = {6000, -30, 30}; +const AxisSpec dcaZAxis = {6000, -30, 30}; +const AxisSpec dcaXAxis = {6000, -30, 30}; +const AxisSpec dcaYAxis = {6000, -30, 30}; // previous AxisSpec dcaYAxis = {2000, -10, 10}; +// const AxisSpec dcaXyAxis = {600, -0.15f, 0.15f}; +// const AxisSpec dcaZAxis = {600, -0.15f, 0.15f}; +// const AxisSpec dcaXAxis = {600, -0.15f, 0.15f}; +// const AxisSpec dcaYAxis = {600, -0.15f, 0.15f}; // bin width 0.0005 cm: range [-30, 30] cm => 60/0.0005 = 120000 bins // Keep bin width = 0.0005 cm (5 um): range [-1, 1] cm => 2.0/0.0005 = 4000 bins -// AxisSpec axisBinsDCA = {600, -0.15f, 0.15f, "#it{dca}_{xy} (cm)"}; -AxisSpec centAxis = {{0, 10, 20, 30, 40, 50, 60, 70, 80, 100}}; +// const AxisSpec axisBinsDCA = {600, -0.15f, 0.15f, "#it{dca}_{xy} (cm)"}; +const AxisSpec centAxis = {{0, 10, 20, 30, 40, 50, 60, 70, 80, 100}}; // Vertex position axes (cm) -AxisSpec vxAxis = {200, -0.5, 0.5, "V_{x} (cm)"}; -AxisSpec vyAxis = {200, -0.5, 0.5, "V_{y} (cm)"}; +const AxisSpec vxAxis = {200, -0.5, 0.5, "V_{x} (cm)"}; +const AxisSpec vyAxis = {200, -0.5, 0.5, "V_{y} (cm)"}; // Status axis for reco/truth (1=reco, 2=true) -AxisSpec recoTruthStatusAxis = {2, 0.5, 2.5, "status"}; +const AxisSpec recoTruthStatusAxis = {2, 0.5, 2.5, "status"}; // Delta-vertex axes (reco - true) in cm -AxisSpec deltaVxAxis = {400, -0.5, 0.5, "#DeltaV_{x} = V_{x}^{rec}-V_{x}^{true} (cm)"}; -AxisSpec deltaVyAxis = {400, -0.5, 0.5, "#DeltaV_{y} = V_{y}^{rec}-V_{y}^{true} (cm)"}; +const AxisSpec deltaVxAxis = {400, -0.5, 0.5, "#DeltaV_{x} = V_{x}^{rec}-V_{x}^{true} (cm)"}; +const AxisSpec deltaVyAxis = {400, -0.5, 0.5, "#DeltaV_{y} = V_{y}^{rec}-V_{y}^{true} (cm)"}; static constexpr TrackSelectionFlags::flagtype TrackSelectionIts = TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF | @@ -153,10 +153,10 @@ struct PseudorapidityDensityMFT { Preslice perMcCol = aod::mcparticle::mcCollisionId; Preslice perColCentral = aod::track::collisionId; - Service pdg; + Service pdg{}; // --- CCDB magnetic field (needed for propagateToDCAhelix in this device) --- - Service ccdbMgr; + Service ccdbMgr{}; Configurable ccdburlMag{"ccdburlMag", "http://alice-ccdb.cern.ch", "CCDB url for GRPMagField"}; Configurable grpmagPathMag{"grpmagPathMag", "GLO/Config/GRPMagField", @@ -165,7 +165,7 @@ struct PseudorapidityDensityMFT { int magRunNumber = -1; float bzMFT = 0.f; o2::parameters::GRPMagField* grpmag = nullptr; - static constexpr double CenterMft[3] = {0., 0., -61.4}; + static constexpr std::array CenterMft{0., 0., -61.4}; enum class GenRecoCutBin : int { AllRecoCollisions = 1, @@ -315,9 +315,10 @@ struct PseudorapidityDensityMFT { o2::base::Propagator::initFieldFromGRP(grpmag); magRunNumber = bc.runNumber(); - auto* field = static_cast(TGeoGlobalMagField::Instance()->GetField()); + auto* field = dynamic_cast( + TGeoGlobalMagField::Instance()->GetField()); if (field) { - bzMFT = field->getBz(CenterMft); + bzMFT = field->getBz(CenterMft.data()); LOGP(info, "Initialized magnetic field for run {}: bzMFT={} kG", magRunNumber, bzMFT); } else { LOGF(warning, "TGeoGlobalMagField has no field even after initFieldFromGRP; bzMFT=0"); @@ -1534,8 +1535,9 @@ struct PseudorapidityDensityMFT { ((phi > o2::constants::math::PI - cfgPhiCut) && (phi < o2::constants::math::PI + cfgPhiCut)) || (phi > o2::constants::math::TwoPI - cfgPhiCut) || ((phi > ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) - cfgPhiCut) && - (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); @@ -1617,7 +1619,7 @@ struct PseudorapidityDensityMFT { const auto passEventSelection = [&](auto const& collision) { struct EvSelStep { bool enabled{false}; - decltype(aod::evsel::kIsTriggerTVX) bit; + decltype(aod::evsel::kIsTriggerTVX) bit{}; DataCutBin bin{DataCutBin::All}; }; @@ -1874,8 +1876,9 @@ struct PseudorapidityDensityMFT { ((phi > o2::constants::math::PI - cfgPhiCut) && (phi < o2::constants::math::PI + cfgPhiCut)) || (phi > o2::constants::math::TwoPI - cfgPhiCut) || ((phi > ((o2::constants::math::PIHalf - 0.1) * o2::constants::math::PI) - cfgPhiCut) && - (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); @@ -2016,12 +2019,14 @@ struct PseudorapidityDensityMFT { if (usePhiCut) { if ((phi <= PhiVetoLow) || ((phi >= PhiVetoPiMin) && (phi <= PhiVetoPiMax)) || - (phi >= PhiVetoHigh)) + (phi >= PhiVetoHigh)) { continue; + } } if (usePtCut) { - if (ptCut > cfgnPt) + if (ptCut > cfgnPt) { continue; + } } if (cfgnEta1 < particle.eta() && particle.eta() < cfgnEta2 && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) { registry.fill(HIST("TracksEtaZvtxGen_t"), particle.eta(), @@ -2198,7 +2203,7 @@ struct PseudorapidityDensityMFT { const auto countAndPassEvSelGenReco = [&](auto const& collision) { struct EvSelStep { bool enabled{false}; - decltype(aod::evsel::kIsTriggerTVX) bit; + decltype(aod::evsel::kIsTriggerTVX) bit{}; GenRecoCutBin bin{GenRecoCutBin::AllRecoCollisions}; }; @@ -2330,7 +2335,7 @@ struct PseudorapidityDensityMFT { } const int recoCol = track.collisionId(); - if (acceptedRecoCols.find(recoCol) == acceptedRecoCols.end()) { + if (!acceptedRecoCols.contains(recoCol)) { continue; } @@ -2505,7 +2510,7 @@ struct PseudorapidityDensityMFT { const auto countAndPassEvSelGenReco = [&](auto const& collision) { struct EvSelStep { bool enabled{false}; - decltype(aod::evsel::kIsTriggerTVX) bit; + decltype(aod::evsel::kIsTriggerTVX) bit{}; GenRecoCutBin bin{GenRecoCutBin::AllRecoCollisions}; }; @@ -2716,7 +2721,7 @@ struct PseudorapidityDensityMFT { // std::cout << " track.collisionId() " << track.collisionId() << "track.bestCollisionId()" << track.bestCollisionId() << std::endl; // " track.globalIndex() "<= PhiVetoPiMin) && (phi <= PhiVetoPiMax)) || - (phi >= PhiVetoHigh)) + (phi >= PhiVetoHigh)) { continue; + } } if (usePtCut) { - if (ptCut > cfgnPt) + if (ptCut > cfgnPt) { continue; + } } if (cfgnEta1 < particle.eta() && particle.eta() < cfgnEta2 && (phi > cfgPhiCut1 && phi < cfgPhiCut2)) { if (onlyVz) { From 1d44f6c1bbf1a920d41f67f81b25cc48ff1cbdd8 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 28 Aug 2026 14:13:43 +0000 Subject: [PATCH 7/9] Please consider the following formatting changes --- .../GlobalEventProperties/PseudorapidityDensityMFT.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 82a0e0148ed..e8b15a2ab34 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -316,9 +316,9 @@ struct PseudorapidityDensityMFT { magRunNumber = bc.runNumber(); auto* field = dynamic_cast( - TGeoGlobalMagField::Instance()->GetField()); + TGeoGlobalMagField::Instance()->GetField()); if (field) { - bzMFT = field->getBz(CenterMft.data()); + bzMFT = field->getBz(CenterMft.data()); LOGP(info, "Initialized magnetic field for run {}: bzMFT={} kG", magRunNumber, bzMFT); } else { LOGF(warning, "TGeoGlobalMagField has no field even after initFieldFromGRP; bzMFT=0"); @@ -2845,11 +2845,11 @@ struct PseudorapidityDensityMFT { const int mcOfTrack = isTrueByLabel ? track.mcParticle().mcCollisionId() : InvalidCollisionId; const bool foundRecoColInRecoList = - recoCollisionIds.contains(recoCol); + recoCollisionIds.contains(recoCol); const bool foundBestColInRecoList = - recoCollisionIds.contains(bestColID); + recoCollisionIds.contains(bestColID); const bool foundInMCTrueList = - isTrueByLabel && trueMCCollisionIds.contains(mcOfTrack); + isTrueByLabel && trueMCCollisionIds.contains(mcOfTrack); static constexpr int RecoColMissingBin = 1; static constexpr int BestRecoColMissingBin = 2; From 91f104508a393af687df9bf1080500ef05f24016 Mon Sep 17 00:00:00 2001 From: tutripat <73981392+tutripat@users.noreply.github.com> Date: Fri, 28 Aug 2026 17:31:09 +0200 Subject: [PATCH 8/9] Adjust axis specifications --- .../GlobalEventProperties/PseudorapidityDensityMFT.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index e8b15a2ab34..244f51891ef 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -10,8 +10,8 @@ // or submit itself to any jurisdiction. /// \file PseudorapidityDensityMFT.cxx -/// \author Sarah Herrmann /// \author Tulika Tripathy +/// \author Sarah Herrmann /// \brief This code loops over MFT tracks and collisions and fills histograms /// useful to compute dNdeta @@ -72,8 +72,8 @@ using namespace o2::aod::rctsel; const AxisSpec ptAxis = {2001, -0.005, 20.005}; const AxisSpec deltazAxis = {6100, -6.1, 6.1}; const AxisSpec zAxis = {3001, -30.1, 30.1}; -const AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; -const AxisSpec etaAxis = {18, -4.6, -1.}; +const AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; //do not change +const AxisSpec etaAxis = {18, -4.6, -1.}; //do not change // const AxisSpec dcaXyAxis = {2000, -10, 10}; // const AxisSpec dcaZAxis = {2000, -10, 10}; // const AxisSpec dcaXAxis = {2000, -10, 10}; From 71d48025f7668edf3c84b4a40f19cb3cccf2258a Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Fri, 28 Aug 2026 15:31:51 +0000 Subject: [PATCH 9/9] Please consider the following formatting changes --- .../Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index 244f51891ef..50ec3c8889e 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -72,8 +72,8 @@ using namespace o2::aod::rctsel; const AxisSpec ptAxis = {2001, -0.005, 20.005}; const AxisSpec deltazAxis = {6100, -6.1, 6.1}; const AxisSpec zAxis = {3001, -30.1, 30.1}; -const AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; //do not change -const AxisSpec etaAxis = {18, -4.6, -1.}; //do not change +const AxisSpec phiAxis = {629, 0, o2::constants::math::TwoPI, "Rad", "phi axis"}; // do not change +const AxisSpec etaAxis = {18, -4.6, -1.}; // do not change // const AxisSpec dcaXyAxis = {2000, -10, 10}; // const AxisSpec dcaZAxis = {2000, -10, 10}; // const AxisSpec dcaXAxis = {2000, -10, 10};