@@ -118,7 +118,7 @@ struct PidDiHadron {
118118 O2_DEFINE_CONFIGURABLE (cfgUseOnlyTPC, bool , true , " Use only TPC PID for daughter selection" )
119119 O2_DEFINE_CONFIGURABLE (cfgPIDParticle, int , 0 , " 1 = pion, 2 = kaon, 3 = proton, 4 = kshort, 5 = lambda, 6 = phi, 0 for no PID" )
120120 O2_DEFINE_CONFIGURABLE (cfgGetNsigmaQA, bool , true , " Get QA histograms for selection of pions, kaons, and protons" )
121- O2_DEFINE_CONFIGURABLE (cfgGetdEdx, bool , true , " Get QA histograms for selection of pions, kaons, and protons" )
121+ O2_DEFINE_CONFIGURABLE (cfgGetdEdx, bool , true , " Get dEdx histograms for pions, kaons, and protons" )
122122 O2_DEFINE_CONFIGURABLE (cfgUseAntiLambda, bool , true , " Use AntiLambda candidates for analysis" )
123123 O2_DEFINE_CONFIGURABLE (cfgPIDUseRejection, bool , true , " Turn off and on the exclusion criteria for PID determination" )
124124
@@ -540,6 +540,12 @@ struct PidDiHadron {
540540 histos.add (" ExpTpcdEdx_ptwise_pi" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
541541 histos.add (" ExpTpcdEdx_ptwise_ka" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
542542 histos.add (" ExpTpcdEdx_ptwise_pr" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
543+
544+ histos.add (" TpcdEdx_ptwise_pi_physprim" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
545+ histos.add (" TpcdEdx_ptwise_ka_physprim" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
546+ histos.add (" TpcdEdx_ptwise_pr_physprim" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
547+
548+ histos.add (" TpcdEdx_ptwise_all_physprim" , " " , {HistType::kTHnSparseD , {{axisPt, axisTpcSignal, axisNsigmaTOF}}});
543549 }
544550
545551 histos.add (" eventcount" , " bin" , {HistType::kTH1F , {{4 , 0 , 4 , " bin" }}}); // histogram to see how many events are in the same and mixed event
@@ -1546,10 +1552,21 @@ struct PidDiHadron {
15461552 if (pidIndex == kProtons )
15471553 histos.fill (HIST (" hNsigmaProtonSelected" ), track.pt ());
15481554
1555+ if (track.mcParticle ().isPhysicalPrimary ()) {
1556+ if (cfgPIDParticle == kPions )
1557+ histos.fill (HIST (" TpcdEdx_ptwise_all_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaPi ());
1558+ if (cfgPIDParticle == kKaons )
1559+ histos.fill (HIST (" TpcdEdx_ptwise_all_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaKa ());
1560+ if (cfgPIDParticle == kProtons )
1561+ histos.fill (HIST (" TpcdEdx_ptwise_all_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaPr ());
1562+ }
1563+
15491564 // Check the PDG code for the particles (MC truth) and match with analysed Nsigma PID
15501565 if (std::abs (track.mcParticle ().pdgCode ()) == PDG_t::kPiPlus ) {
15511566 histos.fill (HIST (" hNsigmaPionTrue" ), track.pt ());
15521567 histos.fill (HIST (" TpcdEdx_ptwise_pi" ), track.pt (), track.tpcSignal (), track.tofNSigmaPi ());
1568+ if (track.mcParticle ().isPhysicalPrimary ())
1569+ histos.fill (HIST (" TpcdEdx_ptwise_pi_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaPi ());
15531570
15541571 double tpcExpSignalPi = track.tpcSignal () - (track.tpcNSigmaPi () * track.tpcExpSigmaPi ());
15551572 histos.fill (HIST (" ExpTpcdEdx_ptwise_pi" ), track.pt (), tpcExpSignalPi, track.tofNSigmaPi ());
@@ -1562,6 +1579,8 @@ struct PidDiHadron {
15621579 if (std::abs (track.mcParticle ().pdgCode ()) == PDG_t::kKPlus ) {
15631580 histos.fill (HIST (" hNsigmaKaonTrue" ), track.pt ());
15641581 histos.fill (HIST (" TpcdEdx_ptwise_ka" ), track.pt (), track.tpcSignal (), track.tofNSigmaKa ());
1582+ if (track.mcParticle ().isPhysicalPrimary ())
1583+ histos.fill (HIST (" TpcdEdx_ptwise_ka_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaKa ());
15651584
15661585 double tpcExpSignalKa = track.tpcSignal () - (track.tpcNSigmaKa () * track.tpcExpSigmaKa ());
15671586 histos.fill (HIST (" ExpTpcdEdx_ptwise_ka" ), track.pt (), tpcExpSignalKa, track.tofNSigmaKa ());
@@ -1574,6 +1593,8 @@ struct PidDiHadron {
15741593 if (std::abs (track.mcParticle ().pdgCode ()) == PDG_t::kProton ) {
15751594 histos.fill (HIST (" hNsigmaProtonTrue" ), track.pt ());
15761595 histos.fill (HIST (" TpcdEdx_ptwise_pr" ), track.pt (), track.tpcSignal (), track.tofNSigmaPr ());
1596+ if (track.mcParticle ().isPhysicalPrimary ())
1597+ histos.fill (HIST (" TpcdEdx_ptwise_pr_physprim" ), track.pt (), track.tpcSignal (), track.tofNSigmaPr ());
15771598
15781599 double tpcExpSignalPr = track.tpcSignal () - (track.tpcNSigmaPr () * track.tpcExpSigmaPr ());
15791600 histos.fill (HIST (" ExpTpcdEdx_ptwise_pr" ), track.pt (), tpcExpSignalPr, track.tofNSigmaPr ());
0 commit comments