Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions PWGHF/HFC/DataModel/CorrelationTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,12 @@ DECLARE_SOA_COLUMN(KaNsigmTOF, kaNsigmTOF, float); //! A
DECLARE_SOA_COLUMN(PiNsigmTOF, piNsigmTOF, float); //! Associated Particle TOF nSigma Pion
} // namespace hf_correlation_lc_hadron

DECLARE_SOA_TABLE(PtLcFromScHPair, "AOD", "PTLCSCHPAIR", //! Sc-->Lc pT for paired Sc-proton
aod::hf_correlation_lc_hadron::PtLc);

DECLARE_SOA_TABLE(PtLcFromSc, "AOD", "PTLCSC", //! Sc-->Lc pT
aod::hf_correlation_lc_hadron::PtLc);

DECLARE_SOA_TABLE(LcHadronPair, "AOD", "LCHPAIR", //! Lc-Hadrons pairs Informations
aod::hf_correlation_lc_hadron::DeltaPhi,
aod::hf_correlation_lc_hadron::DeltaEta,
Expand Down
17 changes: 12 additions & 5 deletions PWGHF/HFC/TableProducer/correlatorLcScHadrons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,8 @@ struct HfCorrelatorLcScHadronsSelection {

// Lc-Hadron correlation pair builder - for real data and data-like analysis (i.e. reco-level w/o matching request via Mc truth)
struct HfCorrelatorLcScHadrons {
Produces<aod::PtLcFromSc> entryPtLcFromSc;
Produces<aod::PtLcFromScHPair> entryPtLcFromScPair;
Produces<aod::LcHadronPair> entryCandHadronPair;
Produces<aod::LcHadronPairY> entryCandHadronPairY;
Produces<aod::LcHadronPairTrkPID> entryCandHadronPairTrkPID;
Expand Down Expand Up @@ -708,7 +710,7 @@ struct HfCorrelatorLcScHadrons {
template <bool IsMcRec, typename TrackType, typename CandType, typename McPart>
void fillCorrelationTable(bool trkPidFill, TrackType const& track, CandType const& candidate,
const std::vector<float>& outMl, int binPool, int8_t correlStatus,
double yCand, int signCand, McPart const& mcParticles)
double yCand, int signCand, float ptLcFromSc, McPart const& mcParticles)
{
bool isPhysicalPrimary = false;
int trackOrigin = -1;
Expand All @@ -723,6 +725,7 @@ struct HfCorrelatorLcScHadrons {
cent);
entryCandHadronPairY(track.rapidity(MassProton) - yCand);
entryCandHadronMlInfo(outMl[0], outMl[1]);
entryPtLcFromScPair(ptLcFromSc);
entryTrackRecoInfo(track.dcaXY(), track.dcaZ(), track.tpcNClsCrossedRows());
entryPairCandCharge(signCand);
if (trkPidFill) {
Expand Down Expand Up @@ -923,6 +926,7 @@ struct HfCorrelatorLcScHadrons {
if (!skipMixedEventTableFilling) {
entryCand(candidate.phi(), etaCand, ptCand, massCandPKPi, poolBin, gCollisionId, timeStamp);
entryCandCharge(chargeCand);
entryPtLcFromSc(ptCandLc);
}
}

Expand All @@ -943,6 +947,7 @@ struct HfCorrelatorLcScHadrons {
if (!skipMixedEventTableFilling) {
entryCand(candidate.phi(), etaCand, ptCand, massCandPiKP, poolBin, gCollisionId, timeStamp);
entryCandCharge(chargeCand);
entryPtLcFromSc(ptCandLc);
}
}

Expand Down Expand Up @@ -999,11 +1004,11 @@ struct HfCorrelatorLcScHadrons {
}

if (selLcPKPi) {
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, ptCandLc, *mcParticles);
entryCandHadronRecoInfo(massCandPKPi, false);
}
if (selLcPiKP) {
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
fillCorrelationTable<IsMcRec>(fillTrkPID, track, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, ptCandLc, *mcParticles);
entryCandHadronRecoInfo(massCandPiKP, false);
}

Expand Down Expand Up @@ -1036,6 +1041,7 @@ struct HfCorrelatorLcScHadrons {

double yCand = -999.;
double ptCand = -999.;
double ptCandLc = -999.;
int8_t chargeCand = 3;
double massCandPKPi = -999.0;
double massCandPiKP = -999.0;
Expand Down Expand Up @@ -1064,6 +1070,7 @@ struct HfCorrelatorLcScHadrons {
if constexpr (IsCandSc) {
const auto& candidateLc = candidate.template prongLc_as<CandsLcData>();
chargeCand = candidate.charge();
ptCandLc = candidateLc.pt();

selLcPKPi = (candidateLc.isSelLcToPKPi() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPKPiFromPDG());
selLcPiKP = (candidateLc.isSelLcToPiKP() >= selectionFlagLc) && (candidate.statusSpreadLcMinvPiKPFromPDG());
Expand Down Expand Up @@ -1119,7 +1126,7 @@ struct HfCorrelatorLcScHadrons {
}

if (selLcPKPi) {
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPKPi, poolBin, correlationStatus, yCand, chargeCand, ptCandLc, *mcParticles);
entryCandHadronRecoInfo(massCandPKPi, false);

if (isPrompt) {
Expand All @@ -1132,7 +1139,7 @@ struct HfCorrelatorLcScHadrons {
}

if (selLcPiKP) {
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, *mcParticles);
fillCorrelationTable<IsMcRec>(fillTrkPID, assocParticle, candidate, outputMlPiKP, poolBin, correlationStatus, yCand, chargeCand, ptCandLc, *mcParticles);
entryCandHadronRecoInfo(massCandPiKP, false);

if (isPrompt) {
Expand Down
Loading