Skip to content

Commit 15ffcdf

Browse files
author
Maurice Coquet
committed
Fixing fwdtrackextension
1 parent 77b3b50 commit 15ffcdf

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

Common/TableProducer/fwdtrackextension.cxx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ struct FwdTrackExtension {
5050
Configurable<std::string> geoPath{"geoPath", "GLO/Config/GeometryAligned", "Path of the geometry file"};
5151
Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
5252
Configurable<std::string> configCcdbUrl{"configCcdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
53-
Configurable<bool> refitGlobalMuon{"refitGlobalMuon", true, "Recompute parameters of global muons"};
53+
Configurable<bool> refitGlobalMuon{"refitGlobalMuon", false, "Recompute parameters of global muons"};
5454

5555
Service<o2::ccdb::BasicCCDBManager> fCCDB;
5656
o2::parameters::GRPMagField* grpmag = nullptr; // for run 3, we access GRPMagField from GLO/Config/GRPMagField
@@ -69,8 +69,15 @@ struct FwdTrackExtension {
6969
}
7070
}
7171

72-
void process(aod::Collisions::iterator const& collision, o2::aod::BCsWithTimestamps const& /*...*/, MuonsWithCov const& tracks, aod::MFTTracks const& /*...*/)
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& /*...*/)
7374
{
75+
for (const auto& track : tracks) {
76+
const auto trackType = track.trackType();
77+
float dcaX = -999;
78+
float dcaY = -999;
79+
if (track.has_collision()) {
80+
auto const& collision = track.collision();
7481
auto bc = collision.template bc_as<o2::aod::BCsWithTimestamps>();
7582
if (fCurrentRun != bc.runNumber()) {
7683
grpmag = fCCDB->getForTimeStamp<o2::parameters::GRPMagField>(grpmagPath, bc.timestamp());
@@ -83,9 +90,8 @@ struct FwdTrackExtension {
8390
fCurrentRun = bc.runNumber();
8491
}
8592
const float zField = grpmag->getNominalL3Field();
86-
for (const auto& track : tracks) {
87-
const auto trackType = track.trackType();
88-
o2::dataformats::GlobalFwdTrack fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwd(track, track);
93+
94+
o2::track::TrackParCovFwd fwdtrack = o2::aod::fwdtrackutils::getTrackParCovFwdShift(track, 0.0);
8995
if (refitGlobalMuon && (trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack || trackType == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalForwardTrack)) {
9096
auto muontrack = track.template matchMCHTrack_as<MuonsWithCov>();
9197
auto mfttrack = track.template matchMFTTrack_as<aod::MFTTracks>();
@@ -95,9 +101,10 @@ struct FwdTrackExtension {
95101
o2::track::TrackParCovFwd mft{mfttrack.z(), tpars, tcovs, mfttrack.chi2()};
96102
fwdtrack = o2::aod::fwdtrackutils::refitGlobalMuonCov(propmuon, mft);
97103
}
98-
const auto proptrack = o2::aod::fwdtrackutils::propagateTrackParCovFwd(fwdtrack, trackType, collision, o2::aod::fwdtrackutils::propagationPoint::kToDCA, 0.f, zField);
99-
const float dcaX = (proptrack.getX() - collision.posX());
100-
const float dcaY = (proptrack.getY() - collision.posY());
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());
107+
}
101108
fwdDCA(dcaX, dcaY);
102109
}
103110
}

0 commit comments

Comments
 (0)