Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-01-10 06:14:10

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ################################################################################### 
0004 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
0005 ################################### 4th step: large impact parameter tracking using mixed-triplet seeding
0006 
0007 from RecoHI.HiTracking.HITrackingRegionProducer_cfi import *
0008 
0009 ###################################
0010 import RecoTracker.IterativeTracking.MixedTripletStep_cff
0011 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryBuilder
0012 
0013 # NEW CLUSTERS (remove previously used clusters)
0014 hiRegitMixedTripletStepClusters = cms.EDProducer("HITrackClusterRemover",
0015                                                 clusterLessSolution= cms.bool(True),
0016                                                 oldClusterRemovalInfo = cms.InputTag("hiRegitDetachedTripletStepClusters"),
0017                                                 trajectories = cms.InputTag("hiRegitDetachedTripletStepTracks"),
0018                                                 overrideTrkQuals = cms.InputTag('hiRegitDetachedTripletStepSelector','hiRegitDetachedTripletStep'),
0019                                                 TrackQuality = cms.string('highPurity'),
0020                                                 pixelClusters = cms.InputTag("siPixelClusters"),
0021                                                 stripClusters = cms.InputTag("siStripClusters"),
0022                                                 Common = cms.PSet(
0023                              maxChi2 = cms.double(9.0),
0024                              ),
0025                             Strip = cms.PSet(
0026                              maxChi2 = cms.double(9.0),
0027                              #Yen-Jie's mod to preserve merged clusters
0028                              maxSize = cms.uint32(2)
0029                              )
0030                                                 )
0031 
0032 
0033 
0034 # SEEDING LAYERS A
0035 hiRegitMixedTripletStepSeedLayersA =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone(
0036     BPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'),
0037     FPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'),
0038     TEC  = dict(skipClusters = 'hiRegitMixedTripletStepClusters'),
0039     layerList = ['BPix1+BPix2+BPix3',
0040                  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0041                  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
0042                  'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
0043                  'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg']
0044 )
0045 # SEEDS A
0046 hiRegitMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
0047     RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone(
0048     RegionPSet = dict(ptMin = 1.0)
0049     ),
0050     ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips
0051     OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiRegitMixedTripletStepSeedLayersA'),
0052 )
0053 # SEEDING LAYERS B
0054 hiRegitMixedTripletStepSeedLayersB =  RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone(
0055     BPix = dict(skipClusters = 'hiRegitMixedTripletStepClusters'),
0056     TIB  = dict(skipClusters = 'hiRegitMixedTripletStepClusters'),
0057     layerList = ['BPix2+BPix3+TIB1','BPix2+BPix3+TIB2']
0058 )
0059 hiRegitMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsB.clone(
0060     RegionFactoryPSet = HiTrackingRegionFactoryFromJetsBlock.clone(
0061     RegionPSet = dict(ptMin = 1.0)
0062     ),
0063     ClusterCheckPSet = dict(doClusterCheck = False), # do not check for max number of clusters pixel or strips
0064     OrderedHitsFactoryPSet = dict(SeedingLayers = 'hiRegitMixedTripletStepSeedLayersB'),
0065 )
0066 # combine seeds
0067 hiRegitMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
0068     seedCollections = ['hiRegitMixedTripletStepSeedsA',
0069                        'hiRegitMixedTripletStepSeedsB'
0070                       ],
0071 )
0072 
0073 # track building
0074 hiRegitMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone()
0075 
0076 hiRegitMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
0077     trajectoryFilter     = dict(refToPSet_ = 'hiRegitMixedTripletStepTrajectoryFilter'),
0078     clustersToSkip       = 'hiRegitMixedTripletStepClusters',
0079 )
0080 
0081 hiRegitMixedTripletStepTrackCandidates        =  RecoTracker.IterativeTracking.MixedTripletStep_cff._mixedTripletStepTrackCandidatesCkf.clone(
0082     src               = 'hiRegitMixedTripletStepSeeds',
0083     TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiRegitMixedTripletStepTrajectoryBuilder')),
0084     maxNSeeds = 100000
0085     )
0086 
0087 # fitting: feed new-names
0088 hiRegitMixedTripletStepTracks                 = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
0089     src                 = 'hiRegitMixedTripletStepTrackCandidates',
0090     #AlgorithmName = 'conversionStep',
0091     AlgorithmName = 'mixedTripletStep',
0092 )
0093 
0094 # Track selection
0095 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
0096 hiRegitMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
0097     src = 'hiRegitMixedTripletStepTracks',
0098     trackSelectors = cms.VPSet(
0099        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
0100            name = 'hiRegitMixedTripletStepLoose',
0101            d0_par2 = [9999.0, 0.0],
0102            dz_par2 = [9999.0, 0.0],
0103            applyAdaptedPVCuts = False
0104        ), #end of pset
0105        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
0106            name = 'hiRegitMixedTripletStepTight',
0107            preFilterName = 'hiRegitMixedTripletStepLoose',
0108            d0_par2 = [9999.0, 0.0],
0109            dz_par2 = [9999.0, 0.0],
0110            applyAdaptedPVCuts = False
0111        ),
0112        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
0113            name = 'hiRegitMixedTripletStep',
0114            preFilterName = 'hiRegitMixedTripletStepTight',
0115            d0_par2 = [9999.0, 0.0],
0116            dz_par2 = [9999.0, 0.0],
0117            applyAdaptedPVCuts = False
0118        ),
0119     ) #end of vpset
0120 ) #end of clone  
0121 
0122 hiRegitMixedTripletStepTask = cms.Task(hiRegitMixedTripletStepClusters,
0123                                        hiRegitMixedTripletStepSeedLayersA,
0124                                        hiRegitMixedTripletStepSeedsA,
0125                                        hiRegitMixedTripletStepSeedLayersB,
0126                                        hiRegitMixedTripletStepSeedsB,
0127                                        hiRegitMixedTripletStepSeeds,
0128                                        hiRegitMixedTripletStepTrackCandidates,
0129                                        hiRegitMixedTripletStepTracks,
0130                                        hiRegitMixedTripletStepSelector
0131                                        )
0132 hiRegitMixedTripletStep = cms.Sequence(hiRegitMixedTripletStepTask)