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