Skip to content

Commit 3a6a7da

Browse files
committed
Fix TPC-only tracks DCA calculation
1 parent 145d5ea commit 3a6a7da

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

  • DataFormats/Reconstruction/include/ReconstructionDataFormats
  • Detectors/GlobalTracking/src

DataFormats/Reconstruction/include/ReconstructionDataFormats/DCA.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,15 @@ class DCA
5656

5757
GPUd() void setY(float y) { mY = y; }
5858
GPUd() void setZ(float z) { mZ = z; }
59+
GPUd() void setSigmaY2(float v) { mCov[0] = v; }
60+
GPUd() void setSigmaYZ(float v) { mCov[1] = v; }
61+
GPUd() void setSigmaZ2(float v) { mCov[2] = v; }
62+
GPUd() void addCov(const std::array<float, 3>& vadd)
63+
{
64+
mCov[0] += vadd[0];
65+
mCov[1] += vadd[1];
66+
mCov[2] += vadd[2];
67+
}
5968
GPUd() auto getY() const { return mY; }
6069
GPUd() auto getZ() const { return mZ; }
6170
GPUd() auto getR2() const { return mY * mY + mZ * mZ; }

Detectors/GlobalTracking/src/MatchCosmics.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,11 @@ void MatchCosmics::process(const o2::globaltracking::RecoContainer& data)
7777
break;
7878
}
7979
if (trc.origID.getSource() == GTrackID::TPC) { // correct the track Z position for the vertex time
80-
const auto& trcTPC = data.getTPCTrack(trc.origID.getSource());
80+
const auto& trcTPC = data.getTPCTrack(trc.origID);
8181
float deltaZ = trcTPC.hasBothSidesClusters() ? 0.f : (pv.getTimeStamp().getTimeStamp() - trcTPC.getTime0() * 8 * o2::constants::lhc::LHCBunchSpacingMUS) * mTPCVDrift;
8282
dca.setZ(dca.getZ() + (trcTPC.hasASideClustersOnly() ? deltaZ : -deltaZ));
8383
}
84+
dca.addCov({mMatchParams->systSigma2[0], 0.f, mMatchParams->systSigma2[1]});
8485
if (dca.calcChi2() < mMatchParams->dcaCutChi2[trc.origID.getSource()]) {
8586
trc.matchID = Reject;
8687
break;

0 commit comments

Comments
 (0)