@@ -59,6 +59,7 @@ struct correlateStrangeness {
5959 Configurable<bool > doCorrelationOmegaMinus{" doCorrelationOmegaMinus" , false , " do OmegaMinus correlation" };
6060 Configurable<bool > doCorrelationOmegaPlus{" doCorrelationOmegaPlus" , false , " do OmegaPlus correlation" };
6161 Configurable<bool > doCorrelationPion{" doCorrelationPion" , false , " do Pion correlation" };
62+ Configurable<bool > selectINELgtZERO{" selectINELgtZERO" , true , " select INEL>0 events" };
6263 Configurable<float > zVertexCut{" zVertexCut" , 10 , " Cut on PV position" };
6364 Configurable<bool > skipUnderOverflowInTHn{" skipUnderOverflowInTHn" , false , " skip under/overflow in THns" };
6465 Configurable<int > mixingParameter{" mixingParameter" , 10 , " how many events are mixed" };
@@ -663,7 +664,7 @@ struct correlateStrangeness {
663664 }
664665 }
665666
666- void processSameEventHV0s (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms>::iterator const & collision,
667+ void processSameEventHV0s (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults >::iterator const & collision,
667668 aod::AssocV0s const & associatedV0s, aod::TriggerTracks const & triggerTracks,
668669 V0DatasWithoutTrackX const &, aod::V0sLinked const &, TracksComplete const &, aod::BCsWithTimestamps const &)
669670 {
@@ -678,6 +679,9 @@ struct correlateStrangeness {
678679 if (collision.centFT0M () > axisRanges[5 ][1 ] || collision.centFT0M () < axisRanges[5 ][0 ]) {
679680 return ;
680681 }
682+ if (!collision.isInelGt0 () && selectINELgtZERO) {
683+ return ;
684+ }
681685 // ________________________________________________
682686 if (!doprocessSameEventHCascades) {
683687 histos.fill (HIST (" MixingQA/hSECollisionBins" ), colBinning.getBin ({collision.posZ (), collision.centFT0M ()}));
@@ -727,7 +731,7 @@ struct correlateStrangeness {
727731 fillCorrelationsV0 (triggerTracks, associatedV0s, false , collision.posZ (), collision.centFT0M ());
728732 }
729733
730- void processSameEventHCascades (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms>::iterator const & collision,
734+ void processSameEventHCascades (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults >::iterator const & collision,
731735 aod::AssocV0s const &, aod::AssocCascades const & associatedCascades, aod::TriggerTracks const & triggerTracks,
732736 V0DatasWithoutTrackX const &, aod::V0sLinked const &, aod::CascDatas const &, TracksComplete const &, aod::BCsWithTimestamps const &)
733737 {
@@ -742,6 +746,9 @@ struct correlateStrangeness {
742746 if (collision.centFT0M () > axisRanges[5 ][1 ] || collision.centFT0M () < axisRanges[5 ][0 ]) {
743747 return ;
744748 }
749+ if (!collision.isInelGt0 () && selectINELgtZERO) {
750+ return ;
751+ }
745752 // ________________________________________________
746753 histos.fill (HIST (" MixingQA/hSECollisionBins" ), colBinning.getBin ({collision.posZ (), collision.centFT0M ()}));
747754 histos.fill (HIST (" EventQA/hMult" ), collision.centFT0M ());
@@ -787,7 +794,7 @@ struct correlateStrangeness {
787794 // Do hadron - cascade correlations
788795 fillCorrelationsCascade (triggerTracks, associatedCascades, false , collision.posZ (), collision.centFT0M ());
789796 }
790- void processSameEventHPions (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms>::iterator const & collision,
797+ void processSameEventHPions (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults >::iterator const & collision,
791798 aod::AssocPions const & associatedPions, aod::TriggerTracks const & triggerTracks,
792799 TracksComplete const &, aod::BCsWithTimestamps const &)
793800 {
@@ -802,6 +809,9 @@ struct correlateStrangeness {
802809 if (collision.centFT0M () > axisRanges[5 ][1 ] || collision.centFT0M () < axisRanges[5 ][0 ]) {
803810 return ;
804811 }
812+ if (!collision.isInelGt0 () && selectINELgtZERO) {
813+ return ;
814+ }
805815 // ________________________________________________
806816 if (!doprocessSameEventHCascades && !doprocessSameEventHV0s) {
807817 histos.fill (HIST (" MixingQA/hSECollisionBins" ), colBinning.getBin ({collision.posZ (), collision.centFT0M ()}));
@@ -824,7 +834,7 @@ struct correlateStrangeness {
824834 // Do hadron - Pion correlations
825835 fillCorrelationsPion (triggerTracks, associatedPions, false , collision.posZ (), collision.centFT0M ());
826836 }
827- void processMixedEventHV0s (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms> const & collisions,
837+ void processMixedEventHV0s (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults > const & collisions,
828838 aod::AssocV0s const & associatedV0s, aod::TriggerTracks const & triggerTracks,
829839 V0DatasWithoutTrackX const &, aod::V0sLinked const &, TracksComplete const &, aod::BCsWithTimestamps const &)
830840 {
@@ -843,6 +853,8 @@ struct correlateStrangeness {
843853 continue ;
844854 if (collision2.centFT0M () > axisRanges[5 ][1 ] || collision2.centFT0M () < axisRanges[5 ][0 ])
845855 continue ;
856+ if ((!collision1.isInelGt0 () || !collision2.isInelGt0 ()) && selectINELgtZERO)
857+ continue ;
846858
847859 if (!doprocessMixedEventHCascades) {
848860 if (collision1.globalIndex () == collision2.globalIndex ()) {
@@ -861,7 +873,7 @@ struct correlateStrangeness {
861873 fillCorrelationsV0 (slicedTriggerTracks, slicedAssocV0s, true , collision1.posZ (), collision1.centFT0M ());
862874 }
863875 }
864- void processMixedEventHCascades (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms> const & collisions,
876+ void processMixedEventHCascades (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults > const & collisions,
865877 aod::AssocV0s const &, aod::AssocCascades const & associatedCascades, aod::TriggerTracks const & triggerTracks,
866878 V0DatasWithoutTrackX const &, aod::V0sLinked const &, aod::CascDatas const &, TracksComplete const &, aod::BCsWithTimestamps const &)
867879 {
@@ -880,6 +892,8 @@ struct correlateStrangeness {
880892 continue ;
881893 if (collision2.centFT0M () > axisRanges[5 ][1 ] || collision2.centFT0M () < axisRanges[5 ][0 ])
882894 continue ;
895+ if ((!collision1.isInelGt0 () || !collision2.isInelGt0 ()) && selectINELgtZERO)
896+ continue ;
883897
884898 if (collision1.globalIndex () == collision2.globalIndex ()) {
885899 histos.fill (HIST (" MixingQA/hMixingQA" ), 0 .0f ); // same-collision pair counting
@@ -897,7 +911,7 @@ struct correlateStrangeness {
897911 fillCorrelationsCascade (slicedTriggerTracks, slicedAssocCascades, true , collision1.posZ (), collision1.centFT0M ());
898912 }
899913 }
900- void processMixedEventHPions (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms> const & collisions,
914+ void processMixedEventHPions (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults > const & collisions,
901915 aod::AssocPions const & assocPions, aod::TriggerTracks const & triggerTracks,
902916 TracksComplete const &)
903917 {
@@ -912,6 +926,8 @@ struct correlateStrangeness {
912926 continue ;
913927 if (collision2.centFT0M () > axisRanges[5 ][1 ] || collision2.centFT0M () < axisRanges[5 ][0 ])
914928 continue ;
929+ if ((!collision1.isInelGt0 () || !collision2.isInelGt0 ()) && selectINELgtZERO)
930+ continue ;
915931
916932 if (collision1.globalIndex () == collision2.globalIndex ()) {
917933 histos.fill (HIST (" MixingQA/hMixingQA" ), 0 .0f ); // same-collision pair counting
@@ -929,7 +945,8 @@ struct correlateStrangeness {
929945 fillCorrelationsPion (slicedTriggerTracks, slicedAssocPions, true , collision1.posZ (), collision1.centFT0M ());
930946 }
931947 }
932- void processMCGenerated (aod::McCollision const &, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms>> const & collisions, aod::McParticles const & mcParticles)
948+
949+ void processMCGenerated (aod::McCollision const & mccollision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults>> const & collisions, aod::McParticles const & mcParticles)
933950 {
934951
935952 for (auto const & mcParticle : mcParticles) {
@@ -960,12 +977,14 @@ struct correlateStrangeness {
960977 int bestCollisionFT0Mpercentile = -1 ;
961978 float bestCollisionVtxZ = 0 .0f ;
962979 bool bestCollisionSel8 = false ;
980+ bool bestCollisionINELgtZERO = false ;
963981 for (auto & collision : collisions) {
964982 if (biggestNContribs < collision.numContrib ()) {
965983 biggestNContribs = collision.numContrib ();
966984 bestCollisionFT0Mpercentile = collision.centFT0M ();
967985 bestCollisionSel8 = collision.sel8 ();
968986 bestCollisionVtxZ = collision.posZ ();
987+ bestCollisionINELgtZERO = collision.isInelGt0 ();
969988 }
970989 }
971990
@@ -1001,6 +1020,8 @@ struct correlateStrangeness {
10011020 return ;
10021021 if (std::abs (bestCollisionVtxZ) > 10 .0f )
10031022 return ;
1023+ if (!bestCollisionINELgtZERO)
1024+ return ;
10041025
10051026 for (auto const & mcParticle : mcParticles) {
10061027 if (!mcParticle.isPhysicalPrimary ()) {
0 commit comments