Prototype LWTNN JSON payloads for FastSim-to-FullSim object efficiency scale factors.
Payloads are under:
payloads/Run3_NanoAODv15/
payloads/Run3_NanoAODv15_correctionlib/
The Run3_NanoAODv15_correctionlib payloads are the analyst-facing correctionlib
wrappers around the standalone LWTNN JSON files. They take matched GenPart_pt,
GenPart_eta, GenPart_phi, and GenPart_iso; the correction handles the
internal log10(pt) and log10(iso) preprocessing.
For a minimal correctionlib example, see:
examples/example_correctionlib_electron.py
The example can loop over a tiny 3-event TTbar FastSim NanoAOD file:
examples/data/ttbar_fastsim_nano_3events.root
The models use four preprocessed generator-level inputs:
pt_log10 = log10(max(gen_pt, 1e-4))
eta = gen_eta
phi = gen_phi
iso_log10 = log10(max(GenPart_iso, 1e-6))
Outputs are:
p11 = fast_matched=1, full_matched=1
p10 = fast_matched=1, full_matched=0
p01 = fast_matched=0, full_matched=1
p00 = fast_matched=0, full_matched=0
Derived quantities - third one is "the scale factor":
eff_fast = p11 + p10
eff_full = p11 + p01
sf_full_over_fast = eff_full / eff_fast
Validation summary (pytorch vs lwtnn@correctionLib evalution):
payloads/Run3_NanoAODv15/payload_validation_summary.txt
Result is only floating point-level precision differences.