Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-04-22 22:55:56

0001 import FWCore.ParameterSet.Config as cms
0002 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016 as _tracker_apv_vfp30_2016
0003 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0004 
0005 #for dnn classifier
0006 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
0007 from RecoTracker.IterativeTracking.dnnQualityCuts import qualityCutDictionary
0008 
0009 # for no-loopers
0010 from Configuration.ProcessModifiers.trackingNoLoopers_cff import trackingNoLoopers
0011 
0012 ### STEP 0 ###
0013 
0014 # hit building
0015 from RecoLocalTracker.SiPixelRecHits.PixelCPEESProducers_cff import *
0016 from RecoTracker.TransientTrackingRecHit.TTRHBuilders_cff import *
0017 
0018 # SEEDING LAYERS
0019 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
0020 import RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi
0021 initialStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
0022 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0023 trackingPhase1.toModify(initialStepSeedLayers,
0024     layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
0025 )
0026 trackingPhase2PU140.toModify(initialStepSeedLayers,
0027     layerList = RecoTracker.TkSeedingLayers.PixelLayerQuadruplets_cfi.PixelLayerQuadruplets.layerList.value()
0028 )
0029 
0030 # TrackingRegion
0031 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
0032 initialStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
0033     ptMin        = 0.6,
0034     originRadius = 0.02,
0035     nSigmaZ      = 4.0
0036 ))
0037 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
0038 trackingPhase1.toModify(initialStepTrackingRegions, RegionPSet = dict(ptMin = 0.5))
0039 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
0040 highBetaStar_2018.toModify(initialStepTrackingRegions,RegionPSet = dict(
0041      ptMin        = 0.05,
0042      originRadius = 0.2
0043 ))
0044 trackingPhase2PU140.toModify(initialStepTrackingRegions, RegionPSet = dict(ptMin = 0.6,originRadius = 0.03))
0045 
0046 # seeding
0047 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0048 initialStepHitDoublets = _hitPairEDProducer.clone(
0049     seedingLayers   = 'initialStepSeedLayers',
0050     trackingRegions = 'initialStepTrackingRegions',
0051     maxElement      = 50000000,
0052     produceIntermediateHitDoublets = True,
0053 )
0054 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0055 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0056 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0057 initialStepHitTriplets = _pixelTripletHLTEDProducer.clone(
0058     doublets              = 'initialStepHitDoublets',
0059     produceSeedingHitSets = True,
0060     SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
0061 )
0062 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0063 initialStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0064     seedingHitSets = 'initialStepHitTriplets',
0065 )
0066 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi import caHitQuadrupletEDProducer as _caHitQuadrupletEDProducer
0067 _initialStepCAHitQuadruplets = _caHitQuadrupletEDProducer.clone(
0068     doublets = 'initialStepHitDoublets',
0069     extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
0070     SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet,
0071     maxChi2 = dict(
0072         pt1    = 0.7, pt2    = 2,
0073         value1 = 200, value2 = 50,
0074     ),
0075     useBendingCorrection = True,
0076     fitFastCircle        = True,
0077     fitFastCircleChi2Cut = True,
0078     CAThetaCut           = 0.0012,
0079     CAPhiCut             = 0.2,
0080 )
0081 highBetaStar_2018.toModify(_initialStepCAHitQuadruplets,
0082     CAThetaCut = 0.0024,
0083     CAPhiCut   = 0.4
0084 )
0085 initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone()
0086 
0087 trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
0088 
0089 trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
0090 trackingPhase2PU140.toModify(initialStepHitQuadruplets,
0091     CAThetaCut = 0.0010,
0092     CAPhiCut   = 0.175,
0093 )
0094 
0095 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
0096 _initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
0097     seedingHitSets     = 'initialStepHitTriplets',
0098     SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
0099         ComponentName = 'PixelClusterShapeSeedComparitor',
0100         FilterAtHelixStage = cms.bool(False),
0101         FilterPixelHits = cms.bool(True),
0102         FilterStripHits = cms.bool(False),
0103         ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
0104         ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
0105     ),
0106 )
0107 trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
0108         seedingHitSets = 'initialStepHitQuadruplets'
0109 ))
0110 trackingPhase2PU140.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
0111         seedingHitSets = 'initialStepHitQuadruplets'
0112 ))
0113 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
0114 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
0115 _fastSim_initialStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
0116     trackingRegions = 'initialStepTrackingRegions',
0117     seedFinderSelector = dict( pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitTriplets).clone(SeedComparitorPSet = dict(ComponentName = 'none')),
0118                                layerList = initialStepSeedLayers.layerList.value()
0119                              )
0120 )
0121 #new for phase1
0122 trackingPhase1.toModify(_fastSim_initialStepSeeds, seedFinderSelector = dict(
0123         pixelTripletGeneratorFactory = None,
0124         CAHitQuadrupletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitQuadruplets).clone(SeedComparitorPSet = dict(ComponentName = 'none')),
0125         #new parameters required for phase1 seeding
0126         BPix = dict(
0127             TTRHBuilder = 'WithoutRefit',
0128             HitProducer = 'TrackingRecHitProducer',
0129             ),
0130         FPix = dict(
0131             TTRHBuilder = 'WithoutRefit',
0132             HitProducer = 'TrackingRecHitProducer',
0133             ),
0134         layerPairs = initialStepHitDoublets.layerPairs.value()
0135         )
0136 )
0137 
0138 fastSim.toReplaceWith(initialStepSeeds,_fastSim_initialStepSeeds)
0139 
0140 
0141 # building
0142 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0143 _initialStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0144     minimumNumberOfHits = 3,
0145     minPt               = 0.2,
0146 )
0147 initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
0148     maxCCCLostHits = 0,
0149     minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
0150 )
0151 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
0152 _tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
0153 
0154 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
0155 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0156 (pp_on_XeXe_2017 | pp_on_AA).toModify(initialStepTrajectoryFilterBase, minPt=0.6)
0157 highBetaStar_2018.toModify(initialStepTrajectoryFilterBase, minPt = 0.05)
0158 
0159 initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
0160     minimumNumberOfHits = 4,
0161     seedExtension       = 1,
0162     strictSeedExtension = True, # don't allow inactive
0163     pixelSeedExtension  = True,
0164 )
0165 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
0166 trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
0167 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
0168 
0169 import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
0170 initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
0171 initialStepTrajectoryFilter = cms.PSet(
0172     ComponentType = cms.string('CompositeTrajectoryFilter'),
0173     filters = cms.VPSet(
0174         cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterBase')),
0175     #    cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape'))
0176     ),
0177 )
0178 
0179 trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0180     minimumNumberOfHits = 3,
0181     minPt               = 0.2
0182 ))
0183 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
0184 initialStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
0185     ComponentName = 'initialStepChi2Est',
0186     nSigma        = 3.0,
0187     MaxChi2       = 30.0,
0188     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose')),
0189     pTChargeCutThreshold = 15.
0190 )
0191 _tracker_apv_vfp30_2016.toModify(initialStepChi2Est,
0192     clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
0193 )
0194 trackingPhase2PU140.toModify(initialStepChi2Est,
0195     clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutNone'),
0196 )
0197 
0198 
0199 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0200 initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
0201     trajectoryFilter = dict(refToPSet_ = 'initialStepTrajectoryFilter'),
0202     alwaysUseInvalidHits = True,
0203     maxCand = 3,
0204     estimator = 'initialStepChi2Est',
0205     maxDPhiForLooperReconstruction = 2.0,
0206     maxPtForLooperReconstruction = 0.7,
0207 )
0208 trackingNoLoopers.toModify(initialStepTrajectoryBuilder,
0209                            maxPtForLooperReconstruction = 0.0)
0210 trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand = 5)
0211 trackingPhase1.toModify(initialStepTrajectoryBuilder,
0212     minNrOfHitsForRebuild = 1,
0213     keepOriginalIfRebuildFails = True,
0214 )
0215 trackingPhase2PU140.toModify(initialStepTrajectoryBuilder,
0216     minNrOfHitsForRebuild = 1,
0217     keepOriginalIfRebuildFails = True,
0218 )
0219 
0220 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0221 # Give handle for CKF for HI
0222 _initialStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
0223     src = 'initialStepSeeds',
0224     ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
0225     numHitsForSeedCleaner = 50,
0226     onlyPixelHitsForSeedCleaner = True,
0227     TrajectoryBuilderPSet = dict(refToPSet_ = 'initialStepTrajectoryBuilder'),
0228     doSeedingRegionRebuilding = True,
0229     useHitsSplitting = True,
0230 )
0231 initialStepTrackCandidates = _initialStepTrackCandidatesCkf.clone()
0232 
0233 from Configuration.ProcessModifiers.trackingMkFitInitialStep_cff import trackingMkFitInitialStep
0234 from RecoTracker.MkFit.mkFitGeometryESProducer_cfi import mkFitGeometryESProducer
0235 import RecoTracker.MkFit.mkFitSiPixelHitConverter_cfi as mkFitSiPixelHitConverter_cfi
0236 import RecoTracker.MkFit.mkFitSiStripHitConverter_cfi as mkFitSiStripHitConverter_cfi
0237 import RecoTracker.MkFit.mkFitEventOfHitsProducer_cfi as mkFitEventOfHitsProducer_cfi
0238 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
0239 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
0240 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
0241 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
0242 mkFitSiPixelHits = mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone() # TODO: figure out better place for this module?
0243 mkFitEventOfHits = mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone() # TODO: figure out better place for this module?
0244 initialStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0245     seeds = 'initialStepSeeds',
0246 )
0247 initialStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0248     ComponentName = 'initialStepTrackCandidatesMkFitConfig',
0249     config = 'RecoTracker/MkFit/data/mkfit-phase1-initialStep.json',
0250 )
0251 initialStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0252     seeds = 'initialStepTrackCandidatesMkFitSeeds',
0253     config = ('', 'initialStepTrackCandidatesMkFitConfig'),
0254 )
0255 trackingMkFitInitialStep.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0256     seeds = 'initialStepSeeds',
0257     mkFitSeeds = 'initialStepTrackCandidatesMkFitSeeds',
0258     tracks = 'initialStepTrackCandidatesMkFit',
0259 ))
0260 (pp_on_XeXe_2017 | pp_on_AA).toModify(initialStepTrackCandidatesMkFitConfig, minPt=0.6)
0261 
0262 import FastSimulation.Tracking.TrackCandidateProducer_cfi
0263 fastSim.toReplaceWith(initialStepTrackCandidates,
0264                       FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
0265         src = 'initialStepSeeds',
0266         MinNumberOfCrossedLayers = 3
0267 ))
0268 
0269 
0270 # fitting
0271 import RecoTracker.TrackProducer.TrackProducer_cfi
0272 initialStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0273     src           = 'initialStepTrackCandidates',
0274     AlgorithmName = 'initialStep',
0275     Fitter        = 'FlexibleKFFittingSmoother'
0276 )
0277 fastSim.toModify(initialStepTracks, TTRHBuilder = 'WithoutRefit')
0278 
0279 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
0280 phase2_timing_layer.toModify(initialStepTracks, TrajectoryInEvent = True)
0281 
0282 #vertices
0283 from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import offlinePrimaryVertices as _offlinePrimaryVertices
0284 firstStepPrimaryVerticesUnsorted = _offlinePrimaryVertices.clone(
0285     TrackLabel = 'initialStepTracks',
0286     vertexCollections = [_offlinePrimaryVertices.vertexCollections[0].clone()]
0287 )
0288 (pp_on_XeXe_2017 | pp_on_AA).toModify(firstStepPrimaryVerticesUnsorted, TkFilterParameters = dict(trackQuality = 'any'))
0289 
0290 # we need a replacment for the firstStepPrimaryVerticesUnsorted
0291 # that includes tracker information of signal and pile up
0292 # after mixing there is no such thing as initialStepTracks,
0293 # so we replace the input collection for firstStepPrimaryVerticesUnsorted with generalTracks
0294 firstStepPrimaryVerticesBeforeMixing =  firstStepPrimaryVerticesUnsorted.clone()
0295 fastSim.toModify(firstStepPrimaryVerticesUnsorted, TrackLabel = 'generalTracks')
0296 
0297 
0298 from RecoJets.JetProducers.TracksForJets_cff import trackRefsForJets
0299 initialStepTrackRefsForJets = trackRefsForJets.clone(
0300     src = 'initialStepTracks'
0301 )
0302 fastSim.toModify(initialStepTrackRefsForJets, src = 'generalTracks')
0303 from RecoJets.JetProducers.caloJetsForTrk_cff import *
0304 from CommonTools.RecoAlgos.sortedPrimaryVertices_cfi import sortedPrimaryVertices as _sortedPrimaryVertices
0305 firstStepPrimaryVertices = _sortedPrimaryVertices.clone(
0306     vertices  = 'firstStepPrimaryVerticesUnsorted',
0307     particles = 'initialStepTrackRefsForJets',
0308 )
0309 
0310 
0311 # Final selection
0312 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0313 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
0314 
0315 initialStepClassifier1 = TrackMVAClassifierPrompt.clone(
0316     src         = 'initialStepTracks',
0317     mva         = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
0318     qualityCuts = [-0.9,-0.8,-0.7]
0319 )
0320 fastSim.toModify(initialStepClassifier1,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0321 
0322 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepClassifier1
0323 from RecoTracker.IterativeTracking.LowPtTripletStep_cff import lowPtTripletStep
0324 initialStepClassifier2 = detachedTripletStepClassifier1.clone(
0325     src = 'initialStepTracks'
0326 )
0327 fastSim.toModify(initialStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0328 initialStepClassifier3 = lowPtTripletStep.clone(
0329     src = 'initialStepTracks'
0330 )
0331 fastSim.toModify(initialStepClassifier3,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0332 
0333 from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
0334 initialStep = ClassifierMerger.clone(
0335     inputClassifiers=['initialStepClassifier1','initialStepClassifier2','initialStepClassifier3']
0336 )
0337 trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
0338      mva         = dict(GBRForestLabel = 'MVASelectorInitialStep_Phase1'),
0339      qualityCuts = [-0.95,-0.85,-0.75]
0340 ))
0341 
0342 from RecoTracker.FinalTrackSelectors.trackTfClassifier_cfi import *
0343 from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import *
0344 from RecoTracker.FinalTrackSelectors.trackSelectionTf_CKF_cfi import *
0345 trackdnn.toReplaceWith(initialStep, trackTfClassifier.clone(
0346         src         = 'initialStepTracks',
0347         qualityCuts = qualityCutDictionary.InitialStep.value()
0348 ))
0349 
0350 (trackdnn & fastSim).toModify(initialStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0351 
0352 
0353 pp_on_AA.toModify(initialStep, 
0354         mva         = dict(GBRForestLabel = 'HIMVASelectorInitialStep_Phase1'),
0355         qualityCuts = [-0.9, -0.5, 0.2],
0356 )
0357 
0358 # For LowPU and Phase2PU140
0359 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0360 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0361     src = 'initialStepTracks',
0362     useAnyMVA = cms.bool(False),
0363     GBRForestLabel = cms.string('MVASelectorIter0'),
0364     trackSelectors = [
0365         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0366             name = 'initialStepLoose',
0367         ), #end of pset
0368         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0369             name = 'initialStepTight',
0370             preFilterName = 'initialStepLoose',
0371         ),
0372         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0373             name = 'QualityMasks',
0374             preFilterName = 'initialStepTight',
0375         ),
0376     ] #end of vpset
0377 ) #end of clone
0378 trackingPhase2PU140.toModify(initialStepSelector,
0379     useAnyMVA = None,
0380     GBRForestLabel = None,
0381     trackSelectors= cms.VPSet(
0382         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0383             name = 'initialStepLoose',
0384             chi2n_par = 2.0,
0385             res_par = ( 0.003, 0.002 ),
0386             minNumberLayers = 3,
0387             maxNumberLostLayers = 3,
0388             minNumber3DLayers = 3,
0389             d0_par1 = ( 0.8, 4.0 ),
0390             dz_par1 = ( 0.9, 4.0 ),
0391             d0_par2 = ( 0.6, 4.0 ),
0392             dz_par2 = ( 0.8, 4.0 )
0393             ), #end of pset
0394         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0395             name = 'initialStepTight',
0396             preFilterName = 'initialStepLoose',
0397             chi2n_par = 1.4,
0398             res_par = ( 0.003, 0.002 ),
0399             minNumberLayers = 3,
0400             maxNumberLostLayers = 2,
0401             minNumber3DLayers = 3,
0402             d0_par1 = ( 0.7, 4.0 ),
0403             dz_par1 = ( 0.8, 4.0 ),
0404             d0_par2 = ( 0.5, 4.0 ),
0405             dz_par2 = ( 0.7, 4.0 )
0406             ),
0407         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0408             name = 'initialStep',
0409             preFilterName = 'initialStepTight',
0410             min_eta = -4.1,
0411             max_eta = 4.1,            
0412             chi2n_par = 1.2,
0413             res_par = ( 0.003, 0.001 ),
0414             minNumberLayers = 3,
0415             maxNumberLostLayers = 2,
0416             minNumber3DLayers = 3,
0417             d0_par1 = ( 0.6, 4.0 ),
0418             dz_par1 = ( 0.7, 4.0 ),
0419             d0_par2 = ( 0.45, 4.0 ),
0420             dz_par2 = ( 0.55, 4.0 )
0421             ),
0422         ), #end of vpset
0423 ) #end of clone
0424 
0425 
0426 
0427 # Final sequence
0428 InitialStepTask = cms.Task(initialStepSeedLayers,
0429                            initialStepTrackingRegions,
0430                            initialStepHitDoublets,
0431                            initialStepHitTriplets,
0432                            initialStepSeeds,
0433                            initialStepTrackCandidates,
0434                            initialStepTracks,
0435                            firstStepPrimaryVerticesUnsorted,
0436                            initialStepTrackRefsForJets,
0437                            firstStepPrimaryVertices,
0438                            initialStepClassifier1,initialStepClassifier2,initialStepClassifier3,
0439                            initialStep,caloJetsForTrkTask)
0440 InitialStep = cms.Sequence(InitialStepTask)
0441 
0442 from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
0443 _InitialStepTask_trackingMkFitCommon = InitialStepTask.copy()
0444 _InitialStepTask_trackingMkFitCommon.add(mkFitSiPixelHits, mkFitEventOfHits, mkFitGeometryESProducer)
0445 trackingMkFitCommon.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFitCommon)
0446 
0447 _InitialStepTask_trackingMkFit = InitialStepTask.copy()
0448 _InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitSeeds, initialStepTrackCandidatesMkFit, initialStepTrackCandidatesMkFitConfig)
0449 trackingMkFitInitialStep.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFit)
0450 
0451 _InitialStepTask_LowPU = InitialStepTask.copyAndExclude([firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets, caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0452 _InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
0453 trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
0454 
0455 _InitialStepTask_Phase1 = InitialStepTask.copyAndExclude([initialStepClassifier2, initialStepClassifier3])
0456 _InitialStepTask_Phase1.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0457 trackingPhase1.toReplaceWith(InitialStepTask, _InitialStepTask_Phase1)
0458 
0459 _InitialStepTask_trackingPhase2 = InitialStepTask.copyAndExclude([initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0460 _InitialStepTask_trackingPhase2.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0461 _InitialStepTask_trackingPhase2.replace(initialStep, initialStepSelector)
0462 trackingPhase2PU140.toReplaceWith(InitialStepTask, _InitialStepTask_trackingPhase2)
0463 
0464 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0465 _InitialStepTask_fastSim = cms.Task(initialStepTrackingRegions
0466                            ,initialStepSeeds
0467                            ,initialStepTrackCandidates
0468                            ,initialStepTracks
0469                            ,firstStepPrimaryVerticesBeforeMixing
0470                            ,initialStepClassifier1,initialStepClassifier2,initialStepClassifier3
0471                            ,initialStep
0472                            )
0473 fastSim.toReplaceWith(InitialStepTask, _InitialStepTask_fastSim)