Skip to content

Commit

Permalink
Merge pull request #9296 from rovere/RunIPorting_CMSSW_7_4_2_patch1
Browse files Browse the repository at this point in the history
Reshape RunI-like tracking customization snippet.
  • Loading branch information
cmsbuild committed May 28, 2015
2 parents df88819 + 86fe202 commit 39d862f
Show file tree
Hide file tree
Showing 8 changed files with 171 additions and 115 deletions.
67 changes: 64 additions & 3 deletions RecoTracker/Configuration/python/customiseForRunI.py
Expand Up @@ -17,9 +17,22 @@ def customiseForRunI(process):
return process

tgrIndex = process.globalreco.index(process.trackingGlobalReco)
tgrIndexFromReco = process.reconstruction_fromRECO.index(process.trackingGlobalReco)
tgrIndexFromReco = process.reconstruction_fromRECO.index(process.InitialStep)
process.globalreco.remove(process.trackingGlobalReco)
process.reconstruction_fromRECO.remove(process.trackingGlobalReco)
process.reconstruction_fromRECO.remove(process.InitialStep)
process.reconstruction_fromRECO.remove(process.DetachedTripletStep)
process.reconstruction_fromRECO.remove(process.LowPtTripletStep)
process.reconstruction_fromRECO.remove(process.PixelPairStep)
process.reconstruction_fromRECO.remove(process.MixedTripletStep)
process.reconstruction_fromRECO.remove(process.PixelLessStep)
process.reconstruction_fromRECO.remove(process.TobTecStep)
process.reconstruction_fromRECO.remove(process.JetCoreRegionalStep)
process.reconstruction_fromRECO.remove(process.earlyGeneralTracks)
process.reconstruction_fromRECO.remove(process.muonSeededStep)
process.reconstruction_fromRECO.remove(process.preDuplicateMergingGeneralTracks)
process.reconstruction_fromRECO.remove(process.generalTracksSequence)
process.reconstruction_fromRECO.remove(process.ConvStep)
process.reconstruction_fromRECO.remove(process.conversionStepTracks)
del process.trackingGlobalReco
del process.ckftracks
del process.ckftracks_wodEdX
Expand All @@ -33,11 +46,59 @@ def customiseForRunI(process):
del process.MixedTripletStep
del process.PixelLessStep
del process.TobTecStep
del process.JetCoreRegionalStep

# Load the new Iterative Tracking configuration
process.load("RecoTracker.Configuration.RecoTrackerRunI_cff")

process.globalreco.insert(tgrIndex, process.trackingGlobalReco)
process.reconstruction_fromRECO.insert(tgrIndexFromReco, process.trackingGlobalReco)
process.globalreco.insert(tgrIndex, process.recopixelvertexing)
process.reconstruction_fromRECO.insert(tgrIndexFromReco, process.iterTracking)

# Now get rid of spurious reference to JetCore step
process.earlyGeneralTracks.selectedTrackQuals = cms.VInputTag(
cms.InputTag("initialStepSelector", "initialStep")
, cms.InputTag("lowPtTripletStepSelector", "lowPtTripletStep")
, cms.InputTag("pixelPairStepSelector", "pixelPairStep")
, cms.InputTag("detachedTripletStep")
, cms.InputTag("mixedTripletStep")
, cms.InputTag("pixelLessStepSelector", "pixelLessStep")
, cms.InputTag("tobTecStepSelector", "tobTecStep")
)
process.earlyGeneralTracks.indivShareFrac = cms.vdouble(1.0, 0.16, 0.19, 0.13, 0.11, 0.11, 0.09)
process.earlyGeneralTracks.setsToMerge = cms.VPSet(cms.PSet(
pQual = cms.bool(True),
tLists = cms.vint32(0, 1, 2, 3, 4, 5, 6)))

process.earlyGeneralTracks.hasSelector = cms.vint32(1, 1, 1, 1, 1, 1, 1)

process.earlyGeneralTracks.TrackProducers = cms.VInputTag(
cms.InputTag("initialStepTracks")
, cms.InputTag("lowPtTripletStepTracks")
, cms.InputTag("pixelPairStepTracks")
, cms.InputTag("detachedTripletStepTracks")
, cms.InputTag("mixedTripletStepTracks")
, cms.InputTag("pixelLessStepTracks")
, cms.InputTag("tobTecStepTracks")
)

# Now get rid of any pre-splitting business
process.siPixelClusters = process.siPixelClustersPreSplitting.clone()
process.pixeltrackerlocalreco.replace(process.siPixelClustersPreSplitting, process.siPixelClusters)
process.pixeltrackerlocalreco.replace(process.siPixelRecHitsPreSplitting, process.siPixelRecHits)
process.clusterSummaryProducer.pixelClusters = 'siPixelClusters'
process.globalreco.replace(process.MeasurementTrackerEventPreSplitting, process.MeasurementTrackerEvent)
process.globalreco.replace(process.siPixelClusterShapeCachePreSplitting, process.siPixelClusterShapeCache)

# Now restore pixelVertices wherever was not possible with an ad-hoc RunI cfg
process.muonSeededTracksInOutSelector.vertices = 'pixelVertices'
process.muonSeededTracksOutInSelector.vertices = 'pixelVertices'
process.muonSeededTracksOutInDisplacedSelector.vertices = 'pixelVertices'
process.duplicateTrackSelector.vertices = 'pixelVertices'
process.duplicateDisplacedTrackSelector.vertices = 'pixelVertices'
process.convStepSelector.vertices = 'pixelVertices'
process.pixelPairElectronSeeds.RegionFactoryPSet.RegionPSet.VertexCollection = 'pixelVertices'
process.ak4CaloJetsForTrk.srcPVs = 'pixelVertices'
process.photonConvTrajSeedFromSingleLeg.primaryVerticesTag = 'pixelVertices'

return process
Expand Up @@ -58,7 +58,8 @@
detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
ComponentName = cms.string('detachedTripletStepChi2Est'),
nSigma = cms.double(3.0),
MaxChi2 = cms.double(9.0)
MaxChi2 = cms.double(9.0),
clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
)

# TRACK BUILDING
Expand Down Expand Up @@ -89,7 +90,7 @@
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
ComponentName = cms.string('detachedTripletStepTrajectoryCleanerBySharedHits'),
fractionShared = cms.double(0.13),
fractionShared = cms.double(0.19),
allowSharedFirstHit = cms.bool(True)
)
detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
Expand All @@ -109,33 +110,33 @@
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src='detachedTripletStepTracks',
useAnyMVA = cms.bool(True),
useAnyMVA = cms.bool(False),
GBRForestLabel = cms.string('MVASelectorIter3'),
trackSelectors= cms.VPSet(
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
name = 'detachedTripletStepVtxLoose',
chi2n_par = 1.2,
chi2n_par = 1.6,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
d0_par1 = ( 1.1, 3.0 ),
dz_par1 = ( 1.1, 3.0 ),
d0_par2 = ( 1.2, 3.0 ),
dz_par2 = ( 1.2, 3.0 )
d0_par1 = ( 1.2, 3.0 ),
dz_par1 = ( 1.2, 3.0 ),
d0_par2 = ( 1.3, 3.0 ),
dz_par2 = ( 1.3, 3.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
name = 'detachedTripletStepTrkLoose',
chi2n_par = 0.7,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
d0_par1 = ( 1.4, 4.0 ),
dz_par1 = ( 1.4, 4.0 ),
d0_par2 = ( 1.4, 4.0 ),
dz_par2 = ( 1.4, 4.0 )
d0_par1 = ( 1.6, 4.0 ),
dz_par1 = ( 1.6, 4.0 ),
d0_par2 = ( 1.6, 4.0 ),
dz_par2 = ( 1.6, 4.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
name = 'detachedTripletStepVtxTight',
preFilterName = 'detachedTripletStepVtxLoose',
chi2n_par = 0.9,
chi2n_par = 0.7,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
Expand All @@ -152,7 +153,7 @@
res_par = ( 0.003, 0.001 ),
minNumberLayers = 5,
maxNumberLostLayers = 1,
minNumber3DLayers = 4,
minNumber3DLayers = 3,
d0_par1 = ( 1.1, 4.0 ),
dz_par1 = ( 1.1, 4.0 ),
d0_par2 = ( 1.1, 4.0 ),
Expand All @@ -174,17 +175,18 @@
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
name = 'detachedTripletStepTrk',
preFilterName = 'detachedTripletStepTrkTight',
chi2n_par = 0.3,
chi2n_par = 0.4,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 5,
maxNumberLostLayers = 0,
maxNumberLostLayers = 1,
minNumber3DLayers = 4,
d0_par1 = ( 1.0, 4.0 ),
dz_par1 = ( 1.0, 4.0 ),
d0_par2 = ( 1.0, 4.0 ),
dz_par2 = ( 1.0, 4.0 )
)
) #end of vpset
),
vertices = cms.InputTag("pixelVertices") #end of vpset
) #end of clone


Expand All @@ -193,8 +195,6 @@
TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
cms.InputTag('detachedTripletStepTracks')),
hasSelector=cms.vint32(1,1),
shareFrac = cms.double(0.13),
indivShareFrac=cms.vdouble(0.13,0.13),
selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
Expand Down
11 changes: 7 additions & 4 deletions RecoTracker/IterativeTracking/python/RunI_InitialStep_cff.py
Expand Up @@ -22,6 +22,7 @@
from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 100000

# building
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
Expand All @@ -34,14 +35,15 @@
initialStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
ComponentName = cms.string('initialStepChi2Est'),
nSigma = cms.double(3.0),
MaxChi2 = cms.double(30.0)
MaxChi2 = cms.double(30.0),
clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
)

import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
trajectoryFilter = cms.PSet(refToPSet_ = cms.string('initialStepTrajectoryFilter')),
alwaysUseInvalidHits = True,
maxCand = 6,
maxCand = 5,
estimator = cms.string('initialStepChi2Est'),
maxDPhiForLooperReconstruction = cms.double(2.0),
maxPtForLooperReconstruction = cms.double(0.7)
Expand Down Expand Up @@ -71,7 +73,7 @@
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src='initialStepTracks',
useAnyMVA = cms.bool(True),
useAnyMVA = cms.bool(False),
GBRForestLabel = cms.string('MVASelectorIter0'),
trackSelectors= cms.VPSet(
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
Expand All @@ -85,7 +87,8 @@
name = 'initialStep',
preFilterName = 'initialStepTight',
),
) #end of vpset
), #end of vpset
vertices = cms.InputTag("pixelVertices")
) #end of clone

# Final sequence
Expand Down
21 changes: 8 additions & 13 deletions RecoTracker/IterativeTracking/python/RunI_LowPtTripletStep_cff.py
Expand Up @@ -40,31 +40,25 @@

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
minimumNumberOfHits = 3,
minPt = 0.075
)

from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
# Composite filter
lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
)

import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
ComponentName = cms.string('lowPtTripletStepChi2Est'),
nSigma = cms.double(3.0),
MaxChi2 = cms.double(9.0)
MaxChi2 = cms.double(9.0),
clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone'))
)

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
MeasurementTrackerName = '',
trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
maxCand = 4,
maxCand = 3,
estimator = cms.string('lowPtTripletStepChi2Est'),
maxDPhiForLooperReconstruction = cms.double(2.0),
# 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
Expand Down Expand Up @@ -97,7 +91,7 @@
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
fractionShared = cms.double(0.16),
fractionShared = cms.double(0.19),
allowSharedFirstHit = cms.bool(True)
)
lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
Expand All @@ -106,7 +100,7 @@
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src='lowPtTripletStepTracks',
useAnyMVA = cms.bool(True),
useAnyMVA = cms.bool(False),
GBRForestLabel = cms.string('MVASelectorIter1'),
trackSelectors= cms.VPSet(
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
Expand All @@ -120,7 +114,8 @@
name = 'lowPtTripletStep',
preFilterName = 'lowPtTripletStepTight',
),
) #end of vpset
),
vertices = cms.InputTag("pixelVertices")#end of vpset
) #end of clone

# Final sequence
Expand Down

0 comments on commit 39d862f

Please sign in to comment.