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