Skip to content

Implement an LWTNN neural network node#333

Draft
nsmith- wants to merge 11 commits into
masterfrom
lwtnn
Draft

Implement an LWTNN neural network node#333
nsmith- wants to merge 11 commits into
masterfrom
lwtnn

Conversation

@nsmith-
Copy link
Copy Markdown
Collaborator

@nsmith- nsmith- commented Mar 18, 2026

Draft implementation for comments

Also fixes up a few bad practices in C++ (leading underscore) and starts to break out of the single file implementation a bit.

Closes #35

* Fix correction config paths for editable installs

* Link lwtnn-stat on MSVC builds

* Added comment about editable configuration check and ran formatting

* Match pre-commit import ordering in test_binding

* updating spooky spaces that might be causing a problem?

* Preserve correctionlib version variables across lwtnn subproject

* updating version call

* Update lwtnn submodule for MSVC warning flags

* Point lwtnn submodule to fork for MSVC fix validation
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 16, 2026

CVMFS benchmarks

Top 25 slowest-loading corrections, sorted by mean time:

Benchmark Mean (ms) Stddev (ms) Rounds
test_load[JME/Run2-2017-UL-NanoAODv9/latest/jet_jerc.json.gz] 946.559 16.086 5
test_load[JME/Run2-2017-UL-NanoAODv9/latest/fatJet_jerc.json.gz] 799.577 19.940 5
test_load[JME/Run3-24Prompt-Winter24-NanoAODv14/latest/jet_jerc.json.gz] 686.586 5.584 5
test_load[JME/Run3-24CDEReprocessingFGHIPrompt-Summer24-NanoAODv15/latest/fatJet_jerc.json.gz] 617.685 3.162 5
test_load[JME/Run3-24CDEReprocessingFGHIPrompt-Summer24-NanoAODv15/latest/jet_jerc.json.gz] 615.127 1.577 5
test_load[JME/Run3-25Prompt-Winter25-NanoAODv15/latest/fatJet_jerc.json.gz] 427.036 3.296 5
test_load[JME/Run3-25Prompt-Winter25-NanoAODv15/latest/jet_jerc.json.gz] 423.245 1.825 5
test_load[JME/Run3-23CSep23-Summer23-NanoAODv12/latest/fatJet_jerc.json.gz] 303.324 2.314 5
test_load[JME/Run3-23CSep23-Summer23-NanoAODv12/latest/jet_jerc.json.gz] 301.529 0.289 5
test_load[JME/Run2-2018-UL-NanoAODv9/latest/jet_jerc.json.gz] 294.249 2.090 5
test_load[JME/Run3-22EFGSep23-Summer22EE-NanoAODv12/latest/fatJet_jerc.json.gz] 254.307 1.243 5
test_load[JME/Run3-22EFGSep23-Summer22EE-NanoAODv12/latest/jet_jerc.json.gz] 250.869 0.994 5
test_load[JME/Run2-2016preVFP-UL-NanoAODv9/latest/jet_jerc.json.gz] 237.515 1.085 5
test_load[JME/Run2-2017-UL-NanoAODv15/latest/jet_jerc.json.gz] 234.699 1.157 5
test_load[JME/Run3-23DSep23-Summer23BPix-NanoAODv12/latest/jet_jerc.json.gz] 232.538 0.572 5
test_load[JME/Run2-2017-UL-NanoAODv15/latest/fatJet_jerc.json.gz] 232.441 0.731 5
test_load[JME/Run3-23DSep23-Summer23BPix-NanoAODv12/latest/fatJet_jerc.json.gz] 232.223 1.086 5
test_load[JME/Run2-2018-UL-NanoAODv9/latest/fatJet_jerc.json.gz] 227.543 0.918 5
test_load[JME/Run2-2018-UL-NanoAODv15/latest/fatJet_jerc.json.gz] 224.817 1.004 5
test_load[JME/Run2-2018-UL-NanoAODv15/latest/jet_jerc.json.gz] 222.278 0.419 5
test_load[JME/Run3-22Prompt-Winter22-NanoAODv12/latest/fatJet_jerc.json.gz] 219.052 1.601 5
test_load[JME/Run3-22Prompt-Winter22-NanoAODv12/latest/jet_jerc.json.gz] 217.955 1.048 5
test_load[JME/Run2-2016postVFP-UL-NanoAODv9/latest/jet_jerc.json.gz] 214.462 0.389 5
test_load[JME/Run3-22CDSep23-Summer22-NanoAODv12/latest/fatJet_jerc.json.gz] 209.841 0.768 5
test_load[JME/Run3-22CDSep23-Summer22-NanoAODv12/latest/jet_jerc.json.gz] 209.475 0.490 5

sbein and others added 5 commits May 7, 2026 08:10
Comment thread src/lwtnn.cc
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
blob.Accept(writer);
std::istringstream in(buffer.GetString());
auto cfg = lwt::parse_json(in);
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: catch any exception here and reformat?

Comment thread tests/test_lwtnn.py
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: test malformed LWTNN nodes

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

LWTNN node

2 participants