[NGT] Add MC truth labels support to NanoAOD `reco::Track`s and introduce PixelTracks+RecHits ntuples
PR description:
This PR adds new tools and NanoAOD content to support Phase-2 HLT pixel-tracking studies with MC truth information:
TrackingAssocValueMapProducerallows to add MC Truth matching labels toreco::Trackobjects, by providing the corresponding associator, the TP collection, and TP selector parameters. It produces value maps based on the usual reco-to-sim and sim-to-reco matching already used for validation.- The produced value map and auxiliary features are then fed to the PixelTracks flat table as external variables. This is just an example use case, the aforementioned module can be used for generic reco::Track collections.
- A new flat table is added for per-track rec-hit features (up to a fixed maximum number of hits)
All these features are used in a newly added NanoAOD worfklow: NANO:@Phase2HLTPixelOnly which produces PixelTracks + RecHits ntuples with MC truth label, intended for Phase-2 HLT development.
PR validation:
There is no change to existing workflows of physics-related code. The pixel-track NanoAOD tables produce the expected per-track truth labels and hit-level information in local tests.
cms-bot internal usage
type ngt
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49617/47150
- There are other open Pull requests which might conflict with changes you have proposed:
- File PhysicsTools/NanoAOD/plugins/BuildFile.xml modified in PR(s): #48502, #49551
- File PhysicsTools/NanoAOD/python/autoNANO.py modified in PR(s): #48502, #49477
A new Pull Request was created by @Parsifal-2045 for master.
It involves the following packages:
- HLTrigger/NGTScouting (hlt)
- PhysicsTools/NanoAOD (xpog)
@Martin-Grunewald, @battibass, @cmsbuild, @ftorrresd, @mmusich can you please review it and eventually sign? Thanks. @Martin-Grunewald, @gpetruc, @missirol, @mmusich 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
test parameters:
- workflow = ph2_hlt
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-49617/47151
- There are other open Pull requests which might conflict with changes you have proposed:
- File PhysicsTools/NanoAOD/plugins/BuildFile.xml modified in PR(s): #48502, #49551
- File PhysicsTools/NanoAOD/python/autoNANO.py modified in PR(s): #48502, #49477
Pull request #49617 was updated. @Martin-Grunewald, @battibass, @cmsbuild, @ftorrresd, @mmusich can you please check and sign again.
@cmsbuild, please test
+1
Size: This PR adds an extra 32KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-28f742/49926/summary.html
COMMIT: 9f5c8da25dcbafe17ebbbe21c38323cc5a29ea71
CMSSW: CMSSW_16_0_X_2025-12-12-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/49617/49926/install.sh to create a dev area with all the needed externals and cmssw changes.
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 4 failed jobs
- DQMHistoTests: Total files compared: 71
- DQMHistoTests: Total histograms compared: 4783858
- DQMHistoTests: Total failures: 0
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 4783838
- DQMHistoTests: Total skipped: 20
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 70 files compared)
- Checked 287 log files, 243 edm output root files, 71 DQM output files
- TriggerResults: no differences found
+hlt
enable nano
please test
+1
Size: This PR adds an extra 32KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-28f742/49961/summary.html
COMMIT: 9f5c8da25dcbafe17ebbbe21c38323cc5a29ea71
CMSSW: CMSSW_16_0_X_2025-12-13-1100/el8_amd64_gcc13
Additional Tests: NANO
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/49617/49961/install.sh to create a dev area with all the needed externals and cmssw changes.
Comparison Summary
Summary:
- You potentially added 2 lines to the logs
- ROOTFileChecks: Some differences in event products or their sizes found
- Reco comparison results: 8 differences found in the comparisons
- Reco comparison had 4 failed jobs
- DQMHistoTests: Total files compared: 71
- DQMHistoTests: Total histograms compared: 4783858
- DQMHistoTests: Total failures: 349
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 4783489
- DQMHistoTests: Total skipped: 20
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 70 files compared)
- Checked 287 log files, 243 edm output root files, 71 DQM output files
- TriggerResults: found differences in 1 / 69 workflows
Nano size comparison Summary:
| workflow | id | kb/ev | ref kb/ev | diff kb/ev | ev/s/thd | ref ev/s/thd | diff rate | mem/thd | ref mem/thd |
|---|---|---|---|---|---|---|---|---|---|
| NANOmc106Xul16v2 | 2500.0001 | 3.085 | 3.085 | 0.000 ( +0.0% ) | 3.70 | 3.63 | +1.7% | 2.623 | 2.737 |
| NANOmc106Xul16APVv2 | 2500.0002 | 3.041 | 3.041 | 0.000 ( +0.0% ) | 3.69 | 3.57 | +3.4% | 2.669 | 2.767 |
| NANOmc106Xul17v2 | 2500.0003 | 3.144 | 3.144 | 0.000 ( +0.0% ) | 3.42 | 3.41 | +0.1% | 3.060 | 3.196 |
| NANOmc106Xul18v2 | 2500.0004 | 3.097 | 3.097 | 0.000 ( +0.0% ) | 3.51 | 3.47 | +1.1% | 3.081 | 3.200 |
| NANOdata106Xul16v2 | 2500.0101 | 1.539 | 1.539 | 0.000 ( +0.0% ) | 5.96 | 5.99 | -0.5% | 2.675 | 2.782 |
| NANOdata106Xul17v2 | 2500.0102 | 1.926 | 1.926 | 0.000 ( +0.0% ) | 4.03 | 4.04 | -0.2% | 2.833 | 2.950 |
| NANOdata106Xul18v2 | 2500.0103 | 1.890 | 1.890 | 0.000 ( +0.0% ) | 4.77 | 4.76 | +0.4% | 2.751 | 2.845 |
| NANOmcUL16APVreMINI | 2500.0201 | 0.022 | 0.022 | 0.000 ( +0.0% ) | 1.60 | 1.80 | -11.3% | 2.791 | 2.609 |
| NANOmcUL16reMINI | 2500.0202 | 0.022 | 0.022 | 0.000 ( +0.0% ) | 1.54 | 1.80 | -14.4% | 2.531 | 2.644 |
| NANOmcUL17reMINI | 2500.0203 | 0.022 | 0.022 | 0.000 ( +0.0% ) | 1.45 | 1.64 | -11.6% | 2.663 | 3.005 |
| NANOmcUL18reMINI | 2500.0204 | 0.022 | 0.022 | 0.000 ( +0.0% ) | 1.34 | 1.63 | -17.9% | 2.700 | 3.058 |
| NANOdataUL16APVreMINI | 2500.0301 | 0.035 | 0.035 | 0.000 ( +0.0% ) | 1.37 | 1.64 | -16.5% | 2.619 | 2.857 |
| NANOdataUL16reMINI | 2500.0302 | 0.036 | 0.036 | 0.000 ( +0.0% ) | 1.38 | 1.61 | -14.2% | 2.550 | 2.870 |
| NANOdataUL17reMINI | 2500.0303 | 0.037 | 0.037 | 0.000 ( +0.0% ) | 1.34 | 1.55 | -13.6% | 2.663 | 2.737 |
| NANOdataUL18reMINI | 2500.0304 | 0.036 | 0.036 | 0.000 ( +0.0% ) | 1.36 | 1.56 | -13.1% | 2.744 | 2.720 |
| NANOmcUL16APVMini2Mini | 2500.0401 | 0.023 | 0.023 | 0.000 ( +0.0% ) | 2.31 | 2.65 | -12.9% | 2.230 | 2.240 |
| NANOmcUL16Mini2Mini | 2500.0402 | 0.023 | 0.023 | 0.000 ( +0.0% ) | 2.32 | 2.64 | -12.2% | 2.150 | 2.258 |
| NANOmcUL17Mini2Mini | 2500.0403 | 0.023 | 0.023 | 0.000 ( +0.0% ) | 2.13 | 2.41 | -11.3% | 2.183 | 2.271 |
| NANOmcUL18Mini2Mini | 2500.0404 | 0.023 | 0.023 | 0.000 ( +0.0% ) | 2.24 | 2.49 | -10.0% | 2.181 | 2.269 |
| NANOdataUL16Mini2Mini | 2500.0501 | 0.039 | 0.039 | 0.000 ( +0.0% ) | 3.15 | 3.61 | -12.8% | 2.014 | 2.163 |
| NANOdataUL17Mini2Mini | 2500.0502 | 0.040 | 0.040 | 0.000 ( +0.0% ) | 2.32 | 2.75 | -15.7% | 2.078 | 2.221 |
| NANOdataUL18Mini2Mini | 2500.0503 | 0.039 | 0.039 | 0.000 ( +0.0% ) | 2.61 | 3.15 | -17.2% | 2.065 | 2.203 |
| NANOmc130X | 2500.1001 | 3.220 | 3.220 | 0.000 ( +0.0% ) | 4.16 | 4.13 | +0.7% | 2.920 | 3.054 |
| NANOdata130Xrun3 | 2500.1101 | 1.790 | 1.790 | 0.000 ( +0.0% ) | 6.18 | 6.16 | +0.3% | 2.706 | 2.789 |
| NANOmc23Mini2Mini | 2500.1201 | 0.022 | 0.022 | 0.000 ( +0.0% ) | 2.50 | 2.80 | -10.6% | 2.018 | 2.188 |
| NANOdata23Mini2Mini | 2500.1301 | 0.041 | 0.041 | 0.000 ( +0.0% ) | 3.24 | 3.68 | -11.9% | 2.374 | 2.475 |
| ScoutingNANOdata124Xrun3 | 2500.1501 | 0.772 | 0.772 | 0.000 ( +0.0% ) | 31.36 | 34.55 | -9.2% | 1.495 | 1.632 |
| ScoutingNANOmonitordata124Xrun3 | 2500.1502 | 0.862 | 0.862 | 0.000 ( +0.0% ) | 13.73 | 14.23 | -3.5% | 1.439 | 1.474 |
| ScoutingNANOdata130Xrun3 | 2500.1503 | 1.251 | 1.251 | 0.000 ( +0.0% ) | 23.30 | 24.99 | -6.7% | 1.463 | 1.615 |
| ScoutingNANOmonitordata130Xrun3 | 2500.1504 | 1.297 | 1.297 | 0.000 ( +0.0% ) | 10.61 | 10.65 | -0.4% | 1.383 | 1.484 |
| muPOGNANOmc140X | 2500.2201 | 2.065 | 2.065 | 0.000 ( +0.0% ) | 5.09 | 5.81 | -12.3% | 2.019 | 2.224 |
| EGMNANOmc140X | 2500.2202 | 3.849 | 3.849 | 0.000 ( +0.0% ) | 3.64 | 4.07 | -10.5% | 2.347 | 2.631 |
| BTVNANOmc140X | 2500.2203 | 10.466 | 10.466 | 0.000 ( +0.0% ) | 2.29 | 2.50 | -8.4% | 2.536 | 2.611 |
| jmeNANOmc140X | 2500.2204 | 6.630 | 6.630 | 0.000 ( +0.0% ) | 1.11 | 1.07 | +3.6% | 2.427 | 2.538 |
| lepTrackInfoNANOmc140X | 2500.2206 | 3.543 | 3.543 | 0.000 ( +0.0% ) | 3.81 | 3.81 | -0.0% | 2.343 | 2.620 |
| ScoutingNANOmc140X | 2500.2207 | 1.488 | 1.488 | 0.000 ( +0.0% ) | 14.26 | 13.89 | +2.6% | 1.831 | 1.916 |
| ScoutingNANOwithPromptmc140X | 2500.2208 | 4.452 | 4.452 | 0.000 ( +0.0% ) | 3.26 | 3.15 | +3.4% | 2.728 | 2.810 |
| muPOGNANO140Xrun3 | 2500.2301 | 1.469 | 1.469 | 0.000 ( +0.0% ) | 7.70 | 7.61 | +1.2% | 2.280 | 2.365 |
| EGMNANOdata140Xrun3 | 2500.2302 | 2.623 | 2.623 | 0.000 ( +0.0% ) | 5.73 | 5.30 | +8.1% | 2.605 | 2.898 |
| BTVNANOdata140Xrun3 | 2500.2303 | 5.612 | 5.612 | 0.000 ( +0.0% ) | 3.68 | 3.31 | +11.4% | 2.838 | 3.046 |
| jmeNANOdata140Xrun3 | 2500.2304 | 3.976 | 3.976 | 0.000 ( +0.0% ) | 1.47 | 1.35 | +9.1% | 2.656 | 2.722 |
| lepTrackInfoNANOdata140Xrun3 | 2500.2306 | 2.413 | 2.413 | 0.000 ( +0.0% ) | 5.81 | 5.34 | +8.8% | 2.601 | 2.774 |
| ScoutingNANOdata140Xrun3 | 2500.2307 | 1.101 | 1.101 | 0.000 ( +0.0% ) | 30.16 | 28.25 | +6.7% | 1.478 | 1.630 |
| ScoutingNANOmonitordata140Xrun3 | 2500.2308 | 2.784 | 2.784 | 0.000 ( +0.0% ) | 5.12 | 4.97 | +3.1% | 2.976 | 3.017 |
| ScoutingNANOmonitorWithPromptdata140Xrun3 | 2500.2309 | 2.784 | 2.784 | 0.000 ( +0.0% ) | 5.14 | 5.05 | +1.7% | 2.988 | 3.028 |
| L1ScoutingSelectionNANOdata140Xrun3 | 2500.2311 | 0.081 | 0.081 | 0.000 ( +0.0% ) | 45.91 | 44.47 | +3.3% | 0.671 | 0.825 |
| L1ScoutingNANOdata140Xrun3 | 2500.231 | 0.082 | 0.082 | 0.000 ( +0.0% ) | 3.97 | 3.73 | +6.4% | 0.824 | 0.946 |
| l1DPGNANO140Xrun3 | 2500.2401 | 9.404 | 9.404 | 0.000 ( +0.0% ) | 7.50 | 7.45 | +0.7% | 1.738 | 1.875 |
| muDPGNANO140Xrun3 | 2500.2402 | 10.377 | 10.377 | 0.000 ( +0.0% ) | 1.71 | 1.68 | +2.2% | 1.614 | 1.722 |
| muDPGNANOBkg140Xrun3 | 2500.2403 | 6.401 | 6.401 | 0.000 ( +0.0% ) | 16.82 | 15.39 | +9.3% | 1.178 | 1.230 |
| hcalDPGNANO140Xrun3 | 2500.2404 | 486.015 | 486.015 | 0.000 ( +0.0% ) | 1.18 | 1.15 | +2.1% | 1.572 | 1.692 |
| hcalDPGCalibNANO140Xrun3 | 2500.2405 | 826.418 | 826.418 | 0.000 ( +0.0% ) | 1.52 | 1.49 | +2.5% | 1.544 | 1.680 |
| hcalDPGMCNANO140Xrun3 | 2500.2501 | 645.333 | 645.333 | 0.000 ( +0.0% ) | 1.67 | 1.64 | +1.9% | 1.641 | 1.781 |
| NANOmc2024reMINI | 2500.2601 | 0.021 | 0.021 | 0.000 ( +0.0% ) | 1.95 | 1.86 | +4.8% | 2.605 | 2.934 |
| NANOdata2024reMINI | 2500.2701 | 0.036 | 0.036 | 0.000 ( +0.0% ) | 1.96 | 1.91 | +2.8% | 2.561 | 2.855 |
| NANOmc150X | 2500.3001 | 3.217 | 3.217 | 0.000 ( +0.0% ) | 18.03 | 17.96 | +0.4% | 2.537 | 2.734 |
| NANOdata150X | 2500.3101 | 2.144 | 2.144 | 0.000 ( +0.0% ) | 35.46 | 34.22 | +3.6% | 2.244 | 2.432 |
| NANOdata150X | 2500.3102 | 2.630 | 2.630 | 0.000 ( +0.0% ) | 29.65 | 27.07 | +9.5% | 2.217 | 2.313 |
| muPOGNANOmc150X | 2500.3201 | 2.255 | 2.255 | 0.000 ( +0.0% ) | 16.88 | 16.62 | +1.5% | 2.344 | 2.588 |
| EGMNANOmc150X | 2500.3202 | 4.111 | 4.111 | 0.000 ( +0.0% ) | 14.87 | 14.65 | +1.5% | 2.438 | 2.724 |
| BTVNANOmc150X | 2500.3203 | 10.552 | 10.552 | 0.000 ( +0.0% ) | 4.96 | 4.96 | -0.0% | 2.649 | 2.944 |
| jmeNANOmc150X | 2500.3204 | 6.595 | 6.595 | 0.000 ( +0.0% ) | 1.37 | 1.37 | -0.0% | 2.688 | 2.892 |
| jmeNANOrePuppimc150X | 2500.3205 | 6.598 | 6.598 | 0.000 ( +0.0% ) | 1.29 | 1.29 | -0.2% | 2.944 | 3.175 |
| lepTrackInfoNANOmc150X | 2500.3206 | 3.721 | 3.721 | 0.000 ( +0.0% ) | 15.40 | 15.63 | -1.5% | 2.485 | 2.724 |
| ScoutingNANOmc150X | 2500.3207 | 1.563 | 1.563 | 0.000 ( +0.0% ) | 20.20 | 20.25 | -0.2% | 2.282 | 2.435 |
| ScoutingNANOwithPromptmc150X | 2500.3208 | 4.775 | 4.775 | 0.000 ( +0.0% ) | 10.67 | 10.74 | -0.6% | 2.700 | 2.952 |
| BPHNANOmc150X | 2500.3209 | 4.127 | 4.127 | 0.000 ( +0.0% ) | 17.59 | 17.20 | +2.3% | 2.689 | 2.665 |
| muPOGNANO150Xrun3 | 2500.3301 | 1.125 | 1.125 | 0.000 ( +0.0% ) | 32.70 | 33.80 | -3.3% | 2.060 | 2.347 |
| EGMNANOdata150Xrun3 | 2500.3302 | 2.985 | 2.985 | 0.000 ( +0.0% ) | 27.49 | 27.24 | +0.9% | 2.292 | 2.361 |
| BTVNANOdata150Xrun3 | 2500.3303 | 7.971 | 7.971 | 0.000 ( +0.0% ) | 6.13 | 6.16 | -0.5% | 2.343 | 2.657 |
| jmeNANOdata150Xrun3 | 2500.3304 | 4.349 | 4.349 | 0.000 ( +0.0% ) | 1.69 | 1.69 | +0.1% | 2.324 | 2.625 |
| jmeNANOrePuppidata150Xrun3 | 2500.3305 | 4.332 | 4.332 | 0.000 ( +0.0% ) | 1.46 | 1.45 | +0.8% | 2.579 | 2.617 |
| lepTrackInfoNANOdata150Xrun3 | 2500.3306 | 2.625 | 2.625 | 0.000 ( +0.0% ) | 29.21 | 28.91 | +1.0% | 2.132 | 2.171 |
| ScoutingNANOdata150Xrun3 | 2500.3307 | 1.738 | 1.738 | 0.000 ( +0.0% ) | 32.59 | 32.11 | +1.5% | 1.579 | 1.499 |
| ScoutingNANOmonitordata150Xrun3 | 2500.3308 | 1.400 | 1.400 | 0.000 ( +0.0% ) | 28.22 | 28.15 | +0.2% | 2.133 | 2.338 |
| ScoutingNANOmonitorWithPromptdata150Xrun3 | 2500.3309 | 2.602 | 2.602 | 0.000 ( +0.0% ) | 18.36 | 18.45 | -0.5% | 2.486 | 2.726 |
| BPHNANOdata150Xrun3 | 2500.331 | 2.632 | 2.632 | 0.000 ( +0.0% ) | 34.51 | 34.99 | -1.4% | 2.276 | 2.360 |
| TTbarMINIAOD10.6_UL18v2 | 2500.9001 | 1.819 | 1.819 | 0.000 ( +0.0% ) | 36.76 | 36.35 | +1.1% | 1.779 | 1.859 |
| TTbarMINIAOD14.0 | 2500.9002 | 1.665 | 1.665 | 0.000 ( +0.0% ) | 35.54 | 35.33 | +0.6% | 1.402 | 1.447 |
| DYToLL_M-50_13TeV_pythia8 | 2500.9101 | 15.163 | 15.163 | 0.000 ( +0.0% ) | 7.57 | 7.71 | -1.9% | 1.079 | 1.080 |
| DYToll01234Jets_5f_LO_MLM_Madgraph_LHE_13TeV | 2500.9102 | 0.240 | 0.199 | 0.041 ( +20.3% ) | 2.56 | 2.63 | -2.9% | 0.845 | 0.839 |
| TTbar_Pow_LHE_13TeV | 2500.9103 | 0.110 | 0.110 | 0.000 ( +0.0% ) | 2.51 | 2.52 | -0.3% | 0.846 | 0.847 |
NANO Comparison Summary
Summary:
- You potentially added 394 lines to the logs
- ROOTFileChecks: Some differences in event products or their sizes found
- Reco comparison results: 0 differences found in the comparisons
- DQMHistoTests: Total files compared: 32
- DQMHistoTests: Total histograms compared: 41718
- DQMHistoTests: Total failures: 0
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 41718
- DQMHistoTests: Total skipped: 0
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
- Checked 181 log files, 106 edm output root files, 32 DQM output files
- TriggerResults: no differences found
@cms-sw/xpog-l2 would it be possible to get this integrated in time for 16_0_0_pre4 (due today)?
Milestone for this pull request has been moved to CMSSW_16_1_X. Please open a backport if it should also go in to CMSSW_16_0_X.