00001 import FWCore.ParameterSet.Config as cms
00002
00003 from RecoTracker.ConversionSeedGenerators.PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi import *
00004
00005 from RecoTracker.TrackProducer.TrackRefitters_cff import *
00006 TrackRefitterStd = TrackRefitter.clone(src=cms.InputTag("generalTracks"))
00007
00008
00009 convFilter = cms.EDProducer("QualityFilter",
00010 TrackQuality = cms.string('loose'),
00011 recTracks = cms.InputTag("TrackRefitterStd")
00012 )
00013
00014 convClusters = cms.EDProducer("TrackClusterRemover",
00015 trajectories = cms.InputTag("convFilter"),
00016 pixelClusters = cms.InputTag("siPixelClusters"),
00017 stripClusters = cms.InputTag("siStripClusters"),
00018 Common = cms.PSet(maxChi2 = cms.double(30.0))
00019 )
00020
00021 import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
00022 convPixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00023 src = 'convClusters'
00024 )
00025
00026 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
00027 convStripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00028 ClusterProducer = 'convClusters'
00029 )
00030
00031 convLayerPairs = cms.ESProducer("SeedingLayersESProducer",
00032 ComponentName = cms.string('convLayerPairs'),
00033 layerList = cms.vstring('BPix1+BPix2',
00034
00035 'BPix2+BPix3',
00036 'BPix2+FPix1_pos',
00037 'BPix2+FPix1_neg',
00038 'BPix2+FPix2_pos',
00039 'BPix2+FPix2_neg',
00040
00041 'FPix1_pos+FPix2_pos',
00042 'FPix1_neg+FPix2_neg',
00043
00044 'BPix3+TIB1',
00045
00046 'TIB1+TID1_pos',
00047 'TIB1+TID1_neg',
00048 'TIB1+TID2_pos',
00049 'TIB1+TID2_neg',
00050 'TIB1+TIB2',
00051
00052 'TIB2+TID1_pos',
00053 'TIB2+TID1_neg',
00054 'TIB2+TID2_pos',
00055 'TIB2+TID2_neg',
00056 'TIB2+TIB3',
00057
00058 'TIB3+TIB4',
00059 'TIB3+TID1_pos',
00060 'TIB3+TID1_neg',
00061
00062 'TIB4+TOB1',
00063
00064 'TOB1+TOB2',
00065 'TOB1+TEC1_pos',
00066 'TOB1+TEC1_neg',
00067
00068 'TOB2+TOB3',
00069 'TOB2+TEC1_pos',
00070 'TOB2+TEC1_neg',
00071
00072 'TOB3+TOB4',
00073 'TOB3+TEC1_pos',
00074 'TOB3+TEC1_neg',
00075
00076 'TOB4+TOB5',
00077
00078 'TOB5+TOB6',
00079
00080 'TID1_pos+TID2_pos',
00081 'TID2_pos+TID3_pos',
00082 'TID3_pos+TEC1_pos',
00083
00084 'TID1_neg+TID2_neg',
00085 'TID2_neg+TID3_neg',
00086 'TID3_neg+TEC1_neg',
00087
00088 'TEC1_pos+TEC2_pos',
00089 'TEC2_pos+TEC3_pos',
00090 'TEC3_pos+TEC4_pos',
00091 'TEC4_pos+TEC5_pos',
00092 'TEC5_pos+TEC6_pos',
00093 'TEC6_pos+TEC7_pos',
00094 'TEC7_pos+TEC8_pos',
00095
00096 'TEC1_neg+TEC2_neg',
00097 'TEC2_neg+TEC3_neg',
00098 'TEC3_neg+TEC4_neg',
00099 'TEC4_neg+TEC5_neg',
00100 'TEC5_neg+TEC6_neg',
00101 'TEC6_neg+TEC7_neg',
00102 'TEC7_neg+TEC8_neg'
00103
00104 ),
00105
00106 BPix = cms.PSet(
00107 hitErrorRZ = cms.double(0.006),
00108 hitErrorRPhi = cms.double(0.0027),
00109 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00110 HitProducer = cms.string('convPixelRecHits'),
00111 useErrorsFromParam = cms.bool(True)
00112 ),
00113 FPix = cms.PSet(
00114 hitErrorRZ = cms.double(0.0036),
00115 hitErrorRPhi = cms.double(0.0051),
00116 TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00117 HitProducer = cms.string('convPixelRecHits'),
00118 useErrorsFromParam = cms.bool(True)
00119 ),
00120 TIB1 = cms.PSet(
00121 TTRHBuilder = cms.string('WithTrackAngle'),
00122 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00123
00124
00125
00126 ),
00127 TIB2 = cms.PSet(
00128 TTRHBuilder = cms.string('WithTrackAngle'),
00129 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00130
00131
00132
00133 ),
00134 TIB3 = cms.PSet(
00135 TTRHBuilder = cms.string('WithTrackAngle'),
00136 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00137 ),
00138 TIB4 = cms.PSet(
00139 TTRHBuilder = cms.string('WithTrackAngle'),
00140 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00141 ),
00142 TID1 = cms.PSet(
00143 useSimpleRphiHitsCleaner = cms.bool(False),
00144 stereoRecHits = cms.InputTag("convStripRecHits","stereoRecHitUnmatched"),
00145 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00146 useRingSlector = cms.bool(True),
00147 TTRHBuilder = cms.string('WithTrackAngle'),
00148 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHitUnmatched"),
00149 maxRing = cms.int32(3),
00150 minRing = cms.int32(1)
00151 ),
00152 TID2 = cms.PSet(
00153 useSimpleRphiHitsCleaner = cms.bool(False),
00154 stereoRecHits = cms.InputTag("convStripRecHits","stereoRecHitUnmatched"),
00155 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00156 useRingSlector = cms.bool(True),
00157 TTRHBuilder = cms.string('WithTrackAngle'),
00158 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHitUnmatched"),
00159 maxRing = cms.int32(3),
00160 minRing = cms.int32(1)
00161 ),
00162 TID3 = cms.PSet(
00163 useSimpleRphiHitsCleaner = cms.bool(False),
00164 stereoRecHits = cms.InputTag("convStripRecHits","stereoRecHitUnmatched"),
00165 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00166 useRingSlector = cms.bool(True),
00167 TTRHBuilder = cms.string('WithTrackAngle'),
00168 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHitUnmatched"),
00169 maxRing = cms.int32(2),
00170 minRing = cms.int32(1)
00171 ),
00172 TEC = cms.PSet(
00173 useSimpleRphiHitsCleaner = cms.bool(False),
00174 minRing = cms.int32(1),
00175 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00176 useRingSlector = cms.bool(True),
00177 TTRHBuilder = cms.string('WithTrackAngle'),
00178 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHitUnmatched"),
00179 maxRing = cms.int32(2),
00180 stereoRecHits = cms.InputTag("convStripRecHits","stereoRecHitUnmatched")
00181 ),
00182 TOB1 = cms.PSet(
00183 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00184 TTRHBuilder = cms.string('WithTrackAngle')
00185 ),
00186 TOB2 = cms.PSet(
00187 matchedRecHits = cms.InputTag("convStripRecHits","matchedRecHit"),
00188 TTRHBuilder = cms.string('WithTrackAngle')
00189 ),
00190 TOB3 = cms.PSet(
00191 TTRHBuilder = cms.string('WithTrackAngle'),
00192 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00193 ),
00194 TOB4 = cms.PSet(
00195 TTRHBuilder = cms.string('WithTrackAngle'),
00196 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00197 ),
00198 TOB5 = cms.PSet(
00199 TTRHBuilder = cms.string('WithTrackAngle'),
00200 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00201 ),
00202 TOB6 = cms.PSet(
00203 TTRHBuilder = cms.string('WithTrackAngle'),
00204 rphiRecHits = cms.InputTag("convStripRecHits","rphiRecHit")
00205 )
00206 )
00207
00208
00209 photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('TrackRefitterStd')
00210
00211
00212 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00213 convMeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00214 ComponentName = 'convMeasurementTracker',
00215 pixelClusterProducer = 'convClusters',
00216 stripClusterProducer = 'convClusters'
00217 )
00218
00219
00220 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00221 convCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00222 ComponentName = 'convCkfTrajectoryFilter',
00223 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00224 maxLostHits = 1,
00225 minimumNumberOfHits = 3,
00226 minPt = 0.1
00227 )
00228 )
00229
00230
00231 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00232 convCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00233 ComponentName = 'convCkfTrajectoryBuilder',
00234 MeasurementTrackerName = 'convMeasurementTracker',
00235 trajectoryFilterName = 'convCkfTrajectoryFilter',
00236 minNrOfHitsForRebuild = 3
00237 )
00238
00239
00240 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00241 convTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00242 src = cms.InputTag('photonConvTrajSeedFromQuadruplets:convSeedCandidates'),
00243 TrajectoryBuilder = 'convCkfTrajectoryBuilder'
00244 )
00245
00246
00247 import RecoTracker.TrackProducer.TrackProducer_cfi
00248 convStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00249 src = 'convTrackCandidates',
00250 clusterRemovalInfo = 'convClusters',
00251 AlgorithmName = cms.string('iter9')
00252 )
00253
00254 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00255 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00256 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00257 import RecoTracker.FinalTrackSelectors.simpleTrackListMerger_cfi
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289 convStep = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00290
00291 src = 'convStepTracks',
00292 keepAllTracks = True,
00293 copyExtras = False,
00294 copyTrajectories = True,
00295 applyAdaptedPVCuts = False,
00296 chi2n_par = 2.,
00297 res_par = ( 0.003, 0.001 ),
00298 minNumberLayers = 3,
00299 maxNumberLostLayers = 1,
00300 minNumber3DLayers = 1,
00301 d0_par1 = ( 5., 8.0 ),
00302 dz_par1 = ( 5., 8.0 ),
00303 d0_par2 = ( 5., 8.0 ),
00304 dz_par2 = ( 5., 8.0 )
00305 )
00306
00307 convSequence = cms.Sequence( TrackRefitterStd * convFilter * convClusters * convPixelRecHits * convStripRecHits
00308 * photonConvTrajSeedFromQuadruplets
00309 *convTrackCandidates*convStepTracks
00310
00311 *convStep)
00312
00313
00314
00315