Skip to content

Commit 0687d35

Browse files
[PWGHF] added table for DeltaY between Lc-hadrons (#10862)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent bed2daa commit 0687d35

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

PWGHF/HFC/DataModel/CorrelationTables.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ namespace hf_correlation_lc_hadron
141141
{
142142
DECLARE_SOA_COLUMN(DeltaPhi, deltaPhi, float); //! DeltaPhi between Lc and Hadrons
143143
DECLARE_SOA_COLUMN(DeltaEta, deltaEta, float); //! DeltaEta between Lc and Hadrons
144+
DECLARE_SOA_COLUMN(DeltaY, deltaY, float); //! DeltaY between Lc and Hadrons
144145
DECLARE_SOA_COLUMN(PtLc, ptLc, float); //! Transverse momentum of Lc
145146
DECLARE_SOA_COLUMN(PtHadron, ptHadron, float); //! Transverse momentum of Hadron
146147
DECLARE_SOA_COLUMN(MLc, mLc, float); //! Invariant mass of Lc
@@ -212,7 +213,8 @@ DECLARE_SOA_TABLE(TrkRecInfoLc, "AOD", "TRKRECINFOLC", //! Tracks Reconstructed
212213
aod::hf_correlation_lc_hadron::TrackDcaXY,
213214
aod::hf_correlation_lc_hadron::TrackDcaZ,
214215
aod::hf_correlation_lc_hadron::TrackTPCNClsCrossedRows);
215-
216+
DECLARE_SOA_TABLE(LcHadronPairY, "AOD", "LCHPAIRY", //! Lc candidates Generated Information
217+
aod::hf_correlation_lc_hadron::DeltaY);
216218
// definition of columns and tables for Ds-Hadron correlation pairs
217219
namespace hf_correlation_ds_hadron
218220
{

PWGHF/HFC/TableProducer/correlatorLcHadrons.cxx

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ struct HfCorrelatorLcHadronsSelection {
160160
// Lc-Hadron correlation pair builder - for real data and data-like analysis (i.e. reco-level w/o matching request via Mc truth)
161161
struct HfCorrelatorLcHadrons {
162162
Produces<aod::LcHadronPair> entryLcHadronPair;
163+
Produces<aod::LcHadronPairY> entryLcHadronPairY;
163164
Produces<aod::LcHadronPairTrkPID> entryLcHadronPairTrkPID;
164165
Produces<aod::LcHadronRecoInfo> entryLcHadronRecoInfo;
165166
Produces<aod::LcHadronMlInfo> entryLcHadronMlInfo;
@@ -209,6 +210,7 @@ struct HfCorrelatorLcHadrons {
209210
Service<o2::framework::O2DatabasePDG> pdg;
210211
int leadingIndex = 0;
211212
bool correlationStatus = false;
213+
static constexpr size_t nDaughters{3u};
212214
TRandom3* rnd = new TRandom3(0);
213215

214216
// Event Mixing for the Data Mode
@@ -394,7 +396,7 @@ struct HfCorrelatorLcHadrons {
394396
outputMl[iclass] = candidate.mlProbLcToPKPi()[classMl->at(iclass)];
395397
}
396398
entryLcCandRecoInfo(hfHelper.invMassLcToPKPi(candidate), candidate.pt() * chargeLc, outputMl[0], outputMl[1]); // 0: BkgBDTScore, 1:PromptBDTScore
397-
entryLc(candidate.phi(), candidate.eta(), candidate.pt(), hfHelper.invMassLcToPKPi(candidate), poolBin, gCollisionId, timeStamp);
399+
entryLc(candidate.phi(), candidate.eta(), candidate.pt() * chargeLc, hfHelper.invMassLcToPKPi(candidate), poolBin, gCollisionId, timeStamp);
398400
}
399401
if (candidate.isSelLcToPiKP() >= selectionFlagLc) {
400402
registry.fill(HIST("hMassLcVsPt"), hfHelper.invMassLcToPiKP(candidate), candidate.pt(), efficiencyWeightLc);
@@ -405,7 +407,7 @@ struct HfCorrelatorLcHadrons {
405407
}
406408
entryLcCandRecoInfo(hfHelper.invMassLcToPiKP(candidate), candidate.pt() * chargeLc, outputMl[0], outputMl[1]); // 0: BkgBDTScore, 1:PromptBDTScore
407409
if (!skipMixedEventTableFilling) {
408-
entryLc(candidate.phi(), candidate.eta(), candidate.pt(), hfHelper.invMassLcToPiKP(candidate), poolBin, gCollisionId, timeStamp);
410+
entryLc(candidate.phi(), candidate.eta(), candidate.pt() * chargeLc, hfHelper.invMassLcToPiKP(candidate), poolBin, gCollisionId, timeStamp);
409411
}
410412
}
411413

@@ -438,6 +440,7 @@ struct HfCorrelatorLcHadrons {
438440
track.pt() * track.sign(),
439441
poolBin,
440442
correlationStatus);
443+
entryLcHadronPairY(track.y() - hfHelper.yLc(candidate));
441444
entryLcHadronRecoInfo(hfHelper.invMassLcToPKPi(candidate), false);
442445
entryLcHadronGenInfo(false, false, 0);
443446
entryLcHadronMlInfo(outputMl[0], outputMl[1]);
@@ -453,6 +456,7 @@ struct HfCorrelatorLcHadrons {
453456
track.pt() * track.sign(),
454457
poolBin,
455458
correlationStatus);
459+
entryLcHadronPairY(track.y() - hfHelper.yLc(candidate));
456460
entryLcHadronRecoInfo(hfHelper.invMassLcToPiKP(candidate), false);
457461
entryLcHadronGenInfo(false, false, 0);
458462
entryLcHadronMlInfo(outputMl[0], outputMl[1]);
@@ -689,6 +693,7 @@ struct HfCorrelatorLcHadrons {
689693
track.pt() * track.sign(),
690694
poolBin,
691695
correlationStatus);
696+
entryLcHadronPairY(track.y() - hfHelper.yLc(candidate));
692697
entryLcHadronRecoInfo(hfHelper.invMassLcToPKPi(candidate), isLcSignal);
693698
if (fillTrkPID) {
694699
entryLcHadronPairTrkPID(track.tpcNSigmaPr(), track.tpcNSigmaKa(), track.tpcNSigmaPi(), track.tofNSigmaPr(), track.tofNSigmaKa(), track.tofNSigmaPi());
@@ -718,6 +723,7 @@ struct HfCorrelatorLcHadrons {
718723
track.pt() * track.sign(),
719724
poolBin,
720725
correlationStatus);
726+
entryLcHadronPairY(track.y() - hfHelper.yLc(candidate));
721727
entryLcHadronRecoInfo(hfHelper.invMassLcToPiKP(candidate), isLcSignal);
722728
if (fillTrkPID) {
723729
entryLcHadronPairTrkPID(track.tpcNSigmaPr(), track.tpcNSigmaKa(), track.tpcNSigmaPi(), track.tofNSigmaPr(), track.tofNSigmaKa(), track.tofNSigmaPi());
@@ -794,12 +800,12 @@ struct HfCorrelatorLcHadrons {
794800

795801
// prompt and non-prompt division
796802
std::vector<int> listDaughters{};
797-
std::array<int, 3> arrDaughLcPDG = {kProton, -kKPlus, kPiPlus};
798-
std::array<int, 3> prongsId;
803+
std::array<int, nDaughters> arrDaughLcPDG = {kProton, -kKPlus, kPiPlus};
804+
std::array<int, nDaughters> prongsId;
799805
listDaughters.clear();
800806
RecoDecay::getDaughters(particle, &listDaughters, arrDaughLcPDG, 2);
801807
int counterDaughters = 0;
802-
if (listDaughters.size() == 3) {
808+
if (listDaughters.size() == nDaughters) {
803809
for (const auto& dauIdx : listDaughters) {
804810
auto daughI = mcParticles.rawIteratorAt(dauIdx - mcParticles.offset());
805811
counterDaughters += 1;
@@ -849,6 +855,7 @@ struct HfCorrelatorLcHadrons {
849855
particleAssoc.pt() * chargeAssoc / std::abs(chargeAssoc),
850856
poolBin,
851857
correlationStatus);
858+
entryLcHadronPairY(particleAssoc.y() - yL);
852859
entryLcHadronRecoInfo(MassLambdaCPlus, true);
853860
entryLcHadronGenInfo(isLcPrompt, particleAssoc.isPhysicalPrimary(), trackOrigin);
854861
} // end inner loop
@@ -889,6 +896,7 @@ struct HfCorrelatorLcHadrons {
889896
assocParticle.pt() * assocParticle.sign(),
890897
poolBin,
891898
correlationStatus);
899+
entryLcHadronPairY(assocParticle.y() - hfHelper.yLc(trigLc));
892900
entryLcHadronRecoInfo(hfHelper.invMassLcToPKPi(trigLc), false);
893901
entryLcHadronGenInfo(false, false, 0);
894902
if (fillTrkPID) {
@@ -907,6 +915,7 @@ struct HfCorrelatorLcHadrons {
907915
assocParticle.pt() * assocParticle.sign(),
908916
poolBin,
909917
correlationStatus);
918+
entryLcHadronPairY(assocParticle.y() - hfHelper.yLc(trigLc));
910919
entryLcHadronRecoInfo(hfHelper.invMassLcToPiKP(trigLc), false);
911920
entryLcHadronGenInfo(false, false, 0);
912921
if (fillTrkPID) {
@@ -1006,6 +1015,7 @@ struct HfCorrelatorLcHadrons {
10061015
pAssoc.pt() * pAssoc.sign(),
10071016
poolBin,
10081017
correlationStatus);
1018+
entryLcHadronPairY(pAssoc.y() - hfHelper.yLc(candidate));
10091019
entryLcHadronRecoInfo(hfHelper.invMassLcToPKPi(candidate), isLcSignal);
10101020
entryLcHadronGenInfo(isLcPrompt, isPhysicalPrimary, trackOrigin);
10111021
if (fillTrkPID) {
@@ -1024,6 +1034,7 @@ struct HfCorrelatorLcHadrons {
10241034
pAssoc.pt() * pAssoc.sign(),
10251035
poolBin,
10261036
correlationStatus);
1037+
entryLcHadronPairY(pAssoc.y() - hfHelper.yLc(candidate));
10271038
entryLcHadronRecoInfo(hfHelper.invMassLcToPiKP(candidate), isLcSignal);
10281039
entryLcHadronGenInfo(isLcPrompt, isPhysicalPrimary, trackOrigin);
10291040
if (fillTrkPID) {
@@ -1079,6 +1090,7 @@ struct HfCorrelatorLcHadrons {
10791090
particleAssoc.pt() * chargeAssoc / std::abs(chargeAssoc),
10801091
poolBin,
10811092
correlationStatus);
1093+
entryLcHadronPairY(particleAssoc.y() - yL);
10821094
entryLcHadronRecoInfo(MassLambdaCPlus, true);
10831095
entryLcHadronGenInfo(isLcPrompt, particleAssoc.isPhysicalPrimary(), trackOrigin);
10841096
}

0 commit comments

Comments
 (0)