@@ -182,7 +182,7 @@ struct HfTreeCreatorToXiPi {
182182 }
183183
184184 template <typename T>
185- void fillCandidate (const T& candidate, int8_t flagMc, int8_t debugMc, int8_t originMc)
185+ void fillCandidate (const T& candidate, bool IsPionGlbTrkWoDca, int8_t flagMc, int8_t debugMc, int8_t originMc)
186186 {
187187 rowCandidateFull (
188188 candidate.xPv (),
@@ -267,7 +267,7 @@ struct HfTreeCreatorToXiPi {
267267 candidate.impactParCascXY () / candidate.errImpactParCascXY (),
268268 candidate.impactParPiFromCharmBaryonXY () / candidate.errImpactParPiFromCharmBaryonXY (),
269269 candidate.decLenCharmBaryon () / candidate.errorDecayLengthCharmBaryon (),
270- candidate. isPionGlbTrkWoDca () ,
270+ IsPionGlbTrkWoDca ,
271271 candidate.statusPidLambda (),
272272 candidate.statusPidCascade (),
273273 candidate.statusPidCharmBaryon (),
@@ -290,13 +290,18 @@ struct HfTreeCreatorToXiPi {
290290 originMc);
291291 }
292292
293- void processData (aod::Collisions const & collisions,
293+ void processData (aod::Collisions const & collisions, aod::TrackSelection const &,
294294 soa::Join<aod::HfCandToXiPi, aod::HfSelToXiPi> const & candidates)
295295 {
296296 // Filling candidate properties
297297 rowCandidateFull.reserve (candidates.size ());
298298 for (const auto & candidate : candidates) {
299- fillCandidate (candidate, -7 , -7 , RecoDecay::OriginType::None);
299+
300+ // check if pion track satisfies globalTrackWoDca selections
301+ auto trackPionSelInfo = candidate.PiFromCharmBaryon_as <aod::TrackSelection>();
302+ bool isPiGlbTrkWoDca = trackPionSelInfo.isGlobalTrackWoDCA ();
303+
304+ fillCandidate (candidate, isPiGlbTrkWoDca, -7 , -7 , RecoDecay::OriginType::None);
300305 }
301306 }
302307 PROCESS_SWITCH (HfTreeCreatorToXiPi, processData, " Process data" , true );
@@ -307,7 +312,12 @@ struct HfTreeCreatorToXiPi {
307312 // Filling candidate properties
308313 rowCandidateFull.reserve (candidates.size ());
309314 for (const auto & candidate : candidates) {
310- fillCandidate (candidate, candidate.flagMcMatchRec (), candidate.debugMcRec (), candidate.originRec ());
315+
316+ // check if pion track satisfies globalTrackWoDca selections
317+ auto trackPionSelInfo = candidate.PiFromCharmBaryon_as <aod::TrackSelection>();
318+ bool isPiGlbTrkWoDca = trackPionSelInfo.isGlobalTrackWoDCA ();
319+
320+ fillCandidate (candidate, isPiGlbTrkWoDca, candidate.flagMcMatchRec (), candidate.debugMcRec (), candidate.originRec ());
311321 }
312322 }
313323 PROCESS_SWITCH (HfTreeCreatorToXiPi, processMc, " Process MC" , false );
0 commit comments