@@ -69,41 +69,40 @@ struct FwdTrackExtension {
6969 }
7070 }
7171
72- // void process(aod::Collisions::iterator const& collision, o2::aod::BCsWithTimestamps const& /*...*/, MuonsWithCov const& tracks, aod::MFTTracks const& /*...*/)
73- void process (aod::Collisions const & collisions, MuonsWithCov const & tracks, aod::MFTTracks const & /* ...*/ , o2::aod::BCsWithTimestamps const & /* ...*/ )
72+ void process (MuonsWithCov const & tracks, aod::MFTTracks const & /* ...*/ , o2::aod::BCsWithTimestamps const & /* ...*/ , aod::Collisions const & /* ...*/ )
7473 {
7574 for (const auto & track : tracks) {
7675 const auto trackType = track.trackType ();
7776 float dcaX = -999 ;
7877 float dcaY = -999 ;
7978 if (track.has_collision ()) {
80- auto const & collision = track.collision ();
81- auto bc = collision.template bc_as <o2::aod::BCsWithTimestamps>();
82- if (fCurrentRun != bc.runNumber ()) {
83- grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(grpmagPath, bc.timestamp ());
84- if (grpmag != nullptr ) {
85- LOGF (info, " Init field from GRP" );
86- o2::base::Propagator::initFieldFromGRP (grpmag);
87- }
88- LOGF (info, " Set field for muons" );
89- o2::mch::TrackExtrap::setField ();
90- fCurrentRun = bc.runNumber ();
91- }
92- const float zField = grpmag->getNominalL3Field ();
79+ auto const & collision = track.collision ();
80+ auto bc = collision.template bc_as <o2::aod::BCsWithTimestamps>();
81+ if (fCurrentRun != bc.runNumber ()) {
82+ grpmag = fCCDB ->getForTimeStamp <o2::parameters::GRPMagField>(grpmagPath, bc.timestamp ());
83+ if (grpmag != nullptr ) {
84+ LOGF (info, " Init field from GRP" );
85+ o2::base::Propagator::initFieldFromGRP (grpmag);
86+ }
87+ LOGF (info, " Set field for muons" );
88+ o2::mch::TrackExtrap::setField ();
89+ fCurrentRun = bc.runNumber ();
90+ }
91+ const float zField = grpmag->getNominalL3Field ();
9392
94- o2::track::TrackParCovFwd fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwdShift (track, 0.0 );
95- if (refitGlobalMuon && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack)) {
96- auto muontrack = track.template matchMCHTrack_as <MuonsWithCov>();
97- auto mfttrack = track.template matchMFTTrack_as <aod::MFTTracks>();
98- o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint::kToVertex , 0 .f , zField);
99- SMatrix5 tpars (mfttrack.x (), mfttrack.y (), mfttrack.phi (), mfttrack.tgl (), mfttrack.signed1Pt ());
100- SMatrix55 tcovs{};
101- o2::track::TrackParCovFwd mft{mfttrack.z (), tpars, tcovs, mfttrack.chi2 ()};
102- fwdtrack = o2::aod::fwdtrackutils::refitGlobalMuonCov (propmuon, mft);
103- }
104- auto proptrack = o2::aod::fwdtrackutils::propagateTrackParCovFwd (fwdtrack, trackType, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA , 0 .f , zField);
105- dcaX = (proptrack.getX () - collision.posX ());
106- dcaY = (proptrack.getY () - collision.posY ());
93+ o2::track::TrackParCovFwd fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwdShift (track, 0.0 );
94+ if (refitGlobalMuon && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack)) {
95+ auto muontrack = track.template matchMCHTrack_as <MuonsWithCov>();
96+ auto mfttrack = track.template matchMFTTrack_as <aod::MFTTracks>();
97+ o2::dataformats::GlobalFwdTrack propmuon = o2::aod::fwdtrackutils::propagateMuon (muontrack, muontrack, collision, o2::aod::fwdtrackutils::propagationPoint::kToVertex , 0 .f , zField);
98+ SMatrix5 tpars (mfttrack.x (), mfttrack.y (), mfttrack.phi (), mfttrack.tgl (), mfttrack.signed1Pt ());
99+ SMatrix55 tcovs{};
100+ o2::track::TrackParCovFwd mft{mfttrack.z (), tpars, tcovs, mfttrack.chi2 ()};
101+ fwdtrack = o2::aod::fwdtrackutils::refitGlobalMuonCov (propmuon, mft);
102+ }
103+ auto proptrack = o2::aod::fwdtrackutils::propagateTrackParCovFwd (fwdtrack, trackType, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA , 0 .f , zField);
104+ dcaX = (proptrack.getX () - collision.posX ());
105+ dcaY = (proptrack.getY () - collision.posY ());
107106 }
108107 fwdDCA (dcaX, dcaY);
109108 }
0 commit comments