Repository navigation
Conversation
libPhysics, libROOTVecOps and libROOTDataFrame are loaded automatically when the low-PU headers are declared (they are in fact already loaded by then), so the explicit narf.clingutils.Load calls in wremnants/production/lowpu.py and scripts/histmakers/mz_5TeV.py are not needed. The low-PU headers no longer use any libPhysics classes either. Co-Authored-By: Claude Opus 5.5 <[email protected]>
ROOT 6.42 loads libHist automatically when JIT-compiled code first uses it (e.g. TF1 in EtaPtCorrelatedEfficiency.hpp, the reason it was added in 2024). The narf import is kept, marked as intentional, for its side effects. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…d with ROOT 6.42) Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With ROOT 6.42 (the v69 image), the explicit
narf.clingutils.Loadcalls forlibPhysics,libROOTVecOps,libROOTDataFrameandlibHistaren't needed: ROOT loads these libraries automatically. They're removed from:wremnants/production/lowpu.py, along with their comments. The comment aboutlowpu_efficiencies.hneedinglibPhysicswas out of date anyway: the low-PU headers no longer use anylibPhysicsclasses.scripts/histmakers/mz_5TeV.py, for both--muonCorr rochesterand--muonCorr scarekit.wremnants/production/__init__.py(libHist). It was added in 2024 forTF1inEtaPtCorrelatedEfficiency.hpp, when that version of ROOT needed it.libHistisn't loaded yet at this point, but ROOT 6.42 now loads it on demand when compiled code first uses it.import narfis kept, marked# noqa: F401, for its side effects (narf's include path and RDataFrame extensions).Tested on the v69 image with this change:
wremnants.production.lowpu, which declares all the low-PU headers, works. All three libraries are in fact already loaded at that point, so the explicit loads weren't doing anything.wrem::lepSF_HLT_var_muandwrem::Egamma_undoCorrection, which useRVec, called directly and through an RDataFrameDefine;wrem::RoccoR, which usesTRandom3;lowpu_muonscarekit.hppand constructingwrem::MuonScarekitMCHelper, as inmz_5TeV.py --muonCorr scarekit.libHistload removed,libHistis still not loaded afterimport narfandimport wremnants.production. DeclaringEtaPtCorrelatedEfficiency.hppand constructingwrem::EtaPtCorrelatedEfficiency(which creates threeTF1s) then works, with the library loaded on demand.black,isortandflake8with the CI settings pass on all three files.The narf submodule is also updated to the head of WMass/narf#3 (bendavid/narf@bb90c05), which removes cppyy workarounds in narf that are no longer needed with ROOT 6.42 (
tensor_traits::get_sizes()and the explicit return type ofmake_hist_shift_helper). WRemnants doesn't use either directly, so CI here also tests narf#3. The narf pointer should be moved to the merge commit once WMass/narf#3 is merged.🤖 Generated with Claude Code