@@ -68,6 +68,16 @@ enum {
6868 kITSonly
6969};
7070
71+ enum {
72+ kSpAll = 0 ,
73+ kSpPion ,
74+ kSpKaon ,
75+ kSpProton ,
76+ kSpOther ,
77+ kSpStrangeDecay ,
78+ kSpNotPrimary
79+ };
80+
7181struct Phik0shortanalysis {
7282 // Histograms are defined with HistogramRegistry
7383 HistogramRegistry dataEventHist{" dataEventHist" , {}, OutputObjHandlingPolicy::AnalysisObject, true , true };
@@ -370,13 +380,13 @@ struct Phik0shortanalysis {
370380 mcEventHist.add (" h2GenMCRecoVertexZvsMult" , " GenMCReco Vertex Z vs Multiplicity Percentile" , kTH2F , {vertexZAxis, binnedmultAxis});
371381
372382 // Eta distribution for dN/deta values estimation in MC
373- mcEventHist.add (" h4RecoMCEtaDistribution " , " Eta vs multiplicity in MCReco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 .5f }});
374- mcEventHist.add (" h4RecoCheckMCEtaDistribution " , " Eta vs multiplicity in MCReco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 .5f }});
383+ mcEventHist.add (" h5RecoMCEtaDistribution " , " Eta vs multiplicity in MCReco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 . 5f }, { 6 , - 0 . 5f , 5 .5f }});
384+ mcEventHist.add (" h5RecoCheckMCEtaDistribution " , " Eta vs multiplicity in MCReco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 . 5f }, { 6 , - 0 . 5f , 5 .5f }});
375385
376386 mcEventHist.add (" h2GenMCEtaDistribution" , " Eta vs multiplicity in MCGen" , kTH2F , {binnedmultAxis, etaAxis});
377387 mcEventHist.add (" h2GenMCEtaDistributionAssocReco" , " Eta vs multiplicity in MCGen Assoc Reco" , kTH2F , {binnedmultAxis, etaAxis});
378- mcEventHist.add (" h4GenMCEtaDistributionReco" , " Eta vs multiplicity in MCGen Reco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 .5f }});
379- mcEventHist.add (" h4GenMCEtaDistributionRecoCheck" , " Eta vs multiplicity in MCGen Reco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {3 , -0 .5f , 2 .5f }});
388+ mcEventHist.add (" h4GenMCEtaDistributionReco" , " Eta vs multiplicity in MCGen Reco" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {6 , -0 .5f , 5 .5f }});
389+ mcEventHist.add (" h4GenMCEtaDistributionRecoCheck" , " Eta vs multiplicity in MCGen Reco Check" , kTHnSparseF , {vertexZAxis, binnedmultAxis, etaAxis, {6 , -0 .5f , 5 .5f }});
380390
381391 // Phi topological/PID cuts
382392 dataPhiHist.add (" h2DauTracksPhiDCAxyPreCutData" , " Dcaxy distribution vs pt before DCAxy cut" , kTH2F , {{100 , 0.0 , 5.0 , " #it{p}_{T} (GeV/#it{c})" }, {2000 , -0.05 , 0.05 , " DCA_{xy} (cm)" }});
@@ -988,6 +998,27 @@ struct Phik0shortanalysis {
988998 return true ;
989999 }
9901000
1001+ int fromPDGToEnum (int pdgCode)
1002+ {
1003+ int pid = kSpAll ;
1004+ switch (std::abs (pdgCode)) {
1005+ case PDG_t::kPiPlus :
1006+ pid = kSpPion ;
1007+ break ;
1008+ case PDG_t::kKPlus :
1009+ pid = kSpKaon ;
1010+ break ;
1011+ case PDG_t::kProton :
1012+ pid = kSpProton ;
1013+ break ;
1014+ default :
1015+ pid = kSpOther ;
1016+ break ;
1017+ }
1018+
1019+ return pid;
1020+ }
1021+
9911022 // Get phi-meson purity functions from CCDB
9921023 void getPhiPurityFunctionsFromCCDB ()
9931024 {
@@ -2491,19 +2522,25 @@ struct Phik0shortanalysis {
24912522 if (!mcTrack.isPhysicalPrimary () || std::abs (mcTrack.eta ()) > trackConfigs.etaMax )
24922523 continue ;
24932524
2494- mcEventHist.fill (HIST (" h4RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly );
2525+ mcEventHist.fill (HIST (" h5RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly , kSpAll );
24952526 if (track.hasTPC ()) {
2496- mcEventHist.fill (HIST (" h4RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalonly );
2527+ mcEventHist.fill (HIST (" h5RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalonly , kSpAll );
24972528 } else {
2498- mcEventHist.fill (HIST (" h4RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kITSonly );
2529+ mcEventHist.fill (HIST (" h5RecoMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kITSonly , kSpAll );
24992530 }
2531+
2532+ int pid = fromPDGToEnum (mcTrack.pdgCode ());
2533+ mcEventHist.fill (HIST (" h5RecoMCEtaDistribution" ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly , pid);
25002534 }
25012535
25022536 for (const auto & mcParticle : mcParticlesThisColl) {
25032537 if (!isGenParticleCharged (mcParticle))
25042538 continue ;
25052539
2506- mcEventHist.fill (HIST (" h4GenMCEtaDistributionReco" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta ());
2540+ mcEventHist.fill (HIST (" h4GenMCEtaDistributionReco" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta (), kSpAll );
2541+
2542+ int pid = fromPDGToEnum (mcParticle.pdgCode ());
2543+ mcEventHist.fill (HIST (" h4GenMCEtaDistributionReco" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta (), pid);
25072544 }
25082545 }
25092546
@@ -2533,19 +2570,25 @@ struct Phik0shortanalysis {
25332570 if (!mcTrack.isPhysicalPrimary () || std::abs (mcTrack.eta ()) > trackConfigs.etaMax )
25342571 continue ;
25352572
2536- mcEventHist.fill (HIST (" h4RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly );
2573+ mcEventHist.fill (HIST (" h5RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly , kSpAll );
25372574 if (track.hasTPC ()) {
2538- mcEventHist.fill (HIST (" h4RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalonly );
2575+ mcEventHist.fill (HIST (" h5RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalonly , kSpAll );
25392576 } else {
2540- mcEventHist.fill (HIST (" h4RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kITSonly );
2577+ mcEventHist.fill (HIST (" h5RecoCheckMCEtaDistribution " ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kITSonly , kSpAll );
25412578 }
2579+
2580+ int pid = fromPDGToEnum (mcTrack.pdgCode ());
2581+ mcEventHist.fill (HIST (" h5RecoCheckMCEtaDistribution" ), collision.posZ (), mcCollision.centFT0M (), mcTrack.eta (), kGlobalplusITSonly , pid);
25422582 }
25432583
25442584 for (const auto & mcParticle : mcParticles) {
25452585 if (!isGenParticleCharged (mcParticle))
25462586 continue ;
25472587
2548- mcEventHist.fill (HIST (" h4GenMCEtaDistributionRecoCheck" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta ());
2588+ mcEventHist.fill (HIST (" h4GenMCEtaDistributionRecoCheck" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta (), kSpAll );
2589+
2590+ int pid = fromPDGToEnum (mcParticle.pdgCode ());
2591+ mcEventHist.fill (HIST (" h4GenMCEtaDistributionRecoCheck" ), collision.posZ (), mcCollision.centFT0M (), mcParticle.eta (), pid);
25492592 }
25502593
25512594 numberAssocColl++;
0 commit comments