Skip to content

Commit 22e579e

Browse files
committed
ITS: use nsgima tgl tracklet cut
1 parent 7abb3ae commit 22e579e

File tree

5 files changed

+8
-17
lines changed

5 files changed

+8
-17
lines changed

Detectors/ITSMFT/ITS/tracking/include/ITStracking/Configuration.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ struct TrackingParameters {
5757
int NTimeSlices{1};
5858
/// Trackleting cuts
5959
float TrackletMinPt = 0.3f;
60-
/// Cell finding cuts
61-
float CellDeltaTanLambdaSigma = 0.007f;
6260
/// Fitter parameters
6361
o2::base::PropagatorImpl<float>::MatCorrType CorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE;
6462
float MaxChi2ClusterAttachment = 60.f;

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TrackingConfigParam.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ struct TrackerParamConfig : public o2::conf::ConfigurableParamHelper<TrackerPara
3636
float maxChi2ClusterAttachment = -1.f;
3737
float maxChi2NDF = -1.f;
3838
float nSigmaCut = -1.f;
39-
float nSigmaCutZ = -1.f;
40-
float nSigmaCutPhi = -1.f;
41-
float deltaTanLres = -1.f;
4239
float minPt = -1.f;
4340
int LUTbinsPhi = -1;
4441
int LUTbinsZ = -1;

Detectors/ITSMFT/ITS/tracking/src/Configuration.cxx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,6 @@ std::vector<RecoIteration> TrackingMode::getRecoIterations(TrackingMode::Type mo
168168
p.PhiBins = tc.LUTbinsPhi > 0 ? tc.LUTbinsPhi : p.PhiBins;
169169
p.ZBins = tc.LUTbinsZ > 0 ? tc.LUTbinsZ : p.ZBins;
170170
p.NSigmaCut *= tc.nSigmaCut > 0 ? tc.nSigmaCut : 1.f;
171-
p.CellDeltaTanLambdaSigma *= tc.deltaTanLres > 0 ? tc.deltaTanLres : 1.f;
172171
p.TrackletMinPt *= tc.minPt > 0 ? tc.minPt : 1.f;
173172
p.PerPrimaryVertexProcessing = tc.perPrimaryVertexProcessing;
174173
for (int iD{0}; iD < 3; ++iD) {
@@ -197,8 +196,9 @@ std::vector<RecoIteration> TrackingMode::getRecoIterations(TrackingMode::Type mo
197196

198197
// standards steps to configure seeding
199198
recoIterations[0].steps.set(kRunTrackleting, kRunCellFinding, kRunCellSeeding, kUpdateClusters);
200-
recoIterations[0].params.NLayers = 3; // only do cell finding up until the third layer
201-
recoIterations[0].params.UseDiamond = true; // use the blown up diamond constrain to (e.g. luminous region)
199+
recoIterations[0].params.NLayers = 3; // only do cell finding up until the third layer
200+
recoIterations[0].params.UseDiamond = true; // use the blown up diamond constrain to (e.g. luminous region)
201+
recoIterations[0].params.NSigmaCut = 3.f;
202202
recoIterations[0].params.CorrType = o2::base::PropagatorF::MatCorrType::USEMatCorrNONE; // do not use material
203203
recoIterations[0].params.SeedingDCATolerance = tc.seedingDCATolerance;
204204
recoIterations[0].params.SeedingDCAMaxPull = tc.seedingDCAMaxPull;
@@ -221,9 +221,7 @@ std::vector<RecoIteration> TrackingMode::getRecoIterations(TrackingMode::Type mo
221221

222222
if (mode == TrackingMode::Async) {
223223
recoIterations[2].params.TrackletMinPt = 0.2f;
224-
recoIterations[2].params.CellDeltaTanLambdaSigma *= 2.;
225224
recoIterations[3].params.TrackletMinPt = 0.1f;
226-
recoIterations[3].params.CellDeltaTanLambdaSigma *= 4.;
227225

228226
recoIterations[1].params.MinPt[0] = 1.f / 12; // 7cl
229227
recoIterations[2].params.MinPt[0] = 1.f / 12; // 7cl
@@ -239,7 +237,6 @@ std::vector<RecoIteration> TrackingMode::getRecoIterations(TrackingMode::Type mo
239237
if (tc.doUPCIteration) {
240238
recoIterations[4].params.MinTrackLength = 4;
241239
recoIterations[4].params.TrackletMinPt = 0.1f;
242-
recoIterations[4].params.CellDeltaTanLambdaSigma *= 4.;
243240
}
244241
for (size_t ip = 0; ip < recoIterations.size(); ip++) {
245242
// the seeding step is configured outside of this loop beforehand
@@ -273,7 +270,6 @@ std::vector<RecoIteration> TrackingMode::getRecoIterations(TrackingMode::Type mo
273270
recoIterations[0].params.MinTrackLength = 4;
274271
} else if (mode == TrackingMode::Cosmics) {
275272
recoIterations[0].params.MinTrackLength = 4;
276-
recoIterations[0].params.CellDeltaTanLambdaSigma *= 10;
277273
recoIterations[0].params.PhiBins = 4;
278274
recoIterations[0].params.ZBins = 16;
279275
recoIterations[0].params.MaxChi2ClusterAttachment = 60.;

Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,6 @@ void TrackerTraits<NLayers>::computeLayerCells(const int iteration)
359359
}
360360
}
361361

362-
// allowed tgl variation
363-
const float tglNSigma = mRecoParams[iteration].params.CellDeltaTanLambdaSigma * mRecoParams[iteration].params.NSigmaCut;
364-
365362
mTaskArena->execute([&] {
366363
auto forTrackletCells = [&](auto Tag, int iLayer, bounded_vector<CellSeedN>& layerCells, int iTracklet, int offset = 0) -> int {
367364
const Tracklet& currentTracklet{mTimeFrame->getTracklets()[iLayer][iTracklet]};
@@ -372,6 +369,8 @@ void TrackerTraits<NLayers>::computeLayerCells(const int iteration)
372369
// properties for the middle layer
373370
const float resMid2 = math_utils::Sq(mTimeFrame->getPositionResolution(iLayer + 1));
374371
const float msMid2 = math_utils::Sq(mTimeFrame->getMSangle(iLayer + 1));
372+
// the allowed tgl variance is entirely determined by the middle layer
373+
const float tglNSigma = o2::gpu::CAMath::Sqrt(resMid2 + msMid2) * mRecoParams[iteration].params.NSigmaCut;
375374

376375
int foundCells{0};
377376
for (int iNextTracklet{nextLayerFirstTrackletIndex}; iNextTracklet < nextLayerLastTrackletIndex; ++iNextTracklet) {
@@ -1855,6 +1854,7 @@ inline void TrackerTraits<NLayers>::debugComputeLayerTracklets(int iteration, in
18551854
const float tanLambda = deltaPvZ / currentCls.radius;
18561855
const float deltaZ = o2::gpu::GPUCommonMath::Abs((tanLambda * (nextCls.radius - currentCls.radius)) + currentCls.zCoordinate - nextCls.zCoordinate);
18571856
const float tglNext = (nextCls.zCoordinate - pv.getZ()) / nextCls.radius;
1857+
const float deltaZ2Pv = nextCls.zCoordinate + ((nextCls.zCoordinate - currentCls.zCoordinate) / (nextCls.radius - currentCls.radius) * (nextCls.radius - pv.getR()));
18581858
const float deltaPhi = o2::gpu::CAMath::Abs(o2::math_utils::toPMPi(currentCls.phi - nextCls.phi));
18591859

18601860
static MCStat stats("trackleting");
@@ -1873,6 +1873,7 @@ inline void TrackerTraits<NLayers>::debugComputeLayerTracklets(int iteration, in
18731873
<< "delPhi=" << deltaPhi
18741874
<< "tgl=" << tanLambda
18751875
<< "tglNext=" << tglNext
1876+
<< "delZPv=" << deltaZ2Pv
18761877
<< "acc=" << accepted
18771878
<< "\n";
18781879
}
@@ -1914,10 +1915,10 @@ inline void TrackerTraits<NLayers>::debugComputeLayerCells(int iteration, int la
19141915
const float snl2 = tgl2 / (1.f + tgl2);
19151916
const float resMid2 = math_utils::Sq(mTimeFrame->getPositionResolution(layer + 1));
19161917
const float msMid2 = math_utils::Sq(mTimeFrame->getMSangle(layer + 1));
1918+
const float tglNSigma = o2::gpu::CAMath::Sqrt(resMid2 + msMid2) * mRecoParams[iteration].params.NSigmaCut;
19171919
const float kSigma2Pos = 6.f * resMid2 / math_utils::Sq(dR2);
19181920
const float kSigma2MS = msMid2 / (dR2 * snl2);
19191921
const float kNSigma = mRecoParams[iteration].params.NSigmaCut * o2::gpu::CAMath::Sqrt(kSigma2Pos + kSigma2MS);
1920-
const float tglNSigma = mRecoParams[iteration].params.CellDeltaTanLambdaSigma * mRecoParams[iteration].params.NSigmaCut;
19211922

19221923
bool accepted = dk < kNSigma && delTgl < tglNSigma;
19231924

Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ void ITSTrackingInterface::run(framework::ProcessingContext& pc)
9898
rofTable.defineLayer(iLayer, timing);
9999
vtxTable.defineLayer(iLayer, timing);
100100
sliceTable.defineLayer(iLayer, timing);
101-
LOG(info) << "lay:" << iLayer << " -> " << timing.asString();
102101
}
103102
rofTable.init();
104103
mTimeFrame->setROFOverlapTable(rofTable);

0 commit comments

Comments
 (0)