Skip to content

[15_0_X] Reduce minYsizeB1 and minYsizeB2 CA cuts for Phase1#47296

Merged
cmsbuild merged 2 commits intocms-sw:CMSSW_15_0_Xfrom
bdanzi:PR_ClusterSize
Feb 10, 2025
Merged

[15_0_X] Reduce minYsizeB1 and minYsizeB2 CA cuts for Phase1#47296
cmsbuild merged 2 commits intocms-sw:CMSSW_15_0_Xfrom
bdanzi:PR_ClusterSize

Conversation

@bdanzi
Copy link
Copy Markdown

@bdanzi bdanzi commented Feb 7, 2025

PR description:

This PR is a backport of #47271.

The PR aims to minimize the Cluster Size Cuts for the Phase 1 geometry on the B1 and B2 layers, specifically when considering B1-FPIX and B2-FPIX doublets. These doublets serve as the initial inputs for the CA. The changes have been tested on top of the Phase 1 CA-tuned parameters.

This adjustment results in about 5% relative efficiency gain in hltIter0PFlowTrackSelectionHighPurity and a 3% gain in hltMerged. Additionally, it reduces the reliance on the Doublet Recovery iteration, leading to a corresponding decrease in efficiency for hltDoubletRecoveryPFlowTrackSelectionHighPurity. Track resolution shows a small improvement as a function of pT.

PR validation:

600 events TTBarPU 2025 (/RelValTTbar_14TeV/CMSSW_14_2_1-PU_142X_mcRun3_2025_realistic_v4_STD_Winter25_PU-v1/GEN-SIM-DIGI-RAW):
http://uaf-3.t2.ucsd.edu/~bdanzi/PR_2025/plots_hlt.html
500 events TTBarPU EEOR3 (/RelValTTbar_14TeV/CMSSW_14_0_9-PU_140X_mcRun3_2024_realistic_EOR3_TkDPGv7_RV245_2024-v2/GEN-SIM-DIGI-RAW):
http://uaf-3.t2.ucsd.edu/~bdanzi/PRClusterSize_EEOR3_TTBarPU/plots_hlt.html

@mmasciov @mmusich

Instructions on how to run

Tested in CMSSW_15_0_0_pre2 at HLT step.

Generate the .cff file on lxplus and place it inside HLTrigger/Configuration/python by running:

hltGetConfiguration /dev/CMSSW_14_2_0/GRun/V10 --globaltag 140X_mcRun3_2024_realistic_EOR3_TkDPGv7 --mc --unprescale --output minimal --max-events 500 --input file:input_file.root --cff --eras Run3_2024 --l1-emulator uGT --l1 L1Menu_Collisions2024_v1_3_0_xml --paths MC_ReducedIterativeTracking_v22 > hltMC_default_onlyTracking.py

The .cff should be loaded to run the following script:

import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Era_Run3_2024_cff import Run3_2024
process = cms.Process( "HLTX", Run3_2024)

process.load("Configuration.StandardSequences.Accelerators_cff")
# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.MagneticField_cff')
process.load('HLTrigger.Configuration.hltMC_default_onlyTracking')
process.load('Configuration.StandardSequences.Validation_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')

process.maxEvents = cms.untracked.PSet(
    input = cms.untracked.int32(-1),
    output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
)

# Input source
process.source = cms.Source("PoolSource",
    fileNames = cms.untracked.vstring(
    'file:input_file.root'
    ),
    secondaryFileNames = cms.untracked.vstring()
)

process.options = cms.untracked.PSet(
    IgnoreCompletely = cms.untracked.vstring(),
    Rethrow = cms.untracked.vstring(),
    TryToContinue = cms.untracked.vstring(),
    accelerators = cms.untracked.vstring('*'),
    allowUnscheduled = cms.obsolete.untracked.bool,
    canDeleteEarly = cms.untracked.vstring(),
    deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
    dumpOptions = cms.untracked.bool(False),
    emptyRunLumiMode = cms.obsolete.untracked.string,
    eventSetup = cms.untracked.PSet(
        forceNumberOfConcurrentIOVs = cms.untracked.PSet(
            allowAnyLabel_=cms.required.untracked.uint32
        ),
        numberOfConcurrentIOVs = cms.untracked.uint32(0)
    ),
    fileMode = cms.untracked.string('FULLMERGE'),
    forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
    holdsReferencesToDeleteEarly = cms.untracked.VPSet(),
    makeTriggerResults = cms.obsolete.untracked.bool,
    modulesToCallForTryToContinue = cms.untracked.vstring(),
    modulesToIgnoreForDeleteEarly = cms.untracked.vstring(),
    numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
    numberOfConcurrentRuns = cms.untracked.uint32(1),
    numberOfStreams = cms.untracked.uint32(0),
    numberOfThreads = cms.untracked.uint32(8),
    printDependencies = cms.untracked.bool(False),
    sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
    throwIfIllegalParameter = cms.untracked.bool(True),
    wantSummary = cms.untracked.bool(False)
)

# Production Info
process.configurationMetadata = cms.untracked.PSet(
    annotation = cms.untracked.string('step2 nevts:10'),
    name = cms.untracked.string('Applications'),
    version = cms.untracked.string('$Revision: 1.19 $')
)

# Output definition

process.DQMoutput = cms.OutputModule("DQMRootOutputModule",
    dataset = cms.untracked.PSet(
        dataTier = cms.untracked.string('DQMIO'),
        filterName = cms.untracked.string('')
    ),
    fileName = cms.untracked.string('step2_HLT_VALIDATION_paramTuned.root'),
    outputCommands = process.DQMEventContent.outputCommands,
    splitLevel = cms.untracked.int32(0)
)

# Additional output definition

# Other statements
from HLTrigger.Configuration.CustomConfigs import ProcessName
process = ProcessName(process)

from Configuration.Applications.ConfigBuilder import ConfigBuilder
process.hltMultiTrackValidation.visit(ConfigBuilder.MassSearchReplaceProcessNameVisitor("HLT", "HLTX", whitelist = ("subSystemFolder",), verbose = False))
process.mix.playback = True
process.mix.digitizers = cms.PSet()
for a in process.aliases: delattr(process, a)
process.RandomNumberGeneratorService.restoreStateLabel=cms.untracked.string("randomEngineStateProducer")
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, '140X_mcRun3_2024_realistic_EOR3_TkDPGv7', '')
process.hltTrackValidator.label = ["hltPixelTracks", "hltIter0PFlowCtfWithMaterialTracks", "hltIter0PFlowTrackSelectionHighPurity", "hltMergedTracks","hltDoubletRecoveryPFlowTrackSelectionHighPurity"]
# Path and EndPath definitions
process.validation_step = cms.EndPath(process.hltMultiTrackValidation)
process.DQMoutput_step = cms.EndPath(process.DQMoutput)

process.hltSiStripRawToClustersFacility.onDemand = cms.bool(False)
process.hltPixelTracksSoA.CAThetaCutBarrel = cms.double(0.00111685053)
process.hltPixelTracksSoA.CAThetaCutForward = cms.double(0.00249872683)
process.hltPixelTracksSoA.hardCurvCut =  cms.double(0.695091509)
process.hltPixelTracksSoA.dcaCutInnerTriplet = cms.double(0.0419242041)
process.hltPixelTracksSoA.dcaCutOuterTriplet = cms.double(0.293522194)
process.hltPixelTracksSoA.phiCuts = cms.vint32(
    832, 379, 481, 765, 1136,
    706, 656, 407, 1212, 404,
    699, 470, 652, 621, 1017,
    616, 450, 555, 572
)
# Schedule definition
# process.schedule imported from cff in HLTrigger.Configuration
process.schedule.extend([process.validation_step,process.DQMoutput_step])
from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
associatePatAlgosToolsTask(process)

# customisation of the process.

# Automatic addition of the customisation function from HLTrigger.Configuration.customizeHLTforMC
from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC 

#call to customisation function customizeHLTforMC imported from HLTrigger.Configuration.customizeHLTforMC
process = customizeHLTforMC(process)

# Automatic addition of the customisation function from SimGeneral.MixingModule.fullMixCustomize_cff
from SimGeneral.MixingModule.fullMixCustomize_cff import setCrossingFrameOn 

#call to customisation function setCrossingFrameOn imported from SimGeneral.MixingModule.fullMixCustomize_cff
process = setCrossingFrameOn(process)

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Feb 7, 2025

A new Pull Request was created by @bdanzi for CMSSW_15_0_X.

It involves the following packages:

  • Geometry/CommonTopologies (geometry)
  • RecoTracker/PixelSeeding (reconstruction)

@Dr15Jones, @bsunanda, @civanch, @cmsbuild, @jfernan2, @kpedro88, @makortel, @mandrenguyen, @mdhildreth can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @VinInn, @VourMa, @bsunanda, @dgulhan, @fabiocos, @felicepantaleo, @gpetruc, @martinamalberti, @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

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Feb 7, 2025

cms-bot internal usage

@mmusich
Copy link
Copy Markdown
Contributor

mmusich commented Feb 7, 2025

backport of #47271

@mmusich
Copy link
Copy Markdown
Contributor

mmusich commented Feb 7, 2025

enable gpu

@mmusich
Copy link
Copy Markdown
Contributor

mmusich commented Feb 7, 2025

@cmsbuild, please test

@cmsbuild
Copy link
Copy Markdown
Contributor

cmsbuild commented Feb 7, 2025

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-89044c/44273/summary.html
COMMIT: 34fd1de
CMSSW: CMSSW_15_0_X_2025-02-07-1100/el8_amd64_gcc12
Additional Tests: GPU
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/47296/44273/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 8 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 4130882
  • DQMHistoTests: Total failures: 25913
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4104949
  • 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 9 / 49 workflows

GPU Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 24 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 53071
  • DQMHistoTests: Total failures: 907
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 52164
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 24 log files, 30 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

@civanch
Copy link
Copy Markdown
Contributor

civanch commented Feb 8, 2025

+1

@jfernan2
Copy link
Copy Markdown
Contributor

+1

@cmsbuild
Copy link
Copy Markdown
Contributor

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. @mandrenguyen, @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Copy Markdown
Contributor

+1

@cmsbuild cmsbuild merged commit b565528 into cms-sw:CMSSW_15_0_X Feb 10, 2025
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