diff --git a/PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx b/PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx index 69f0ca48aca..6d07430c300 100644 --- a/PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx +++ b/PWGLF/Tasks/Strangeness/hStrangeCorrelation.cxx @@ -59,6 +59,7 @@ struct correlateStrangeness { Configurable doCorrelationOmegaMinus{"doCorrelationOmegaMinus", false, "do OmegaMinus correlation"}; Configurable doCorrelationOmegaPlus{"doCorrelationOmegaPlus", false, "do OmegaPlus correlation"}; Configurable doCorrelationPion{"doCorrelationPion", false, "do Pion correlation"}; + Configurable selectINELgtZERO{"selectINELgtZERO", true, "select INEL>0 events"}; Configurable zVertexCut{"zVertexCut", 10, "Cut on PV position"}; Configurable skipUnderOverflowInTHn{"skipUnderOverflowInTHn", false, "skip under/overflow in THns"}; Configurable mixingParameter{"mixingParameter", 10, "how many events are mixed"}; @@ -663,7 +664,7 @@ struct correlateStrangeness { } } - void processSameEventHV0s(soa::Join::iterator const& collision, + void processSameEventHV0s(soa::Join::iterator const& collision, aod::AssocV0s const& associatedV0s, aod::TriggerTracks const& triggerTracks, V0DatasWithoutTrackX const&, aod::V0sLinked const&, TracksComplete const&, aod::BCsWithTimestamps const&) { @@ -678,6 +679,9 @@ struct correlateStrangeness { if (collision.centFT0M() > axisRanges[5][1] || collision.centFT0M() < axisRanges[5][0]) { return; } + if (!collision.isInelGt0() && selectINELgtZERO) { + return; + } // ________________________________________________ if (!doprocessSameEventHCascades) { histos.fill(HIST("MixingQA/hSECollisionBins"), colBinning.getBin({collision.posZ(), collision.centFT0M()})); @@ -727,7 +731,7 @@ struct correlateStrangeness { fillCorrelationsV0(triggerTracks, associatedV0s, false, collision.posZ(), collision.centFT0M()); } - void processSameEventHCascades(soa::Join::iterator const& collision, + void processSameEventHCascades(soa::Join::iterator const& collision, aod::AssocV0s const&, aod::AssocCascades const& associatedCascades, aod::TriggerTracks const& triggerTracks, V0DatasWithoutTrackX const&, aod::V0sLinked const&, aod::CascDatas const&, TracksComplete const&, aod::BCsWithTimestamps const&) { @@ -742,6 +746,9 @@ struct correlateStrangeness { if (collision.centFT0M() > axisRanges[5][1] || collision.centFT0M() < axisRanges[5][0]) { return; } + if (!collision.isInelGt0() && selectINELgtZERO) { + return; + } // ________________________________________________ histos.fill(HIST("MixingQA/hSECollisionBins"), colBinning.getBin({collision.posZ(), collision.centFT0M()})); histos.fill(HIST("EventQA/hMult"), collision.centFT0M()); @@ -787,7 +794,7 @@ struct correlateStrangeness { // Do hadron - cascade correlations fillCorrelationsCascade(triggerTracks, associatedCascades, false, collision.posZ(), collision.centFT0M()); } - void processSameEventHPions(soa::Join::iterator const& collision, + void processSameEventHPions(soa::Join::iterator const& collision, aod::AssocPions const& associatedPions, aod::TriggerTracks const& triggerTracks, TracksComplete const&, aod::BCsWithTimestamps const&) { @@ -802,6 +809,9 @@ struct correlateStrangeness { if (collision.centFT0M() > axisRanges[5][1] || collision.centFT0M() < axisRanges[5][0]) { return; } + if (!collision.isInelGt0() && selectINELgtZERO) { + return; + } // ________________________________________________ if (!doprocessSameEventHCascades && !doprocessSameEventHV0s) { histos.fill(HIST("MixingQA/hSECollisionBins"), colBinning.getBin({collision.posZ(), collision.centFT0M()})); @@ -824,7 +834,7 @@ struct correlateStrangeness { // Do hadron - Pion correlations fillCorrelationsPion(triggerTracks, associatedPions, false, collision.posZ(), collision.centFT0M()); } - void processMixedEventHV0s(soa::Join const& collisions, + void processMixedEventHV0s(soa::Join const& collisions, aod::AssocV0s const& associatedV0s, aod::TriggerTracks const& triggerTracks, V0DatasWithoutTrackX const&, aod::V0sLinked const&, TracksComplete const&, aod::BCsWithTimestamps const&) { @@ -843,6 +853,8 @@ struct correlateStrangeness { continue; if (collision2.centFT0M() > axisRanges[5][1] || collision2.centFT0M() < axisRanges[5][0]) continue; + if ((!collision1.isInelGt0() || !collision2.isInelGt0()) && selectINELgtZERO) + continue; if (!doprocessMixedEventHCascades) { if (collision1.globalIndex() == collision2.globalIndex()) { @@ -861,7 +873,7 @@ struct correlateStrangeness { fillCorrelationsV0(slicedTriggerTracks, slicedAssocV0s, true, collision1.posZ(), collision1.centFT0M()); } } - void processMixedEventHCascades(soa::Join const& collisions, + void processMixedEventHCascades(soa::Join const& collisions, aod::AssocV0s const&, aod::AssocCascades const& associatedCascades, aod::TriggerTracks const& triggerTracks, V0DatasWithoutTrackX const&, aod::V0sLinked const&, aod::CascDatas const&, TracksComplete const&, aod::BCsWithTimestamps const&) { @@ -880,6 +892,8 @@ struct correlateStrangeness { continue; if (collision2.centFT0M() > axisRanges[5][1] || collision2.centFT0M() < axisRanges[5][0]) continue; + if ((!collision1.isInelGt0() || !collision2.isInelGt0()) && selectINELgtZERO) + continue; if (collision1.globalIndex() == collision2.globalIndex()) { histos.fill(HIST("MixingQA/hMixingQA"), 0.0f); // same-collision pair counting @@ -897,7 +911,7 @@ struct correlateStrangeness { fillCorrelationsCascade(slicedTriggerTracks, slicedAssocCascades, true, collision1.posZ(), collision1.centFT0M()); } } - void processMixedEventHPions(soa::Join const& collisions, + void processMixedEventHPions(soa::Join const& collisions, aod::AssocPions const& assocPions, aod::TriggerTracks const& triggerTracks, TracksComplete const&) { @@ -912,6 +926,8 @@ struct correlateStrangeness { continue; if (collision2.centFT0M() > axisRanges[5][1] || collision2.centFT0M() < axisRanges[5][0]) continue; + if ((!collision1.isInelGt0() || !collision2.isInelGt0()) && selectINELgtZERO) + continue; if (collision1.globalIndex() == collision2.globalIndex()) { histos.fill(HIST("MixingQA/hMixingQA"), 0.0f); // same-collision pair counting @@ -929,7 +945,8 @@ struct correlateStrangeness { fillCorrelationsPion(slicedTriggerTracks, slicedAssocPions, true, collision1.posZ(), collision1.centFT0M()); } } - void processMCGenerated(aod::McCollision const&, soa::SmallGroups> const& collisions, aod::McParticles const& mcParticles) + + void processMCGenerated(aod::McCollision const& mccollision, soa::SmallGroups> const& collisions, aod::McParticles const& mcParticles) { for (auto const& mcParticle : mcParticles) { @@ -960,12 +977,14 @@ struct correlateStrangeness { int bestCollisionFT0Mpercentile = -1; float bestCollisionVtxZ = 0.0f; bool bestCollisionSel8 = false; + bool bestCollisionINELgtZERO = false; for (auto& collision : collisions) { if (biggestNContribs < collision.numContrib()) { biggestNContribs = collision.numContrib(); bestCollisionFT0Mpercentile = collision.centFT0M(); bestCollisionSel8 = collision.sel8(); bestCollisionVtxZ = collision.posZ(); + bestCollisionINELgtZERO = collision.isInelGt0(); } } @@ -1001,6 +1020,8 @@ struct correlateStrangeness { return; if (std::abs(bestCollisionVtxZ) > 10.0f) return; + if (!bestCollisionINELgtZERO) + return; for (auto const& mcParticle : mcParticles) { if (!mcParticle.isPhysicalPrimary()) {