Skip to content

Commit 10bf0d3

Browse files
shahor02sawenzel
authored andcommitted
Add outer param to TPC-ITS match (not functional yet)
1 parent 33ce689 commit 10bf0d3

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

DataFormats/Reconstruction/include/ReconstructionDataFormats/TrackTPCITS.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class TrackTPCITS : public o2::track::TrackParCov
3434
~TrackTPCITS() = default;
3535
TrackTPCITS(const TrackTPCITS& src) = default;
3636
TrackTPCITS(const o2::track::TrackParCov& src) : o2::track::TrackParCov(src) {}
37+
TrackTPCITS(const o2::track::TrackParCov& srcIn, const o2::track::TrackParCov& srcOut) : o2::track::TrackParCov(srcIn), mParamOut(srcOut) {}
3738

3839
const evIdx& getRefTPC() const { return mRefTPC; }
3940
const evIdx& getRefITS() const { return mRefITS; }
@@ -57,6 +58,9 @@ class TrackTPCITS : public o2::track::TrackParCov
5758
void setChi2Match(float v) { mChi2Match = v; }
5859
float getChi2Match() const { return mChi2Match; }
5960

61+
o2::track::TrackParCov& getParamOut() { return mParamOut; }
62+
const o2::track::TrackParCov& getParamOut() const { return mParamOut; }
63+
6064
void print() const;
6165

6266
private:
@@ -65,8 +69,8 @@ class TrackTPCITS : public o2::track::TrackParCov
6569
float mChi2Refit = 0.f; ///< chi2 of the refit
6670
float mChi2Match = 0.f; ///< chi2 of the match
6771
timeEst mTimeMUS; ///< time estimate in ns
68-
69-
ClassDefNV(TrackTPCITS, 1);
72+
o2::track::TrackParCov mParamOut; ///< refitted outer parameter
73+
ClassDefNV(TrackTPCITS, 2);
7074
};
7175
}
7276
}

DataFormats/Reconstruction/src/TrackTPCITS.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@ void TrackTPCITS::print() const
1818
printf("TPCref: %5d/%6d ITSref: %5d/%6d\nChi2Refit: %6.2f Chi2Matc: %6.2f Time: %10.4f+-%10.4f mus\n",
1919
mRefTPC.getEvent(), mRefTPC.getIndex(), mRefITS.getEvent(), mRefITS.getIndex(), getChi2Refit(), getChi2Match(),
2020
mTimeMUS.getTimeStamp(), mTimeMUS.getTimeStampError());
21+
printf("Inner param: ");
2122
o2::track::TrackParCov::print();
23+
printf("Outer param: ");
24+
mParamOut.print();
2225
}

Detectors/GlobalTracking/src/MatchTPCITS.cxx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,16 +1119,19 @@ bool MatchTPCITS::refitTrackITSTPC(int iITS)
11191119
loadITSTracksChunk(tITS.source.getEvent());
11201120
loadTPCTracksChunk(tTPC.source.getEvent());
11211121

1122-
mMatchedTracks.emplace_back(tTPC); // create a copy of TPC track at xRef
1122+
auto itsTrOrig = (*mITSTracksArrayInp)[tITS.source.getIndex()]; // currently we store clusterIDs in the track
1123+
1124+
mMatchedTracks.emplace_back(tTPC, itsTrOrig.getParamOut()); // create a copy of TPC track at xRef
11231125
auto& trfit = mMatchedTracks.back();
11241126
// in continuos mode the Z of TPC track is meaningless, unless it is CE crossing
11251127
// track (currently absent, TODO)
11261128
if (!mCompareTracksDZ) {
11271129
trfit.setZ(tITS.getZ()); // fix the seed Z
11281130
}
1129-
float deltaT = (trfit.getZ() - tTPC.getZ()) * mZ2TPCBin; // time correction in time-bins
1131+
auto dzCorr = trfit.getZ() - tTPC.getZ();
1132+
float deltaT = dzCorr * mZ2TPCBin; // time correction in time-bins
11301133

1131-
auto itsTrOrig = (*mITSTracksArrayInp)[tITS.source.getIndex()]; // currently we store clusterIDs in the track
1134+
// refit TPC track inward into the ITS
11321135
int nclRefit = 0, ncl = itsTrOrig.getNumberOfClusters();
11331136
float chi2 = 0.f;
11341137
auto geom = o2::ITS::GeometryTGeo::Instance();
@@ -1156,6 +1159,9 @@ bool MatchTPCITS::refitTrackITSTPC(int iITS)
11561159
return false;
11571160
}
11581161

1162+
// refit ITS outer trackparam outward into the TPC
1163+
// TODO
1164+
11591165
/// precise time estimate
11601166
auto tpcTrOrig = (*mTPCTracksArrayInp)[tTPC.source.getIndex()];
11611167
float time = tpcTrOrig.getTime0() - mNTPCBinsFullDrift;

0 commit comments

Comments
 (0)