Skip to content

Commit 6faa946

Browse files
ariostassgnoohcHoobidoobidooGNiendorf
committed
Added code to write LST object data (LSTOD)
Co-authored-by: Philip Chang <[email protected]> Co-authored-by: Hubert Pugzlys <[email protected]> Co-authored-by: Gavin Niendorf <[email protected]>
1 parent 4eb6ddc commit 6faa946

File tree

12 files changed

+2386
-1060
lines changed

12 files changed

+2386
-1060
lines changed

RecoTracker/LSTCore/interface/SegmentsSoA.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@ namespace lst {
1515
SOA_COLUMN(FPX, dPhiChanges),
1616
SOA_COLUMN(FPX, dPhiChangeMins),
1717
SOA_COLUMN(FPX, dPhiChangeMaxs),
18+
#ifdef CUT_VALUE_DEBUG
19+
SOA_COLUMN(FPX, zHis),
20+
SOA_COLUMN(FPX, zLos),
21+
SOA_COLUMN(FPX, rtHis),
22+
SOA_COLUMN(FPX, rtLos),
23+
SOA_COLUMN(FPX, dAlphaInners),
24+
SOA_COLUMN(FPX, dAlphaOuters),
25+
SOA_COLUMN(FPX, dAlphaInnerOuters),
26+
#endif
1827
SOA_COLUMN(uint16_t, innerLowerModuleIndices),
1928
SOA_COLUMN(uint16_t, outerLowerModuleIndices),
2029
SOA_COLUMN(Params_LS::ArrayUxLayers, mdIndices),

RecoTracker/LSTCore/src/alpaka/Segment.h

Lines changed: 107 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
192192
float dPhiChange,
193193
float dPhiChangeMin,
194194
float dPhiChangeMax,
195+
#ifdef CUT_VALUE_DEBUG
196+
float zHi,
197+
float zLo,
198+
float rtHi,
199+
float rtLo,
200+
float dAlphaInner,
201+
float dAlphaOuter,
202+
float dAlphaInnerOuter,
203+
#endif
195204
unsigned int idx) {
196205
segments.mdIndices()[idx][0] = lowerMDIndex;
197206
segments.mdIndices()[idx][1] = upperMDIndex;
@@ -206,6 +215,16 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
206215
segments.dPhiChanges()[idx] = __F2H(dPhiChange);
207216
segments.dPhiChangeMins()[idx] = __F2H(dPhiChangeMin);
208217
segments.dPhiChangeMaxs()[idx] = __F2H(dPhiChangeMax);
218+
219+
#ifdef CUT_VALUE_DEBUG
220+
segments.zHis()[idx] = __F2H(zHi);
221+
segments.zLos()[idx] = __F2H(zLo);
222+
segments.rtHis()[idx] = __F2H(rtHi);
223+
segments.rtLos()[idx] = __F2H(rtLo);
224+
segments.dAlphaInners()[idx] = __F2H(dAlphaInner);
225+
segments.dAlphaOuters()[idx] = __F2H(dAlphaOuter);
226+
segments.dAlphaInnerOuters()[idx] = __F2H(dAlphaInnerOuter);
227+
#endif
209228
}
210229

211230
template <typename TAcc>
@@ -356,7 +375,18 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
356375
float& dPhiChange,
357376
float& dPhiChangeMin,
358377
float& dPhiChangeMax,
378+
#ifdef CUT_VALUE_DEBUG
379+
float& dAlphaInnerMDSegment,
380+
float& dAlphaOuterMDSegment,
381+
float& dAlphaInnerMDOuterMD,
382+
float& zLo,
383+
float& zHi,
384+
#endif
359385
const float ptCut) {
386+
#ifndef CUT_VALUE_DEBUG
387+
float dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
388+
float zLo, zHi;
389+
#endif
360390
float xIn, yIn, zIn, rtIn, xOut, yOut, zOut, rtOut;
361391

362392
xIn = mds.anchorX()[innerMDIndex];
@@ -374,9 +404,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
374404

375405
const float zGeom = modules.layers()[innerLowerModuleIndex] <= 2 ? 2.f * kPixelPSZpitch : 2.f * kStrip2SZpitch;
376406

377-
float zLo = zIn + (zIn - kDeltaZLum) * (rtOut / rtIn - 1.f) * (zIn > 0.f ? 1.f : dzDrtScale) -
378-
zGeom; //slope-correction only on outer end
379-
float zHi = zIn + (zIn + kDeltaZLum) * (rtOut / rtIn - 1.f) * (zIn < 0.f ? 1.f : dzDrtScale) + zGeom;
407+
//slope-correction only on outer end
408+
zLo = zIn + (zIn - kDeltaZLum) * (rtOut / rtIn - 1.f) * (zIn > 0.f ? 1.f : dzDrtScale) - zGeom;
409+
zHi = zIn + (zIn + kDeltaZLum) * (rtOut / rtIn - 1.f) * (zIn < 0.f ? 1.f : dzDrtScale) + zGeom;
380410

381411
if ((zOut < zLo) || (zOut > zHi))
382412
return false;
@@ -420,9 +450,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
420450

421451
float innerMDAlpha = mds.dphichanges()[innerMDIndex];
422452
float outerMDAlpha = mds.dphichanges()[outerMDIndex];
423-
float dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
424-
float dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
425-
float dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
453+
dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
454+
dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
455+
dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
426456

427457
float dAlphaInnerMDSegmentThreshold = dAlphaThresholdValues[0];
428458
float dAlphaOuterMDSegmentThreshold = dAlphaThresholdValues[1];
@@ -449,7 +479,18 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
449479
float& dPhiChange,
450480
float& dPhiChangeMin,
451481
float& dPhiChangeMax,
482+
#ifdef CUT_VALUE_DEBUG
483+
float& dAlphaInnerMDSegment,
484+
float& dAlphaOuterMDSegment,
485+
float& dAlphaInnerMDOuterMD,
486+
float& rtLo,
487+
float& rtHi,
488+
#endif
452489
const float ptCut) {
490+
#ifndef CUT_VALUE_DEBUG
491+
float dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
492+
float rtLo, rtHi;
493+
#endif
453494
float xIn, yIn, zIn, rtIn, xOut, yOut, zOut, rtOut;
454495

455496
xIn = mds.anchorX()[innerMDIndex];
@@ -481,10 +522,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
481522
float dLum = alpaka::math::copysign(acc, kDeltaZLum, zIn);
482523
float drtDzScale = sdSlope / alpaka::math::tan(acc, sdSlope);
483524

484-
float rtLo = alpaka::math::max(
485-
acc, rtIn * (1.f + dz / (zIn + dLum) * drtDzScale) - rtGeom, rtIn - 0.5f * rtGeom); //rt should increase
486-
float rtHi = rtIn * (zOut - dLum) / (zIn - dLum) +
487-
rtGeom; //dLum for luminous; rGeom for measurement size; no tanTheta_loc(pt) correction
525+
//rt should increase
526+
rtLo = alpaka::math::max(acc, rtIn * (1.f + dz / (zIn + dLum) * drtDzScale) - rtGeom, rtIn - 0.5f * rtGeom);
527+
//dLum for luminous; rGeom for measurement size; no tanTheta_loc(pt) correction
528+
rtHi = rtIn * (zOut - dLum) / (zIn - dLum) + rtGeom;
488529

489530
// Completeness
490531
if ((rtOut < rtLo) || (rtOut > rtHi))
@@ -544,9 +585,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
544585

545586
float innerMDAlpha = mds.dphichanges()[innerMDIndex];
546587
float outerMDAlpha = mds.dphichanges()[outerMDIndex];
547-
float dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
548-
float dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
549-
float dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
588+
dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
589+
dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
590+
dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
550591

551592
float dAlphaInnerMDSegmentThreshold = dAlphaThresholdValues[0];
552593
float dAlphaOuterMDSegmentThreshold = dAlphaThresholdValues[1];
@@ -573,8 +614,21 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
573614
float& dPhiChange,
574615
float& dPhiChangeMin,
575616
float& dPhiChangeMax,
617+
#ifdef CUT_VALUE_DEBUG
618+
float& dAlphaInnerMDSegment,
619+
float& dAlphaOuterMDSegment,
620+
float& dAlphaInnerMDOuterMD,
621+
float& zLo,
622+
float& zHi,
623+
float& rtLo,
624+
float& rtHi,
625+
#endif
576626
const float ptCut) {
577627
if (modules.subdets()[innerLowerModuleIndex] == Barrel and modules.subdets()[outerLowerModuleIndex] == Barrel) {
628+
#ifdef CUT_VALUE_DEBUG
629+
rtLo = -999.f;
630+
rtHi = -999.f;
631+
#endif
578632
return runSegmentDefaultAlgoBarrel(acc,
579633
modules,
580634
mds,
@@ -588,8 +642,19 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
588642
dPhiChange,
589643
dPhiChangeMin,
590644
dPhiChangeMax,
645+
#ifdef CUT_VALUE_DEBUG
646+
dAlphaInnerMDSegment,
647+
dAlphaOuterMDSegment,
648+
dAlphaInnerMDOuterMD,
649+
zLo,
650+
zHi,
651+
#endif
591652
ptCut);
592653
} else {
654+
#ifdef CUT_VALUE_DEBUG
655+
zLo = -999.f;
656+
zHi = -999.f;
657+
#endif
593658
return runSegmentDefaultAlgoEndcap(acc,
594659
modules,
595660
mds,
@@ -603,6 +668,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
603668
dPhiChange,
604669
dPhiChangeMin,
605670
dPhiChangeMax,
671+
#ifdef CUT_VALUE_DEBUG
672+
dAlphaInnerMDSegment,
673+
dAlphaOuterMDSegment,
674+
dAlphaInnerMDOuterMD,
675+
rtLo,
676+
rtHi,
677+
#endif
606678
ptCut);
607679
}
608680
}
@@ -643,6 +715,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
643715

644716
float dPhi, dPhiMin, dPhiMax, dPhiChange, dPhiChangeMin, dPhiChangeMax;
645717

718+
#ifdef CUT_VALUE_DEBUG
719+
float zLo, zHi, rtLo, rtHi, dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
720+
#endif
721+
646722
unsigned int innerMiniDoubletAnchorHitIndex = mds.anchorHitIndices()[innerMDIndex];
647723
unsigned int outerMiniDoubletAnchorHitIndex = mds.anchorHitIndices()[outerMDIndex];
648724
dPhiMin = 0;
@@ -662,6 +738,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
662738
dPhiChange,
663739
dPhiChangeMin,
664740
dPhiChangeMax,
741+
#ifdef CUT_VALUE_DEBUG
742+
dAlphaInnerMDSegment,
743+
dAlphaOuterMDSegment,
744+
dAlphaInnerMDOuterMD,
745+
zLo,
746+
zHi,
747+
rtLo,
748+
rtHi,
749+
#endif
665750
ptCut)) {
666751
unsigned int totOccupancySegments =
667752
alpaka::atomicAdd(acc,
@@ -692,6 +777,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
692777
dPhiChange,
693778
dPhiChangeMin,
694779
dPhiChangeMax,
780+
#ifdef CUT_VALUE_DEBUG
781+
zHi,
782+
zLo,
783+
rtHi,
784+
rtLo,
785+
dAlphaInnerMDSegment,
786+
dAlphaOuterMDSegment,
787+
dAlphaInnerMDOuterMD,
788+
#endif
695789
segmentIdx);
696790
}
697791
}

RecoTracker/LSTCore/standalone/analysis/DNN/embed_train.ipynb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,18 +67,18 @@
6767
" 't5_pMatched',\n",
6868
" 't5_sim_vxy',\n",
6969
" 't5_sim_vz',\n",
70-
" 't5_matched_simIdx'\n",
70+
" 't5_simIdxAll'\n",
7171
"]\n",
7272
"\n",
7373
"branches_list += [\n",
7474
" 'pLS_eta',\n",
7575
" 'pLS_etaErr',\n",
7676
" 'pLS_phi',\n",
77-
" 'pLS_matched_simIdx',\n",
77+
" 'pLS_simIdxAll',\n",
7878
" 'pLS_circleCenterX',\n",
7979
" 'pLS_circleCenterY',\n",
8080
" 'pLS_circleRadius',\n",
81-
" 'pLS_ptIn',\n",
81+
" 'pLS_pt',\n",
8282
" 'pLS_ptErr',\n",
8383
" 'pLS_px',\n",
8484
" 'pLS_py',\n",
@@ -236,7 +236,7 @@
236236
" disp_evt.append(branches['t5_sim_vxy'][ev][i])\n",
237237
"\n",
238238
" # first (or only) matched sim-index, -1 if none -----------------------\n",
239-
" simIdx_list = branches['t5_matched_simIdx'][ev][i]\n",
239+
" simIdx_list = branches['t5_simIdxAll'][ev][i]\n",
240240
" sim_evt.append(simIdx_list[0] if len(simIdx_list) else -1)\n",
241241
"\n",
242242
" # push to global containers ----------------------------------------------\n",
@@ -287,7 +287,7 @@
287287
" circleCenterX = np.abs(branches['pLS_circleCenterX'][ev][i])\n",
288288
" circleCenterY = np.abs(branches['pLS_circleCenterY'][ev][i])\n",
289289
" circleRadius = branches['pLS_circleRadius'][ev][i]\n",
290-
" ptIn = branches['pLS_ptIn'][ev][i]\n",
290+
" ptIn = branches['pLS_pt'][ev][i]\n",
291291
" ptErr = branches['pLS_ptErr'][ev][i]\n",
292292
" isQuad = branches['pLS_isQuad'][ev][i]\n",
293293
"\n",
@@ -308,7 +308,7 @@
308308
" feat_evt.append(f)\n",
309309
" eta_evt.append(eta)\n",
310310
"\n",
311-
" sim_list = branches['pLS_matched_simIdx'][ev][i]\n",
311+
" sim_list = branches['pLS_simIdxAll'][ev][i]\n",
312312
" sim_evt.append(sim_list[0] if len(sim_list) else -1)\n",
313313
"\n",
314314
" # ――― store per‑event containers -----------------------------------------\n",

RecoTracker/LSTCore/standalone/analysis/DNN/train_pT3_DNN.ipynb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
{
1515
"cell_type": "code",
16-
"execution_count": 1,
16+
"execution_count": null,
1717
"metadata": {},
1818
"outputs": [],
1919
"source": [
@@ -49,17 +49,12 @@
4949
" 'pT3_eta',\n",
5050
" 'pT3_phi',\n",
5151
" 'pT3_score',\n",
52-
" 'pT3_foundDuplicate',\n",
53-
" 'pT3_matched_simIdx',\n",
54-
" 'pT3_hitIdxs',\n",
5552
" 'pT3_pixelRadius',\n",
5653
" 'pT3_pixelRadiusError',\n",
5754
" 'pT3_tripletRadius',\n",
5855
" 'pT3_rPhiChiSquared',\n",
5956
" 'pT3_rPhiChiSquaredInwards',\n",
6057
" 'pT3_rzChiSquared',\n",
61-
" 'pT3_layer_binary',\n",
62-
" 'pT3_moduleType_binary'\n",
6358
"]\n",
6459
"\n",
6560
"file_path = \"pt3_500_fixed_new_2.root\"\n",

0 commit comments

Comments
 (0)