Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-05-23 22:25:58

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 RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0055 from RecoTracker.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
0056 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0057 initialStepHitTriplets = _pixelTripletHLTEDProducer.clone(
0058     doublets              = 'initialStepHitDoublets',
0059     produceSeedingHitSets = True,
0060     SeedComparitorPSet = RecoTracker.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 RecoTracker.PixelSeeding.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 RecoTracker.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
0170 initialStepTrajectoryFilterShape = RecoTracker.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.GroupedCkfTrajectoryBuilderIterativeDefault.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.ckfTrackCandidatesIterativeDefault.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.TrackProducerIterativeDefault_cfi
0272 initialStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.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,
0289     TkFilterParameters = dict(
0290         trackQuality = 'any',
0291         maxNumTracksThreshold = 2**31-1
0292     ) 
0293 )
0294 
0295 # we need a replacment for the firstStepPrimaryVerticesUnsorted
0296 # that includes tracker information of signal and pile up
0297 # after mixing there is no such thing as initialStepTracks,
0298 # so we replace the input collection for firstStepPrimaryVerticesUnsorted with generalTracks
0299 firstStepPrimaryVerticesBeforeMixing =  firstStepPrimaryVerticesUnsorted.clone()
0300 fastSim.toModify(firstStepPrimaryVerticesUnsorted, TrackLabel = 'generalTracks')
0301 
0302 
0303 from RecoJets.JetProducers.TracksForJets_cff import trackRefsForJets
0304 initialStepTrackRefsForJets = trackRefsForJets.clone(
0305     src = 'initialStepTracks'
0306 )
0307 fastSim.toModify(initialStepTrackRefsForJets, src = 'generalTracks')
0308 from RecoJets.JetProducers.caloJetsForTrk_cff import *
0309 from CommonTools.RecoAlgos.sortedPrimaryVertices_cfi import sortedPrimaryVertices as _sortedPrimaryVertices
0310 firstStepPrimaryVertices = _sortedPrimaryVertices.clone(
0311     vertices  = 'firstStepPrimaryVerticesUnsorted',
0312     particles = 'initialStepTrackRefsForJets',
0313 )
0314 
0315 
0316 # Final selection
0317 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0318 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
0319 
0320 initialStepClassifier1 = TrackMVAClassifierPrompt.clone(
0321     src         = 'initialStepTracks',
0322     mva         = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
0323     qualityCuts = [-0.9,-0.8,-0.7]
0324 )
0325 fastSim.toModify(initialStepClassifier1,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0326 
0327 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepClassifier1
0328 from RecoTracker.IterativeTracking.LowPtTripletStep_cff import lowPtTripletStep
0329 initialStepClassifier2 = detachedTripletStepClassifier1.clone(
0330     src = 'initialStepTracks'
0331 )
0332 fastSim.toModify(initialStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0333 initialStepClassifier3 = lowPtTripletStep.clone(
0334     src = 'initialStepTracks'
0335 )
0336 fastSim.toModify(initialStepClassifier3,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0337 
0338 from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
0339 initialStep = ClassifierMerger.clone(
0340     inputClassifiers=['initialStepClassifier1','initialStepClassifier2','initialStepClassifier3']
0341 )
0342 trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
0343      mva         = dict(GBRForestLabel = 'MVASelectorInitialStep_Phase1'),
0344      qualityCuts = [-0.95,-0.85,-0.75]
0345 ))
0346 pp_on_AA.toModify(initialStep, 
0347         mva         = dict(GBRForestLabel = 'HIMVASelectorInitialStep_Phase1'),
0348         qualityCuts = [-0.9, -0.5, 0.2],
0349 )
0350 
0351 from RecoTracker.FinalTrackSelectors.trackTfClassifier_cfi import *
0352 from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import *
0353 from RecoTracker.FinalTrackSelectors.trackSelectionTf_CKF_cfi import *
0354 trackdnn.toReplaceWith(initialStep, trackTfClassifier.clone(
0355         src         = 'initialStepTracks',
0356         qualityCuts = qualityCutDictionary.InitialStep.value()
0357 ))
0358 
0359 (trackdnn & fastSim).toModify(initialStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0360 
0361 (pp_on_AA & trackdnn).toModify(initialStep, qualityCuts = [0.35, 0.69, 0.88] )
0362 
0363 # For LowPU and Phase2PU140
0364 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0365 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0366     src = 'initialStepTracks',
0367     useAnyMVA = cms.bool(False),
0368     GBRForestLabel = cms.string('MVASelectorIter0'),
0369     trackSelectors = [
0370         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0371             name = 'initialStepLoose',
0372         ), #end of pset
0373         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0374             name = 'initialStepTight',
0375             preFilterName = 'initialStepLoose',
0376         ),
0377         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0378             name = 'QualityMasks',
0379             preFilterName = 'initialStepTight',
0380         ),
0381     ] #end of vpset
0382 ) #end of clone
0383 trackingPhase2PU140.toModify(initialStepSelector,
0384     useAnyMVA = None,
0385     GBRForestLabel = None,
0386     trackSelectors= cms.VPSet(
0387         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0388             name = 'initialStepLoose',
0389             chi2n_par = 2.0,
0390             res_par = ( 0.003, 0.002 ),
0391             minNumberLayers = 3,
0392             maxNumberLostLayers = 3,
0393             minNumber3DLayers = 3,
0394             d0_par1 = ( 0.8, 4.0 ),
0395             dz_par1 = ( 0.9, 4.0 ),
0396             d0_par2 = ( 0.6, 4.0 ),
0397             dz_par2 = ( 0.8, 4.0 )
0398             ), #end of pset
0399         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0400             name = 'initialStepTight',
0401             preFilterName = 'initialStepLoose',
0402             chi2n_par = 1.4,
0403             res_par = ( 0.003, 0.002 ),
0404             minNumberLayers = 3,
0405             maxNumberLostLayers = 2,
0406             minNumber3DLayers = 3,
0407             d0_par1 = ( 0.7, 4.0 ),
0408             dz_par1 = ( 0.8, 4.0 ),
0409             d0_par2 = ( 0.5, 4.0 ),
0410             dz_par2 = ( 0.7, 4.0 )
0411             ),
0412         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0413             name = 'initialStep',
0414             preFilterName = 'initialStepTight',
0415             min_eta = -4.1,
0416             max_eta = 4.1,            
0417             chi2n_par = 1.2,
0418             res_par = ( 0.003, 0.001 ),
0419             minNumberLayers = 3,
0420             maxNumberLostLayers = 2,
0421             minNumber3DLayers = 3,
0422             d0_par1 = ( 0.6, 4.0 ),
0423             dz_par1 = ( 0.7, 4.0 ),
0424             d0_par2 = ( 0.45, 4.0 ),
0425             dz_par2 = ( 0.55, 4.0 )
0426             ),
0427         ), #end of vpset
0428 ) #end of clone
0429 
0430 
0431 
0432 # Final sequence
0433 InitialStepTask = cms.Task(initialStepSeedLayers,
0434                            initialStepTrackingRegions,
0435                            initialStepHitDoublets,
0436                            initialStepHitTriplets,
0437                            initialStepSeeds,
0438                            initialStepTrackCandidates,
0439                            initialStepTracks,
0440                            firstStepPrimaryVerticesUnsorted,
0441                            initialStepTrackRefsForJets,
0442                            firstStepPrimaryVertices,
0443                            initialStepClassifier1,initialStepClassifier2,initialStepClassifier3,
0444                            initialStep,caloJetsForTrkTask)
0445 InitialStep = cms.Sequence(InitialStepTask)
0446 
0447 from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
0448 _InitialStepTask_trackingMkFitCommon = InitialStepTask.copy()
0449 _InitialStepTask_trackingMkFitCommon.add(mkFitSiPixelHits, mkFitEventOfHits, mkFitGeometryESProducer)
0450 trackingMkFitCommon.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFitCommon)
0451 
0452 _InitialStepTask_trackingMkFit = InitialStepTask.copy()
0453 _InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitSeeds, initialStepTrackCandidatesMkFit, initialStepTrackCandidatesMkFitConfig)
0454 trackingMkFitInitialStep.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFit)
0455 
0456 _InitialStepTask_LowPU = InitialStepTask.copyAndExclude([firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets, caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0457 _InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
0458 trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
0459 
0460 _InitialStepTask_Phase1 = InitialStepTask.copyAndExclude([initialStepClassifier2, initialStepClassifier3])
0461 _InitialStepTask_Phase1.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0462 trackingPhase1.toReplaceWith(InitialStepTask, _InitialStepTask_Phase1)
0463 
0464 _InitialStepTask_trackingPhase2 = InitialStepTask.copyAndExclude([initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0465 _InitialStepTask_trackingPhase2.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0466 _InitialStepTask_trackingPhase2.replace(initialStep, initialStepSelector)
0467 trackingPhase2PU140.toReplaceWith(InitialStepTask, _InitialStepTask_trackingPhase2)
0468 
0469 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0470 _InitialStepTask_fastSim = cms.Task(initialStepTrackingRegions
0471                            ,initialStepSeeds
0472                            ,initialStepTrackCandidates
0473                            ,initialStepTracks
0474                            ,firstStepPrimaryVerticesBeforeMixing
0475                            ,initialStepClassifier1,initialStepClassifier2,initialStepClassifier3
0476                            ,initialStep
0477                            )
0478 fastSim.toReplaceWith(InitialStepTask, _InitialStepTask_fastSim)