# CKFTrackCandidateMaker from RecoTracker.CkfPattern.CkfTrackCandidates_cff import * import RecoTracker.CkfPattern.CkfTrackCandidates_cfi electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone() electronCkfTrackCandidates.src = cms.InputTag('electronMergedSeeds') electronCkfTrackCandidates.TrajectoryBuilder = 'TrajectoryBuilderForElectrons' #electronCkfTrackCandidates.TrajectoryCleaner = 'TrajectoryCleanerBySharedHits' electronCkfTrackCandidates.NavigationSchool = 'SimpleNavigationSchool' electronCkfTrackCandidates.RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput' from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = cms.string('electronTrajectoryCleanerBySharedHits'), ValidHitBonus = cms.double(1000.0), MissingHitPenalty = cms.double(0.0) ) electronCkfTrackCandidates.TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits' # "backward" propagator for electrons from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import * # "forward" propagator for electrons from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import * # TrajectoryFilter
# TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi hiLowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( src="hiLowPtTripletStepTrackCandidates", AlgorithmName=cms.string("iter1"), Fitter=cms.string("FlexibleKFFittingSmoother"), ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits hiLowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName=cms.string("hiLowPtTripletStepTrajectoryCleanerBySharedHits"), fractionShared=cms.double(0.16), allowSharedFirstHit=cms.bool(True), ) hiLowPtTripletStepTrackCandidates.TrajectoryCleaner = "hiLowPtTripletStepTrajectoryCleanerBySharedHits" # Final selection import RecoHI.HiTracking.hiMultiTrackSelector_cfi hiLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone( src="hiLowPtTripletStepTracks", trackSelectors=cms.VPSet( RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(name="hiLowPtTripletStepLoose"), # end of pset RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone( name="hiLowPtTripletStepTight", preFilterName="hiLowPtTripletStepLoose" ), RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
# MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src=cms.InputTag('mixedTripletStepSeeds'), clustersToSkip=cms.InputTag('mixedTripletStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner=cms.int32(50), #onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet=cms.PSet( refToPSet_=cms.string('mixedTripletStepTrajectoryBuilder')), doSeedingRegionRebuilding=True, useHitsSplitting=True) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName=cms.string('mixedTripletStepTrajectoryCleanerBySharedHits'), fractionShared=cms.double(0.11), allowSharedFirstHit=cms.bool(True)) mixedTripletStepTrackCandidates.TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits' # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( AlgorithmName=cms.string('mixedTripletStep'), src='mixedTripletStepTrackCandidates', Fitter=cms.string('FlexibleKFFittingSmoother')) # TRACK SELECTION AND QUALITY FLAG SETTING. from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import * mixedTripletStepClassifier1 = TrackMVAClassifierDetached.clone() mixedTripletStepClassifier1.src = 'mixedTripletStepTracks'
# TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( src="lowPtQuadStepTrackCandidates", AlgorithmName=cms.string("iter2"), Fitter=cms.string("FlexibleKFFittingSmoother"), TTRHBuilder=cms.string("WithTrackAngle"), ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits lowPtQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName=cms.string("lowPtQuadStepTrajectoryCleanerBySharedHits"), fractionShared=cms.double(0.095), allowSharedFirstHit=cms.bool(True), ) lowPtQuadStepTrackCandidates.TrajectoryCleaner = "lowPtQuadStepTrajectoryCleanerBySharedHits" # Final selection import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src="lowPtQuadStepTracks", trackSelectors=cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name="lowPtQuadStepLoose", chi2n_par=2.0, res_par=(0.003, 0.002), minNumberLayers=3,
src = cms.InputTag('mixedTripletStepSeeds'), clustersToSkip = cms.InputTag('mixedTripletStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), #onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilder = 'mixedTripletStepTrajectoryBuilder', doSeedingRegionRebuilding = True, useHitsSplitting = True ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = cms.string('mixedTripletStepTrajectoryCleanerBySharedHits'), fractionShared = cms.double(0.11), allowSharedFirstHit = cms.bool(True) ) mixedTripletStepTrackCandidates.TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits' # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( AlgorithmName = cms.string('iter4'), src = 'mixedTripletStepTrackCandidates', Fitter = cms.string('FlexibleKFFittingSmoother') ) # TRACK SELECTION AND QUALITY FLAG SETTING. import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
estimator = 'detachedQuadStepChi2Est', maxDPhiForLooperReconstruction = cms.double(2.0), maxPtForLooperReconstruction = cms.double(0.7) ) trackingNoLoopers.toModify(detachedQuadStepTrajectoryBuilder, maxPtForLooperReconstruction = 0.0) trackingPhase2PU140.toModify(detachedQuadStepTrajectoryBuilder, maxCand = 2, alwaysUseInvalidHits = False, ) # MAKING OF TRACK CANDIDATES from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = 'detachedQuadStepTrajectoryCleanerBySharedHits', fractionShared = 0.13, allowSharedFirstHit = True ) import RecoTracker.CkfPattern.CkfTrackCandidates_cfi detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'detachedQuadStepSeeds', clustersToSkip = cms.InputTag('detachedQuadStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = dict(refToPSet_ = 'detachedQuadStepTrajectoryBuilder'), TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits', doSeedingRegionRebuilding = True, useHitsSplitting = True )
clustersToSkip=cms.InputTag('pixelPairStepClusters'), TrajectoryBuilderPSet=cms.PSet( refToPSet_=cms.string('pixelPairStepTrajectoryBuilder')), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner=cms.int32(50), onlyPixelHitsForSeedCleaner=cms.bool(True), ) trackingPhase2PU140.toModify( pixelPairStepTrackCandidates, clustersToSkip=None, phase2clustersToSkip=cms.InputTag("pixelPairStepClusters"), TrajectoryCleaner="pixelPairStepTrajectoryCleanerBySharedHits") from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits pixelPairStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName='pixelPairStepTrajectoryCleanerBySharedHits', fractionShared=0.095, allowSharedFirstHit=True) trackingPhase2PU140.toModify(pixelPairStepTrajectoryCleanerBySharedHits, fractionShared=0.09) # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( AlgorithmName=cms.string('pixelPairStep'), src='pixelPairStepTrackCandidates', Fitter=cms.string('FlexibleKFFittingSmoother')) # Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * pixelPairStep = TrackMVAClassifierPrompt.clone() pixelPairStep.src = 'pixelPairStepTracks'
maxCand = 3, alwaysUseInvalidHits = True, estimator = 'detachedQuadStepChi2Est', maxDPhiForLooperReconstruction = cms.double(2.0), maxPtForLooperReconstruction = cms.double(0.7) ) trackingPhase2PU140.toModify(detachedQuadStepTrajectoryBuilder, maxCand = 2, alwaysUseInvalidHits = False, ) # MAKING OF TRACK CANDIDATES from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = cms.string('detachedQuadStepTrajectoryCleanerBySharedHits'), fractionShared = cms.double(0.13), allowSharedFirstHit = cms.bool(True) ) import RecoTracker.CkfPattern.CkfTrackCandidates_cfi detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'detachedQuadStepSeeds', clustersToSkip = cms.InputTag('detachedQuadStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = dict(refToPSet_ = 'detachedQuadStepTrajectoryBuilder'), TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits', doSeedingRegionRebuilding = True, useHitsSplitting = True )
(pp_on_XeXe_2017 | pp_on_AA).toModify(tobTecStepTrackCandidatesMkFitConfig, minPt=2.0) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(tobTecStepTrackCandidates, FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone( MinNumberOfCrossedLayers = 3, src = 'tobTecStepSeeds', hitMasks = cms.InputTag('tobTecStepMasks') ) ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = 'tobTecStepTrajectoryCleanerBySharedHits', fractionShared = 0.09, allowSharedFirstHit = True ) trackingLowPU.toModify(tobTecStepTrajectoryCleanerBySharedHits, fractionShared = 0.19) # TRACK FITTING AND SMOOTHING OPTIONS import TrackingTools.TrackFitters.RungeKuttaFitters_cff tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone( ComponentName = 'tobTecStepFitterSmoother', EstimateCut = 30, MinNumberOfHits = 7, Fitter = 'tobTecStepRKFitter', Smoother = 'tobTecStepRKSmoother' ) trackingLowPU.toModify(tobTecStepFitterSmoother, MinNumberOfHits = 8)
TrajectoryBuilderForElectrons.estimator = 'ElectronChi2' TrajectoryBuilderForElectrons.MeasurementTrackerName = '' TrajectoryBuilderForElectrons.lostHitPenalty = 90. TrajectoryBuilderForElectrons.alwaysUseInvalidHits = True TrajectoryBuilderForElectrons.TTRHBuilder = 'WithTrackAngle' TrajectoryBuilderForElectrons.updator = 'KFUpdator' # CKFTrackCandidateMaker from RecoTracker.CkfPattern.CkfTrackCandidates_cff import * import RecoTracker.CkfPattern.CkfTrackCandidates_cfi electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( ) electronCkfTrackCandidates.src = cms.InputTag('electronMergedSeeds') electronCkfTrackCandidates.TrajectoryBuilderPSet.refToPSet_ = 'TrajectoryBuilderForElectrons' #electronCkfTrackCandidates.TrajectoryCleaner = 'TrajectoryCleanerBySharedHits' electronCkfTrackCandidates.NavigationSchool = 'SimpleNavigationSchool' electronCkfTrackCandidates.RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput' from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName=cms.string('electronTrajectoryCleanerBySharedHits'), ValidHitBonus=cms.double(1000.0), MissingHitPenalty=cms.double(0.0)) electronCkfTrackCandidates.TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits' # "backward" propagator for electrons from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import * # "forward" propagator for electrons from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import * # TrajectoryFilter
trackingMkFitHighPtTripletStep.toReplaceWith( highPtTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone( seeds='highPtTripletStepSeeds', mkFitSeeds='highPtTripletStepTrackCandidatesMkFitSeeds', tracks='highPtTripletStepTrackCandidatesMkFit', candMVASel=True, candWP=-0.3, )) (pp_on_XeXe_2017 | pp_on_AA).toModify( highPtTripletStepTrackCandidatesMkFitConfig, minPt=0.7) # For Phase2PU140 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits highPtTripletStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName='highPtTripletStepTrajectoryCleanerBySharedHits', fractionShared=0.16, allowSharedFirstHit=True) trackingPhase2PU140.toModify( highPtTripletStepTrackCandidates, TrajectoryCleaner='highPtTripletStepTrajectoryCleanerBySharedHits', clustersToSkip='', phase2clustersToSkip='highPtTripletStepClusters') #For FastSim phase1 tracking import FastSimulation.Tracking.TrackCandidateProducer_cfi _fastSim_highPtTripletStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone( src='highPtTripletStepSeeds', MinNumberOfCrossedLayers=3, hitMasks=cms.InputTag('highPtTripletStepMasks')) fastSim.toReplaceWith(highPtTripletStepTrackCandidates, _fastSim_highPtTripletStepTrackCandidates)
keepOriginalIfRebuildFails=True, lockHits=False, requireSeedHitsInRebuild=False) trackingNoLoopers.toModify(jetCoreRegionalStepBarrelTrajectoryBuilder, maxPtForLooperReconstruction=cms.double(0.0)) jetCoreRegionalStepEndcapTrajectoryBuilder = jetCoreRegionalStepTrajectoryBuilder.clone( trajectoryFilter=cms.PSet( refToPSet_=cms.string('jetCoreRegionalStepEndcapTrajectoryFilter')), #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), ) trackingNoLoopers.toModify(jetCoreRegionalStepEndcapTrajectoryBuilder, maxPtForLooperReconstruction=cms.double(0.0)) #customized cleaner for DeepCore from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits jetCoreRegionalStepDeepCoreTrajectoryCleaner = trajectoryCleanerBySharedHits.clone( ComponentName='jetCoreRegionalStepDeepCoreTrajectoryCleaner', fractionShared=0.45) ############## to run MCtruthSeedGenerator #################### #import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi #import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi #seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeedsBarrel, # RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack # vertices="firstStepPrimaryVertices" # ) #) # MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi jetCoreRegionalStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src='jetCoreRegionalStepSeeds',
lostHitPenalty = 90., alwaysUseInvalidHits = True, TTRHBuilder = 'WithTrackAngle', updator = 'KFUpdator' ) # CKFTrackCandidateMaker from RecoTracker.CkfPattern.CkfTrackCandidates_cff import * import RecoTracker.CkfPattern.CkfTrackCandidates_cfi electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'electronMergedSeeds', TrajectoryBuilderPSet = dict(refToPSet_ = 'TrajectoryBuilderForElectrons'), #TrajectoryCleaner = 'TrajectoryCleanerBySharedHits' NavigationSchool = 'SimpleNavigationSchool', RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput', TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits' ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = 'electronTrajectoryCleanerBySharedHits', ValidHitBonus = 1000.0, MissingHitPenalty = 0.0 ) # "backward" propagator for electrons from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import * # "forward" propagator for electrons from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import * # TrajectoryFilter
highPtTripletStepTrackCandidates = _CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'highPtTripletStepSeeds', clustersToSkip = cms.InputTag('highPtTripletStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = dict(refToPSet_ = 'highPtTripletStepTrajectoryBuilder'), doSeedingRegionRebuilding = True, useHitsSplitting = True ) # For Phase2PU140 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits highPtTripletStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName = 'highPtTripletStepTrajectoryCleanerBySharedHits', fractionShared = 0.16, allowSharedFirstHit = True ) trackingPhase2PU140.toModify(highPtTripletStepTrackCandidates, TrajectoryCleaner = 'highPtTripletStepTrajectoryCleanerBySharedHits', clustersToSkip = None, phase2clustersToSkip = cms.InputTag("highPtTripletStepClusters") ) # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi highPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( src = 'highPtTripletStepTrackCandidates', AlgorithmName = 'highPtTripletStep', Fitter = 'FlexibleKFFittingSmoother', )
tracks='mixedTripletStepTrackCandidatesMkFit', )) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith( mixedTripletStepTrackCandidates, FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer. clone( src='mixedTripletStepSeeds', MinNumberOfCrossedLayers=3, hitMasks=cms.InputTag('mixedTripletStepMasks'), )) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName='mixedTripletStepTrajectoryCleanerBySharedHits', fractionShared=0.11, allowSharedFirstHit=True) trackingLowPU.toModify(mixedTripletStepTrajectoryCleanerBySharedHits, fractionShared=0.19) # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( AlgorithmName='mixedTripletStep', src='mixedTripletStepTrackCandidates', Fitter='FlexibleKFFittingSmoother') fastSim.toModify(mixedTripletStepTracks, TTRHBuilder='WithoutRefit') # TRACK SELECTION AND QUALITY FLAG SETTING. from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryBuilder')), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), ) trackingPhase2PU140.toModify(pixelPairStepTrackCandidates, clustersToSkip = None, phase2clustersToSkip = cms.InputTag("pixelPairStepClusters"), TrajectoryCleaner = "pixelPairStepTrajectoryCleanerBySharedHits" ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits pixelPairStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName = 'pixelPairStepTrajectoryCleanerBySharedHits', fractionShared = 0.095, allowSharedFirstHit = True ) trackingPhase2PU140.toModify(pixelPairStepTrajectoryCleanerBySharedHits, fractionShared = 0.09) # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( AlgorithmName = cms.string('pixelPairStep'), src = 'pixelPairStepTrackCandidates', Fitter = cms.string('FlexibleKFFittingSmoother') ) # Final selection from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import * pixelPairStep = TrackMVAClassifierPrompt.clone()
maxCand=4, estimator=cms.string('lowPtQuadStepChi2Est'), maxDPhiForLooperReconstruction=cms.double(2.0), # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius # of the outermost Tracker barrel layer (with B=3.8T) maxPtForLooperReconstruction=cms.double(0.7)) trackingPhase2PU140.toModify( lowPtQuadStepTrajectoryBuilder, minNrOfHitsForRebuild=1, keepOriginalIfRebuildFails=True, ) # MAKING OF TRACK CANDIDATES from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName='lowPtQuadStepTrajectoryCleanerBySharedHits', fractionShared=0.16, allowSharedFirstHit=True) trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared=0.09) import RecoTracker.CkfPattern.CkfTrackCandidates_cfi lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src='lowPtQuadStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner=cms.int32(50), onlyPixelHitsForSeedCleaner=cms.bool(True), TrajectoryBuilderPSet=dict(refToPSet_='lowPtQuadStepTrajectoryBuilder'), TrajectoryCleaner='lowPtQuadStepTrajectoryCleanerBySharedHits', clustersToSkip=cms.InputTag('lowPtQuadStepClusters'), doSeedingRegionRebuilding=True, useHitsSplitting=True)
maxDPhiForLooperReconstruction = cms.double(2.0), # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius # of the outermost Tracker barrel layer (with B=3.8T) maxPtForLooperReconstruction = cms.double(0.7) ) trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryBuilder, minNrOfHitsForRebuild = 1, keepOriginalIfRebuildFails = True, ) # MAKING OF TRACK CANDIDATES from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone( ComponentName = 'lowPtQuadStepTrajectoryCleanerBySharedHits', fractionShared = 0.16, allowSharedFirstHit = True ) trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared = 0.09) import RecoTracker.CkfPattern.CkfTrackCandidates_cfi lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'lowPtQuadStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = dict(refToPSet_ = 'lowPtQuadStepTrajectoryBuilder'), TrajectoryCleaner = 'lowPtQuadStepTrajectoryCleanerBySharedHits', clustersToSkip = cms.InputTag('lowPtQuadStepClusters'), doSeedingRegionRebuilding = True, useHitsSplitting = True
doSeedingRegionRebuilding=True, useHitsSplitting=True) # TRACK FITTING import RecoTracker.TrackProducer.TrackProducer_cfi lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( src='lowPtQuadStepTrackCandidates', AlgorithmName=cms.string('lowPtQuadStep'), Fitter=cms.string('FlexibleKFFittingSmoother'), TTRHBuilder=cms.string('WithTrackAngle')) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits lowPtQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName=cms.string('lowPtQuadStepTrajectoryCleanerBySharedHits'), fractionShared=cms.double(0.095), allowSharedFirstHit=cms.bool(True)) lowPtQuadStepTrackCandidates.TrajectoryCleaner = 'lowPtQuadStepTrajectoryCleanerBySharedHits' # Final selection import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone( src='lowPtQuadStepTracks', trackSelectors=cms.VPSet( RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone( name='lowPtQuadStepLoose', chi2n_par=2.0, res_par=(0.003, 0.002), minNumberLayers=3, maxNumberLostLayers=2,
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = cms.InputTag('tobTecStepSeeds'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryBuilder')), doSeedingRegionRebuilding = True, useHitsSplitting = True, cleanTrajectoryAfterInOut = True ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = cms.string('tobTecStepTrajectoryCleanerBySharedHits'), fractionShared = cms.double(0.09), allowSharedFirstHit = cms.bool(True) ) tobTecStepTrackCandidates.TrajectoryCleaner = 'tobTecStepTrajectoryCleanerBySharedHits' # TRACK FITTING AND SMOOTHING OPTIONS import TrackingTools.TrackFitters.RungeKuttaFitters_cff tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone( ComponentName = 'tobTecStepFitterSmoother', EstimateCut = 30, MinNumberOfHits = 8, Fitter = cms.string('tobTecStepRKFitter'), Smoother = cms.string('tobTecStepRKSmoother') ) tobTecStepFitterSmootherForLoopers = tobTecStepFitterSmoother.clone(
src = 'displacedGeneralStepSeeds', TrajectoryCleaner = 'displacedGeneralStepTrajectoryCleanerBySharedHits', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = 50, onlyPixelHitsForSeedCleaner = False, TrajectoryBuilderPSet = dict(refToPSet_ = 'displacedGeneralStepTrajectoryBuilder'), clustersToSkip = 'displacedGeneralStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True, cleanTrajectoryAfterInOut = True ) from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits displacedGeneralStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone( ComponentName = 'displacedGeneralStepTrajectoryCleanerBySharedHits', fractionShared = 0.25, allowSharedFirstHit = True ) # ----------------------------------------- TRACK FITTING AND SMOOTHING OPTIONS import TrackingTools.TrackFitters.RungeKuttaFitters_cff displacedGeneralStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone( ComponentName = 'displacedGeneralStepFitterSmoother', EstimateCut = 30, MinNumberOfHits = 8, Fitter = 'displacedGeneralStepRKFitter', Smoother = 'displacedGeneralStepRKSmoother'