Skip to content

[Backport] Add NNPuppiTauModel external spec and toolfile#10679

Open
artlbv wants to merge 3 commits into
cms-sw:IB/CMSSW_17_0_X/masterfrom
artlbv:nnpuppitau-externals-migration_CMSSW_17_0_X
Open

[Backport] Add NNPuppiTauModel external spec and toolfile#10679
artlbv wants to merge 3 commits into
cms-sw:IB/CMSSW_17_0_X/masterfrom
artlbv:nnpuppitau-externals-migration_CMSSW_17_0_X

Conversation

@artlbv

@artlbv artlbv commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Backport of #10665

Summary

Adds the SCRAM build/install plumbing for the new cms-hls4ml/NNPuppiTauModel external package, following the same precedent already used for L1TSC4NGJetModel/AXOL1TL. This package replaces the in-tree, un-namespaced hls4ml weight arrays (w2, b2, ..., w20, b20) previously compiled directly into L1Trigger/Phase2L1ParticleFlow's TauNNIdHW, which were vulnerable to ELF symbol interposition when multiple hls4ml models were loaded into the same process (the bug class behind cms-sw/cmssw#49632).

This is part of a 3-PR migration:

  1. New external repo: cms-hls4ml/NNPuppiTauModel — the externally-built package itself.
  2. This PRcmsdist spec + toolfile so SCRAM builds/installs the new external.
  3. [Phase-2 L1T] Move TauNNIdHW to the externally-built NNPuppiTauModel package cmssw#51263cmssw changes to consume it via hls4mlEmulator::ModelLoader/hls4mlEmulator::Model.

Changes

  • NNPuppiTauModel.spec (new) — RPM spec for the external, modeled on L1TSC4NGJetModel.spec/AXOL1TL.spec: fetches the release tarball from cms-hls4ml/NNPuppiTauModel, builds via make against hls4mlEmulatorExtras/hls, installs into $PREFIX.
  • scram-tools.file/tools/NNPuppiTauModel/nnpuppitaumodel.xml (new) — SCRAM toolfile exposing NNPUPPITAUMODEL_BASE/LIBDIR environment variables for the new external, modeled on l1tsc4ngjetmodel.xml.
  • cmssw-tools.spec — adds Requires: NNPuppiTauModel alongside the existing L1-trigger model externals (L1TSC4NGJetModel, L1TSC82ProngJetModel, etc.), so it's pulled into every CMSSW release.

Dependencies

Requires a tagged release of cms-hls4ml/NNPuppiTauModel to exist before this can build successfully.

PR validation

None yet.

cms-bot code-checks will perform the first real build test of the spec/toolfile/package Makefile chain.

claude and others added 3 commits June 23, 2026 11:17
Wires the new cms-hls4ml/NNPuppiTauModel package into the SCRAM build
following the L1TSC4NGJetModel/AXOL1TL precedent, so TauNNIdHW can load
its weights via hls4mlEmulator::ModelLoader instead of in-tree global
arrays (avoids the symbol-clobbering bug class in cms-sw/cmssw#49632).

Co-authored-by: artlbv <arturlbv@gmail.com>
v1.0.0 was missing NNPuppiTauModel_v1/NN/weights/w2.h, which broke
the external build (parameters.h includes it). v1.0.1 fixes this.

Co-authored-by: artlbv <arturlbv@gmail.com>
Co-authored-by: Malik Shahzad Muzaffar <shahzad.malik.muzaffar@cern.ch>
@cmsbuild

cmsbuild commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @artlbv for branch IB/CMSSW_17_0_X/master.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@cmsbuild

cmsbuild commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@quinnanm

quinnanm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

please test

@cmsbuild

cmsbuild commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-8b77aa/54484/summary.html
COMMIT: 2efedb4
CMSSW: CMSSW_17_0_X_2026-07-02-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/10679/54484/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 14 lines to the logs
  • Reco comparison results: 10 differences found in the comparisons
  • DQMHistoTests: Total files compared: 54
  • DQMHistoTests: Total histograms compared: 4337615
  • DQMHistoTests: Total failures: 35
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4337560
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 53 files compared)
  • Checked 232 log files, 203 edm output root files, 54 DQM output files
  • TriggerResults: no differences found

@cmsbuild

cmsbuild commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

REMINDER @sextonkennedy, @ftenchini, @mandrenguyen: This PR was tested with cms-sw/cmssw#51294, please check if they should be merged together

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants