@@ -80,7 +80,7 @@ class PVertexer
8080 bool getValidateWithFT0 () const { return mValidateWithFT0 ; }
8181
8282 auto & getTracksPool () const { return mTracksPool ; }
83- auto & getTimeClusters () const { return mTimesClusters ; }
83+ auto & getTimeZClusters () const { return mTimeZClusters ; }
8484 auto & getSortedTrackIndices () const { return mSortedTrackID ; }
8585
8686 auto & getMeanVertex () const { return mMeanVertex ; }
@@ -92,7 +92,6 @@ class PVertexer
9292
9393 float estimateScale2 ()
9494 {
95- float minrange = std::min (mPVParams ->zHistoBinSize , mPVParams ->minZSeedRange );
9695 auto sc = mPVParams ->zHistoBinSize * mPVParams ->zHistoBinSize * mTukey2I / (mStatZErr .getMean () * mStatZErr .getMean ());
9796 return sc;
9897 }
@@ -108,11 +107,12 @@ class PVertexer
108107 void applyConstraint (VertexSeed& vtxSeed) const ;
109108 bool upscaleSigma (VertexSeed& vtxSeed) const ;
110109 void createTracksPool (gsl::span<const o2d::TrackTPCITS> tracksITSTPC);
111- void clusterizeTimeBruteForce (float margin = 0.1 , float cut = 25 );
112- void clusterizeTime (float binSize = 0.1 , float maxTDist = 0.6 );
113110 int findVertices (const VertexingInput& input, std::vector<PVertex>& vertices, std::vector<int >& vertexTrackIDs, std::vector<V2TRef>& v2tRefs);
114111 std::pair<int , int > getBestFT0Trigger (const PVertex& vtx, gsl::span<const o2::ft0::RecPoints> ft0Data, int & currEntry) const ;
115112
113+ int dbscan_RangeQuery (int idxs, std::vector<int >& cand, const std::vector<int >& status);
114+ void dbscan_clusterize ();
115+
116116 o2::BunchFilling mBunchFilling ;
117117 std::array<int16_t , o2::constants::lhc::LHCMaxBunches> mClosestBunchAbove ; // closest filled bunch from above
118118 std::array<int16_t , o2::constants::lhc::LHCMaxBunches> mClosestBunchBelow ; // closest filled bunch from below
@@ -123,7 +123,9 @@ class PVertexer
123123 o2::math_utils::StatAccumulator mStatTErr ;
124124 std::vector<TrackVF> mTracksPool ; // /< tracks in internal representation used for vertexing
125125 std::vector<int > mSortedTrackID ; // /< indices of tracks sorted in time
126- std::vector<TimeCluster> mTimesClusters ; // /< set of time clusters
126+ std::vector<TimeZCluster> mTimeZClusters ; // /< set of time clusters
127+ std::vector<int > mClusterTrackIDs ; // /< IDs of tracks making the clusters
128+
127129 float mBz = 0 .; // /< mag.field at beam line
128130 bool mValidateWithFT0 = false ; // /< require vertex validation with FT0 (if available)
129131
0 commit comments