@@ -386,19 +386,21 @@ struct Phik0shortanalysis {
386386 mcEventHist.add (" hRecoMCMultiplicityPercent" , " RecoMC Multiplicity Percentile" , kTH1F , {binnedmultAxis});
387387 mcEventHist.add (" hRecoMCMultiplicityPercentWithPhi" , " RecoMC Multiplicity Percentile in Events with a Phi Candidate" , kTH1F , {binnedmultAxis});
388388 mcEventHist.add (" h2RecoMCVertexZvsMult" , " RecoMC Vertex Z vs Multiplicity Percentile" , kTH2F , {vertexZAxis, binnedmultAxis});
389+ mcEventHist.add (" hSplitVertexZ" , " Split in z-vtx" , kTH1F , {{100 , -5 .0f , 5 .0f }});
389390
390391 mcEventHist.add (" hGenMCVertexZ" , " hGenMCVertexZ" , kTH1F , {vertexZAxis});
391392 mcEventHist.add (" hGenMCMultiplicityPercent" , " GenMC Multiplicity Percentile" , kTH1F , {binnedmultAxis});
392393 mcEventHist.add (" hGenMCAssocRecoMultiplicityPercent" , " GenMC AssocReco Multiplicity Percentile" , kTH1F , {binnedmultAxis});
394+ mcEventHist.add (" h2GenMCAssocRecoVertexZvsMult" , " GenMC AssocReco Vertex Z vs Multiplicity Percentile" , kTH2F , {vertexZAxis, binnedmultAxis});
393395 mcEventHist.add (" hGenMCRecoMultiplicityPercent" , " GenMCReco Multiplicity Percentile" , kTH1F , {binnedmultAxis});
394396 mcEventHist.add (" h2GenMCRecoVertexZvsMult" , " GenMCReco Vertex Z vs Multiplicity Percentile" , kTH2F , {vertexZAxis, binnedmultAxis});
395397
396398 // Eta distribution for dN/deta values estimation in MC
397399 mcEventHist.add (" h6RecoMCEtaDistribution" , " Eta vs multiplicity in MCReco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, phiAxis, {6 , -0 .5f , 5 .5f }, {3 , -0 .5f , 2 .5f }});
398400 mcEventHist.add (" h6RecoCheckMCEtaDistribution" , " Eta vs multiplicity in MCReco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, phiAxis, {6 , -0 .5f , 5 .5f }, {3 , -0 .5f , 2 .5f }});
399401
400- mcEventHist.add (" h2GenMCEtaDistribution " , " Eta vs multiplicity in MCGen" , kTH2F , {binnedmultAxis, etaAxis});
401- mcEventHist.add (" h2GenMCEtaDistributionAssocReco " , " Eta vs multiplicity in MCGen Assoc Reco" , kTH2F , {binnedmultAxis, etaAxis});
402+ mcEventHist.add (" h5GenMCEtaDistribution " , " Eta vs multiplicity in MCGen" , kTHnSparseF , {binnedmultAxis, etaAxis, phiAxis, { 6 , - 0 . 5f , 5 . 5f }, { 3 , - 0 . 5f , 2 . 5f } });
403+ mcEventHist.add (" h6GenMCEtaDistributionAssocReco " , " Eta vs multiplicity in MCGen Assoc Reco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, phiAxis, { 6 , - 0 . 5f , 5 . 5f }, { 3 , - 0 . 5f , 2 . 5f } });
402404 mcEventHist.add (" h6GenMCEtaDistributionReco" , " Eta vs multiplicity in MCGen Reco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, phiAxis, {6 , -0 .5f , 5 .5f }, {3 , -0 .5f , 2 .5f }});
403405 mcEventHist.add (" h6GenMCEtaDistributionRecoCheck" , " Eta vs multiplicity in MCGen Reco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, phiAxis, {6 , -0 .5f , 5 .5f }, {3 , -0 .5f , 2 .5f }});
404406
@@ -2658,6 +2660,8 @@ struct Phik0shortanalysis {
26582660 return ;
26592661
26602662 uint64_t numberAssocColl = 0 ;
2663+ std::vector<float > zVtxs;
2664+
26612665 for (const auto & collision : collisions) {
26622666 if (acceptEventQA<true >(collision, false )) {
26632667 auto filteredMCTracksThisColl = filteredMCTracks.sliceBy (preslices.perColl , collision.globalIndex ());
@@ -2673,6 +2677,8 @@ struct Phik0shortanalysis {
26732677 mcEventHist.fill (HIST (" hGenMCRecoMultiplicityPercent" ), mcCollision.centFT0M ());
26742678 mcEventHist.fill (HIST (" h2GenMCRecoVertexZvsMult" ), collision.posZ (), mcCollision.centFT0M ());
26752679
2680+ zVtxs.push_back (collision.posZ ());
2681+
26762682 for (const auto & track : filteredMCTracksThisColl) {
26772683 if (trackConfigs.applyExtraPhiCuts && ((track.phi () > trackConfigs.extraPhiCuts ->at (0 ) && track.phi () < trackConfigs.extraPhiCuts ->at (1 )) ||
26782684 track.phi () <= trackConfigs.extraPhiCuts ->at (2 ) || track.phi () >= trackConfigs.extraPhiCuts ->at (3 )))
@@ -2717,16 +2723,48 @@ struct Phik0shortanalysis {
27172723 }
27182724
27192725 mcEventHist.fill (HIST (" hGenMCMultiplicityPercent" ), mcCollision.centFT0M ());
2720- if (numberAssocColl > 0 )
2726+
2727+ if (numberAssocColl > 0 ) {
2728+ float zVtxRef = zVtxs[0 ];
2729+ if (zVtxs.size () > 1 ) {
2730+ for (size_t i = 1 ; i < zVtxs.size (); ++i) {
2731+ mcEventHist.fill (HIST (" hSplitVertexZ" ), zVtxs[i] - zVtxRef);
2732+ }
2733+ }
2734+
27212735 mcEventHist.fill (HIST (" hGenMCAssocRecoMultiplicityPercent" ), mcCollision.centFT0M ());
2736+ mcEventHist.fill (HIST (" h2GenMCAssocRecoVertexZvsMult" ), zVtxRef, mcCollision.centFT0M ());
2737+ }
27222738
27232739 for (const auto & mcParticle : mcParticles) {
27242740 if (!isGenParticleCharged (mcParticle))
27252741 continue ;
27262742
2727- mcEventHist.fill (HIST (" h2GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta ());
2728- if (numberAssocColl > 0 )
2729- mcEventHist.fill (HIST (" h2GenMCEtaDistributionAssocReco" ), mcCollision.centFT0M (), mcParticle.eta ());
2743+ int pid = fromPDGToEnum (mcParticle.pdgCode ());
2744+
2745+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kNoGenpTVar );
2746+ if (mcParticle.pt () < trackConfigs.cMinChargedParticlePtcut ) {
2747+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTup , -10 .0f * mcParticle.pt () + 2 .0f );
2748+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTdown , 5 .0f * mcParticle.pt () + 0 .5f );
2749+ } else {
2750+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTup );
2751+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTdown );
2752+ }
2753+ mcEventHist.fill (HIST (" h5GenMCEtaDistribution" ), mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), pid, kNoGenpTVar );
2754+
2755+ if (numberAssocColl > 0 ) {
2756+ float zVtxRef = zVtxs[0 ];
2757+
2758+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kNoGenpTVar );
2759+ if (mcParticle.pt () < trackConfigs.cMinChargedParticlePtcut ) {
2760+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTup , -10 .0f * mcParticle.pt () + 2 .0f );
2761+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTdown , 5 .0f * mcParticle.pt () + 0 .5f );
2762+ } else {
2763+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTup );
2764+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), kSpAll , kGenpTdown );
2765+ }
2766+ mcEventHist.fill (HIST (" h6GenMCEtaDistributionAssocReco" ), zVtxRef, mcCollision.centFT0M (), mcParticle.eta (), mcParticle.phi (), pid, kNoGenpTVar );
2767+ }
27302768 }
27312769 }
27322770
0 commit comments