Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions RecoTracker/LSTCore/interface/SegmentsSoA.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ namespace lst {
SOA_COLUMN(FPX, dPhiChanges),
SOA_COLUMN(FPX, dPhiChangeMins),
SOA_COLUMN(FPX, dPhiChangeMaxs),
#ifdef CUT_VALUE_DEBUG
SOA_COLUMN(FPX, zHis),
SOA_COLUMN(FPX, zLos),
SOA_COLUMN(FPX, rtHis),
SOA_COLUMN(FPX, rtLos),
SOA_COLUMN(FPX, dAlphaInners),
SOA_COLUMN(FPX, dAlphaOuters),
SOA_COLUMN(FPX, dAlphaInnerOuters),
#endif
SOA_COLUMN(uint16_t, innerLowerModuleIndices),
SOA_COLUMN(uint16_t, outerLowerModuleIndices),
SOA_COLUMN(Params_LS::ArrayUxLayers, mdIndices),
Expand Down
120 changes: 107 additions & 13 deletions RecoTracker/LSTCore/src/alpaka/Segment.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
float dPhiChange,
float dPhiChangeMin,
float dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
float zHi,
float zLo,
float rtHi,
float rtLo,
float dAlphaInner,
float dAlphaOuter,
float dAlphaInnerOuter,
#endif
unsigned int idx) {
segments.mdIndices()[idx][0] = lowerMDIndex;
segments.mdIndices()[idx][1] = upperMDIndex;
Expand All @@ -206,6 +215,16 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
segments.dPhiChanges()[idx] = __F2H(dPhiChange);
segments.dPhiChangeMins()[idx] = __F2H(dPhiChangeMin);
segments.dPhiChangeMaxs()[idx] = __F2H(dPhiChangeMax);

#ifdef CUT_VALUE_DEBUG
segments.zHis()[idx] = __F2H(zHi);
segments.zLos()[idx] = __F2H(zLo);
segments.rtHis()[idx] = __F2H(rtHi);
segments.rtLos()[idx] = __F2H(rtLo);
segments.dAlphaInners()[idx] = __F2H(dAlphaInner);
segments.dAlphaOuters()[idx] = __F2H(dAlphaOuter);
segments.dAlphaInnerOuters()[idx] = __F2H(dAlphaInnerOuter);
#endif
}

template <typename TAcc>
Expand Down Expand Up @@ -356,7 +375,18 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
float& dPhiChange,
float& dPhiChangeMin,
float& dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
float& dAlphaInnerMDSegment,
float& dAlphaOuterMDSegment,
float& dAlphaInnerMDOuterMD,
float& zLo,
float& zHi,
#endif
const float ptCut) {
#ifndef CUT_VALUE_DEBUG
float dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
float zLo, zHi;
#endif
float xIn, yIn, zIn, rtIn, xOut, yOut, zOut, rtOut;

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

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

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

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

float innerMDAlpha = mds.dphichanges()[innerMDIndex];
float outerMDAlpha = mds.dphichanges()[outerMDIndex];
float dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
float dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
float dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;

float dAlphaInnerMDSegmentThreshold = dAlphaThresholdValues[0];
float dAlphaOuterMDSegmentThreshold = dAlphaThresholdValues[1];
Expand All @@ -449,7 +479,18 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
float& dPhiChange,
float& dPhiChangeMin,
float& dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
float& dAlphaInnerMDSegment,
float& dAlphaOuterMDSegment,
float& dAlphaInnerMDOuterMD,
float& rtLo,
float& rtHi,
#endif
const float ptCut) {
#ifndef CUT_VALUE_DEBUG
float dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
float rtLo, rtHi;
#endif
float xIn, yIn, zIn, rtIn, xOut, yOut, zOut, rtOut;

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

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

// Completeness
if ((rtOut < rtLo) || (rtOut > rtHi))
Expand Down Expand Up @@ -544,9 +585,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {

float innerMDAlpha = mds.dphichanges()[innerMDIndex];
float outerMDAlpha = mds.dphichanges()[outerMDIndex];
float dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
float dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
float dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;
dAlphaInnerMDSegment = innerMDAlpha - dPhiChange;
dAlphaOuterMDSegment = outerMDAlpha - dPhiChange;
dAlphaInnerMDOuterMD = innerMDAlpha - outerMDAlpha;

float dAlphaInnerMDSegmentThreshold = dAlphaThresholdValues[0];
float dAlphaOuterMDSegmentThreshold = dAlphaThresholdValues[1];
Expand All @@ -573,8 +614,21 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
float& dPhiChange,
float& dPhiChangeMin,
float& dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
float& dAlphaInnerMDSegment,
float& dAlphaOuterMDSegment,
float& dAlphaInnerMDOuterMD,
float& zLo,
float& zHi,
float& rtLo,
float& rtHi,
#endif
const float ptCut) {
if (modules.subdets()[innerLowerModuleIndex] == Barrel and modules.subdets()[outerLowerModuleIndex] == Barrel) {
#ifdef CUT_VALUE_DEBUG
rtLo = -999.f;
rtHi = -999.f;
#endif
return runSegmentDefaultAlgoBarrel(acc,
modules,
mds,
Expand All @@ -588,8 +642,19 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
dPhiChange,
dPhiChangeMin,
dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
dAlphaInnerMDSegment,
dAlphaOuterMDSegment,
dAlphaInnerMDOuterMD,
zLo,
zHi,
#endif
ptCut);
} else {
#ifdef CUT_VALUE_DEBUG
zLo = -999.f;
zHi = -999.f;
#endif
return runSegmentDefaultAlgoEndcap(acc,
modules,
mds,
Expand All @@ -603,6 +668,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
dPhiChange,
dPhiChangeMin,
dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
dAlphaInnerMDSegment,
dAlphaOuterMDSegment,
dAlphaInnerMDOuterMD,
rtLo,
rtHi,
#endif
ptCut);
}
}
Expand Down Expand Up @@ -643,6 +715,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {

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

#ifdef CUT_VALUE_DEBUG
float zLo, zHi, rtLo, rtHi, dAlphaInnerMDSegment, dAlphaOuterMDSegment, dAlphaInnerMDOuterMD;
#endif

unsigned int innerMiniDoubletAnchorHitIndex = mds.anchorHitIndices()[innerMDIndex];
unsigned int outerMiniDoubletAnchorHitIndex = mds.anchorHitIndices()[outerMDIndex];
dPhiMin = 0;
Expand All @@ -662,6 +738,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
dPhiChange,
dPhiChangeMin,
dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
dAlphaInnerMDSegment,
dAlphaOuterMDSegment,
dAlphaInnerMDOuterMD,
zLo,
zHi,
rtLo,
rtHi,
#endif
ptCut)) {
unsigned int totOccupancySegments =
alpaka::atomicAdd(acc,
Expand Down Expand Up @@ -692,6 +777,15 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
dPhiChange,
dPhiChangeMin,
dPhiChangeMax,
#ifdef CUT_VALUE_DEBUG
zHi,
zLo,
rtHi,
rtLo,
dAlphaInnerMDSegment,
dAlphaOuterMDSegment,
dAlphaInnerMDOuterMD,
#endif
segmentIdx);
}
}
Expand Down
12 changes: 6 additions & 6 deletions RecoTracker/LSTCore/standalone/analysis/DNN/embed_train.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,18 @@
" 't5_pMatched',\n",
" 't5_sim_vxy',\n",
" 't5_sim_vz',\n",
" 't5_matched_simIdx'\n",
" 't5_simIdxAll'\n",
"]\n",
"\n",
"branches_list += [\n",
" 'pLS_eta',\n",
" 'pLS_etaErr',\n",
" 'pLS_phi',\n",
" 'pLS_matched_simIdx',\n",
" 'pLS_simIdxAll',\n",
" 'pLS_circleCenterX',\n",
" 'pLS_circleCenterY',\n",
" 'pLS_circleRadius',\n",
" 'pLS_ptIn',\n",
" 'pLS_pt',\n",
" 'pLS_ptErr',\n",
" 'pLS_px',\n",
" 'pLS_py',\n",
Expand Down Expand Up @@ -236,7 +236,7 @@
" disp_evt.append(branches['t5_sim_vxy'][ev][i])\n",
"\n",
" # first (or only) matched sim-index, -1 if none -----------------------\n",
" simIdx_list = branches['t5_matched_simIdx'][ev][i]\n",
" simIdx_list = branches['t5_simIdxAll'][ev][i]\n",
" sim_evt.append(simIdx_list[0] if len(simIdx_list) else -1)\n",
"\n",
" # push to global containers ----------------------------------------------\n",
Expand Down Expand Up @@ -287,7 +287,7 @@
" circleCenterX = np.abs(branches['pLS_circleCenterX'][ev][i])\n",
" circleCenterY = np.abs(branches['pLS_circleCenterY'][ev][i])\n",
" circleRadius = branches['pLS_circleRadius'][ev][i]\n",
" ptIn = branches['pLS_ptIn'][ev][i]\n",
" ptIn = branches['pLS_pt'][ev][i]\n",
" ptErr = branches['pLS_ptErr'][ev][i]\n",
" isQuad = branches['pLS_isQuad'][ev][i]\n",
"\n",
Expand All @@ -308,7 +308,7 @@
" feat_evt.append(f)\n",
" eta_evt.append(eta)\n",
"\n",
" sim_list = branches['pLS_matched_simIdx'][ev][i]\n",
" sim_list = branches['pLS_simIdxAll'][ev][i]\n",
" sim_evt.append(sim_list[0] if len(sim_list) else -1)\n",
"\n",
" # ――― store per‑event containers -----------------------------------------\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
Expand Down Expand Up @@ -49,17 +49,12 @@
" 'pT3_eta',\n",
" 'pT3_phi',\n",
" 'pT3_score',\n",
" 'pT3_foundDuplicate',\n",
" 'pT3_matched_simIdx',\n",
" 'pT3_hitIdxs',\n",
" 'pT3_pixelRadius',\n",
" 'pT3_pixelRadiusError',\n",
" 'pT3_tripletRadius',\n",
" 'pT3_rPhiChiSquared',\n",
" 'pT3_rPhiChiSquaredInwards',\n",
" 'pT3_rzChiSquared',\n",
" 'pT3_layer_binary',\n",
" 'pT3_moduleType_binary'\n",
"]\n",
"\n",
"file_path = \"pt3_500_fixed_new_2.root\"\n",
Expand Down
Loading