Skip to content

Commit 4a6676a

Browse files
authored
[PWGUD] UpcCandGlobalMuons fix - adding forgotten propagation function call (#15480)
1 parent 1c6cba6 commit 4a6676a

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

PWGUD/TableProducer/upcCandProducerGlobalMuon.cxx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff 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;

0 commit comments

Comments
 (0)