@@ -82,34 +82,36 @@ struct FwdTrackExtension {
8282 if (track.has_collision ()) {
8383 auto const & collision = track.collision ();
8484 auto bc = collision.template bc_as <o2::aod::BCsWithTimestamps>();
85- if (fCurrentRun != bc.runNumber ()) {
86- grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(grpmagPath, bc.timestamp ());
87- if (grpmag != nullptr ) {
88- LOGF (info, " Init field from GRP" );
89- o2::base::Propagator::initFieldFromGRP (grpmag);
85+ if (propInTheAbsorber) {
86+ if (fCurrentRun != bc.runNumber ()) {
87+ grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(grpmagPath, bc.timestamp ());
88+ if (grpmag != nullptr ) {
89+ LOGF (info, " Init field from GRP" );
90+ o2::base::Propagator::initFieldFromGRP (grpmag);
91+ }
92+ if (propInTheAbsorber) {
93+ LOGF (info, " Set field for muons" );
94+ o2::mch::TrackExtrap::setField ();
95+ }
96+ fCurrentRun = bc.runNumber ();
9097 }
91- if (propInTheAbsorber) {
92- LOGF (info, " Set field for muons" );
93- o2::mch::TrackExtrap::setField ();
94- }
95- fCurrentRun = bc.runNumber ();
96- }
97- const float zField = grpmag->getNominalL3Field ();
98+ const float zField = grpmag->getNominalL3Field ();
9899
99- o2::track::TrackParCovFwd fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwdShift (track, 0.0 );
100- if (refitGlobalMuon && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack)) {
101- auto muontrack = track.template matchMCHTrack_as <MuonsWithCov>();
102- auto mfttrack = track.template matchMFTTrack_as <aod::MFTTracks>();
103- o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint::kToVertex , 0 .f , zField);
104- SMatrix5 tpars (mfttrack.x (), mfttrack.y (), mfttrack.phi (), mfttrack.tgl (), mfttrack.signed1Pt ());
105- SMatrix55 tcovs{};
106- o2::track::TrackParCovFwd mft{mfttrack.z (), tpars, tcovs, mfttrack.chi2 ()};
107- fwdtrack = o2::aod::fwdtrackutils::refitGlobalMuonCov (propmuon, mft);
108- }
109- if (!propInTheAbsorber && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::MuonStandaloneTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::MCHStandaloneTrack)) {
110- auto proptrack = o2::aod::fwdtrackutils::propagateTrackParCovFwd (fwdtrack, trackType, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA , 0 .f , zField);
111- dcaX = (proptrack.getX () - collision.posX ());
112- dcaY = (proptrack.getY () - collision.posY ());
100+ o2::track::TrackParCovFwd fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwdShift (track, 0.0 );
101+ if (refitGlobalMuon && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack)) {
102+ auto muontrack = track.template matchMCHTrack_as <MuonsWithCov>();
103+ auto mfttrack = track.template matchMFTTrack_as <aod::MFTTracks>();
104+ o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint::kToVertex , 0 .f , zField);
105+ SMatrix5 tpars (mfttrack.x (), mfttrack.y (), mfttrack.phi (), mfttrack.tgl (), mfttrack.signed1Pt ());
106+ SMatrix55 tcovs{};
107+ o2::track::TrackParCovFwd mft{mfttrack.z (), tpars, tcovs, mfttrack.chi2 ()};
108+ fwdtrack = o2::aod::fwdtrackutils::refitGlobalMuonCov (propmuon, mft);
109+ }
110+ if (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::MuonStandaloneTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::MCHStandaloneTrack) {
111+ auto proptrack = o2::aod::fwdtrackutils::propagateTrackParCovFwd (fwdtrack, trackType, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA , 0 .f , zField);
112+ dcaX = (proptrack.getX () - collision.posX ());
113+ dcaY = (proptrack.getY () - collision.posY ());
114+ }
113115 } else {
114116 dcaX = track.pDca () / std::numbers::sqrt2 / track.p ();
115117 dcaY = dcaX;
@@ -124,4 +126,4 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
124126{
125127 WorkflowSpec workflow{adaptAnalysisTask<FwdTrackExtension>(cfgc)};
126128 return workflow;
127- }
129+ }
0 commit comments