import TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi jetCoreRegionalStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone( ComponentName='jetCoreRegionalStepChi2Est', nSigma=3.0, MaxChi2=30.0) # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi #need to also load the refToPSet_ used by GroupedCkfTrajectoryBuilder CkfBaseTrajectoryFilter_block = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.CkfBaseTrajectoryFilter_block jetCoreRegionalStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter=dict(refToPSet_='jetCoreRegionalStepTrajectoryFilter'), maxCand=50, estimator='jetCoreRegionalStepChi2Est', maxDPhiForLooperReconstruction=2.0, maxPtForLooperReconstruction=0.7, ) trackingNoLoopers.toModify(jetCoreRegionalStepTrajectoryBuilder, maxPtForLooperReconstruction=0.0) jetCoreRegionalStepBarrelTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter=dict( refToPSet_='jetCoreRegionalStepBarrelTrajectoryFilter'), maxCand=50, estimator='jetCoreRegionalStepChi2Est', 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'),
clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutNone'), MaxChi2=30.0) # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi pixelLessStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( MeasurementTrackerName='', trajectoryFilter=cms.PSet( refToPSet_=cms.string('pixelLessStepTrajectoryFilter')), minNrOfHitsForRebuild=4, maxCand=2, alwaysUseInvalidHits=False, estimator='pixelLessStepChi2Est', maxDPhiForLooperReconstruction=cms.double(2.0), maxPtForLooperReconstruction=cms.double(0.7)) trackingNoLoopers.toModify(pixelLessStepTrajectoryBuilder, maxPtForLooperReconstruction=0.0) # MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi # Give handle for CKF for HI _pixelLessStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src='pixelLessStepSeeds', clustersToSkip=cms.InputTag('pixelLessStepClusters'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner=cms.int32(50), #onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet=cms.PSet( refToPSet_=cms.string('pixelLessStepTrajectoryBuilder')), TrajectoryCleaner='pixelLessStepTrajectoryCleanerBySharedHits') pixelLessStepTrackCandidates = _pixelLessStepTrackCandidatesCkf.clone()
) # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi as _GroupedCkfTrajectoryBuilder_cfi highPtTripletStepTrajectoryBuilder = _GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter = dict(refToPSet_ = 'highPtTripletStepTrajectoryFilter'), alwaysUseInvalidHits = True, maxCand = 3, estimator = 'highPtTripletStepChi2Est', maxDPhiForLooperReconstruction = 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 = 0.7 ) trackingNoLoopers.toModify(highPtTripletStepTrajectoryBuilder, maxPtForLooperReconstruction = 0.0) trackingPhase2PU140.toModify(highPtTripletStepTrajectoryBuilder, inOutTrajectoryFilter = dict(refToPSet_ = 'highPtTripletStepTrajectoryFilterInOut'), useSameTrajFilter = False, maxCand = 3, ) # MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi as _CkfTrackCandidates_cfi highPtTripletStepTrackCandidates = _CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'highPtTripletStepSeeds', clustersToSkip = 'highPtTripletStepClusters', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = 50, onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'highPtTripletStepTrajectoryBuilder'),
detachedQuadStepChi2Est, MaxChi2=12.0, clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutNone')) # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi detachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter=dict(refToPSet_='detachedQuadStepTrajectoryFilter'), maxCand=3, alwaysUseInvalidHits=True, estimator='detachedQuadStepChi2Est', maxDPhiForLooperReconstruction=2.0, maxPtForLooperReconstruction=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
clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTiny')) trackingPhase2PU140.toModify( initialStepChi2Est, clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutNone'), ) import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter=dict(refToPSet_='initialStepTrajectoryFilter'), alwaysUseInvalidHits=True, maxCand=3, estimator='initialStepChi2Est', maxDPhiForLooperReconstruction=2.0, maxPtForLooperReconstruction=0.7, ) trackingNoLoopers.toModify(initialStepTrajectoryBuilder, maxPtForLooperReconstruction=0.0) trackingLowPU.toModify(initialStepTrajectoryBuilder, maxCand=5) trackingPhase1.toModify( initialStepTrajectoryBuilder, minNrOfHitsForRebuild=1, keepOriginalIfRebuildFails=True, ) trackingPhase2PU140.toModify( initialStepTrajectoryBuilder, minNrOfHitsForRebuild=1, keepOriginalIfRebuildFails=True, ) import RecoTracker.CkfPattern.CkfTrackCandidates_cfi # Give handle for CKF for HI _initialStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
# TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi lowPtBarrelTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( MeasurementTrackerName = '', trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryFilter')), clustersToSkip = cms.InputTag('lowPtBarrelTripletStepClusters'), maxCand = 3, #lostHitPenalty = cms.double(10.0), estimator = 'lowPtBarrelTripletStepChi2Est', # 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.63) # set the variable to a negative value to turn-off the looper reconstruction #maxPtForLooperReconstruction = cms.double(-1.) ) trackingNoLoopers.toModify(lowPtBarrelTripletStepTrajectoryBuilder, maxPtForLooperReconstruction = 0.0) # MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi lowPtBarrelTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'lowPtBarrelTripletStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryBuilder')), doSeedingRegionRebuilding = True, useHitsSplitting = True, TransientInitialStateEstimatorParameters = cms.PSet( propagatorAlongTISE = cms.string('PropagatorWithMaterialForLoopers'), propagatorOppositeTISE = cms.string('PropagatorWithMaterialForLoopersOpposite'), numberMeasurementsForFit = cms.int32(4) )