@@ -60,7 +60,7 @@ void FastTracker::AddLayer(TString name, float r, float z, float x0, float xrho,
6060 layers.push_back (newLayer);
6161}
6262
63- DetLayer FastTracker::GetLayer (int layer, bool ignoreBarrelLayers)
63+ DetLayer FastTracker::GetLayer (int layer, bool ignoreBarrelLayers) const
6464{
6565 int layerIdx = layer;
6666 if (ignoreBarrelLayers) {
@@ -74,6 +74,18 @@ DetLayer FastTracker::GetLayer(int layer, bool ignoreBarrelLayers)
7474 return layers[layerIdx];
7575}
7676
77+ int FastTracker::GetLayerIndex (std::string name) const
78+ {
79+ int i = 0 ;
80+ for (const auto & layer : layers) {
81+ if (layer.name == name) {
82+ return i;
83+ }
84+ i++;
85+ }
86+ return -1 ;
87+ }
88+
7789void FastTracker::Print ()
7890{
7991 // print out layer setup
@@ -100,18 +112,18 @@ void FastTracker::AddSiliconALICE3v4(std::vector<float> pixelResolution)
100112 float resRPhiOT = pixelResolution[2 ];
101113 float resZOT = pixelResolution[3 ];
102114
103- layers. push_back (DetLayer{ " bpipe0" , 0.48 , 250 , 0.00042 , 2.772e-02 , 0 .0f , 0 .0f , 0 .0f , 0 } ); // 150 mum Be
104- layers. push_back (DetLayer{ " ddd0" , 0.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
105- layers. push_back (DetLayer{ " ddd1" , 1.2 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
106- layers. push_back (DetLayer{ " ddd2" , 2.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
107- layers. push_back (DetLayer{ " bpipe1" , 5.7 , 250 , 0.0014 , 9.24e-02 , 0 .0f , 0 .0f , 0 .0f , 0 } ); // 500 mum Be
108- layers. push_back (DetLayer{ " ddd3" , 7 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
109- layers. push_back (DetLayer{ " ddd4" , 10 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
110- layers. push_back (DetLayer{ " ddd5" , 13 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
111- layers. push_back (DetLayer{ " ddd6" , 16 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
112- layers. push_back (DetLayer{ " ddd7" , 25 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
113- layers. push_back (DetLayer{ " ddd8" , 40 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
114- layers. push_back (DetLayer{ " ddd9" , 45 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
115+ AddLayer ( " bpipe0" , 0.48 , 250 , 0.00042 , 2.772e-02 , 0 .0f , 0 .0f , 0 .0f , 0 ); // 150 mum Be
116+ AddLayer ( " ddd0" , 0.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
117+ AddLayer ( " ddd1" , 1.2 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
118+ AddLayer ( " ddd2" , 2.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
119+ AddLayer ( " bpipe1" , 5.7 , 250 , 0.0014 , 9.24e-02 , 0 .0f , 0 .0f , 0 .0f , 0 ); // 500 mum Be
120+ AddLayer ( " ddd3" , 7 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
121+ AddLayer ( " ddd4" , 10 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
122+ AddLayer ( " ddd5" , 13 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
123+ AddLayer ( " ddd6" , 16 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
124+ AddLayer ( " ddd7" , 25 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
125+ AddLayer ( " ddd8" , 40 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
126+ AddLayer ( " ddd9" , 45 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
115127}
116128
117129void FastTracker::AddSiliconALICE3v2 (std::vector<float > pixelResolution)
@@ -128,19 +140,19 @@ void FastTracker::AddSiliconALICE3v2(std::vector<float> pixelResolution)
128140 float resRPhiOT = pixelResolution[2 ];
129141 float resZOT = pixelResolution[3 ];
130142
131- layers. push_back (DetLayer{ " bpipe0" , 0.48 , 250 , 0.00042 , 2.772e-02 , 0 .0f , 0 .0f , 0 .0f , 0 } ); // 150 mum Be
132- layers. push_back (DetLayer{ " B00" , 0.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
133- layers. push_back (DetLayer{ " B01" , 1.2 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
134- layers. push_back (DetLayer{ " B02" , 2.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 } );
135- layers. push_back (DetLayer{ " bpipe1" , 3.7 , 250 , 0.0014 , 9.24e-02 , 0 .0f , 0 .0f , 0 .0f , 0 } ); // 500 mum Be
136- layers. push_back (DetLayer{ " B03" , 3.75 , 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
137- layers. push_back (DetLayer{ " B04" , 7 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
138- layers. push_back (DetLayer{ " B05" , 12 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
139- layers. push_back (DetLayer{ " B06" , 20 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
140- layers. push_back (DetLayer{ " B07" , 30 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
141- layers. push_back (DetLayer{ " B08" , 45 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
142- layers. push_back (DetLayer{ " B09" , 60 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
143- layers. push_back (DetLayer{ " B10" , 80 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 } );
143+ AddLayer ( " bpipe0" , 0.48 , 250 , 0.00042 , 2.772e-02 , 0 .0f , 0 .0f , 0 .0f , 0 ); // 150 mum Be
144+ AddLayer ( " B00" , 0.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
145+ AddLayer ( " B01" , 1.2 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
146+ AddLayer ( " B02" , 2.5 , 250 , x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1 );
147+ AddLayer ( " bpipe1" , 3.7 , 250 , 0.0014 , 9.24e-02 , 0 .0f , 0 .0f , 0 .0f , 0 ); // 500 mum Be
148+ AddLayer ( " B03" , 3.75 , 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
149+ AddLayer ( " B04" , 7 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
150+ AddLayer ( " B05" , 12 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
151+ AddLayer ( " B06" , 20 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
152+ AddLayer ( " B07" , 30 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
153+ AddLayer ( " B08" , 45 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
154+ AddLayer ( " B09" , 60 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
155+ AddLayer ( " B10" , 80 ., 250 , x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1 );
144156}
145157
146158void FastTracker::AddTPC (float phiResMean, float zResMean)
@@ -333,7 +345,6 @@ int FastTracker::FastTrack(o2::track::TrackParCov inputTrack, o2::track::TrackPa
333345 // was there a problem on this layer?
334346 if (!ok && il > 0 ) { // may fail to reach target layer due to the eloss
335347 float rad2 = inputTrack.getX () * inputTrack.getX () + inputTrack.getY () * inputTrack.getY ();
336- float fMinRadTrack = 132 .;
337348 float maxR = layers[il - 1 ].r + kTrackingMargin * 2 ;
338349 float minRad = (fMinRadTrack > 0 && fMinRadTrack < maxR) ? fMinRadTrack : maxR;
339350 if (rad2 - minRad * minRad < kTrackingMargin * kTrackingMargin ) { // check previously reached layer
0 commit comments