Skip to content

Commit 27f2cc1

Browse files
committed
Fix Xic femto QA daughter track lookup
1 parent cd634e3 commit 27f2cc1

1 file changed

Lines changed: 21 additions & 13 deletions

File tree

PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -910,8 +910,8 @@ struct HfProducerCharmHadronsTrackFemtoDream {
910910
0);
911911
}
912912

913-
template <bool IsMc, bool UseCharmMl, typename TrackType, typename CollisionType, typename CandType>
914-
void fillXicHadronTable(CollisionType const& col, TrackType const& tracks, CandType const& candidates)
913+
template <bool IsMc, bool UseCharmMl, typename TrackType, typename CollisionType, typename CandType, typename DaughterTrackType>
914+
void fillXicHadronTable(CollisionType const& col, TrackType const& tracks, CandType const& candidates, DaughterTrackType const&)
915915
{
916916
const auto vtxZ = col.posZ();
917917
const auto sizeCand = candidates.size();
@@ -986,9 +986,9 @@ struct HfProducerCharmHadronsTrackFemtoDream {
986986
const auto phi0 = static_cast<float>(RecoDecay::phi(candidate.pxProng0(), candidate.pyProng0()));
987987
const auto phi1 = static_cast<float>(RecoDecay::phi(candidate.pxProng1(), candidate.pyProng1()));
988988
const auto phi2 = static_cast<float>(RecoDecay::phi(candidate.pxProng2(), candidate.pyProng2()));
989-
const auto cascBachelorTrack = tracks.rawIteratorAt(candidate.bachelorId());
990-
const auto cascPosTrack = tracks.rawIteratorAt(candidate.posTrackId());
991-
const auto cascNegTrack = tracks.rawIteratorAt(candidate.negTrackId());
989+
const auto cascBachelorTrack = candidate.template bachelor_as<DaughterTrackType>();
990+
const auto cascPosTrack = candidate.template posTrack_as<DaughterTrackType>();
991+
const auto cascNegTrack = candidate.template negTrack_as<DaughterTrackType>();
992992

993993
tables.rowCandCharm3ProngXic(
994994
tables.outputCollision.lastIndex(),
@@ -1358,84 +1358,92 @@ struct HfProducerCharmHadronsTrackFemtoDream {
13581358
void processDataXicToXiPiPi(FemtoFullCollision const& col,
13591359
aod::BCsWithTimestamps const&,
13601360
FemtoHFTracks const& tracks,
1361+
aod::FullTracks const& daughterTracks,
13611362
soa::Filtered<CandidateXic> const& candidates)
13621363
{
13631364
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1364-
fillXicHadronTable<false, false>(col, tracks, candidates);
1365+
fillXicHadronTable<false, false>(col, tracks, candidates, daughterTracks);
13651366
}
13661367
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processDataXicToXiPiPi, "Data for XicToXiPiPi femto (DCAFitter; no HFCANDXICKF)", false);
13671368

13681369
void processDataXicToXiPiPiKf(FemtoFullCollision const& col,
13691370
aod::BCsWithTimestamps const&,
13701371
FemtoHFTracks const& tracks,
1372+
aod::FullTracks const& daughterTracks,
13711373
soa::Filtered<CandidateXicKf> const& candidates)
13721374
{
13731375
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1374-
fillXicHadronTable<false, false>(col, tracks, candidates);
1376+
fillXicHadronTable<false, false>(col, tracks, candidates, daughterTracks);
13751377
}
13761378
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processDataXicToXiPiPiKf, "Data for XicToXiPiPi femto (KFParticle; requires HFCANDXICKF)", false);
13771379

13781380
void processDataXicToXiPiPiWithML(FemtoFullCollision const& col,
13791381
aod::BCsWithTimestamps const&,
13801382
FemtoHFTracks const& tracks,
1383+
aod::FullTracks const& daughterTracks,
13811384
soa::Filtered<soa::Join<CandidateXic, aod::HfMlXicToXiPiPi>> const& candidates)
13821385
{
13831386
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1384-
fillXicHadronTable<false, true>(col, tracks, candidates);
1387+
fillXicHadronTable<false, true>(col, tracks, candidates, daughterTracks);
13851388
}
13861389
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processDataXicToXiPiPiWithML, "Data for XicToXiPiPi femto with ML (DCAFitter)", false);
13871390

13881391
void processDataXicToXiPiPiWithMLKf(FemtoFullCollision const& col,
13891392
aod::BCsWithTimestamps const&,
13901393
FemtoHFTracks const& tracks,
1394+
aod::FullTracks const& daughterTracks,
13911395
soa::Filtered<soa::Join<CandidateXicKf, aod::HfMlXicToXiPiPi>> const& candidates)
13921396
{
13931397
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1394-
fillXicHadronTable<false, true>(col, tracks, candidates);
1398+
fillXicHadronTable<false, true>(col, tracks, candidates, daughterTracks);
13951399
}
13961400
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processDataXicToXiPiPiWithMLKf, "Data for XicToXiPiPi femto with ML (KFParticle)", false);
13971401

13981402
void processMcXicToXiPiPi(FemtoFullCollisionMc const& col,
13991403
aod::BCsWithTimestamps const&,
14001404
FemtoHFMcTracks const& tracks,
1405+
aod::FullTracks const& daughterTracks,
14011406
aod::McParticles const&,
14021407
soa::Filtered<CandidateXicMc> const& candidates)
14031408
{
14041409
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1405-
fillXicHadronTable<true, false>(col, tracks, candidates);
1410+
fillXicHadronTable<true, false>(col, tracks, candidates, daughterTracks);
14061411
}
14071412
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processMcXicToXiPiPi, "MC for XicToXiPiPi (DCAFitter)", false);
14081413

14091414
void processMcXicToXiPiPiKf(FemtoFullCollisionMc const& col,
14101415
aod::BCsWithTimestamps const&,
14111416
FemtoHFMcTracks const& tracks,
1417+
aod::FullTracks const& daughterTracks,
14121418
aod::McParticles const&,
14131419
soa::Filtered<CandidateXicKfMc> const& candidates)
14141420
{
14151421
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1416-
fillXicHadronTable<true, false>(col, tracks, candidates);
1422+
fillXicHadronTable<true, false>(col, tracks, candidates, daughterTracks);
14171423
}
14181424
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processMcXicToXiPiPiKf, "MC for XicToXiPiPi (KFParticle)", false);
14191425

14201426
void processMcXicToXiPiPiWithML(FemtoFullCollisionMc const& col,
14211427
aod::BCsWithTimestamps const&,
14221428
FemtoHFMcTracks const& tracks,
1429+
aod::FullTracks const& daughterTracks,
14231430
aod::McParticles const&,
14241431
soa::Filtered<soa::Join<CandidateXicMc, aod::HfMlXicToXiPiPi>> const& candidates)
14251432
{
14261433
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1427-
fillXicHadronTable<true, true>(col, tracks, candidates);
1434+
fillXicHadronTable<true, true>(col, tracks, candidates, daughterTracks);
14281435
}
14291436
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processMcXicToXiPiPiWithML, "MC for XicToXiPiPi with ML (DCAFitter)", false);
14301437

14311438
void processMcXicToXiPiPiWithMLKf(FemtoFullCollisionMc const& col,
14321439
aod::BCsWithTimestamps const&,
14331440
FemtoHFMcTracks const& tracks,
1441+
aod::FullTracks const& daughterTracks,
14341442
aod::McParticles const&,
14351443
soa::Filtered<soa::Join<CandidateXicKfMc, aod::HfMlXicToXiPiPi>> const& candidates)
14361444
{
14371445
getMagneticFieldTesla(col.bc_as<aod::BCsWithTimestamps>());
1438-
fillXicHadronTable<true, true>(col, tracks, candidates);
1446+
fillXicHadronTable<true, true>(col, tracks, candidates, daughterTracks);
14391447
}
14401448
PROCESS_SWITCH(HfProducerCharmHadronsTrackFemtoDream, processMcXicToXiPiPiWithMLKf, "MC for XicToXiPiPi with ML (KFParticle)", false);
14411449

0 commit comments

Comments
 (0)