|
22 | 22 | #include <TObject.h> |
23 | 23 |
|
24 | 24 | #include <fstream> |
25 | | -#include <map> |
26 | 25 | #include <string> |
27 | 26 | #include <vector> |
28 | 27 |
|
@@ -55,6 +54,16 @@ void FastTracker::AddLayer(TString name, float r, float z, float x0, float xrho, |
55 | 54 | layers.push_back(newLayer); |
56 | 55 | } |
57 | 56 |
|
| 57 | +void FastTracker::addDeadPhiRegionInLayer(const std::string& layerName, float phiStart, float phiEnd) |
| 58 | +{ |
| 59 | + const int layerIdx = GetLayerIndex(layerName); |
| 60 | + if (layerIdx < 0) { |
| 61 | + LOG(fatal) << "Cannot add dead phi region to non-existing layer " << layerName; |
| 62 | + return; |
| 63 | + } |
| 64 | + layers[layerIdx].addDeadPhiRegion(phiStart, phiEnd); |
| 65 | +} |
| 66 | + |
58 | 67 | DetLayer FastTracker::GetLayer(int layer, bool ignoreBarrelLayers) const |
59 | 68 | { |
60 | 69 | int layerIdx = layer; |
@@ -185,7 +194,7 @@ void FastTracker::AddSiliconALICE3(float scaleX0VD, std::vector<float> pixelReso |
185 | 194 | AddLayer("B03", 7., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
186 | 195 | AddLayer("B04", 9., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
187 | 196 | AddLayer("B05", 12., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
188 | | - AddLayer("iTOF", 19, 250, x0iTOF, xrhoiTOF, resRPhiOT, resZOT, 0.0f, 0); |
| 197 | + AddLayer("iTOF", 19, 250, x0iTOF, xrhoiTOF, resRPhiOT, resZOT, eff, 0); |
189 | 198 | AddLayer("B06", 20., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
190 | 199 | AddLayer("B07", 30., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
191 | 200 | AddLayer("B08", 45., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1); |
@@ -493,6 +502,11 @@ int FastTracker::FastTrack(o2::track::TrackParCov inputTrack, o2::track::TrackPa |
493 | 502 | continue; // inert layer, skip |
494 | 503 | } |
495 | 504 |
|
| 505 | + if (layers[il].isInDeadPhiRegion(inputTrack.getPhi())) { |
| 506 | + LOGF(debug, "Track is in dead region of layer %d", il); |
| 507 | + continue; // dead region, skip |
| 508 | + } |
| 509 | + |
496 | 510 | // layer is reached |
497 | 511 | if (firstLayerReached < 0) { |
498 | 512 | LOGF(debug, "First layer reached: %d", il); |
|
0 commit comments