00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006
00007
00008
00009 firstfilter = cms.EDProducer("QualityFilter",
00010 TrackQuality = cms.string('highPurity'),
00011 recTracks = cms.InputTag("preMergingFirstStepTracksWithQuality")
00012 )
00013
00014 secClusters = cms.EDProducer("TrackClusterRemover",
00015 oldClusterRemovalInfo = cms.InputTag("newClusters"),
00016 trajectories = cms.InputTag("firstfilter"),
00017 pixelClusters = cms.InputTag("newClusters"),
00018 stripClusters = cms.InputTag("newClusters"),
00019 Common = cms.PSet(
00020 maxChi2 = cms.double(30.0)
00021 )
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 )
00033
00034
00035 import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
00036 secPixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00037 src = 'secClusters'
00038 )
00039 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
00040 secStripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00041 ClusterProducer = 'secClusters'
00042 )
00043
00044
00045 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
00046 seclayertriplets = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
00047 ComponentName = 'SecLayerTriplets'
00048 )
00049 seclayertriplets.BPix.HitProducer = 'secPixelRecHits'
00050 seclayertriplets.FPix.HitProducer = 'secPixelRecHits'
00051
00052
00053
00054 import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
00055 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
00056 secTriplets = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
00057 RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
00058 ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
00059 RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
00060 ptMin = 0.075,
00061 nSigmaZ = 3.3
00062 )
00063 )
00064 )
00065 secTriplets.OrderedHitsFactoryPSet.SeedingLayers = 'SecLayerTriplets'
00066 secTriplets.ClusterCheckPSet.PixelClusterCollectionLabel = 'secClusters'
00067 secTriplets.ClusterCheckPSet.ClusterCollectionLabel = 'secClusters'
00068
00069
00070 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import *
00071 secTriplets.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
00072
00073
00074
00075
00076
00077
00078
00079 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00080 secMeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00081 ComponentName = 'secMeasurementTracker',
00082 pixelClusterProducer = 'secClusters',
00083 stripClusterProducer = 'secClusters'
00084 )
00085
00086
00087 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00088 secCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00089 ComponentName = 'secCkfTrajectoryFilter',
00090 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00091 maxLostHits = 1,
00092 minimumNumberOfHits = 3,
00093 minPt = 0.075
00094 )
00095 )
00096
00097
00098 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00099 secCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00100 ComponentName = 'secCkfTrajectoryBuilder',
00101 MeasurementTrackerName = 'secMeasurementTracker',
00102 trajectoryFilterName = 'secCkfTrajectoryFilter'
00103 )
00104
00105
00106 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00107 secTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00108 src = cms.InputTag('secTriplets'),
00109 TrajectoryBuilder = 'secCkfTrajectoryBuilder',
00110 doSeedingRegionRebuilding = True,
00111 useHitsSplitting = True
00112 )
00113
00114
00115 import RecoTracker.TrackProducer.TrackProducer_cfi
00116 secWithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00117 AlgorithmName = cms.string('iter2'),
00118 src = 'secTrackCandidates',
00119 clusterRemovalInfo = 'secClusters'
00120 )
00121
00122
00123 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00124 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00125 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00126 import RecoTracker.FinalTrackSelectors.simpleTrackListMerger_cfi
00127
00128 secStepVtxLoose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00129 src = 'secWithMaterialTracks',
00130 keepAllTracks = False,
00131 copyExtras = False,
00132 copyTrajectories = True,
00133 chi2n_par = 1.6,
00134 res_par = ( 0.003, 0.001 ),
00135 minNumberLayers = 3,
00136 d0_par1 = ( 1.2, 3.0 ),
00137 dz_par1 = ( 1.2, 3.0 ),
00138 d0_par2 = ( 1.3, 3.0 ),
00139 dz_par2 = ( 1.3, 3.0 )
00140 )
00141
00142 secStepTrkLoose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00143 src = 'secWithMaterialTracks',
00144 keepAllTracks = False,
00145 copyExtras = False,
00146 copyTrajectories = True,
00147 chi2n_par = 0.7,
00148 res_par = ( 0.003, 0.001 ),
00149 minNumberLayers = 3,
00150 d0_par1 = ( 1.6, 4.0 ),
00151 dz_par1 = ( 1.6, 4.0 ),
00152 d0_par2 = ( 1.6, 4.0 ),
00153 dz_par2 = ( 1.6, 4.0 )
00154 )
00155
00156
00157 secStepVtxTight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00158 src = 'secStepVtxLoose',
00159 keepAllTracks = True,
00160 copyExtras = False,
00161 copyTrajectories = True,
00162 chi2n_par = 0.7,
00163 res_par = ( 0.003, 0.001 ),
00164 minNumberLayers = 3,
00165 maxNumberLostLayers = 1,
00166 minNumber3DLayers = 3,
00167 d0_par1 = ( 0.95, 3.0 ),
00168 dz_par1 = ( 0.9, 3.0 ),
00169 d0_par2 = ( 1.0, 3.0 ),
00170 dz_par2 = ( 1.0, 3.0 )
00171 )
00172
00173 secStepTrkTight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00174 src = 'secStepTrkLoose',
00175 keepAllTracks = True,
00176 copyExtras = False,
00177 copyTrajectories = True,
00178 chi2n_par = 0.5,
00179 res_par = ( 0.003, 0.001 ),
00180 minNumberLayers = 5,
00181 minNumber3DLayers = 3,
00182 maxNumberLostLayers = 1,
00183 d0_par1 = ( 1.1, 4.0 ),
00184 dz_par1 = ( 1.1, 4.0 ),
00185 d0_par2 = ( 1.1, 4.0 ),
00186 dz_par2 = ( 1.1, 4.0 )
00187 )
00188
00189
00190 secStepVtx = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00191 src = 'secStepVtxTight',
00192 keepAllTracks = True,
00193 copyExtras = False,
00194 copyTrajectories = True,
00195 chi2n_par = 0.7,
00196 res_par = ( 0.003, 0.001 ),
00197 minNumberLayers = 3,
00198 minNumber3DLayers = 3,
00199 maxNumberLostLayers = 1,
00200 d0_par1 = ( 0.85, 3.0 ),
00201 dz_par1 = ( 0.8, 3.0 ),
00202 d0_par2 = ( 0.9, 3.0 ),
00203 dz_par2 = ( 0.9, 3.0 )
00204 )
00205
00206 secStepTrk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00207 src = 'secStepTrkTight',
00208 keepAllTracks = True,
00209 copyExtras = False,
00210 copyTrajectories = True,
00211 chi2n_par = 0.4,
00212 res_par = ( 0.003, 0.001 ),
00213 minNumberLayers = 5,
00214 minNumber3DLayers = 3,
00215 maxNumberLostLayers = 1,
00216 d0_par1 = ( 1.0, 4.0 ),
00217 dz_par1 = ( 1.0, 4.0 ),
00218 d0_par2 = ( 1.0, 4.0 ),
00219 dz_par2 = ( 1.0, 4.0 )
00220 )
00221
00222 secStep = RecoTracker.FinalTrackSelectors.simpleTrackListMerger_cfi.simpleTrackListMerger.clone(
00223 TrackProducer1 = 'secStepVtx',
00224 TrackProducer2 = 'secStepTrk',
00225 promoteTrackQuality = True
00226 )
00227
00228 secondStep = cms.Sequence(firstfilter*
00229 secClusters*
00230 secPixelRecHits*secStripRecHits*
00231 secTriplets*
00232 secTrackCandidates*
00233 secWithMaterialTracks*
00234 secStepVtxLoose*secStepTrkLoose*
00235 secStepVtxTight*secStepTrkTight*
00236 secStepVtx*secStepTrk*secStep)