File indexing completed on 2024-04-06 12:28:02
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from RecoTracker.ConversionSeedGenerators.PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi import *
0004
0005 from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import *
0006 conv2Clusters = trackClusterRemover.clone(
0007 maxChi2 = 30.0,
0008 trajectories = 'convStepTracks',
0009 pixelClusters = 'siPixelClusters',
0010 stripClusters = 'siStripClusters',
0011 oldClusterRemovalInfo = 'convClusters',
0012 overrideTrkQuals = 'convStepSelector:convStep',
0013 TrackQuality = 'highPurity'
0014 )
0015
0016 import RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi as _mod
0017
0018 conv2LayerPairs = _mod.seedingLayersEDProducer.clone(
0019 layerList = ['BPix1+BPix2',
0020 'BPix2+BPix3',
0021 'BPix2+FPix1_pos',
0022 'BPix2+FPix1_neg',
0023 'BPix2+FPix2_pos',
0024 'BPix2+FPix2_neg',
0025
0026 'FPix1_pos+FPix2_pos',
0027 'FPix1_neg+FPix2_neg',
0028
0029 'BPix3+TIB1',
0030
0031 'TIB1+TID1_pos',
0032 'TIB1+TID1_neg',
0033 'TIB1+TID2_pos',
0034 'TIB1+TID2_neg',
0035 'TIB1+TIB2',
0036
0037 'TIB2+TID1_pos',
0038 'TIB2+TID1_neg',
0039 'TIB2+TID2_pos',
0040 'TIB2+TID2_neg',
0041 'TIB2+TIB3',
0042
0043 'TIB3+TIB4',
0044 'TIB3+TID1_pos',
0045 'TIB3+TID1_neg',
0046
0047 'TIB4+TOB1',
0048
0049 'TOB1+TOB2',
0050 'TOB1+TEC1_pos',
0051 'TOB1+TEC1_neg',
0052
0053 'TOB2+TOB3',
0054 'TOB2+TEC1_pos',
0055 'TOB2+TEC1_neg',
0056
0057 'TOB3+TOB4',
0058 'TOB3+TEC1_pos',
0059 'TOB3+TEC1_neg',
0060
0061 'TOB4+TOB5',
0062
0063 'TOB5+TOB6',
0064
0065 'TID1_pos+TID2_pos',
0066 'TID2_pos+TID3_pos',
0067 'TID3_pos+TEC1_pos',
0068
0069 'TID1_neg+TID2_neg',
0070 'TID2_neg+TID3_neg',
0071 'TID3_neg+TEC1_neg',
0072
0073 'TEC1_pos+TEC2_pos',
0074 'TEC2_pos+TEC3_pos',
0075 'TEC3_pos+TEC4_pos',
0076 'TEC4_pos+TEC5_pos',
0077 'TEC5_pos+TEC6_pos',
0078 'TEC6_pos+TEC7_pos',
0079 'TEC7_pos+TEC8_pos',
0080
0081 'TEC1_neg+TEC2_neg',
0082 'TEC2_neg+TEC3_neg',
0083 'TEC3_neg+TEC4_neg',
0084 'TEC4_neg+TEC5_neg',
0085 'TEC5_neg+TEC6_neg',
0086 'TEC6_neg+TEC7_neg',
0087 'TEC7_neg+TEC8_neg'
0088
0089 ],
0090
0091 BPix = dict(
0092 TTRHBuilder = cms.string('WithTrackAngle'),
0093 HitProducer = cms.string('siPixelRecHits'),
0094 skipClusters = cms.InputTag('conv2Clusters'),
0095 ),
0096 FPix = dict(
0097 TTRHBuilder = cms.string('WithTrackAngle'),
0098 HitProducer = cms.string('siPixelRecHits'),
0099 skipClusters = cms.InputTag('conv2Clusters'),
0100 ),
0101 TIB1 = cms.PSet(
0102 TTRHBuilder = cms.string('WithTrackAngle'),
0103 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0104 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0105 skipClusters = cms.InputTag('conv2Clusters'),
0106 ),
0107 TIB2 = cms.PSet(
0108 TTRHBuilder = cms.string('WithTrackAngle'),
0109 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0110 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0111 skipClusters = cms.InputTag('conv2Clusters'),
0112 ),
0113 TIB3 = cms.PSet(
0114 TTRHBuilder = cms.string('WithTrackAngle'),
0115 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0116 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0117 skipClusters = cms.InputTag('conv2Clusters'),
0118 ),
0119 TIB4 = cms.PSet(
0120 TTRHBuilder = cms.string('WithTrackAngle'),
0121 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0122 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0123 skipClusters = cms.InputTag('conv2Clusters'),
0124 ),
0125 TID1 = cms.PSet(
0126 useSimpleRphiHitsCleaner = cms.bool(False),
0127 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0128 useRingSlector = cms.bool(True),
0129 TTRHBuilder = cms.string('WithTrackAngle'),
0130 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0131 maxRing = cms.int32(2),
0132 minRing = cms.int32(1),
0133 skipClusters = cms.InputTag('conv2Clusters'),
0134 ),
0135 TID2 = cms.PSet(
0136 useSimpleRphiHitsCleaner = cms.bool(False),
0137 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0138 useRingSlector = cms.bool(True),
0139 TTRHBuilder = cms.string('WithTrackAngle'),
0140 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0141 maxRing = cms.int32(2),
0142 minRing = cms.int32(1),
0143 skipClusters = cms.InputTag('conv2Clusters'),
0144 ),
0145 TID3 = cms.PSet(
0146 useSimpleRphiHitsCleaner = cms.bool(False),
0147 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0148 useRingSlector = cms.bool(True),
0149 TTRHBuilder = cms.string('WithTrackAngle'),
0150 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0151 maxRing = cms.int32(2),
0152 minRing = cms.int32(1),
0153 skipClusters = cms.InputTag('conv2Clusters'),
0154 ),
0155 TEC = dict(
0156 useSimpleRphiHitsCleaner = cms.bool(False),
0157 minRing = cms.int32(1),
0158 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0159 useRingSlector = cms.bool(True),
0160 TTRHBuilder = cms.string('WithTrackAngle'),
0161 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0162 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHitUnmatched'),
0163 maxRing = cms.int32(7),
0164 stereoRecHits = cms.InputTag('siStripMatchedRecHits','stereoRecHitUnmatched'),
0165 skipClusters = cms.InputTag('conv2Clusters'),
0166 ),
0167 TOB1 = cms.PSet(
0168 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0169 TTRHBuilder = cms.string('WithTrackAngle'),
0170 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0171 skipClusters = cms.InputTag('conv2Clusters'),
0172 ),
0173 TOB2 = cms.PSet(
0174 matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0175 TTRHBuilder = cms.string('WithTrackAngle'),
0176 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0177 skipClusters = cms.InputTag('conv2Clusters'),
0178 ),
0179 TOB3 = cms.PSet(
0180 TTRHBuilder = cms.string('WithTrackAngle'),
0181 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0182 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0183 skipClusters = cms.InputTag('conv2Clusters'),
0184 ),
0185 TOB4 = cms.PSet(
0186 TTRHBuilder = cms.string('WithTrackAngle'),
0187 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0188 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0189 skipClusters = cms.InputTag('conv2Clusters'),
0190 ),
0191 TOB5 = cms.PSet(
0192 TTRHBuilder = cms.string('WithTrackAngle'),
0193 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0194 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0195 skipClusters = cms.InputTag('conv2Clusters'),
0196 ),
0197 TOB6 = cms.PSet(
0198 TTRHBuilder = cms.string('WithTrackAngle'),
0199 clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0200 rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0201 skipClusters = cms.InputTag('conv2Clusters'),
0202 )
0203 )
0204
0205
0206 photonConvTrajSeedFromQuadruplets.TrackRefitter = 'generalTracks'
0207 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = 'pixelVertices'
0208
0209
0210
0211
0212
0213 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0214 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0215 maxLostHits = 1,
0216 minimumNumberOfHits = 3,
0217 minPt = 0.1
0218 )
0219
0220
0221 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0222 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
0223 trajectoryFilter = dict(refToPSet_ = 'conv2CkfTrajectoryFilter'),
0224 minNrOfHitsForRebuild = 3,
0225 maxCand = 2,
0226 )
0227
0228
0229 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0230 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
0231 src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
0232 TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
0233 )
0234
0235 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
0236 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
0237 ComponentName = 'conv2StepFitterSmoother',
0238 EstimateCut = 30,
0239 Smoother = 'conv2StepRKSmoother'
0240 )
0241
0242 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
0243 ComponentName = 'conv2StepRKSmoother',
0244 errorRescaling = 10.0
0245 )
0246
0247
0248 import RecoTracker.TrackProducer.TrackProducer_cfi
0249 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0250 src = 'conv2TrackCandidates',
0251 AlgorithmName = 'conversionStep',
0252 Fitter = 'conv2StepFitterSmoother',
0253 )
0254
0255 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0256 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0257 src='conv2StepTracks',
0258 trackSelectors= cms.VPSet(
0259 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0260 name = 'conv2StepLoose',
0261 applyAdaptedPVCuts = False,
0262 chi2n_par = 3.0,
0263 res_par = ( 0.003, 0.001 ),
0264 minNumberLayers = 3,
0265 maxNumberLostLayers = 1,
0266 minNumber3DLayers = 1,
0267 d0_par1 = ( 5., 8.0 ),
0268 dz_par1 = ( 5., 8.0 ),
0269 d0_par2 = ( 5., 8.0 ),
0270 dz_par2 = ( 5., 8.0 )
0271 ),
0272 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0273 name = 'conv2StepTight',
0274 preFilterName = 'conv2StepLoose',
0275 chi2n_par = 2.5,
0276 res_par = ( 0.003, 0.001 ),
0277 minNumberLayers = 3,
0278 maxNumberLostLayers = 1,
0279 minNumber3DLayers = 1,
0280 d0_par1 = ( 5., 8.0 ),
0281 dz_par1 = ( 5., 8.0 ),
0282 d0_par2 = ( 5., 8.0 ),
0283 dz_par2 = ( 5., 8.0 )
0284 ),
0285 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0286 name = 'conv2Step',
0287 preFilterName = 'conv2StepTight',
0288 chi2n_par = 2.0,
0289 res_par = ( 0.003, 0.001 ),
0290 minNumberLayers = 3,
0291 maxNumberLostLayers = 1,
0292 minNumber3DLayers = 1,
0293 d0_par1 = ( 5., 8.0 ),
0294 dz_par1 = ( 5., 8.0 ),
0295 d0_par2 = ( 5., 8.0 ),
0296 dz_par2 = ( 5., 8.0 )
0297 ),
0298 )
0299 )
0300
0301 Conv2StepTask = cms.Task( conv2Clusters
0302 , conv2LayerPairs
0303 , photonConvTrajSeedFromQuadruplets
0304 , conv2TrackCandidates
0305 , conv2StepTracks
0306 , conv2StepSelector)
0307 Conv2Step = cms.Sequence( Conv2StepTask )