@@ -257,6 +257,7 @@ struct HfCorrelatorDsHadrons {
257257 AxisSpec const axisPosZ = {binsPosZ, " PosZ" };
258258 AxisSpec const axisPoolBin = {binsPoolBin, " PoolBin" };
259259 AxisSpec const axisStatus = {15 , 0.5 , 15.5 , " Selection status" };
260+ const AxisSpec axisPid{20 , -10 .f , 10 .f , " n #sigma" };
260261
261262 // Histograms for data analysis
262263 registry.add (" hCollisionPoolBin" , " Ds candidates collision pool bin" , {HistType::kTH1F , {axisPoolBin}});
@@ -278,6 +279,14 @@ struct HfCorrelatorDsHadrons {
278279 registry.add (" hMassDsData" , " Ds candidates mass" , {HistType::kTH1F , {axisMassD}});
279280 registry.add (" hDsPoolBin" , " Ds candidates pool bin" , {HistType::kTH1F , {axisPoolBin}});
280281 registry.add (" hTracksPoolBin" , " Particles associated pool bin" , {HistType::kTH1F , {axisPoolBin}});
282+ if (pidTrkApplied) {
283+ registry.add (" hTpcNSigmaPIDpion" , " n sigma tpc for pion hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
284+ registry.add (" hTpcNSigmaPIDkaon" , " n sigma tpc for kaon hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
285+ registry.add (" hTpcNSigmaPIDproton" , " n sigma tpc for proton hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
286+ registry.add (" hTofNSigmaPIDpion" , " n sigma tof for pion hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
287+ registry.add (" hTofNSigmaPIDkaon" , " n sigma tof for kaon hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
288+ registry.add (" hTofNSigmaPIDproton" , " n sigma tof for proton hypothesis" , {HistType::kTH2F , {{axisPid}, {axisPtHadron}}});
289+ }
281290 }
282291 // Histograms for MC Reco analysis
283292 if (fillHistoMcRec) {
@@ -321,6 +330,7 @@ struct HfCorrelatorDsHadrons {
321330 if (pidTrkApplied) {
322331 registry.add (" hCorrKaonsLSPairs" , " Ds-kaon correlations LS MC Gen" , {HistType::kTH3F , {{axisPhi}, {axisPtD}, {axisPtHadron}}});
323332 registry.add (" hCorrKaonsULSPairs" , " Ds-kaon correlations ULS MC Gen" , {HistType::kTH3F , {{axisPhi}, {axisPtD}, {axisPtHadron}}});
333+ registry.add (" hDsWoKaons" , " Collisions with Ds mesons without kaons" , {HistType::kTH1F , {{1 , -0.5 , 0.5 , " n coll w/o kaons" }}});
324334 }
325335 }
326336 }
@@ -724,6 +734,9 @@ struct HfCorrelatorDsHadrons {
724734 prongsId[counterDaughters - 1 ] = daughI.globalIndex ();
725735 }
726736 }
737+
738+ int numberOfCorrKaons = 0 ;
739+
727740 // Ds Hadron correlation dedicated section
728741 for (const auto & particleAssoc : groupedMcParticles) {
729742 if (std::abs (particleAssoc.eta ()) > etaTrackMax || particleAssoc.pt () < ptTrackMin || particleAssoc.pt () > ptTrackMax) {
@@ -754,8 +767,11 @@ struct HfCorrelatorDsHadrons {
754767 if (pidTrkApplied) {
755768 if (((chargeDs == 1 ) && (particleAssoc.pdgCode () == kKPlus )) || ((chargeDs == -1 ) && (particleAssoc.pdgCode () == kKMinus ))) { // LS pairs
756769 registry.fill (HIST (" hCorrKaonsLSPairs" ), getDeltaPhi (particleAssoc.phi (), particle.phi ()), particle.pt (), particleAssoc.pt ());
757- } else { // ULS pairs
770+ numberOfCorrKaons++;
771+ }
772+ if (((chargeDs == 1 ) && (particleAssoc.pdgCode () == kKMinus )) || ((chargeDs == -1 ) && (particleAssoc.pdgCode () == kKPlus ))) { // ULS pairs
758773 registry.fill (HIST (" hCorrKaonsULSPairs" ), getDeltaPhi (particleAssoc.phi (), particle.phi ()), particle.pt (), particleAssoc.pt ());
774+ numberOfCorrKaons++;
759775 }
760776 }
761777 }
@@ -771,8 +787,11 @@ struct HfCorrelatorDsHadrons {
771787 0 );
772788 entryDsHadronRecoInfo (MassDS, true , isDecayChan);
773789 entryDsHadronGenInfo (isDsPrompt, particleAssoc.isPhysicalPrimary (), trackOrigin);
790+ } // end loop generated particles
791+ if (numberOfCorrKaons == 0 ) {
792+ registry.fill (HIST (" hDsWoKaons" ), numberOfCorrKaons);
774793 }
775- } // end loop generated particles
794+ } // if statement for Ds selection
776795 } // end loop generated Ds
777796 } // end loop reconstructed collision
778797 } // end loop generated collision
@@ -821,6 +840,12 @@ struct HfCorrelatorDsHadrons {
821840 if (!passPIDSelection (track, trkPIDspecies, pidTPCMax, pidTOFMax, tofPIDThreshold, forceTOF)) {
822841 continue ;
823842 }
843+ registry.fill (HIST (" hTpcNSigmaPIDpion" ), track.tpcNSigmaPi (), track.pt ());
844+ registry.fill (HIST (" hTpcNSigmaPIDkaon" ), track.tpcNSigmaKa (), track.pt ());
845+ registry.fill (HIST (" hTpcNSigmaPIDproton" ), track.tpcNSigmaPr (), track.pt ());
846+ registry.fill (HIST (" hTofNSigmaPIDpion" ), track.tofNSigmaPi (), track.pt ());
847+ registry.fill (HIST (" hTofNSigmaPIDkaon" ), track.tofNSigmaKa (), track.pt ());
848+ registry.fill (HIST (" hTofNSigmaPIDproton" ), track.tofNSigmaPr (), track.pt ());
824849 }
825850 assocTrackReduced (indexHfcReducedCollision, track.globalIndex (), track.phi (), track.eta (), track.pt () * track.sign ());
826851 assocTrackSelInfo (indexHfcReducedCollision, track.tpcNClsCrossedRows (), track.itsClusterMap (), track.itsNCls (), track.dcaXY (), track.dcaZ ());
0 commit comments