Skip to content

Commit 78c6766

Browse files
[PWGHF] correlatorLcScHadrons: Add table for pT of Lc from Sc (#14302)
Co-authored-by: ALICE Action Bot <[email protected]>
1 parent 7b99e06 commit 78c6766

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

PWGHF/HFC/DataModel/CorrelationTables.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,12 @@ DECLARE_SOA_COLUMN(KaNsigmTOF, kaNsigmTOF, float); //! A
172172
DECLARE_SOA_COLUMN(PiNsigmTOF, piNsigmTOF, float); //! Associated Particle TOF nSigma Pion
173173
} // namespace hf_correlation_lc_hadron
174174

175+
DECLARE_SOA_TABLE(PtLcFromScHPair, "AOD", "PTLCSCHPAIR", //! Sc-->Lc pT for paired Sc-proton
176+
aod::hf_correlation_lc_hadron::PtLc);
177+
178+
DECLARE_SOA_TABLE(PtLcFromSc, "AOD", "PTLCSC", //! Sc-->Lc pT
179+
aod::hf_correlation_lc_hadron::PtLc);
180+
175181
DECLARE_SOA_TABLE(LcHadronPair, "AOD", "LCHPAIR", //! Lc-Hadrons pairs Informations
176182
aod::hf_correlation_lc_hadron::DeltaPhi,
177183
aod::hf_correlation_lc_hadron::DeltaEta,

PWGHF/HFC/TableProducer/correlatorLcScHadrons.cxx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@ struct HfCorrelatorLcScHadronsSelection {
311311

312312
// Lc-Hadron correlation pair builder - for real data and data-like analysis (i.e. reco-level w/o matching request via Mc truth)
313313
struct HfCorrelatorLcScHadrons {
314+
Produces<aod::PtLcFromSc> entryPtLcFromSc;
315+
Produces<aod::PtLcFromScHPair> entryPtLcFromScPair;
314316
Produces<aod::LcHadronPair> entryCandHadronPair;
315317
Produces<aod::LcHadronPairY> entryCandHadronPairY;
316318
Produces<aod::LcHadronPairTrkPID> entryCandHadronPairTrkPID;
@@ -708,7 +710,7 @@ struct HfCorrelatorLcScHadrons {
708710
template <bool IsMcRec, typename TrackType, typename CandType, typename McPart>
709711
void fillCorrelationTable(bool trkPidFill, TrackType const& track, CandType const& candidate,
710712
const std::vector<float>& outMl, int binPool, int8_t correlStatus,
711-
double yCand, int signCand, McPart const& mcParticles)
713+
double yCand, int signCand, float ptLcFromSc, McPart const& mcParticles)
712714
{
713715
bool isPhysicalPrimary = false;
714716
int trackOrigin = -1;
@@ -723,6 +725,7 @@ struct HfCorrelatorLcScHadrons {
723725
cent);
724726
entryCandHadronPairY(track.rapidity(MassProton) - yCand);
725727
entryCandHadronMlInfo(outMl[0], outMl[1]);
728+
entryPtLcFromScPair(ptLcFromSc);
726729
entryTrackRecoInfo(track.dcaXY(), track.dcaZ(), track.tpcNClsCrossedRows());
727730
entryPairCandCharge(signCand);
728731
if (trkPidFill) {
@@ -798,7 +801,7 @@ struct HfCorrelatorLcScHadrons {
798801
double efficiencyWeightCand = 1.;
799802
double yCand = -999.0;
800803
double etaCand = -999.0;
801-
double ptCandLc = -999.0;
804+
double ptScProng0 = -999.0;
802805
double ptCand = -999.0;
803806
double phiCand = -999.0;
804807
double massCandPKPi = -999.0;
@@ -833,7 +836,7 @@ struct HfCorrelatorLcScHadrons {
833836
if constexpr (IsCandSc) {
834837
chargeCand = candidate.charge();
835838
const auto& candidateLc = candidate.template prongLc_as<CandsLcData>();
836-
ptCandLc = candidateLc.pt();
839+
ptScProng0 = candidateLc.pt();
837840
selLcPKPi = (candidateLc.isSelLcToPKPi() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPKPiFromPDG());
838841
selLcPiKP = (candidateLc.isSelLcToPiKP() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPiKPFromPDG());
839842
if (selLcPKPi) {
@@ -865,7 +868,7 @@ struct HfCorrelatorLcScHadrons {
865868
signSoftPion = candidate.template prong1_as<aod::Tracks>().sign();
866869
registry.fill(HIST("hPtProng1"), candidate.prong1().pt());
867870
}
868-
registry.fill(HIST("hPtProng0"), ptCandLc);
871+
registry.fill(HIST("hPtProng0"), ptScProng0);
869872

870873
if (chargeCand == ChargeZero) {
871874
chargeCand = (signSoftPion < ChargeZero) ? AssignedChargeSc0 : -AssignedChargeSc0; // to distingush sc0 from anti-sc0, charge set to +1 and -1
@@ -923,6 +926,7 @@ struct HfCorrelatorLcScHadrons {
923926
if (!skipMixedEventTableFilling) {
924927
entryCand(candidate.phi(), etaCand, ptCand, massCandPKPi, poolBin, gCollisionId, timeStamp);
925928
entryCandCharge(chargeCand);
929+
entryPtLcFromSc(ptScProng0);
926930
}
927931
}
928932

@@ -943,6 +947,7 @@ struct HfCorrelatorLcScHadrons {
943947
if (!skipMixedEventTableFilling) {
944948
entryCand(candidate.phi(), etaCand, ptCand, massCandPiKP, poolBin, gCollisionId, timeStamp);
945949
entryCandCharge(chargeCand);
950+
entryPtLcFromSc(ptScProng0);
946951
}
947952
}
948953

@@ -999,11 +1004,11 @@ struct HfCorrelatorLcScHadrons {
9991004
}
10001005

10011006
if (selLcPKPi) {
1002-
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
1007+
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, ptScProng0, *mcParticles);
10031008
entryCandHadronRecoInfo(massCandPKPi, false);
10041009
}
10051010
if (selLcPiKP) {
1006-
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
1011+
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, ptScProng0, *mcParticles);
10071012
entryCandHadronRecoInfo(massCandPiKP, false);
10081013
}
10091014

@@ -1036,6 +1041,7 @@ struct HfCorrelatorLcScHadrons {
10361041

10371042
double yCand = -999.;
10381043
double ptCand = -999.;
1044+
double ptScProng0 = -999.;
10391045
int8_t chargeCand = 3;
10401046
double massCandPKPi = -999.0;
10411047
double massCandPiKP = -999.0;
@@ -1064,6 +1070,7 @@ struct HfCorrelatorLcScHadrons {
10641070
if constexpr (IsCandSc) {
10651071
const auto& candidateLc = candidate.template prongLc_as<CandsLcData>();
10661072
chargeCand = candidate.charge();
1073+
ptScProng0 = candidateLc.pt();
10671074

10681075
selLcPKPi = (candidateLc.isSelLcToPKPi() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPKPiFromPDG());
10691076
selLcPiKP = (candidateLc.isSelLcToPiKP() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPiKPFromPDG());
@@ -1119,7 +1126,7 @@ struct HfCorrelatorLcScHadrons {
11191126
}
11201127

11211128
if (selLcPKPi) {
1122-
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
1129+
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, ptScProng0, *mcParticles);
11231130
entryCandHadronRecoInfo(massCandPKPi, false);
11241131

11251132
if (isPrompt) {
@@ -1132,7 +1139,7 @@ struct HfCorrelatorLcScHadrons {
11321139
}
11331140

11341141
if (selLcPiKP) {
1135-
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
1142+
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, ptScProng0, *mcParticles);
11361143
entryCandHadronRecoInfo(massCandPiKP, false);
11371144

11381145
if (isPrompt) {

0 commit comments

Comments
 (0)