Skip to content

Commit 7abb3ae

Browse files
committed
ITS: staggered tracking + new vertexer
1 parent caef863 commit 7abb3ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+5045
-6641
lines changed

DataFormats/Detectors/ITSMFT/ITS/include/DataFormatsITS/TrackITS.h

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
#ifndef ALICEO2_ITS_TRACKITS_H
1717
#define ALICEO2_ITS_TRACKITS_H
1818

19+
#include <cstdint>
1920
#include <vector>
2021

2122
#include "GPUCommonDef.h"
2223
#include "ReconstructionDataFormats/Track.h"
2324
#include "CommonDataFormat/RangeReference.h"
25+
#include "CommonDataFormat/TimeStamp.h"
2426

2527
namespace o2
2628
{
@@ -35,12 +37,12 @@ namespace its
3537
class TrackITS : public o2::track::TrackParCov
3638
{
3739
enum UserBits {
38-
kNextROF = 1 << 28,
3940
kSharedClusters = 1 << 29
4041
};
4142

4243
using Cluster = o2::itsmft::Cluster;
4344
using ClusRefs = o2::dataformats::RangeRefComp<4>;
45+
using Timestamp = o2::dataformats::TimeStampWithError<uint32_t, uint16_t>;
4446

4547
public:
4648
using o2::track::TrackParCov::TrackParCov; // inherit base constructors
@@ -93,6 +95,9 @@ class TrackITS : public o2::track::TrackParCov
9395

9496
bool isBetter(const TrackITS& best, float maxChi2) const;
9597

98+
auto& getTimeStamp() { return mTime; }
99+
const auto& getTimeStamp() const { return mTime; }
100+
96101
GPUhdi() o2::track::TrackParCov& getParamIn() { return *this; }
97102
GPUhdi() const o2::track::TrackParCov& getParamIn() const { return *this; }
98103

@@ -122,8 +127,6 @@ class TrackITS : public o2::track::TrackParCov
122127
}
123128
int getNFakeClusters() const;
124129

125-
void setNextROFbit(bool toggle = true) { mClusterSizes = toggle ? (mClusterSizes | kNextROF) : (mClusterSizes & ~kNextROF); }
126-
bool hasHitInNextROF() const { return mClusterSizes & kNextROF; }
127130
void setSharedClusters(bool toggle = true) { mClusterSizes = toggle ? (mClusterSizes | kSharedClusters) : (mClusterSizes & ~kSharedClusters); }
128131
bool hasSharedClusters() const { return mClusterSizes & kSharedClusters; }
129132

@@ -157,9 +160,10 @@ class TrackITS : public o2::track::TrackParCov
157160
ClusRefs mClusRef; ///< references on clusters
158161
float mChi2 = 0.; ///< Chi2 for this track
159162
uint32_t mPattern = 0; ///< layers pattern
160-
unsigned int mClusterSizes = 0u;
163+
uint32_t mClusterSizes = 0u; ///< packed clamped cluster size
164+
Timestamp mTime; ///< track time stamp with error in BC, defined asymmetrical start + range in BCs
161165

162-
ClassDefNV(TrackITS, 6);
166+
ClassDefNV(TrackITS, 7);
163167
};
164168

165169
class TrackITSExt : public TrackITS
@@ -169,15 +173,13 @@ class TrackITSExt : public TrackITS
169173
static constexpr int MaxClusters = 16; /// Prepare for overlaps and new detector configurations
170174
using TrackITS::TrackITS; // inherit base constructors
171175

172-
GPUh() TrackITSExt(o2::track::TrackParCov&& parCov, short ncl, float chi2,
173-
o2::track::TrackParCov&& outer, std::array<int, MaxClusters> cls)
176+
GPUh() TrackITSExt(o2::track::TrackParCov&& parCov, short ncl, float chi2, o2::track::TrackParCov&& outer, std::array<int, MaxClusters> cls)
174177
: TrackITS(parCov, chi2, outer), mIndex{cls}
175178
{
176179
setNumberOfClusters(ncl);
177180
}
178181

179-
GPUh() TrackITSExt(o2::track::TrackParCov& parCov, short ncl, float chi2, std::uint32_t rof,
180-
o2::track::TrackParCov& outer, std::array<int, MaxClusters> cls)
182+
GPUh() TrackITSExt(o2::track::TrackParCov& parCov, short ncl, float chi2, o2::track::TrackParCov& outer, std::array<int, MaxClusters> cls)
181183
: TrackITS(parCov, chi2, outer), mIndex{cls}
182184
{
183185
setNumberOfClusters(ncl);
@@ -212,7 +214,7 @@ class TrackITSExt : public TrackITS
212214

213215
private:
214216
std::array<int, MaxClusters> mIndex = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; ///< Indices of associated clusters
215-
ClassDefNV(TrackITSExt, 2);
217+
ClassDefNV(TrackITSExt, 3);
216218
};
217219
} // namespace its
218220
} // namespace o2

Detectors/ITSMFT/ITS/tracking/CMakeLists.txt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@
99
# granted to it by virtue of its status as an Intergovernmental Organization
1010
# or submit itself to any jurisdiction.
1111

12+
# add_compile_options(-O0 -g -fPIC -fsanitize=address)
13+
# add_link_options(-fsanitize=address)
1214
o2_add_library(ITStracking
1315
TARGETVARNAME targetName
14-
SOURCES src/ClusterLines.cxx
15-
src/Cluster.cxx
16+
SOURCES src/Cluster.cxx
17+
src/Seeding.cxx
1618
src/Configuration.cxx
1719
src/TimeFrame.cxx
1820
src/IOUtils.cxx
1921
src/Tracker.cxx
2022
src/TrackerTraits.cxx
2123
src/TrackingConfigParam.cxx
22-
src/ClusterLines.cxx
23-
src/Vertexer.cxx
24-
src/VertexerTraits.cxx
25-
src/Smoother.cxx
2624
PUBLIC_LINK_LIBRARIES
2725
O2::GPUCommon
2826
Microsoft.GSL::GSL
@@ -45,11 +43,12 @@ o2_add_library(ITSTrackingInterface
4543
O2::ITStracking
4644
O2::Framework
4745
O2::GPUTracking)
46+
# target_compile_options(${targetName} PRIVATE -O0 -g -fPIC -fno-omit-frame-pointer)
4847

4948
o2_target_root_dictionary(ITStracking
50-
HEADERS include/ITStracking/ClusterLines.h
51-
include/ITStracking/Tracklet.h
49+
HEADERS include/ITStracking/Tracklet.h
5250
include/ITStracking/Cluster.h
51+
include/ITStracking/Seeding.h
5352
include/ITStracking/TrackingConfigParam.h
5453
LINKDEF src/TrackingLinkDef.h)
5554

Detectors/ITSMFT/ITS/tracking/GPU/ITStrackingGPU/ClusterLinesGPU.h

Lines changed: 0 additions & 73 deletions
This file was deleted.

Detectors/ITSMFT/ITS/tracking/GPU/ITStrackingGPU/TimeFrameChunk.h

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)