Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-25 02:14:10

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.mkFitPhase2HitConverter_cfi as mkFitPhase2HitConverter_cfi
0238 import RecoTracker.MkFit.mkFitEventOfHitsProducer_cfi as mkFitEventOfHitsProducer_cfi
0239 import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
0240 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
0241 import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
0242 import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
0243 mkFitSiPixelHits = mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone() # TODO: figure out better place for this module?
0244 mkFitSiPhase2Hits = mkFitPhase2HitConverter_cfi.mkFitPhase2HitConverter.clone()
0245 mkFitEventOfHits = mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone() # TODO: figure out better place for this module?
0246 initialStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
0247     seeds = 'initialStepSeeds',
0248 )
0249 initialStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
0250     ComponentName = 'initialStepTrackCandidatesMkFitConfig',
0251     config = 'RecoTracker/MkFit/data/mkfit-phase1-initialStep.json',
0252 )
0253 initialStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
0254     seeds = 'initialStepTrackCandidatesMkFitSeeds',
0255     config = ('', 'initialStepTrackCandidatesMkFitConfig'),
0256 )
0257 trackingMkFitInitialStep.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
0258     seeds = 'initialStepSeeds',
0259     mkFitSeeds = 'initialStepTrackCandidatesMkFitSeeds',
0260     tracks = 'initialStepTrackCandidatesMkFit',
0261 ))
0262 (pp_on_XeXe_2017 | pp_on_AA).toModify(initialStepTrackCandidatesMkFitConfig, minPt=0.6)
0263 
0264 import FastSimulation.Tracking.TrackCandidateProducer_cfi
0265 fastSim.toReplaceWith(initialStepTrackCandidates,
0266                       FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
0267         src = 'initialStepSeeds',
0268         MinNumberOfCrossedLayers = 3
0269 ))
0270 
0271 
0272 # fitting
0273 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
0274 initialStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducerIterativeDefault.clone(
0275     src           = 'initialStepTrackCandidates',
0276     AlgorithmName = 'initialStep',
0277     Fitter        = 'FlexibleKFFittingSmoother'
0278 )
0279 fastSim.toModify(initialStepTracks, TTRHBuilder = 'WithoutRefit')
0280 
0281 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
0282 phase2_timing_layer.toModify(initialStepTracks, TrajectoryInEvent = True)
0283 
0284 #vertices
0285 from RecoVertex.PrimaryVertexProducer.OfflinePrimaryVertices_cfi import offlinePrimaryVertices as _offlinePrimaryVertices
0286 firstStepPrimaryVerticesUnsorted = _offlinePrimaryVertices.clone(
0287     TrackLabel = 'initialStepTracks',
0288     vertexCollections = [_offlinePrimaryVertices.vertexCollections[0].clone()]
0289 )
0290 (pp_on_XeXe_2017 | pp_on_AA).toModify(firstStepPrimaryVerticesUnsorted,
0291     TkFilterParameters = dict(
0292         trackQuality = 'any',
0293         maxNumTracksThreshold = 2**31-1
0294     ) 
0295 )
0296 
0297 # we need a replacment for the firstStepPrimaryVerticesUnsorted
0298 # that includes tracker information of signal and pile up
0299 # after mixing there is no such thing as initialStepTracks,
0300 # so we replace the input collection for firstStepPrimaryVerticesUnsorted with generalTracks
0301 firstStepPrimaryVerticesBeforeMixing =  firstStepPrimaryVerticesUnsorted.clone()
0302 fastSim.toModify(firstStepPrimaryVerticesUnsorted, TrackLabel = 'generalTracks')
0303 
0304 
0305 from RecoJets.JetProducers.TracksForJets_cff import trackRefsForJets
0306 initialStepTrackRefsForJets = trackRefsForJets.clone(
0307     src = 'initialStepTracks'
0308 )
0309 fastSim.toModify(initialStepTrackRefsForJets, src = 'generalTracks')
0310 from RecoJets.JetProducers.caloJetsForTrk_cff import *
0311 from CommonTools.RecoAlgos.sortedPrimaryVertices_cfi import sortedPrimaryVertices as _sortedPrimaryVertices
0312 firstStepPrimaryVertices = _sortedPrimaryVertices.clone(
0313     vertices  = 'firstStepPrimaryVerticesUnsorted',
0314     particles = 'initialStepTrackRefsForJets',
0315 )
0316 
0317 
0318 # Final selection
0319 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
0320 from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
0321 
0322 initialStepClassifier1 = TrackMVAClassifierPrompt.clone(
0323     src         = 'initialStepTracks',
0324     mva         = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
0325     qualityCuts = [-0.9,-0.8,-0.7]
0326 )
0327 fastSim.toModify(initialStepClassifier1,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0328 
0329 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepClassifier1
0330 from RecoTracker.IterativeTracking.LowPtTripletStep_cff import lowPtTripletStep
0331 initialStepClassifier2 = detachedTripletStepClassifier1.clone(
0332     src = 'initialStepTracks'
0333 )
0334 fastSim.toModify(initialStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0335 initialStepClassifier3 = lowPtTripletStep.clone(
0336     src = 'initialStepTracks'
0337 )
0338 fastSim.toModify(initialStepClassifier3,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0339 
0340 from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
0341 initialStep = ClassifierMerger.clone(
0342     inputClassifiers=['initialStepClassifier1','initialStepClassifier2','initialStepClassifier3']
0343 )
0344 trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
0345      mva         = dict(GBRForestLabel = 'MVASelectorInitialStep_Phase1'),
0346      qualityCuts = [-0.95,-0.85,-0.75]
0347 ))
0348 pp_on_AA.toModify(initialStep, 
0349         mva         = dict(GBRForestLabel = 'HIMVASelectorInitialStep_Phase1'),
0350         qualityCuts = [-0.9, -0.5, 0.2],
0351 )
0352 
0353 from RecoTracker.FinalTrackSelectors.trackTfClassifier_cfi import *
0354 from RecoTracker.FinalTrackSelectors.trackSelectionTf_cfi import *
0355 from RecoTracker.FinalTrackSelectors.trackSelectionTf_CKF_cfi import *
0356 trackdnn.toReplaceWith(initialStep, trackTfClassifier.clone(
0357         src         = 'initialStepTracks',
0358         qualityCuts = qualityCutDictionary.InitialStep.value()
0359 ))
0360 
0361 (trackdnn & fastSim).toModify(initialStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
0362 
0363 (pp_on_AA & trackdnn).toModify(initialStep, qualityCuts = [0.35, 0.69, 0.88] )
0364 
0365 # For LowPU and Phase2PU140
0366 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0367 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0368     src = 'initialStepTracks',
0369     useAnyMVA = cms.bool(False),
0370     GBRForestLabel = cms.string('MVASelectorIter0'),
0371     trackSelectors = [
0372         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0373             name = 'initialStepLoose',
0374         ), #end of pset
0375         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0376             name = 'initialStepTight',
0377             preFilterName = 'initialStepLoose',
0378         ),
0379         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0380             name = 'QualityMasks',
0381             preFilterName = 'initialStepTight',
0382         ),
0383     ] #end of vpset
0384 ) #end of clone
0385 trackingPhase2PU140.toModify(initialStepSelector,
0386     useAnyMVA = None,
0387     GBRForestLabel = None,
0388     trackSelectors= cms.VPSet(
0389         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0390             name = 'initialStepLoose',
0391             chi2n_par = 2.0,
0392             res_par = ( 0.003, 0.002 ),
0393             minNumberLayers = 3,
0394             maxNumberLostLayers = 3,
0395             minNumber3DLayers = 3,
0396             d0_par1 = ( 0.8, 4.0 ),
0397             dz_par1 = ( 0.9, 4.0 ),
0398             d0_par2 = ( 0.6, 4.0 ),
0399             dz_par2 = ( 0.8, 4.0 )
0400             ), #end of pset
0401         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0402             name = 'initialStepTight',
0403             preFilterName = 'initialStepLoose',
0404             chi2n_par = 1.4,
0405             res_par = ( 0.003, 0.002 ),
0406             minNumberLayers = 3,
0407             maxNumberLostLayers = 2,
0408             minNumber3DLayers = 3,
0409             d0_par1 = ( 0.7, 4.0 ),
0410             dz_par1 = ( 0.8, 4.0 ),
0411             d0_par2 = ( 0.5, 4.0 ),
0412             dz_par2 = ( 0.7, 4.0 )
0413             ),
0414         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0415             name = 'initialStep',
0416             preFilterName = 'initialStepTight',
0417             min_eta = -4.1,
0418             max_eta = 4.1,            
0419             chi2n_par = 1.2,
0420             res_par = ( 0.003, 0.001 ),
0421             minNumberLayers = 3,
0422             maxNumberLostLayers = 2,
0423             minNumber3DLayers = 3,
0424             d0_par1 = ( 0.6, 4.0 ),
0425             dz_par1 = ( 0.7, 4.0 ),
0426             d0_par2 = ( 0.45, 4.0 ),
0427             dz_par2 = ( 0.55, 4.0 )
0428             ),
0429         ), #end of vpset
0430 ) #end of clone
0431 
0432 
0433 
0434 # Final sequence
0435 InitialStepTask = cms.Task(initialStepSeedLayers,
0436                            initialStepTrackingRegions,
0437                            initialStepHitDoublets,
0438                            initialStepHitTriplets,
0439                            initialStepSeeds,
0440                            initialStepTrackCandidates,
0441                            initialStepTracks,
0442                            firstStepPrimaryVerticesUnsorted,
0443                            initialStepTrackRefsForJets,
0444                            firstStepPrimaryVertices,
0445                            initialStepClassifier1,initialStepClassifier2,initialStepClassifier3,
0446                            initialStep,caloJetsForTrkTask)
0447 InitialStep = cms.Sequence(InitialStepTask)
0448 
0449 from RecoLocalTracker.Phase2TrackerRecHits.Phase2TrackerRecHits_cfi import siPhase2RecHits
0450 from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
0451 _InitialStepTask_trackingMkFitCommon = InitialStepTask.copy()
0452 _InitialStepTask_trackingMkFitCommon_Phase2 = InitialStepTask.copy()
0453 _InitialStepTask_trackingMkFitCommon.add(mkFitSiPixelHits, mkFitEventOfHits, mkFitGeometryESProducer)
0454 _InitialStepTask_trackingMkFitCommon_Phase2.add(siPhase2RecHits, mkFitSiPixelHits, mkFitSiPhase2Hits, mkFitEventOfHits, mkFitGeometryESProducer)
0455 (trackingMkFitCommon & (~trackingPhase2PU140)).toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFitCommon)
0456 (trackingMkFitCommon & trackingPhase2PU140).toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFitCommon_Phase2)
0457 
0458 _InitialStepTask_trackingMkFit = InitialStepTask.copy()
0459 _InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitSeeds, initialStepTrackCandidatesMkFit, initialStepTrackCandidatesMkFitConfig)
0460 trackingMkFitInitialStep.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFit)
0461 
0462 _InitialStepTask_LowPU = InitialStepTask.copyAndExclude([firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets, caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0463 _InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
0464 trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
0465 
0466 _InitialStepTask_Phase1 = InitialStepTask.copyAndExclude([initialStepClassifier2, initialStepClassifier3])
0467 _InitialStepTask_Phase1.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0468 trackingPhase1.toReplaceWith(InitialStepTask, _InitialStepTask_Phase1)
0469 
0470 _InitialStepTask_trackingPhase2 = InitialStepTask.copyAndExclude([initialStepClassifier1, initialStepClassifier2, initialStepClassifier3])
0471 _InitialStepTask_trackingPhase2.replace(initialStepHitTriplets, initialStepHitQuadruplets)
0472 _InitialStepTask_trackingPhase2.replace(initialStep, initialStepSelector)
0473 trackingPhase2PU140.toReplaceWith(InitialStepTask, _InitialStepTask_trackingPhase2)
0474 (trackingMkFitCommon & trackingPhase2PU140).toModify(mkFitEventOfHits, stripHits=cms.InputTag('mkFitSiPhase2Hits'), useStripStripQualityDB=cms.bool(False))
0475 (trackingMkFitInitialStep & trackingPhase2PU140).toModify(initialStepTrackCandidatesMkFit, stripHits=cms.InputTag('mkFitSiPhase2Hits'))
0476 (trackingMkFitInitialStep & trackingPhase2PU140).toModify(initialStepTrackCandidates, mkFitStripHits=cms.InputTag('mkFitSiPhase2Hits'))
0477 (trackingMkFitInitialStep & trackingPhase2PU140).toModify(initialStepTrackCandidatesMkFitConfig, config='RecoTracker/MkFit/data/mkfit-phase2-initialStep.json')
0478 
0479 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0480 _InitialStepTask_fastSim = cms.Task(initialStepTrackingRegions
0481                            ,initialStepSeeds
0482                            ,initialStepTrackCandidates
0483                            ,initialStepTracks
0484                            ,firstStepPrimaryVerticesBeforeMixing
0485                            ,initialStepClassifier1,initialStepClassifier2,initialStepClassifier3
0486                            ,initialStep
0487                            )
0488 fastSim.toReplaceWith(InitialStepTask, _InitialStepTask_fastSim)