-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PFlow fix/improvement in the HF region for phase2 #28442
Changes from all commits
2237467
2557e10
593175c
d50cff3
8cc3b6a
c9d4a47
3efc28d
8e81828
95fb6d4
6e4003d
eacdbc7
479009b
2555a42
366c152
18a1727
8c89b49
fc37708
ed14398
fb4822e
16c8782
2485ea4
13a2c4b
639aba3
67c0510
c0b4cd0
028495a
b9f559c
a53683c
d1e6a74
1981ab1
020db58
b4d88a8
b07fda1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,7 +46,7 @@ def synchronizeHCALHLTofflineRun3on2018data(process): | |
# this function bring back the Run3 menu to a Run2-2018 like meny, for testing in data 2018 | ||
|
||
#---------------------------------------------------------------------------------------------------------- | ||
# adapt threshold for HB - in 2018 only one depth | ||
# adapt threshold for HB - in 2018 only one depth | ||
|
||
for producer in producers_by_type(process, "PFClusterProducer"): | ||
if producer.seedFinder.thresholdsByDetector[0].detector.value() == 'HCAL_BARREL1': | ||
|
@@ -164,10 +164,51 @@ def customiseFor2017DtUnpacking(process): | |
|
||
return process | ||
|
||
# for PFBlockProducer/Algo change to enable both track-HCAL and track-HF links | ||
hltPFBlockLinkDefPrePhase2 = cms.VPSet( | ||
cms.PSet( linkType = cms.string( "PS1:ECAL" ), | ||
useKDTree = cms.bool( True ), | ||
linkerName = cms.string( "PreshowerAndECALLinker" ) | ||
), | ||
cms.PSet( linkType = cms.string( "PS2:ECAL" ), | ||
useKDTree = cms.bool( True ), | ||
linkerName = cms.string( "PreshowerAndECALLinker" ) | ||
), | ||
cms.PSet( linkType = cms.string( "TRACK:ECAL" ), | ||
useKDTree = cms.bool( True ), | ||
linkerName = cms.string( "TrackAndECALLinker" ) | ||
), | ||
cms.PSet( linkType = cms.string( "TRACK:HCAL" ), | ||
useKDTree = cms.bool( True ), | ||
linkerName = cms.string( "TrackAndHCALLinker" ), | ||
trajectoryLayerEntrance = cms.string("HCALEntrance"), # added | ||
trajectoryLayerExit = cms.string("HCALExit") # added | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMHO, this is full copied replacement of linkDefinitions is too complex and should be reduced to just an insertion of the two lines (the new parameters) above |
||
), | ||
cms.PSet( linkType = cms.string( "ECAL:HCAL" ), | ||
useKDTree = cms.bool( False ), | ||
linkerName = cms.string( "ECALAndHCALLinker" ) | ||
), | ||
cms.PSet( linkType = cms.string( "HFEM:HFHAD" ), | ||
useKDTree = cms.bool( False ), | ||
linkerName = cms.string( "HFEMAndHFHADLinker" ) | ||
) | ||
) | ||
def customiseFor28442(process): | ||
if hasattr(process,'hltParticleFlowBlock'): | ||
process.hltParticleFlowBlock.linkDefinitions = hltPFBlockLinkDefPrePhase2 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. shouldn't this search for type trajectoryLayerEntrance = cms.string("HCALEntrance"), # added
trajectoryLayerExit = cms.string("HCALExit") # added ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see what you mean, but syntax to do this wasn't obvious to me, and I think this is sort of temporary until new parameters go to confdb, so I left this as is for now. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So the only actual change is to add two parameters in the PSet with link type TRACK:HCAL? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, that's correct. |
||
if hasattr(process,'hltParticleFlowBlockForTaus'): | ||
process.hltParticleFlowBlockForTaus.linkDefinitions = hltPFBlockLinkDefPrePhase2 | ||
if hasattr(process,'hltParticleFlowBlockReg'): | ||
process.hltParticleFlowBlockReg.linkDefinitions = hltPFBlockLinkDefPrePhase2 | ||
if hasattr(process,'hltParticleFlowBlockPPOnAA'): | ||
process.hltParticleFlowBlockPPOnAA.linkDefinitions = hltPFBlockLinkDefPrePhase2 | ||
return process | ||
|
||
# CMSSW version specific customizations | ||
def customizeHLTforCMSSW(process, menuType="GRun"): | ||
|
||
# add call to action function in proper order: newest last! | ||
# process = customiseFor12718(process) | ||
process = customiseFor28442(process) | ||
|
||
return process |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as a future development item, it would be even better to get these directly from the geometry instead of hardcoding the values
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
although this is a number that is not supposed to change, I agree with @kpedro88 that this implementation is intrinsicattly weak, although its fix can be deferred to a second moment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand. If we make this update, I want to update a few other hardcoded numbers, but some hardcoded numbers may not be directly extractable from geometry. It's not a trivial change, so I prefer to keep this separate, while fixing this known small inconsistency for now.