/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoParticleFlow/PFClusterProducer/python/particleFlowRecHitHBHE_cfi.py
88 строк
4 KB
Matti Kortelainen
Avoid unnecessary addition legacyPFRecHitProducer(HBHEOnly) modules to the process
22 дек 2025, 19:54
22 дек 2025, 19:54
95916e3
Код
Авторство
О чём код?
import FWCore.ParameterSet.Config as cms _thresholdsHB = cms.vdouble(0.8, 0.8, 0.8, 0.8) _thresholdsHE = cms.vdouble(0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8) _thresholdsHBphase1 = cms.vdouble(0.1, 0.2, 0.3, 0.3) _thresholdsHEphase1 = cms.vdouble(0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2) #updated HB RecHit threshold for 2023 _thresholdsHBphase1_2023 = cms.vdouble(0.4, 0.3, 0.3, 0.3) particleFlowRecHitHBHE = cms.EDProducer("PFRecHitProducer", navigator = cms.PSet( name = cms.string("PFRecHitHCALDenseIdNavigator"), hcalEnums = cms.vint32(1,2) ), producers = cms.VPSet( cms.PSet( name = cms.string("PFHBHERecHitCreator"), src = cms.InputTag("hbhereco",""), qualityTests = cms.VPSet( cms.PSet( name = cms.string("PFRecHitQTestHCALThresholdVsDepth"), usePFThresholdsFromDB = cms.bool(False), cuts = cms.VPSet( cms.PSet( depth=cms.vint32(1, 2, 3, 4), threshold = _thresholdsHB, detectorEnum = cms.int32(1) ), cms.PSet( depth=cms.vint32(1, 2, 3, 4, 5, 6, 7), threshold = _thresholdsHE, detectorEnum = cms.int32(2) ) ) ), cms.PSet( name = cms.string("PFRecHitQTestHCALChannel"), maxSeverities = cms.vint32(11), cleaningThresholds = cms.vdouble(0.0), flags = cms.vstring('Standard') ) ) ), ) ) # offline 2018 -- uncollapsed from Configuration.Eras.Modifier_run2_HE_2018_cff import run2_HE_2018 from Configuration.ProcessModifiers.run2_HECollapse_2018_cff import run2_HECollapse_2018 (run2_HE_2018 & ~run2_HECollapse_2018).toModify(particleFlowRecHitHBHE, producers = {0 : dict(qualityTests = {0 : dict(cuts = {1 : dict(threshold = _thresholdsHEphase1) } ) } ) }, ) # offline 2021 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB run3_HB.toModify(particleFlowRecHitHBHE, producers = {0 : dict(qualityTests = {0 : dict(cuts = {0 : dict(threshold = _thresholdsHBphase1) } ) } ) }, ) from Configuration.Eras.Modifier_run3_egamma_2023_cff import run3_egamma_2023 run3_egamma_2023.toModify(particleFlowRecHitHBHE, producers = {0 : dict(qualityTests = {0 : dict(cuts = {0 : dict(threshold = _thresholdsHBphase1_2023) } ) } ) }, ) #--- Use DB conditions for cuts&seeds for Run3 and Phase2 from Configuration.Eras.Modifier_hcalPfCutsFromDB_cff import hcalPfCutsFromDB hcalPfCutsFromDB.toModify( particleFlowRecHitHBHE, producers = {0 : dict(qualityTests = {0 : dict(usePFThresholdsFromDB = True) } ) }, ) # HCALonly WF particleFlowRecHitHBHEOnly = particleFlowRecHitHBHE.clone( producers = { 0: dict(src = "hbheprereco") } ) run3_HB.toModify(particleFlowRecHitHBHEOnly, producers = { 0: dict(src = "hbhereco") } ) # Alpaka and Legacy particleFlowRecHitHBHEOnlyLegacy = particleFlowRecHitHBHEOnly.clone() from RecoParticleFlow.PFRecHitProducer.legacyPFRecHitProducer_cfi import legacyPFRecHitProducer as _legacyPFRecHitProducer from Configuration.ProcessModifiers.alpaka_cff import alpaka alpaka.toReplaceWith(particleFlowRecHitHBHE, _legacyPFRecHitProducer.clone( src = "pfRecHitSoAProducerHCAL" )) alpaka.toReplaceWith(particleFlowRecHitHBHEOnly, _legacyPFRecHitProducer.clone( src = "pfRecHitSoAProducerHBHEOnly" ))