Skip to content

[16.0.X] switch off usePixelQualityFlag in TrackerTrackHitFilter in presence of the PixelCPEGeneric modifier#50619

Merged
cmsbuild merged 1 commit intocms-sw:CMSSW_16_0_Xfrom
mmusich:mm_fix_usePixelQualityFlagOff_16_0_X
Apr 2, 2026
Merged

[16.0.X] switch off usePixelQualityFlag in TrackerTrackHitFilter in presence of the PixelCPEGeneric modifier#50619
cmsbuild merged 1 commit intocms-sw:CMSSW_16_0_Xfrom
mmusich:mm_fix_usePixelQualityFlagOff_16_0_X

Conversation

@mmusich
Copy link
Copy Markdown
Contributor

@mmusich mmusich commented Apr 1, 2026

backport of #50616

PR description:

This PR is a follow-up to #50480.
In that PR the default CPE for track fitting in the 2026 Era was moved to the CPE generic.
Unfortunately this has a knock-on effect on the TrackerTrackHitFilter which has a flag (usePixelQualityFlag) which relies on the template fit information to do hit rejection:

if (checkPXLQuality_) {
const SiPixelRecHit *pixelhit = dynamic_cast<const SiPixelRecHit *>(therechit);
if (pixelhit != nullptr) {
//std::cout << "ClusterCharge=" <<std::flush<<pixelhit->cluster()->charge() << std::flush;
float xyprob = pixelhit->clusterProbability(0); //x-y combined log_e probability of the pixel cluster
//singl x- and y-prob not stored sicne CMSSW 3_9_0
float xychargeprob = pixelhit->clusterProbability(1); //xy-prob * charge prob
// float chargeprob =pixelhit->clusterProbability(2);//charge prob
bool haspassed_tplreco = pixelhit->hasFilledProb(); //the cluster was associted to a template
int qbin = pixelhit->qBin(); //R==meas_charge/pred_charge: Qbin=0 ->R>1.5 , =1->1<R<1.5 ,=2->0.85<R<1 ,
// Qbin=3->0.95*Qminpred<R<0.85 ,=4->, =5->meas_charge<0.95*Qminpred
// if(haspassed_tplreco) std::cout<<" CLUSTPROB=\t"<<xprob<<"\t"<<yprob<<"\t"<<combprob<<"\t"<<qbin<<std::endl;
// else std::cout<<"CLUSTPROBNOTDEF=\t"<<xprob<<"\t"<<yprob<<"\t"<<combprob<<"\t"<<qbin<<std::endl;
keepthishit = false;
// std::cout<<"yyyyy "<<qbin<<" "<<xprob<<" "<<yprob<<std::endl;
if (haspassed_tplreco && xyprob > pxlTPLProbXY_ && xychargeprob > pxlTPLProbXYQ_ && qbin > pxlTPLqBin_[0] &&
qbin <= pxlTPLqBin_[1])
keepthishit = true;
} else {

This is of course not available when the template fit is not run.
This has lead to missing alignment PCL results (see e.g. https://cern.ch/wygsf) and potentially wrong DQM results.

PR validation:

I've re-run the following command (previously failing in CMSSW_16_0_4_patch2):

#!/bin/bash -ex

dasgoclient --limit 0 --query 'file dataset=/StreamExpress/Run2026C-TkAlMinBias-Express-v1/ALCARECO run=402536' | sort -u > input_files.txt
echo '{"402536": [[1, 116]]}' > step1_lumiRanges.txt

cmsDriver.py ReAlCaHLT \
  -s ALCA:PromptCalibProdSiPixelAli \
  --conditions 160X_dataRun3_Express_v1 \
  --scenario pp \
  --data \
  --era Run3_2026 \
  --datatier ALCARECO \
  --eventcontent ALCARECO \
  --process RECO \
  --processName ReAlCa \
  --filein filelist:input_files.txt \
  --lumiToProcess step1_lumiRanges.txt \
  -n 1000 >& ReAlCa.log

cmsDriver.py ALCAHARVDSIPIXELALI \
  -s ALCAHARVEST:SiPixelAli \
  --conditions 160X_dataRun3_Express_v1 \
  --scenario pp \
  --era Run3_2026 \
  --data \
  -n -1 \
  --filein file:PromptCalibProdSiPixelAli.root \
  --customise Alignment/CommonAlignmentProducer/customizeLSNumberFilterForRelVals.lowerHitsPerStructure >& Harvesting.log

and verfied the alignment PCL works correctly.

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 #50616 to the 2026 data-taking release.

@mmusich mmusich changed the title switch off usePixelQualityFlag in TrackerTrackHitFilter in presence of the PixelCPEGeneric modifier [16.0.X] switch off usePixelQualityFlag in TrackerTrackHitFilter in presence of the PixelCPEGeneric modifier Apr 1, 2026
@cmsbuild cmsbuild added this to the CMSSW_16_0_X milestone Apr 1, 2026
@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Apr 1, 2026

A new Pull Request was created by @mmusich for CMSSW_16_0_X.

It involves the following packages:

  • Alignment/CommonAlignmentProducer (alca)
  • DPGAnalysis/SiStripTools (analysis)
  • DQM/TrackingMonitorSource (dqm)
  • RecoTracker/FinalTrackSelectors (reconstruction)

@Alejandro1400, @JanChyczynski, @Moanwar, @arunhep, @atpathak, @cmsbuild, @ctarricone, @gabrielmscampos, @jfernan2, @mandrenguyen, @nothingface0, @perrotta, @rseidita, @srimanob, @tvami can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @VinInn, @VourMa, @arossi83, @dgulhan, @echabert, @elusian, @felicepantaleo, @fioriNTU, @gpetruc, @idebruyn, @jandrea, @mmasciov, @mmusich, @mtosi, @pakhotin, @richa2710, @robervalwalsh, @rovere, @rsreds, @sroychow, @threus, @tlampen, @tocheng, @venturia, @yuanchao 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

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Apr 1, 2026

cms-bot internal usage

@mmusich
Copy link
Copy Markdown
Contributor Author

mmusich commented Apr 1, 2026

test parameters:

  • workflows = 1000,1001,1001.2,1001.3,1001.4,1002.3,1002.4,1002.5

@mmusich
Copy link
Copy Markdown
Contributor Author

mmusich commented Apr 1, 2026

@cmsbuild, please test

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Apr 1, 2026

+1

Size: This PR adds an extra 28KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-82000f/52400/summary.html
COMMIT: 775d790
CMSSW: CMSSW_16_0_X_2026-04-01-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/50619/52400/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

@tvami
Copy link
Copy Markdown
Contributor

tvami commented Apr 1, 2026

+analysis

@arunhep
Copy link
Copy Markdown
Contributor

arunhep commented Apr 1, 2026

+alca

@Moanwar
Copy link
Copy Markdown
Contributor

Moanwar commented Apr 1, 2026

+1

@rseidita
Copy link
Copy Markdown
Contributor

rseidita commented Apr 1, 2026

+dqm

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Apr 1, 2026

This pull request is fully signed and it will be integrated in one of the next CMSSW_16_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_16_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @sextonkennedy, @ftenchini (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Copy Markdown
Contributor

+1

@cmsbuild cmsbuild merged commit 37bb731 into cms-sw:CMSSW_16_0_X Apr 2, 2026
9 checks passed
@mmusich mmusich deleted the mm_fix_usePixelQualityFlagOff_16_0_X branch April 2, 2026 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants