@@ -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 > doGenEventSelection{" doGenEventSelection" , true , " use event selections when performing closure test for the gen events" };
6263 Configurable<bool > selectINELgtZERO{" selectINELgtZERO" , true , " select INEL>0 events" };
6364 Configurable<float > zVertexCut{" zVertexCut" , 10 , " Cut on PV position" };
6465 Configurable<bool > skipUnderOverflowInTHn{" skipUnderOverflowInTHn" , false , " skip under/overflow in THns" };
@@ -601,7 +602,8 @@ struct correlateStrangeness {
601602
602603 // Some QA plots
603604 histos.add (" hTrackEtaVsPtVsPhi" , " hTrackEtaVsPtVsPhi" , kTH3F , {axisPtQA, axisEta, axisPhi});
604- histos.add (" hTriggerPurityEtaVsPt" , " hTriggerPurityEtaVsPt" , kTH3F , {axisPtQA, axisEta, {2 , 0 , 2 }});
605+ histos.add (" hTriggerPrimaryEtaVsPt" , " hTriggerPrimaryEtaVsPt" , kTH3F , {axisPtQA, axisEta, axisMult});
606+ histos.add (" hTriggerAllSelectedEtaVsPt" , " hTriggerAllSelectedEtaVsPt" , kTH3F , {axisPtQA, axisEta, axisMult});
605607
606608 histos.add (" hNumberOfRejectedPairsV0" , " hNumberOfRejectedPairsV0" , kTH1F , {{1 , 0 , 1 }});
607609 histos.add (" hNumberOfRejectedPairsCascades" , " hNumberOfRejectedPairsCascades" , kTH1F , {{1 , 0 , 1 }});
@@ -621,7 +623,7 @@ struct correlateStrangeness {
621623 histos.add (" EventQA/hMixingQA" , " mixing QA" , kTH1F , {{2 , -0.5 , 1.5 }});
622624 histos.add (" EventQA/hMult" , " Multiplicity" , kTH1F , {axisMult});
623625 histos.add (" EventQA/hPvz" , " ;pvz;Entries" , kTH1F , {{30 , -15 , 15 }});
624- histos.add (" EventQA/hMultFT0vsTPC" , " ;centFT0M;multNTracksPVeta1" , kTH2F , {{axisMult }, {300 , 0 , 300 }});
626+ histos.add (" EventQA/hMultFT0vsTPC" , " ;centFT0M;multNTracksPVeta1" , kTH2F , {{100 , 0 , 100 }, {300 , 0 , 300 }});
625627
626628 // MC generated plots
627629 if (doprocessMCGenerated) {
@@ -657,15 +659,15 @@ struct correlateStrangeness {
657659 histos.add (" GeneratedWithPV/hOmegaPlus_MidYVsMult_TwoPVsOrMore" , " " , kTH2F , {axisPtQA, axisMult});
658660 }
659661 if (doprocessClosureTest) {
660- histos.add (" ClosureTest/sameEvent/Pion" , " Pion" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
661- histos.add (" ClosureTest/sameEvent/K0Short" , " K0Short" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
662- histos.add (" ClosureTest/sameEvent/Lambda" , " Lambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
663- histos.add (" ClosureTest/sameEvent/AntiLambda" , " AntiLambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
664- histos.add (" ClosureTest/sameEvent/XiMinus" , " XiMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
665- histos.add (" ClosureTest/sameEvent/XiPlus" , " XiPlus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
666- histos.add (" ClosureTest/sameEvent/OmegaMinus" , " OmegaMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
667- histos.add (" ClosureTest/sameEvent/OmegaPlus" , " OmegaPlus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMultCount });
668- histos.add (" ClosureTest/hTrigger" , " Trigger Tracks" , kTH3F , {axisPtQA, axisEta, axisPhi });
662+ histos.add (" ClosureTest/sameEvent/Pion" , " Pion" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
663+ histos.add (" ClosureTest/sameEvent/K0Short" , " K0Short" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
664+ histos.add (" ClosureTest/sameEvent/Lambda" , " Lambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
665+ histos.add (" ClosureTest/sameEvent/AntiLambda" , " AntiLambda" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
666+ histos.add (" ClosureTest/sameEvent/XiMinus" , " XiMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
667+ histos.add (" ClosureTest/sameEvent/XiPlus" , " XiPlus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
668+ histos.add (" ClosureTest/sameEvent/OmegaMinus" , " OmegaMinus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
669+ histos.add (" ClosureTest/sameEvent/OmegaPlus" , " OmegaPlus" , kTHnF , {axisDeltaPhiNDim, axisDeltaEtaNDim, axisPtAssocNDim, axisPtTriggerNDim, axisVtxZNDim, axisMult });
670+ histos.add (" ClosureTest/hTrigger" , " Trigger Tracks" , kTH3F , {axisPtQA, axisEta, axisMult });
669671 histos.add (" ClosureTest/hPion" , " " , kTH3F , {axisPtQA, axisEta, axisPhi});
670672 histos.add (" ClosureTest/hK0Short" , " " , kTH3F , {axisPtQA, axisEta, axisPhi});
671673 histos.add (" ClosureTest/hLambda" , " " , kTH3F , {axisPtQA, axisEta, axisPhi});
@@ -745,10 +747,10 @@ struct correlateStrangeness {
745747 if (!doprocessSameEventHCascades) {
746748 for (auto const & triggerTrack : triggerTracks) {
747749 auto track = triggerTrack.track_as <TracksComplete>();
748- histos.fill (HIST (" hTriggerPurityEtaVsPt " ), track.pt (), track.eta (), 0.5 );
750+ histos.fill (HIST (" hTriggerAllSelectedEtaVsPt " ), track.pt (), track.eta (), collision. centFT0M () );
749751 if (doTriggPhysicalPrimary && !triggerTrack.mcPhysicalPrimary ())
750752 continue ;
751- histos.fill (HIST (" hTriggerPurityEtaVsPt " ), track.pt (), track.eta (), 1.5 );
753+ histos.fill (HIST (" hTriggerPrimaryEtaVsPt " ), track.pt (), track.eta (), collision. centFT0M () );
752754 histos.fill (HIST (" hTrackEtaVsPtVsPhi" ), track.pt (), track.eta (), track.phi ());
753755 }
754756 }
@@ -1099,7 +1101,7 @@ struct correlateStrangeness {
10991101 }
11001102 }
11011103 }
1102- void processClosureTest (aod::McCollision const & collision, aod::McParticles const & mcParticles)
1104+ void processClosureTest (aod::McCollision const & collision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::PVMults>> const & recCollisions, aod::McParticles const & mcParticles)
11031105 {
11041106
11051107 std::vector<uint32_t > triggerIndices;
@@ -1113,6 +1115,29 @@ struct correlateStrangeness {
11131115 std::vector<uint32_t > omegaMinusIndices;
11141116 std::vector<uint32_t > omegaPlusIndices;
11151117
1118+ int bestCollisionFT0Mpercentile = -1 ;
1119+ float bestCollisionVtxZ = 0 .0f ;
1120+ bool bestCollisionSel8 = false ;
1121+ bool bestCollisionINELgtZERO = false ;
1122+ int biggestNContribs = -1 ;
1123+ for (auto & recCollision : recCollisions) {
1124+ if (biggestNContribs < recCollision.numContrib ()) {
1125+ biggestNContribs = recCollision.numContrib ();
1126+ bestCollisionFT0Mpercentile = recCollision.centFT0M ();
1127+ bestCollisionSel8 = recCollision.sel8 ();
1128+ bestCollisionVtxZ = recCollision.posZ ();
1129+ bestCollisionINELgtZERO = recCollision.isInelGt0 ();
1130+ }
1131+ }
1132+ if (doGenEventSelection) {
1133+ if (!bestCollisionSel8)
1134+ return ;
1135+ if (std::abs (bestCollisionVtxZ) > 10 .0f )
1136+ return ;
1137+ if (!bestCollisionINELgtZERO)
1138+ return ;
1139+ }
1140+
11161141 int iteratorNum = -1 ;
11171142 for (auto const & mcParticle : mcParticles) {
11181143 iteratorNum = iteratorNum + 1 ;
@@ -1190,7 +1215,7 @@ struct correlateStrangeness {
11901215 Double_t getaassoc = assocParticle.eta ();
11911216 Double_t gphiassoc = assocParticle.phi ();
11921217 Double_t ptassoc = assocParticle.pt ();
1193- histos.fill (HIST (" ClosureTest/sameEvent/" ) + HIST (particlenames[index]), ComputeDeltaPhi (gphitrigger, gphiassoc), getatrigger - getaassoc, ptassoc, pttrigger, collision.posZ (), iteratorNum );
1218+ histos.fill (HIST (" ClosureTest/sameEvent/" ) + HIST (particlenames[index]), ComputeDeltaPhi (gphitrigger, gphiassoc), getatrigger - getaassoc, ptassoc, pttrigger, collision.posZ (), bestCollisionFT0Mpercentile );
11941219 }
11951220 }
11961221 });
0 commit comments