File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed
Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -379,7 +379,21 @@ struct UpcCandProducerGlobalMuon {
379379 }
380380
381381 if (fUpcCuts .getUseFwdCuts ()) {
382- auto pft = propagateToZero (track);
382+ bool isGlobal = track.trackType () == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack ||
383+ track.trackType () == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack;
384+ o2::dataformats::GlobalFwdTrack pft;
385+ if (isGlobal && fEnableMFT ) {
386+ // For global tracks, use MFT helix propagation to vertex instead of
387+ // MCH extrapolation, which fails because the track z is upstream of
388+ // the front absorber (z ~ -60 cm vs absorber at z ~ -90 cm)
389+ o2::track::TrackParCovFwd trackPar = o2::aod::fwdtrackutils::getTrackParCovFwdShift (track, fZShift );
390+ trackPar.propagateToZhelix (0 ., fBz );
391+ pft.setParameters (trackPar.getParameters ());
392+ pft.setZ (trackPar.getZ ());
393+ pft.setCovariances (trackPar.getCovariances ());
394+ } else {
395+ pft = propagateToZero (track);
396+ }
383397 bool pass = cut (pft, track);
384398 if (!pass)
385399 return false ;
You can’t perform that action at this time.
0 commit comments