Skip to content

Commit be06bae

Browse files
authored
[PWGHF] Fixing code for azimuthal correlations with identified kaons (#13463)
1 parent cbc6e1f commit be06bae

File tree

2 files changed

+73
-66
lines changed

2 files changed

+73
-66
lines changed

PWGHF/HFC/TableProducer/correlatorDsHadrons.cxx

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)