Skip to content

Commit

Permalink
Merge pull request #16885 from VinInn/Toward9pre2
Browse files Browse the repository at this point in the history
PhaseII: optimize seeding, reduce cpu-timing
  • Loading branch information
cmsbuild authored Dec 9, 2016
2 parents 382c220 + 1ea58bb commit 363f619
Show file tree
Hide file tree
Showing 10 changed files with 72 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,16 @@
'BPix1+BPix2+BPix3+FPix1_pos','BPix1+BPix2+BPix3+FPix1_neg',
'BPix1+BPix2+FPix1_pos+FPix2_pos', 'BPix1+BPix2+FPix1_neg+FPix2_neg',
'BPix1+FPix1_pos+FPix2_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg',
'FPix1_pos+FPix2_pos+FPix3_pos+FPix4_pos', 'FPix1_neg+FPix2_neg+FPix3_neg+FPix4_neg',
# removed as redundant in current geometry (here for documentation)
# 'FPix1_pos+FPix2_pos+FPix3_pos+FPix4_pos', 'FPix1_neg+FPix2_neg+FPix3_neg+FPix4_neg',
'FPix2_pos+FPix3_pos+FPix4_pos+FPix5_pos', 'FPix2_neg+FPix3_neg+FPix4_neg+FPix5_neg',
'FPix3_pos+FPix4_pos+FPix5_pos+FPix6_pos', 'FPix3_neg+FPix4_neg+FPix5_neg+FPix6_pos',
'FPix4_pos+FPix5_pos+FPix6_pos+FPix7_pos', 'FPix4_neg+FPix5_neg+FPix6_neg+FPix7_neg',
'FPix5_pos+FPix6_pos+FPix7_pos+FPix8_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix8_neg',
'FPix5_pos+FPix6_pos+FPix7_pos+FPix9_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix9_neg',
'FPix6_pos+FPix7_pos+FPix8_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix8_neg+FPix9_neg']
# removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
# 'FPix5_pos+FPix6_pos+FPix7_pos+FPix8_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix8_neg',
# 'FPix5_pos+FPix6_pos+FPix7_pos+FPix9_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix9_neg',
# 'FPix6_pos+FPix7_pos+FPix8_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix8_neg+FPix9_neg'
]

# Needed to have pixelTracks to not to look like depending
# siPixelRecHits (that is inserted in reco sequences in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
phase2OTClusters = "siPhase2Clusters",
TrackQuality = 'highPurity',
minNumberOfLayersWithMeasBeforeFiltering = 0,
trajectories = cms.InputTag("pixelPairStepTracks"),
oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
overrideTrkQuals = cms.InputTag("pixelPairStepSelector","pixelPairStep"),
trajectories = cms.InputTag("detachedQuadStepTracks"),
oldClusterRemovalInfo = cms.InputTag("detachedQuadStepClusters"),
overrideTrkQuals = cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk"),
)
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,16 @@
'lowPtQuadStepTracks',
'lowPtTripletStepTracks',
'detachedQuadStepTracks',
'pixelPairStepTracks'],
hasSelector = [1,1,1,1,1,1],
],
hasSelector = [1,1,1,1,1],
indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09],
selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"),
cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"),
cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
cms.InputTag("detachedQuadStep"),
cms.InputTag("pixelPairStepSelector","pixelPairStep")
),
setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True) )
setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4), pQual=cms.bool(True) )
),
copyExtras = True,
makeReKeyedSeeds = cms.untracked.bool(False)
Expand Down
5 changes: 1 addition & 4 deletions RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(detachedQuadStepSeedLayers,
layerList = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.layerList.value()
layerList = RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff.PixelSeedMergerQuadruplets.layerList.value()
)

# TrackingRegion
Expand Down Expand Up @@ -113,9 +113,6 @@
trackingPhase1PU70.toModify(detachedQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase1PU70.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadrupletsMerging)
trackingPhase1PU70.toModify(detachedQuadStepSeeds, SeedComparitorPSet=cms.PSet(ComponentName=cms.string("none")))
trackingPhase2PU140.toModify(detachedQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase2PU140.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadrupletsMerging)
trackingPhase2PU140.toModify(detachedQuadStepSeeds, SeedComparitorPSet=cms.PSet(ComponentName=cms.string("none")))


# QUALITY CUTS DURING TRACK BUILDING
Expand Down
3 changes: 1 addition & 2 deletions RecoTracker/IterativeTracking/python/ElectronSeeds_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
)
)
trackingPhase2PU140.toReplaceWith(pixelPairStepSeedClusterMask, seedClusterRemoverPhase2.clone(
trajectories = cms.InputTag("pixelPairStepSeeds"),
trajectories = cms.InputTag("detachedQuadStepSeeds"),
oldClusterRemovalInfo = cms.InputTag("highPtTripletStepSeedClusterMask")
)
)
Expand Down Expand Up @@ -263,7 +263,6 @@
trackingPhase2PU140.toModify(newCombinedSeeds, seedCollections = [
'initialStepSeeds',
'highPtTripletStepSeeds',
'pixelPairStepSeeds',
'tripletElectronSeeds'
])

Expand Down
16 changes: 9 additions & 7 deletions RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,27 @@
)

from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(highPtTripletStepSeedLayers,
trackingPhase2PU140.toModify(highPtTripletStepSeedLayers,
# combination with gap removed as only source of fakes in current geometry (kept for doc)
layerList = ['BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
# 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg',
'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
# 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg',
'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
# 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
'FPix2_pos+FPix3_pos+FPix4_pos', 'FPix2_neg+FPix3_neg+FPix4_neg',
'FPix3_pos+FPix4_pos+FPix5_pos', 'FPix3_neg+FPix4_neg+FPix5_neg',
'FPix4_pos+FPix5_pos+FPix6_pos', 'FPix4_neg+FPix5_neg+FPix6_neg',
'FPix5_pos+FPix6_pos+FPix7_pos', 'FPix5_neg+FPix6_neg+FPix7_neg',
'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg',
'FPix6_pos+FPix7_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix9_neg']
# removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
# 'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg',
# 'FPix6_pos+FPix7_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix9_neg']
]
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
highPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
Expand Down
42 changes: 37 additions & 5 deletions RecoTracker/IterativeTracking/python/InitialStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

# SEEDING LAYERS
import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
import RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff
initialStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
trackingPhase1.toModify(initialStepSeedLayers,
Expand All @@ -20,6 +21,9 @@
'BPix1+FPix1_neg+FPix2_neg'
]
)
trackingPhase2PU140.toModify(initialStepSeedLayers,
layerList = RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff.PixelSeedMergerQuadruplets.layerList.value()
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
Expand Down Expand Up @@ -51,16 +55,42 @@
)
from RecoPixelVertexing.PixelTriplets.pixelQuadrupletMergerEDProducer_cfi import pixelQuadrupletMergerEDProducer as _pixelQuadrupletMergerEDProducer
from RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff import *
initialStepHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone(
_initialStepHitQuadrupletsMerging = _pixelQuadrupletMergerEDProducer.clone(
triplets = "initialStepHitTriplets",
layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")),
)
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
initialStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
seedingHitSets = "initialStepHitTriplets",
)
from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer
initialStepHitQuadruplets = _pixelQuadrupletEDProducer.clone(
triplets = "initialStepHitTriplets",
extraHitRZtolerance = initialStepHitTriplets.extraHitRZtolerance,
extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
maxChi2 = dict(
pt1 = 0.8, pt2 = 2,
value1 = 200, value2 = 100,
enabled = True,
),
extraPhiTolerance = dict(
pt1 = 0.6, pt2 = 1,
value1 = 0.15, value2 = 0.1,
enabled = True,
),
useBendingCorrection = True,
fitFastCircle = True,
fitFastCircleChi2Cut = True,
SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet
)
trackingPhase2PU140.toModify(initialStepHitTriplets,
produceSeedingHitSets = False,
produceIntermediateHitTriplets = True,
)
trackingPhase2PU140.toModify(initialStepSeeds, seedingHitSets = "initialStepHitQuadruplets")

# temporary...
initialStepHitQuadruplets.SeedCreatorPSet = cms.PSet(
_initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet(
ComponentName = cms.string("SeedFromConsecutiveHitsCreator"),
MinOneOverPtError = initialStepSeeds.MinOneOverPtError,
OriginTransverseErrorMultiplier = initialStepSeeds.OriginTransverseErrorMultiplier,
Expand All @@ -71,10 +101,10 @@
propagator = initialStepSeeds.propagator,

)
initialStepHitQuadruplets.SeedComparitorPSet = initialStepSeeds.SeedComparitorPSet
_initialStepHitQuadrupletsMerging.SeedComparitorPSet = initialStepSeeds.SeedComparitorPSet

trackingPhase1PU70.toReplaceWith(initialStepHitQuadruplets, _initialStepHitQuadrupletsMerging)
trackingPhase1PU70.toModify(initialStepSeeds, seedingHitSets="initialStepHitQuadruplets")
trackingPhase2PU140.toModify(initialStepSeeds, seedingHitSets="initialStepHitQuadruplets")


# building
Expand Down Expand Up @@ -338,4 +368,6 @@
_InitialStep_Phase1PU70 = _InitialStep_LowPU.copy()
_InitialStep_Phase1PU70.replace(initialStepHitTriplets, initialStepHitTriplets+initialStepHitQuadruplets)
trackingPhase1PU70.toReplaceWith(InitialStep, _InitialStep_Phase1PU70)
trackingPhase2PU140.toReplaceWith(InitialStep, _InitialStep_Phase1PU70)
_InitialStep_trackingPhase2 = _InitialStep_LowPU.copy()
_InitialStep_trackingPhase2.replace(initialStepHitTriplets, initialStepHitTriplets*initialStepHitQuadruplets)
trackingPhase2PU140.toReplaceWith(InitialStep, _InitialStep_trackingPhase2)
7 changes: 4 additions & 3 deletions RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
trackingPhase1.toModify(lowPtQuadStepSeedLayers,
layerList = RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff.PixelSeedMergerQuadruplets.layerList.value()
)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(lowPtQuadStepSeedLayers,
layerList = RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff.PixelSeedMergerQuadruplets.layerList.value()
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
Expand All @@ -26,7 +30,6 @@
originRadius = 0.02,
nSigmaZ = 4.0
))
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(lowPtQuadStepTrackingRegions, RegionPSet = dict(ptMin = 0.35))


Expand Down Expand Up @@ -92,8 +95,6 @@

trackingPhase1PU70.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase1PU70.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging)
trackingPhase2PU140.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging)


# QUALITY CUTS DURING TRACK BUILDING
Expand Down
12 changes: 7 additions & 5 deletions RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,20 @@
trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
trackingPhase1PU70.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)

# combination with gap removed as only source of fakes in current geometry (kept for doc,=)
_layerListForPhase2 = ['BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
# 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
# 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
# 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg',
'FPix2_pos+FPix3_pos+FPix4_pos', 'FPix2_neg+FPix3_neg+FPix4_neg',
'FPix3_pos+FPix4_pos+FPix5_pos', 'FPix3_neg+FPix4_neg+FPix5_neg',
'FPix4_pos+FPix5_pos+FPix6_pos', 'FPix4_neg+FPix5_neg+FPix6_neg',
'FPix5_pos+FPix6_pos+FPix7_pos', 'FPix5_neg+FPix6_neg+FPix7_neg',
'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg'
# removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
# 'FPix5_pos+FPix6_pos+FPix7_pos', 'FPix5_neg+FPix6_neg+FPix7_neg',
# 'FPix6_pos+FPix7_pos+FPix8_pos', 'FPix6_neg+FPix7_neg+FPix8_neg'
]
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
Expand Down
1 change: 0 additions & 1 deletion RecoTracker/IterativeTracking/python/iterativeTkConfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
"LowPtQuadStep",
"LowPtTripletStep",
"DetachedQuadStep",
"PixelPairStep",
]
_iterations_muonSeeded = [
"MuonSeededStepInOut",
Expand Down

0 comments on commit 363f619

Please sign in to comment.