00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006
00007
00008
00009 fourthfilter = cms.EDProducer("QualityFilter",
00010 TrackQuality = cms.string('highPurity'),
00011 recTracks = cms.InputTag("pixellessStep")
00012 )
00013
00014 fifthClusters = cms.EDProducer("TrackClusterRemover",
00015 oldClusterRemovalInfo = cms.InputTag("fourthClusters"),
00016 trajectories = cms.InputTag("fourthfilter"),
00017 pixelClusters = cms.InputTag("fourthClusters"),
00018 stripClusters = cms.InputTag("fourthClusters"),
00019 Common = cms.PSet(
00020 maxChi2 = cms.double(30.0)
00021 )
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 )
00032
00033
00034 import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
00035 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
00036 fifthPixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00037 src = 'fifthClusters'
00038 )
00039 fifthStripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00040 ClusterProducer = 'fifthClusters'
00041 )
00042
00043
00044 fifthlayerpairs = cms.ESProducer("SeedingLayersESProducer",
00045 ComponentName = cms.string('fifthlayerPairs'),
00046
00047 layerList = cms.vstring('TOB1+TOB2',
00048 'TOB1+TEC1_pos', 'TOB1+TEC1_neg',
00049 'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos',
00050 'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos',
00051 'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos',
00052 'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg',
00053 'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg',
00054 'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
00055
00056 TOB = cms.PSet(
00057 matchedRecHits = cms.InputTag("fifthStripRecHits","matchedRecHit"),
00058 TTRHBuilder = cms.string('WithTrackAngle')
00059 ),
00060
00061 TEC = cms.PSet(
00062 matchedRecHits = cms.InputTag("fifthStripRecHits","matchedRecHit"),
00063
00064 useRingSlector = cms.bool(True),
00065 TTRHBuilder = cms.string('WithTrackAngle'),
00066 minRing = cms.int32(5),
00067 maxRing = cms.int32(5)
00068 )
00069 )
00070
00071 import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff
00072 fifthSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
00073 fifthSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'fifthlayerPairs'
00074 fifthSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00075 fifthSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 30.0
00076 fifthSeeds.RegionFactoryPSet.RegionPSet.originRadius = 6.0
00077 fifthSeeds.ClusterCheckPSet.PixelClusterCollectionLabel = 'fifthClusters'
00078 fifthSeeds.ClusterCheckPSet.ClusterCollectionLabel = 'fifthClusters'
00079
00080
00081
00082 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00083 fifthMeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00084 ComponentName = 'fifthMeasurementTracker',
00085 pixelClusterProducer = 'fifthClusters',
00086 stripClusterProducer = 'fifthClusters'
00087 )
00088
00089
00090 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00091
00092 fifthCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00093 ComponentName = 'fifthCkfTrajectoryFilter',
00094 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00095 maxLostHits = 0,
00096 minimumNumberOfHits = 6,
00097 minPt = 0.1,
00098 minHitsMinPt = 3
00099 )
00100 )
00101
00102 fifthCkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00103 ComponentName = 'fifthCkfInOutTrajectoryFilter',
00104 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00105 maxLostHits = 0,
00106 minimumNumberOfHits = 4,
00107 minPt = 0.1,
00108 minHitsMinPt = 3
00109 )
00110 )
00111
00112
00113 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00114 fifthCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00115 ComponentName = 'fifthCkfTrajectoryBuilder',
00116 MeasurementTrackerName = 'fifthMeasurementTracker',
00117 trajectoryFilterName = 'fifthCkfTrajectoryFilter',
00118 inOutTrajectoryFilterName = 'fifthCkfInOutTrajectoryFilter',
00119 useSameTrajFilter = False,
00120 minNrOfHitsForRebuild = 4,
00121 alwaysUseInvalidHits = False
00122
00123 )
00124
00125
00126 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00127 fifthTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00128 src = cms.InputTag('fifthSeeds'),
00129 TrajectoryBuilder = 'fifthCkfTrajectoryBuilder',
00130 doSeedingRegionRebuilding = True,
00131 useHitsSplitting = True,
00132 cleanTrajectoryAfterInOut = True
00133 )
00134
00135
00136 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00137 fifthFittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
00138 ComponentName = 'fifthFittingSmootherWithOutlierRejection',
00139 EstimateCut = 30,
00140 MinNumberOfHits = 8,
00141 Fitter = cms.string('fifthRKFitter'),
00142 Smoother = cms.string('fifthRKSmoother')
00143 )
00144
00145
00146 fifthRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00147 ComponentName = cms.string('fifthRKFitter'),
00148 minHits = 8
00149 )
00150
00151 fifthRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00152 ComponentName = cms.string('fifthRKSmoother'),
00153 errorRescaling = 10.0,
00154 minHits = 8
00155 )
00156
00157
00158 import RecoTracker.TrackProducer.TrackProducer_cfi
00159 fifthWithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00160 src = 'fifthTrackCandidates',
00161 clusterRemovalInfo = 'fifthClusters',
00162 AlgorithmName = cms.string('iter5'),
00163 Fitter = 'fifthFittingSmootherWithOutlierRejection',
00164 )
00165
00166
00167 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00168 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00169 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00170
00171 tobtecStepLoose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00172 src = 'fifthWithMaterialTracks',
00173 keepAllTracks = False,
00174 copyExtras = False,
00175 copyTrajectories = True,
00176 chi2n_par = 0.4,
00177 res_par = ( 0.003, 0.001 ),
00178 minNumberLayers = 5,
00179 maxNumberLostLayers = 1,
00180 minNumber3DLayers = 2,
00181 d0_par1 = ( 2.0, 4.0 ),
00182 dz_par1 = ( 1.8, 4.0 ),
00183 d0_par2 = ( 2.0, 4.0 ),
00184 dz_par2 = ( 1.8, 4.0 )
00185 )
00186
00187 tobtecStepTight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00188 src = 'tobtecStepLoose',
00189 keepAllTracks = True,
00190 copyExtras = False,
00191 copyTrajectories = True,
00192 chi2n_par = 0.3,
00193 res_par = ( 0.003, 0.001 ),
00194 minNumberLayers = 5,
00195 maxNumberLostLayers = 0,
00196 minNumber3DLayers = 2,
00197 d0_par1 = ( 1.5, 4.0 ),
00198 dz_par1 = ( 1.4, 4.0 ),
00199 d0_par2 = ( 1.5, 4.0 ),
00200 dz_par2 = ( 1.4, 4.0 )
00201 )
00202
00203 tobtecStep = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00204 src = 'tobtecStepTight',
00205 keepAllTracks = True,
00206 copyExtras = False,
00207 copyTrajectories = True,
00208 chi2n_par = 0.2,
00209 res_par = ( 0.003, 0.001 ),
00210 minNumberLayers = 5,
00211 maxNumberLostLayers = 0,
00212 minNumber3DLayers = 2,
00213 d0_par1 = ( 1.4, 4.0 ),
00214 dz_par1 = ( 1.3, 4.0 ),
00215 d0_par2 = ( 1.4, 4.0 ),
00216 dz_par2 = ( 1.3, 4.0 )
00217 )
00218
00219 fifthStep = cms.Sequence(fourthfilter*fifthClusters*
00220 fifthPixelRecHits*fifthStripRecHits*
00221 fifthSeeds*
00222 fifthTrackCandidates*
00223 fifthWithMaterialTracks*
00224 tobtecStepLoose*
00225 tobtecStepTight*
00226 tobtecStep)