[15.0.X] Fix Jacobian for linefit in Brokenline.
backport of https://github.com/cms-sw/cmssw/pull/48410
PR description:
As per title. This PR is meant to fix a bug in the broken-line fit implementation that is mainly relevant for phase-2, with tilted modules in the Outer Tracker when pixel ntuplets are extended there (phase-2 "CA extension"). This was reported by @JanGerritSchulz and @rovere in this presentation
For phase-1 pixel (HLT) tracking, the impact is expected to be ~zero, and this was confirmed from private tracking validations (see below). However, we prefer to have a consistent, correct code in the releases in use for phase-1, too. There might be a follow-up to include the fix also for the Riemann-fit case (that is not used in production in any scenario).
PR validation:
here there is a high statistics comparison w.r.t. the current master branch done using:
#!/bin/bash -ex
cmsDriver.py step2 -s HLT:@relval2025,VALIDATION:hltMultiTrackValidation \
--conditions auto:phase1_2025_realistic \
--datatier DQMIO \
-n 1000 \
--eventcontent DQMIO \
--geometry DB:Extended \
--era Run3_2025 \
--filein file:/eos/cms/store/relval/CMSSW_15_1_0_pre3/RelValTTbar_14TeV/GEN-SIM-DIGI-RAW/PU_150X_mcRun3_2025_realistic_v3_STD_2025_PU-v3/2590000/04cc6ed0-e6aa-4e4a-b232-05e10f57e6ab.root \
--fileout file:step2.root \
--nThreads 24 \
--process HLTX \
--inputCommands='keep *, drop *_hlt*_*_HLT, drop triggerTriggerFilterObjectWithRefs_l1t*_*_HLT' \
> step2.log 2>&1
cmsDriver.py step3 -s HARVESTING:postProcessorHLTtrackingSequence \
--conditions auto:phase1_2025_realistic \
--mc \
--geometry DB:Extended \
--scenario pp \
--filetype DQM \
--era Run3_2025 \
-n 1000 \
--filein file:step2.root \
--fileout file:step3.root > step3.log 2>&1
and comparing the resulting DQM files in outputs.
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
Verbatim backport of https://github.com/cms-sw/cmssw/pull/48410 for 2025 data-taking purposes.
type ngt
type bug-fix
A new Pull Request was created by @mmusich for CMSSW_15_0_X.
It involves the following packages:
- RecoTracker/PixelTrackFitting (reconstruction)
@cmsbuild, @jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks. @GiacomoSguazzoni, @VinInn, @VourMa, @dgulhan, @felicepantaleo, @gpetruc, @missirol, @mmusich, @mtosi, @rovere this is something you requested to watch as well. @antoniovilela, @mandrenguyen, @rappoccio, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here
- Backported from #48410
cms-bot internal usage
@cmsbuild, please test
Pull request #48411 was updated. @cmsbuild, @jfernan2, @mandrenguyen can you please check and sign again.
@cmsbuild, please test
assign tracking-pog
New categories assigned: tracking-pog
@kskovpen,@mmasciov you have been requested to review this Pull request/Issue and eventually sign? Thanks
+1
Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-fa2d4a/46918/summary.html
COMMIT: 877dd9aabe97d94813a5fc132f5a6ac0a0de1661
CMSSW: CMSSW_15_0_X_2025-06-25-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/48411/46918/install.sh to create a dev area with all the needed externals and cmssw changes.
Comparison Summary
Summary:
- You potentially removed 2 lines from the logs
- Reco comparison results: 166 differences found in the comparisons
- DQMHistoTests: Total files compared: 51
- DQMHistoTests: Total histograms compared: 4124122
- DQMHistoTests: Total failures: 17676
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 4106426
- DQMHistoTests: Total skipped: 20
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
- Checked 222 log files, 194 edm output root files, 51 DQM output files
- TriggerResults: found differences in 2 / 49 workflows
+1
+1
This pull request is fully signed and it will be integrated in one of the next CMSSW_15_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_15_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @antoniovilela, @sextonkennedy, @mandrenguyen, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)
Reading thru the PR description, it's not 100% obvious to me that we really want this in the production release. Perhaps someone could clarify why it's not sufficient to just put it in the master?
@mandrenguyen
Reading thru the PR description, it's not 100% obvious to me that we really want this in the production release.
it's a honest bugfix. The math in the code was just wrong before (see discussion in the document attached).
I don't think we need this urgently for the HLT in the light ions data-taking, but it would be good to have in the release for the pp after that (as the most of the luminosity of this year will be taken with that).
For tracking POG, the preference is to be consistent and have this update in the release. @cms-sw/tracking-pog-l2
+1