cmssw icon indicating copy to clipboard operation
cmssw copied to clipboard

[NGT] Extension of CA Pixel Tracking to Phase-2 Outer Tracker Disks (TID)

Open EmanueleCoradin opened this issue 1 month ago • 39 comments

PR description:

This PR was co-developed by: @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich

This work builds upon the Phase-2 CA Extension (#48921) for PixelTracks, which enabled the Cellular Automaton (CA) algorithm to use recHits from the first three layers of the Outer Tracker barrel (TOB) in addition to the pixel recHits in the Inner Tracker (IT). With this PR, we further extend the CA to include recHits from the pixel side of the modules in the first ten layers of the Outer Tracker disks (TID).

As part of this work:

  • 18 more connections have been added, bringing the total number of layer pairs to 91
  • Compatibility cuts have been added and re-tuned.

Main Developments:

To support the extension, we modified the following modules:

  1. Extension of geometry and configuration To increase the number of modules, layers, layer-pairs and to define the corresponding compatibility cuts:

  2. Inclusion of TID P-module hits To load the recHits belonging to the P-side modules of the TID:

  3. CA algorithm extension and SoA conversion:
    To extend the CA algorithm and handle the new PixelTracks:

In the last three modules, the main updates include:

  • Introduction of the isPinPSinOTDisk function to identify P-side recHits in the TID;
  • Implementation of a two-for-loops logic to ensure correct layer ordering, since the CA algorithm requires the TOB layers to have smaller IDs than the TID ones.

Furthermore, in PixelTrackProducerFromSoAAlpaka.cc the logic used to count the number of skipped layers has been adjusted to retain all the tracks containing at least one TID hit.

Physics performance

Performance has been evaluated on a TTbar sample with 200 PU (D110 geometry). The TID extension maintains the same level of tracking efficiency, with only a modest increase in fake rate, remaining below 0.1 across the entire η range. Thanks to the additional hits at |η| ~ 2, the increased sagitta leads to an improvement in pT resolution of up to 25%.

Efficiency
Tracking Efficiency
Fake Rate
Fake Rate
Hits vs η
Number of Hits vs η
pT Resolution vs η
pT Resolution vs η (σ)

Timing

Measurements run on 2x AMD EPYC 9534 with 4x L40 GPUs. Configuration: 16 jobs with 16 threads/16 streams each, sample of 1000 TTbar 200PU events.

TIB+TOB
TOB CA Extension
TIB+TOB+TID
TOB + TID CA Extension

Measurements run only on 2x AMD EPYC 9534.

TIB+TOB_cpu
TOB CA Extension CPU only
TIB+TOB+TID_cpu
TOB + TID CA Extension CPU only

Memory usage

The TID extension comes practically for free in terms of memory usage, as it does not require any increase in container sizes.

EmanueleCoradin avatar Nov 07 '25 17:11 EmanueleCoradin

cms-bot internal usage

cmsbuild avatar Nov 07 '25 17:11 cmsbuild

type ngt

mmusich avatar Nov 07 '25 17:11 mmusich

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46720

  • There are other open Pull requests which might conflict with changes you have proposed:
    • File Geometry/CommonTopologies/interface/SimplePixelTopology.h modified in PR(s): #49293
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtuplet.cc modified in PR(s): #46852, #49286
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h modified in PR(s): #49286

Code check has found code style and quality issues which could be resolved by applying following patch(s)

  • code-format: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46720/code-format.patch e.g. curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46720/code-format.patch | patch -p1 You can also run scram build code-format to apply code format directly

cmsbuild avatar Nov 07 '25 17:11 cmsbuild

test parameters:

  • enable = gpu, hlt_p2_integration, hlt_p2_timing
  • workflows = ph2_hlt

mmusich avatar Nov 07 '25 17:11 mmusich

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46721

  • There are other open Pull requests which might conflict with changes you have proposed:
    • File Geometry/CommonTopologies/interface/SimplePixelTopology.h modified in PR(s): #49293
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtuplet.cc modified in PR(s): #46852, #49286
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h modified in PR(s): #49286

cmsbuild avatar Nov 07 '25 17:11 cmsbuild

@cmsbuild, please test

mmusich avatar Nov 07 '25 17:11 mmusich

A new Pull Request was created by @EmanueleCoradin for master.

It involves the following packages:

  • Configuration/Generator (generators)
  • DataFormats/SiPixelClusterSoA (heterogeneous, reconstruction)
  • Geometry/CommonTopologies (geometry)
  • HLTrigger/Configuration (hlt)
  • RecoLocalTracker/Phase2TrackerRecHits (reconstruction)
  • RecoTracker/PixelSeeding (reconstruction)
  • RecoTracker/PixelTrackFitting (reconstruction)

@Dr15Jones, @Martin-Grunewald, @bsunanda, @civanch, @fwyzard, @jfernan2, @kpedro88, @lviliani, @makortel, @mandrenguyen, @mdhildreth, @mkirsano, @mmusich, @sensrcn, @srimanob, @theofil can you please review it and eventually sign? Thanks. @GiacomoSguazzoni, @Martin-Grunewald, @SohamBhattacharya, @VinInn, @VourMa, @bsunanda, @dgulhan, @dkotlins, @elusian, @fabiocos, @felicepantaleo, @ferencek, @gpetruc, @martinamalberti, @missirol, @mmasciov, @mmusich, @mroguljic, @mtosi, @rovere, @threus, @tsusa this is something you requested to watch as well. @ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

cmsbuild avatar Nov 07 '25 17:11 cmsbuild

recall the bots and add the configurations generators to it

ajaychandrak2002-bit avatar Nov 07 '25 19:11 ajaychandrak2002-bit

@smuzaffar Seems like we have another spam account (posted also in https://github.com/cms-sw/cmssw/pull/49341#issuecomment-3504642693)

makortel avatar Nov 07 '25 20:11 makortel

@smuzaffar Seems like we have another spam account (posted also in #49341 (comment))

blocked

smuzaffar avatar Nov 07 '25 20:11 smuzaffar

+1

Size: This PR adds an extra 444KB to repository Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-8ba581/49344/summary.html COMMIT: d0f07fa743ac536781b8c0f8d46291d5944d5df2 CMSSW: CMSSW_16_0_X_2025-11-06-2300/el8_amd64_gcc13 Additional Tests: GPU,HLT_P2_INTEGRATION,HLT_P2_TIMING,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4 User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/49346/49344/install.sh to create a dev area with all the needed externals and cmssw changes.

HLT P2 Timing: chart

Comparison Summary

Summary:

  • You potentially removed 1 lines from the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 0 differences found in the comparisons
  • Reco comparison had 2 failed jobs
  • DQMHistoTests: Total files compared: 70
  • DQMHistoTests: Total histograms compared: 4644635
  • DQMHistoTests: Total failures: 6874
  • DQMHistoTests: Total nulls: 6
  • DQMHistoTests: Total successes: 4637735
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 69 files compared)
  • Checked 283 log files, 241 edm output root files, 70 DQM output files
  • TriggerResults: found differences in 1 / 68 workflows

AMD_MI300X Comparison Summary

Summary:

  • You potentially added 6 lines to the logs
  • Reco comparison results: 232 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 147869
  • DQMHistoTests: Total failures: 27769
  • DQMHistoTests: Total nulls: 11
  • DQMHistoTests: Total successes: 120089
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: found differences in 1 / 10 workflows

AMD_W7900 Comparison Summary

Summary:

  • You potentially added 1 lines to the logs
  • Reco comparison results: 251 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 147869
  • DQMHistoTests: Total failures: 26024
  • DQMHistoTests: Total nulls: 8
  • DQMHistoTests: Total successes: 121837
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: no differences found

NVIDIA_H100 Comparison Summary

Summary:

  • You potentially added 4 lines to the logs
  • Reco comparison results: 248 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 147869
  • DQMHistoTests: Total failures: 24868
  • DQMHistoTests: Total nulls: 14
  • DQMHistoTests: Total successes: 122987
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: no differences found

NVIDIA_L40S Comparison Summary

Summary:

  • You potentially removed 9 lines from the logs
  • Reco comparison results: 224 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 147869
  • DQMHistoTests: Total failures: 32115
  • DQMHistoTests: Total nulls: 12
  • DQMHistoTests: Total successes: 115742
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: found differences in 1 / 10 workflows

NVIDIA_T4 Comparison Summary

Summary:

  • You potentially removed 7 lines from the logs
  • Reco comparison results: 220 differences found in the comparisons
  • Reco comparison had 6 failed jobs
  • DQMHistoTests: Total files compared: 11
  • DQMHistoTests: Total histograms compared: 147869
  • DQMHistoTests: Total failures: 31195
  • DQMHistoTests: Total nulls: 9
  • DQMHistoTests: Total successes: 116665
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 10 files compared)
  • Checked 42 log files, 45 edm output root files, 11 DQM output files
  • TriggerResults: found differences in 2 / 10 workflows

cmsbuild avatar Nov 07 '25 22:11 cmsbuild

Can you clean up the commit history ?

fwyzard avatar Nov 07 '25 22:11 fwyzard

Timing

?

fwyzard avatar Nov 07 '25 22:11 fwyzard

+1

jfernan2 avatar Nov 10 '25 08:11 jfernan2

Timing

?

I added the timing plot. In addition to that, you can see the timing difference here:

plot
plot (1)

EmanueleCoradin avatar Nov 10 '25 13:11 EmanueleCoradin

Can you add CPU-only timing results ?

fwyzard avatar Nov 10 '25 13:11 fwyzard

I added the timing plot. In addition to that, you can see the timing difference here:

these plots were flawed by a technical mistake, the reference is not running the TOB-only extension, but it's purely legacy. They will be updated later.

mmusich avatar Nov 10 '25 16:11 mmusich

assign tracking-pog

mmasciov avatar Nov 10 '25 19:11 mmasciov

New categories assigned: tracking-pog

@elusian,@mmasciov you have been requested to review this Pull request/Issue and eventually sign? Thanks

cmsbuild avatar Nov 10 '25 19:11 cmsbuild

@EmanueleCoradin, @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich: would you like to present this at the next Tracking POG? @elusian In the meantime, if there were already presentations on the performance that we may have missed, could you please point us to those? Thanks!

mmasciov avatar Nov 10 '25 19:11 mmasciov

Can you add CPU-only timing results ?

The PR description has been updated with the CPU only results. In addition, you can find the diff view below:

plot (2)
plot (3)

EmanueleCoradin avatar Nov 11 '25 10:11 EmanueleCoradin

@EmanueleCoradin, @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich: would you like to present this at the next Tracking POG? @elusian In the meantime, if there were already presentations on the performance that we may have missed, could you please point us to those? Thanks!

Dear @mmasciov, thanks for your comment. We would like to present at the next Tracking POG. In the meantime, you can find here the presentation of the results we had at the NGT HLT meeting on October 28th.

EmanueleCoradin avatar Nov 11 '25 12:11 EmanueleCoradin

@EmanueleCoradin, @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich: would you like to present this at the next Tracking POG? @elusian In the meantime, if there were already presentations on the performance that we may have missed, could you please point us to those? Thanks!

Dear @mmasciov, thanks for your comment. We would like to present at the next Tracking POG. In the meantime, you can find here the presentation of the results we had at the NGT HLT meeting on October 28th.

Hi @EmanueleCoradin, would Monday, November 17 work? If so, we can schedule you then (on-week Tracking POG meeting).

mmasciov avatar Nov 12 '25 16:11 mmasciov

@EmanueleCoradin, @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich: would you like to present this at the next Tracking POG? @elusian In the meantime, if there were already presentations on the performance that we may have missed, could you please point us to those? Thanks!

Dear @mmasciov, thanks for your comment. We would like to present at the next Tracking POG. In the meantime, you can find here the presentation of the results we had at the NGT HLT meeting on October 28th.

Hi @EmanueleCoradin, would Monday, November 17 work? If so, we can schedule you then (on-week Tracking POG meeting).

Hi @mmasciov, it works for me, thanks!

EmanueleCoradin avatar Nov 12 '25 17:11 EmanueleCoradin

@EmanueleCoradin, @Parsifal-2045, @JanGerritSchulz, @rovere, and @mmusich: would you like to present this at the next Tracking POG? @elusian In the meantime, if there were already presentations on the performance that we may have missed, could you please point us to those? Thanks!

Dear @mmasciov, thanks for your comment. We would like to present at the next Tracking POG. In the meantime, you can find here the presentation of the results we had at the NGT HLT meeting on October 28th.

Hi @EmanueleCoradin, would Monday, November 17 work? If so, we can schedule you then (on-week Tracking POG meeting).

Hi @mmasciov, it works for me, thanks!

Thanks! https://indico.cern.ch/event/1612906/#81-extension-of-ca-pixel-track

mmasciov avatar Nov 14 '25 16:11 mmasciov

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46858

  • There are other open Pull requests which might conflict with changes you have proposed:
    • File Geometry/CommonTopologies/interface/SimplePixelTopology.h modified in PR(s): #49293
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtuplet.cc modified in PR(s): #46852, #49286
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h modified in PR(s): #49286

cmsbuild avatar Nov 18 '25 09:11 cmsbuild

Pull request #49346 was updated. @Dr15Jones, @Martin-Grunewald, @bsunanda, @civanch, @cmsbuild, @elusian, @fwyzard, @jfernan2, @kpedro88, @lviliani, @makortel, @mandrenguyen, @mdhildreth, @mkirsano, @mmasciov, @mmusich, @sensrcn, @srimanob, @theofil can you please check and sign again.

cmsbuild avatar Nov 18 '25 09:11 cmsbuild

@cmsbuild, please test

mmusich avatar Nov 18 '25 10:11 mmusich

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49346/46862

  • There are other open Pull requests which might conflict with changes you have proposed:
    • File Geometry/CommonTopologies/interface/SimplePixelTopology.h modified in PR(s): #49293
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtuplet.cc modified in PR(s): #46852, #49286
    • File RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h modified in PR(s): #49286

cmsbuild avatar Nov 18 '25 16:11 cmsbuild

Pull request #49346 was updated. @Dr15Jones, @Martin-Grunewald, @bsunanda, @civanch, @cmsbuild, @elusian, @fwyzard, @jfernan2, @kpedro88, @lviliani, @makortel, @mandrenguyen, @mdhildreth, @mkirsano, @mmasciov, @mmusich, @sensrcn, @srimanob, @theofil can you please check and sign again.

cmsbuild avatar Nov 18 '25 16:11 cmsbuild