Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:09

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover
0004 initialStepSeedClusterMask = seedClusterRemover.clone(
0005     trajectories = 'initialStepSeeds',
0006     oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters")
0007 )
0008 
0009 from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2
0010 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
0011 trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone(
0012     trajectories = 'initialStepSeeds',
0013     oldClusterRemovalInfo = cms.InputTag('highPtTripletStepClusters')
0014     )
0015 )
0016 
0017 highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase2PU140
0018     trajectories = 'highPtTripletStepSeeds',
0019     oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask')
0020 )
0021 pixelPairStepSeedClusterMask = seedClusterRemover.clone(
0022     trajectories = 'pixelPairStepSeeds',
0023     oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask')
0024 )
0025 
0026 trackingPhase2PU140.toReplaceWith(highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.clone(
0027     trajectories = 'highPtTripletStepSeeds',
0028     oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask')
0029     )
0030 )
0031 trackingPhase2PU140.toReplaceWith(pixelPairStepSeedClusterMask, seedClusterRemoverPhase2.clone(
0032     trajectories = 'detachedQuadStepSeeds',
0033     oldClusterRemovalInfo = cms.InputTag('highPtTripletStepSeedClusterMask')
0034     )
0035 )
0036 
0037 # This is a pure guess to use detachedTripletStep for phase1 here instead of the pixelPair in Run2 configuration
0038 detachedTripletStepSeedClusterMask = seedClusterRemover.clone(
0039     trajectories = 'lowPtTripletStepSeeds',
0040     oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask')
0041 )
0042 mixedTripletStepSeedClusterMask = seedClusterRemover.clone(
0043     trajectories = 'mixedTripletStepSeeds',
0044     oldClusterRemovalInfo = cms.InputTag('pixelPairStepSeedClusterMask')
0045 )
0046 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
0047 trackingPhase1.toModify(mixedTripletStepSeedClusterMask,
0048     oldClusterRemovalInfo = 'detachedTripletStepSeedClusterMask'
0049 )
0050 pixelLessStepSeedClusterMask = seedClusterRemover.clone(
0051     trajectories = 'pixelLessStepSeeds',
0052     oldClusterRemovalInfo = cms.InputTag('mixedTripletStepSeedClusterMask')
0053 )
0054 
0055 import RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi as _mod
0056 
0057 tripletElectronSeedLayers = _mod.seedingLayersEDProducer.clone(
0058     layerList = ['BPix1+BPix2+BPix3', 
0059                  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 
0060                  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg'],
0061     BPix = dict(
0062         TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelTriplets'),
0063         HitProducer = cms.string('siPixelRecHits'),
0064         skipClusters = cms.InputTag('pixelLessStepSeedClusterMask')
0065     ),
0066     FPix = dict(
0067         TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelTriplets'),
0068         HitProducer = cms.string('siPixelRecHits'),
0069         skipClusters = cms.InputTag('pixelLessStepSeedClusterMask')
0070     )
0071 )
0072 _layerListForPhase1 = [
0073     'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4',
0074     'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4',
0075     'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg',
0076     'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
0077     'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg',
0078     'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
0079     'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
0080     'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg',
0081     'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg',
0082     'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg',
0083     'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg'
0084 ]
0085 trackingPhase1.toModify(tripletElectronSeedLayers, layerList = _layerListForPhase1)
0086 trackingPhase2PU140.toModify(tripletElectronSeedLayers,
0087     layerList = _layerListForPhase1,
0088     BPix = dict(skipClusters = 'pixelPairStepSeedClusterMask'),
0089     FPix = dict(skipClusters = 'pixelPairStepSeedClusterMask')
0090 )
0091 
0092 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
0093 tripletElectronTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
0094     ptMin        = 1.0,
0095     originRadius = 0.02,
0096     nSigmaZ      = 4.0
0097 ))
0098 
0099 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0100 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0101 pp_on_AA.toReplaceWith(tripletElectronTrackingRegions,
0102     _globalTrackingRegionWithVertices.clone(
0103         RegionPSet = dict(
0104             fixedError   = 0.5,
0105             ptMin        = 8.0,
0106             originRadius = 0.02
0107         )
0108 ))
0109 
0110 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0111 tripletElectronHitDoublets = _hitPairEDProducer.clone(
0112     seedingLayers   = 'tripletElectronSeedLayers',
0113     trackingRegions = 'tripletElectronTrackingRegions',
0114     maxElement      = 50000000,
0115     produceIntermediateHitDoublets = True,
0116 )
0117 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
0118 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
0119 tripletElectronHitTriplets = _pixelTripletHLTEDProducer.clone(
0120     doublets   = 'tripletElectronHitDoublets',
0121     maxElement = 1000000,
0122     produceSeedingHitSets = True,
0123 )
0124 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0125 tripletElectronSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0126     seedingHitSets = 'tripletElectronHitTriplets',
0127 )
0128 trackingPhase2PU140.toModify(tripletElectronHitTriplets,
0129     maxElement = 0,
0130 )
0131 
0132 from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover
0133 tripletElectronClusterMask = seedClusterRemover.clone(
0134     trajectories = 'tripletElectronSeeds',
0135     oldClusterRemovalInfo = cms.InputTag('pixelLessStepSeedClusterMask')
0136 )
0137 trackingPhase2PU140.toReplaceWith(tripletElectronClusterMask, seedClusterRemoverPhase2.clone(
0138     trajectories = 'tripletElectronSeeds',
0139     oldClusterRemovalInfo = cms.InputTag('pixelLessStepSeedClusterMask')
0140     )
0141 )
0142 
0143 pixelPairElectronSeedLayers = _mod.seedingLayersEDProducer.clone(
0144     layerList = ['BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3', 
0145                  'BPix1+FPix1_pos', 'BPix1+FPix1_neg', 
0146                  'BPix1+FPix2_pos', 'BPix1+FPix2_neg', 
0147                  'BPix2+FPix1_pos', 'BPix2+FPix1_neg', 
0148                  'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'],
0149     BPix = dict(
0150         TTRHBuilder = cms.string('WithTrackAngle'),
0151         HitProducer = cms.string('siPixelRecHits'),
0152         skipClusters = cms.InputTag('tripletElectronClusterMask')
0153     ),
0154     FPix = dict(
0155         TTRHBuilder = cms.string('WithTrackAngle'),
0156         HitProducer = cms.string('siPixelRecHits'),
0157         skipClusters = cms.InputTag('tripletElectronClusterMask')
0158     )
0159 )
0160 _layerListForPhase1 = [
0161         'BPix1+BPix2', 'BPix1+BPix3', 'BPix1+BPix4',
0162         'BPix2+BPix3', 'BPix2+BPix4',
0163         'BPix3+BPix4',
0164         'BPix1+FPix1_pos', 'BPix1+FPix1_neg', 
0165         'BPix1+FPix2_pos', 'BPix1+FPix2_neg', 
0166         'BPix2+FPix1_pos', 'BPix2+FPix1_neg', 
0167         'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg',
0168         'FPix1_pos+FPix3_pos', 'FPix1_neg+FPix3_neg',
0169         'FPix2_pos+FPix3_pos', 'FPix2_neg+FPix3_neg' 
0170     ]
0171 trackingPhase1.toModify(pixelPairElectronSeedLayers, layerList = _layerListForPhase1)
0172 
0173 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
0174 pixelPairElectronTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet = dict(
0175     ptMin        = 1.0,
0176     originRadius = 0.015,
0177     fixedError   = 0.03,
0178 ))
0179 pp_on_AA.toModify(pixelPairElectronTrackingRegions, RegionPSet = dict(ptMin = 8.0))
0180 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0181 pixelPairElectronHitDoublets = _hitPairEDProducer.clone(
0182     seedingLayers         = 'pixelPairElectronSeedLayers',
0183     trackingRegions       = 'pixelPairElectronTrackingRegions',
0184     maxElement            = 1000000,
0185     produceSeedingHitSets = True,
0186     maxElementTotal       = 12000000,
0187 )
0188 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0189 pixelPairElectronSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0190     seedingHitSets = 'pixelPairElectronHitDoublets',
0191 )
0192 
0193 stripPairElectronSeedLayers = _mod.seedingLayersEDProducer.clone(
0194     layerList = ['TIB1+TIB2', 'TIB1+TID1_pos', 'TIB1+TID1_neg', 'TID2_pos+TID3_pos', 'TID2_neg+TID3_neg',
0195                  'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos',
0196                  'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg'],
0197     TIB = dict(
0198         TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
0199         matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0200         skipClusters = cms.InputTag('tripletElectronClusterMask')
0201     ),
0202     TID = dict(
0203         matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0204         skipClusters = cms.InputTag('tripletElectronClusterMask'),
0205         useRingSlector = cms.bool(True),
0206         TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
0207         minRing = cms.int32(1),
0208         maxRing = cms.int32(2)
0209     ),
0210     TEC = dict(
0211         matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0212         skipClusters = cms.InputTag('tripletElectronClusterMask'),
0213         useRingSlector = cms.bool(True),
0214         TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
0215         minRing = cms.int32(1),
0216         maxRing = cms.int32(2)
0217     )
0218 )
0219 
0220 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
0221 stripPairElectronTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
0222     ptMin            = 1.0,
0223     originHalfLength = 12.0,
0224     originRadius     = 0.4,
0225 ))
0226 pp_on_AA.toReplaceWith(stripPairElectronTrackingRegions,
0227     _globalTrackingRegionWithVertices.clone(
0228         RegionPSet = dict(
0229             fixedError   = 0.5,
0230             ptMin        = 8.0,
0231             originRadius = 0.4
0232         )
0233 ))
0234 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
0235 stripPairElectronHitDoublets = _hitPairEDProducer.clone(
0236     seedingLayers         = 'stripPairElectronSeedLayers',
0237     trackingRegions       = 'stripPairElectronTrackingRegions',
0238     maxElement            = 1000000,
0239     produceSeedingHitSets = True,
0240     maxElementTotal       = 12000000,
0241 )
0242 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
0243 stripPairElectronSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
0244     seedingHitSets = 'stripPairElectronHitDoublets',
0245 )
0246 
0247 
0248 ###This seed collection is produced for electron reconstruction
0249 import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi
0250 newCombinedSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone(
0251     seedCollections = ['initialStepSeeds',
0252                        'pixelPairStepSeeds',
0253                        'mixedTripletStepSeeds',
0254                        'pixelLessStepSeeds',
0255                        'tripletElectronSeeds',
0256                        'pixelPairElectronSeeds',
0257                        'stripPairElectronSeeds']
0258 )
0259 _seedCollections_Phase1 = [
0260     'initialStepSeeds',
0261     'highPtTripletStepSeeds',
0262     'mixedTripletStepSeeds',
0263     'pixelLessStepSeeds',
0264     'tripletElectronSeeds',
0265     'pixelPairElectronSeeds',
0266     'stripPairElectronSeeds',
0267     'lowPtTripletStepSeeds',
0268     'lowPtQuadStepSeeds',
0269     'detachedTripletStepSeeds',
0270     'detachedQuadStepSeeds',
0271     'pixelPairStepSeeds'
0272 ]
0273 trackingPhase1.toModify(newCombinedSeeds, seedCollections = _seedCollections_Phase1)
0274 trackingPhase2PU140.toModify(newCombinedSeeds, 
0275     seedCollections = ['initialStepSeeds',
0276                    'highPtTripletStepSeeds',
0277                    'tripletElectronSeeds'] )
0278 
0279 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0280 from FastSimulation.Tracking.ElectronSeeds_cff import _newCombinedSeeds
0281 fastSim.toReplaceWith(newCombinedSeeds,_newCombinedSeeds.clone())
0282 
0283 electronSeedsSeqTask = cms.Task( initialStepSeedClusterMask,
0284                                  pixelPairStepSeedClusterMask,
0285                                  mixedTripletStepSeedClusterMask,
0286                                  pixelLessStepSeedClusterMask,
0287                                  tripletElectronSeedLayers,
0288                                  tripletElectronTrackingRegions,
0289                                  tripletElectronHitDoublets,
0290                                  tripletElectronHitTriplets,
0291                                  tripletElectronSeeds,
0292                                  tripletElectronClusterMask,
0293                                  pixelPairElectronSeedLayers,
0294                                  pixelPairElectronTrackingRegions,
0295                                  pixelPairElectronHitDoublets,
0296                                  pixelPairElectronSeeds,
0297                                  stripPairElectronSeedLayers,
0298                                  stripPairElectronTrackingRegions,
0299                                  stripPairElectronHitDoublets,
0300                                  stripPairElectronSeeds,
0301                                  newCombinedSeeds)
0302 electronSeedsSeq = cms.Sequence(electronSeedsSeqTask)
0303 _electronSeedsSeqTask_Phase1 = electronSeedsSeqTask.copy()
0304 _electronSeedsSeqTask_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask)
0305 trackingPhase1.toReplaceWith(electronSeedsSeqTask, _electronSeedsSeqTask_Phase1 )
0306 trackingPhase2PU140.toReplaceWith(electronSeedsSeqTask, cms.Task(
0307     initialStepSeedClusterMask,
0308     highPtTripletStepSeedClusterMask,
0309     pixelPairStepSeedClusterMask,
0310     tripletElectronSeedLayers,
0311     tripletElectronTrackingRegions,
0312     tripletElectronHitDoublets,
0313     tripletElectronHitTriplets,
0314     tripletElectronSeeds,
0315     newCombinedSeeds
0316 ))