3030#include " DataFormatsITSMFT/ROFRecord.h"
3131#include " ReconstructionDataFormats/Vertex.h"
3232
33+ using Point3Df = o2::math_utils::Point3D<float >;
34+
3335namespace o2
3436{
3537class MCCompLabel ;
@@ -57,6 +59,37 @@ class CookedTracker
5759 CookedTracker& operator =(const CookedTracker& tr) = delete ;
5860 ~CookedTracker () = default ;
5961
62+ void setParameters (const std::vector<float >& par)
63+ {
64+ gzWin = par[0 ];
65+ gminPt = par[1 ];
66+ gmaxDCAxy = par[3 ];
67+ gmaxDCAz = par[4 ];
68+ gSeedingLayer1 = par[5 ];
69+ gSeedingLayer2 = par[6 ];
70+ gSeedingLayer3 = par[7 ];
71+ gSigma2 = par[8 ];
72+ gmaxChi2PerCluster = par[9 ];
73+ gmaxChi2PerTrack = par[10 ];
74+ gRoadY = par[11 ];
75+ gRoadZ = par[12 ];
76+ gminNumberOfClusters = par[13 ];
77+ }
78+ void setParametersCosmics ()
79+ {
80+ // seed "windows" in z and phi: makeSeeds
81+ gzWin = 84 .; // length of the L3
82+ gminPt = 10 .;
83+ // Maximal accepted impact parameters for the seeds
84+ gmaxDCAxy = 19.4 ; // radius of the L3
85+ gmaxDCAz = 42 .; // half-lenght of the L3
86+ // Space point resolution
87+ gSigma2 = 0.2 * 0.2 ;
88+ // Tracking "road" from layer to layer
89+ gRoadY = 1.5 ; // Chip size in Y
90+ gRoadZ = 3.0 ; // Chip size in Z
91+ }
92+
6093 void setVertices (const std::vector<Vertex>& vertices)
6194 {
6295 mVertices = &vertices;
@@ -110,7 +143,7 @@ class CookedTracker
110143 void setContinuousMode (bool mode) { mContinuousMode = mode; }
111144 bool getContinuousMode () { return mContinuousMode ; }
112145
113- static void setMostProbalePt (float pt) { mMostProbablePt = pt; }
146+ static void setMostProbablePt (float pt) { mMostProbablePt = pt; }
114147 static auto getMostProbablePt () { return mMostProbablePt ; }
115148
116149 // internal helper classes
@@ -124,6 +157,7 @@ class CookedTracker
124157 std::tuple<int , int > processLoadedClusters (TrackInserter& inserter);
125158
126159 std::vector<TrackITSExt> trackInThread (Int_t first, Int_t last);
160+ o2::its::TrackITSExt cookSeed (const Point3Df& r1, Point3Df& r2, const Point3Df& tr3, float rad2, float rad3, float_t alpha, float_t bz);
127161 void makeSeeds (std::vector<TrackITSExt>& seeds, Int_t first, Int_t last);
128162 void trackSeeds (std::vector<TrackITSExt>& seeds);
129163
@@ -133,6 +167,29 @@ class CookedTracker
133167 bool makeBackPropParam (TrackITSExt& track) const ;
134168
135169 private:
170+ /* ** Tracking parameters ***/
171+ // seed "windows" in z and phi: makeSeeds
172+ static Float_t gzWin;
173+ static Float_t gminPt;
174+ static Float_t mMostProbablePt ; // /< settable most probable pt
175+ // Maximal accepted impact parameters for the seeds
176+ static Float_t gmaxDCAxy;
177+ static Float_t gmaxDCAz;
178+ // Layers for the seeding
179+ static Int_t gSeedingLayer1 ;
180+ static Int_t gSeedingLayer2 ;
181+ static Int_t gSeedingLayer3 ;
182+ // Space point resolution
183+ static Float_t gSigma2 ;
184+ // Max accepted chi2
185+ static Float_t gmaxChi2PerCluster;
186+ static Float_t gmaxChi2PerTrack;
187+ // Tracking "road" from layer to layer
188+ static Float_t gRoadY ;
189+ static Float_t gRoadZ ;
190+ // Minimal number of attached clusters
191+ static Int_t gminNumberOfClusters;
192+
136193 bool mContinuousMode = true ; // /< triggered or cont. mode
137194 const o2::its::GeometryTGeo* mGeom = nullptr ; // / interface to geometry
138195 const o2::dataformats::MCTruthContainer<o2::MCCompLabel>* mClsLabels = nullptr ; // / Cluster MC labels
@@ -157,8 +214,6 @@ class CookedTracker
157214
158215 std::vector<Cluster> mClusterCache ;
159216
160- static float mMostProbablePt ; // /< settable most probable pt
161-
162217 ClassDefNV (CookedTracker, 1 );
163218};
164219
0 commit comments