import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories = 'initialStepSeeds', oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters") ) from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = 'initialStepSeeds', oldClusterRemovalInfo = cms.InputTag('highPtTripletStepClusters') ) ) highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase2PU140 trajectories = 'highPtTripletStepSeeds', oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask') ) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories = 'pixelPairStepSeeds', oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask') ) trackingPhase2PU140.toReplaceWith(highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = 'highPtTripletStepSeeds', oldClusterRemovalInfo = cms.InputTag('initialStepSeedClusterMask') ) ) trackingPhase2PU140.toReplaceWith(pixelPairStepSeedClusterMask, seedClusterRemoverPhase2.clone(
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo=cms.InputTag("pixelLessStepClusters")) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) mixedTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("mixedTripletStepSeeds"), oldClusterRemovalInfo=cms.InputTag("pixelPairStepSeedClusterMask")) pixelLessStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("pixelLessStepSeeds"), oldClusterRemovalInfo=cms.InputTag("mixedTripletStepSeedClusterMask")) tripletElectronSeedLayers = cms.ESProducer( "SeedingLayersESProducer", ComponentName=cms.string('tripletElectronSeedLayers'), layerList=cms.vstring('BPix1+BPix2+BPix3', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg'), BPix=cms.PSet( useErrorsFromParam=cms.bool(True), hitErrorRPhi=cms.double(0.0027), TTRHBuilder=cms.string('TTRHBuilderWithoutAngle4PixelTriplets'), HitProducer=cms.string('siPixelRecHits'), hitErrorRZ=cms.double(0.006), skipClusters=cms.InputTag('pixelLessStepSeedClusterMask')), FPix=cms.PSet(
import FWCore.ParameterSet.Config as cms from Configuration.StandardSequences.Eras import eras from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo=cms.InputTag("pixelLessStepClusters")) eras.trackingPhase1PU70.toModify( initialStepSeedClusterMask, oldClusterRemovalInfo="highPtTripletStepClusters") highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase1PU70 trajectories="highPtTripletStepSeeds", oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) eras.trackingPhase1PU70.toModify( pixelPairStepSeedClusterMask, oldClusterRemovalInfo="highPtTripletStepSeedClusterMask") # This is a pure guess to use detachedTripletStep for phase1 here instead of the pixelPair in Run2 configuration detachedTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("lowPtTripletStepSeeds"), oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) mixedTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("mixedTripletStepSeeds"), oldClusterRemovalInfo=cms.InputTag("pixelPairStepSeedClusterMask")) eras.trackingPhase1.toModify( mixedTripletStepSeedClusterMask, oldClusterRemovalInfo="detachedTripletStepSeedClusterMask") pixelLessStepSeedClusterMask = seedClusterRemover.clone(
def customise_Reco(process): # Need this line to stop error about missing siPixelDigis. process.MeasurementTracker.inactivePixelDetectorLabels = cms.VInputTag() # Next line is only in for the moment for debugging #process.load('Configuration.StandardSequences.Reconstruction_cff') # process.load("RecoTracker.IterativeTracking.HighPtTripletStep_cff") # new layer list (3/4 pixel seeding) in stepZero process.pixellayertriplets.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg' ) process.highPtTripletStepSeedLayers.layerList = cms.vstring('BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg', 'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg', 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg' ) process.lowPtTripletStepSeedLayers.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg' ) ## need changes to mixedtriplets step to use for imcreasing high eta efficiency process.mixedTripletStepClusters.oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters") process.mixedTripletStepClusters.trajectories = cms.InputTag("pixelPairStepTracks") process.mixedTripletStepClusters.overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep') process.mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.02 process.mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.02 ## new layer list for mixed triplet step process.mixedTripletStepSeedLayersA.layerList = cms.vstring('BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'FPix2_pos+FPix3_pos+TEC1_pos', 'FPix2_neg+FPix3_neg+TEC1_neg', 'FPix3_pos+TEC2_pos+TEC3_pos', 'FPix3_neg+TEC2_neg+TEC3_neg' ) #mixedTripletStepSeedLayersB.layerList = cms.vstring('BPix3+BPix4+TIB1', 'BPix3+BPix4+TIB2') ## switch off SeedB the easy way process.mixedTripletStepSeedLayersB.layerList = cms.vstring('BPix1+BPix2+BPix3') ## increased the max track candidates process.mixedTripletStepTrackCandidates.maxNSeeds = cms.uint32(150000) process.pixelPairStepTrackCandidates.maxNSeeds = cms.uint32(150000) ######### FOR initialStepSeeds SeedMergerPSet ----> mergeTriplets must be true global RecoTracker from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock process.initialStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone( RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone( ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'), RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone( ptMin = 0.6, originRadius = 0.02, nSigmaZ = 4.0 ) ), SeedMergerPSet = cms.PSet( layerListName = cms.string('PixelSeedMergerQuadruplets'), addRemainingTriplets = cms.bool(False), mergeTriplets = cms.bool(True), ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle') ) ) process.initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor' # quadruplets in step0 #process.initialStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(True) # disconnect merger for stepOne and step 2 to have triplets merged #process.highPtTripletStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.lowPtTripletStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.pixelPairStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.mixedTripletStepSeedsA.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.mixedTripletStepSeedsB.SeedMergerPSet.mergeTriplets = cms.bool(False) # to avoid 'too many clusters' process.initialStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.highPtTripletStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.lowPtTripletStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.pixelPairStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.mixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.mixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = cms.bool(False) # avoid 'number of triples exceed maximum' process.pixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) process.initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) process.highPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) process.lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) process.mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) process.mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0) # avoid 'number of pairs exceed maximum' process.pixelPairStepSeeds.OrderedHitsFactoryPSet.maxElement = cms.uint32(0) process.initialStepSelector.trackSelectors[0].dz_par1 = cms.vdouble(0.605, 4.0) # 0.65 process.initialStepSelector.trackSelectors[0].dz_par2 = cms.vdouble(0.42, 4.0) # 0.45 process.initialStepSelector.trackSelectors[0].d0_par1 = cms.vdouble(0.51, 4.0) # 0.55 process.initialStepSelector.trackSelectors[0].d0_par2 = cms.vdouble(0.51, 4.0) # 0.55 process.initialStepSelector.trackSelectors[1].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.initialStepSelector.trackSelectors[1].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[1].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.initialStepSelector.trackSelectors[1].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[2].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.initialStepSelector.trackSelectors[2].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[2].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.initialStepSelector.trackSelectors[2].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[0].dz_par1 = cms.vdouble(0.605, 4.0) # 0.65 process.lowPtTripletStepSelector.trackSelectors[0].dz_par2 = cms.vdouble(0.42, 4.0) # 0.45 process.lowPtTripletStepSelector.trackSelectors[0].d0_par1 = cms.vdouble(0.51, 4.0) # 0.55 process.lowPtTripletStepSelector.trackSelectors[0].d0_par2 = cms.vdouble(0.51, 4.0) # 0.55 process.lowPtTripletStepSelector.trackSelectors[1].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.lowPtTripletStepSelector.trackSelectors[1].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[1].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.lowPtTripletStepSelector.trackSelectors[1].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[2].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.lowPtTripletStepSelector.trackSelectors[2].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[2].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.lowPtTripletStepSelector.trackSelectors[2].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[0].dz_par1 = cms.vdouble(0.605, 4.0) # 0.65 process.highPtTripletStepSelector.trackSelectors[0].dz_par2 = cms.vdouble(0.42, 4.0) # 0.45 process.highPtTripletStepSelector.trackSelectors[0].d0_par1 = cms.vdouble(0.51, 4.0) # 0.55 process.highPtTripletStepSelector.trackSelectors[0].d0_par2 = cms.vdouble(0.51, 4.0) # 0.55 process.highPtTripletStepSelector.trackSelectors[1].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.highPtTripletStepSelector.trackSelectors[1].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[1].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.highPtTripletStepSelector.trackSelectors[1].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[2].dz_par1 = cms.vdouble(0.325, 4.0) # 0.35 process.highPtTripletStepSelector.trackSelectors[2].dz_par2 = cms.vdouble(0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[2].d0_par1 = cms.vdouble(0.279, 4.0) # 0.3 process.highPtTripletStepSelector.trackSelectors[2].d0_par2 = cms.vdouble(0.372, 4.0) # 0.4 # This STEPS should be added later # ## remove tracking steps 2-5 to speed up the job process.iterTracking.remove(process.DetachedTripletStep) process.iterTracking.remove(process.PixelLessStep) process.iterTracking.remove(process.TobTecStep) #modify the track merger accordingly #process.generalTracks.TrackProducers.remove(cms.InputTag('detachedTripletStepTracks')) #process.generalTracks.TrackProducers.remove(cms.InputTag('pixelLessStepTracks')) #process.generalTracks.TrackProducers.remove(cms.InputTag('tobTecStepTracks')) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("detachedTripletStep")) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("pixelLessStepSelector","pixelLessStep")) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("tobTecStepSelector","tobTecStep")) # Corrections for IterativeTracking adding HigPtTripletStep for Phase 1 # Sequence and Tags # # Cloning or Modifing Steps # PixelPairStep and others ... import RecoTracker.IterativeTracking.LowPtTripletStep_cff process.lowPtTripletStepClusters = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepClusters.clone( oldClusterRemovalInfo = cms.InputTag("highPtTripletStepClusters") ) process.lowPtTripletStepClusters.trajectories = cms.InputTag("highPtTripletStepTracks") process.lowPtTripletStepClusters.overrideTrkQuals = cms.InputTag('highPtTripletStepSelector','highPtTripletStep') process.lowPtTripletStepTracks.AlgorithmName = cms.string('iter2') process.pixelPairStepTracks.AlgorithmName = cms.string('iter3') ## REMOVED BEFORE ##process.detachedTripletStepTracks.AlgorithmName = cms.string('iter4') # MergeTrackCollections # process.earlyGeneralTracks.setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4), pQual=cms.bool(True) )) process.earlyGeneralTracks.hasSelector=cms.vint32(1,1,1,1,1) process.earlyGeneralTracks.selectedTrackQuals = cms.VInputTag( cms.InputTag("initialStepSelector","initialStep"), cms.InputTag("highPtTripletStepSelector","highPtTripletStep"), cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"), cms.InputTag("pixelPairStepSelector","pixelPairStep"), cms.InputTag("mixedTripletStep") ) process.earlyGeneralTracks.TrackProducers = cms.VInputTag( cms.InputTag("initialStepTracks"), cms.InputTag("highPtTripletStepTracks"), cms.InputTag("lowPtTripletStepTracks"), cms.InputTag("pixelPairStepTracks"), cms.InputTag("mixedTripletStepTracks") ) # Modifying iterTracking Sequence # Adding HighPtTripletStep to iterTracking Sequence # from RecoTracker.IterativeTracking.HighPtTripletStep_cff import HighPtTripletStep process.iterTracking = cms.Sequence(InitialStep* HighPtTripletStep* LowPtTripletStep* PixelPairStep* MixedTripletStep* earlyGeneralTracks* # Adjust preDuplicateMergingGeneralTracks* # Adjust #generalTracks* # Adjust generalTracksSequence* ConvStep* conversionStepTracks ) process.preDuplicateMergingGeneralTracks.TrackProducers = cms.VInputTag(cms.InputTag("earlyGeneralTracks")) process.preDuplicateMergingGeneralTracks.selectedTrackQuals = cms.VInputTag(cms.InputTag("muonSeededTracksOutInSelector","muonSeededTracksOutInHighPurity")) process.preDuplicateMergingGeneralTracks.setsToMerge = cms.VPSet(cms.PSet( pQual = cms.bool(False), tLists = cms.vint32(0) )) process.preDuplicateMergingGeneralTracks.hasSelector = cms.vint32(0) process.mergedDuplicateTracks.TTRHBuilder = 'WithTrackAngle' # PixelCPEGeneric # process.ctfWithMaterialTracks.TTRHBuilder = 'WithTrackAngle' process.PixelCPEGenericESProducer.UseErrorsFromTemplates = cms.bool(False) process.PixelCPEGenericESProducer.TruncatePixelCharge = cms.bool(False) process.PixelCPEGenericESProducer.LoadTemplatesFromDB = cms.bool(False) process.PixelCPEGenericESProducer.Upgrade = cms.bool(True) #process.PixelCPEGenericESProducer.SmallPitch = False process.PixelCPEGenericESProducer.IrradiationBiasCorrection = False process.PixelCPEGenericESProducer.DoCosmics = False # CPE for other steps process.siPixelRecHits.CPE = cms.string('PixelCPEGeneric') #and clean up the conversions (which probably need work) process.convClusters.oldClusterRemovalInfo=cms.InputTag("mixedTripletStepClusters") process.convClusters.trajectories=cms.InputTag("mixedTripletStepTracks") process.convClusters.overrideTrkQuals= cms.InputTag("mixedTripletStep") # Corrections for Electron Seeds # Sequence and Mask # Tags # process.tripletElectronSeedLayers.BPix.skipClusters=cms.InputTag('mixedTripletStepSeedClusterMask') process.tripletElectronSeedLayers.FPix.skipClusters=cms.InputTag('mixedTripletStepSeedClusterMask') process.tripletElectronClusterMask.oldClusterRemovalInfo=cms.InputTag('mixedTripletStepSeedClusterMask') process.initialStepSeedClusterMask.oldClusterRemovalInfo=cms.InputTag("mixedTripletStepClusters") #step before pixelLess # removing pixelLessStep for now # Taking it out from newCombinedSeeds below # #process.newCombinedSeeds.seedCollections.remove( cms.InputTag('pixelLessStepSeeds')) # removing pixelLessStep for now # Taking it out from electronSeeds Sequence below # #process.electronSeedsSeq.remove(process.pixelLessStepSeedClusterMask) from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover process.highPtTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("highPtTripletStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) # Now highPtTripletStepSeedClusterMask will be before pixelPairStepSeedClusterMask # process.pixelPairStepSeedClusterMask.oldClusterRemovalInfo = cms.InputTag("highPtTripletStepSeedClusterMask") ### Not the Tracking uses the 2 seed collections separately. The merged seed collection is produced ### for backward compatibility with electron reconstruction process.newCombinedSeeds.seedCollections = cms.VInputTag(cms.InputTag('initialStepSeeds'), cms.InputTag("highPtTripletStepSeeds"), cms.InputTag('pixelPairStepSeeds'), cms.InputTag('mixedTripletStepSeeds'), cms.InputTag('tripletElectronSeeds'), cms.InputTag('pixelPairElectronSeeds'), cms.InputTag('stripPairElectronSeeds') ) process.electronSeedsSeq = cms.Sequence( initialStepSeedClusterMask* process.highPtTripletStepSeedClusterMask* pixelPairStepSeedClusterMask* mixedTripletStepSeedClusterMask* tripletElectronSeeds* tripletElectronClusterMask* pixelPairElectronSeeds* stripPairElectronSeeds* newCombinedSeeds ) process.reconstruction.remove(process.castorreco) process.reconstruction.remove(process.CastorTowerReco) process.reconstruction.remove(process.ak7BasicJets) process.reconstruction.remove(process.ak7CastorJetID) process.load("SLHCUpgradeSimulations.Geometry.recoFromSimDigis_cff") process.PixelCPEGenericESProducer.Upgrade = cms.bool(True) process.PixelCPEGenericESProducer.UseErrorsFromTemplates = cms.bool(False) process.PixelCPEGenericESProducer.LoadTemplatesFromDB = cms.bool(False) process.PixelCPEGenericESProducer.TruncatePixelCharge = cms.bool(False) #the quadruplet merger configuration process.load("RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff") process.pixelseedmergerlayers.BPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" ) process.pixelseedmergerlayers.BPix.HitProducer = cms.string("siPixelRecHits" ) process.pixelseedmergerlayers.FPix.TTRHBuilder = cms.string("PixelTTRHBuilderWithoutAngle" ) process.pixelseedmergerlayers.FPix.HitProducer = cms.string("siPixelRecHits" ) process.highPtTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.initialStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.pixelPairStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.lowPtTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.convStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.mixedTripletStepTracks.TTRHBuilder=cms.string('WithTrackAngle') process.muons1stStep.TrackerKinkFinderParameters.TrackerRecHitBuilder=cms.string('WithTrackAngle') process.regionalCosmicTracks.TTRHBuilder=cms.string('WithTrackAngle') process.cosmicsVetoTracksRaw.TTRHBuilder=cms.string('WithTrackAngle') #well, this needs to move input the default configs #SeedMergerPSet = cms.PSet( # layerListName = cms.string('PixelSeedMergerQuadruplets'), # addRemainingTriplets = cms.bool(False), # mergeTriplets = cms.bool(False), # ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle') # ) #process.regionalCosmicTrackerSeeds.SeedMergerPSet=SeedMergerPSet #done return process
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo = cms.InputTag("highPtTripletStepClusters") ) highPtTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("highPtTripletStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo = cms.InputTag("highPtTripletStepSeedClusterMask") ) tripletElectronSeedLayers = cms.ESProducer("SeedingLayersESProducer", ComponentName = cms.string('tripletElectronSeedLayers'), layerList = cms.vstring('BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg', 'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg', 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg'), BPix = cms.PSet( useErrorsFromParam = cms.bool(True),
import FWCore.ParameterSet.Config as cms from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover initialStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters") ) from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70 trackingPhase1PU70.toModify(initialStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepClusters") from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("initialStepSeeds"), oldClusterRemovalInfo = cms.InputTag("highPtTripletStepClusters") ) ) highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase1PU70 trajectories = "highPtTripletStepSeeds", oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) pixelPairStepSeedClusterMask = seedClusterRemover.clone( trajectories = cms.InputTag("pixelPairStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask") ) trackingPhase1PU70.toModify(pixelPairStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepSeedClusterMask") trackingPhase2PU140.toReplaceWith(highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.clone( trajectories = cms.InputTag("highPtTripletStepSeeds"), oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask")
def customise_Reco(process): # Need this line to stop error about missing siPixelDigis. process.MeasurementTracker.inactivePixelDetectorLabels = cms.VInputTag() # Next line is only in for the moment for debugging #process.load('Configuration.StandardSequences.Reconstruction_cff') # process.load("RecoTracker.IterativeTracking.HighPtTripletStep_cff") # new layer list (3/4 pixel seeding) in stepZero process.pixellayertriplets.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg') process.highPtTripletStepSeedLayers.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+BPix3+FPix1_pos', 'BPix1+BPix3+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg', 'BPix1+FPix2_pos+FPix3_pos', 'BPix1+FPix2_neg+FPix3_neg', 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg') process.lowPtTripletStepSeedLayers.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix3+BPix4', 'BPix1+BPix2+BPix4', 'BPix2+BPix3+FPix1_pos', 'BPix2+BPix3+FPix1_neg', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg') ## need changes to mixedtriplets step to use for imcreasing high eta efficiency process.mixedTripletStepClusters.oldClusterRemovalInfo = cms.InputTag( "pixelPairStepClusters") process.mixedTripletStepClusters.trajectories = cms.InputTag( "pixelPairStepTracks") process.mixedTripletStepClusters.overrideTrkQuals = cms.InputTag( 'pixelPairStepSelector', 'pixelPairStep') process.mixedTripletStepSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.02 process.mixedTripletStepSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.02 ## new layer list for mixed triplet step process.mixedTripletStepSeedLayersA.layerList = cms.vstring( 'BPix1+BPix2+BPix3', 'BPix2+BPix3+BPix4', 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg', 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg', 'FPix1_pos+FPix2_pos+FPix3_pos', 'FPix1_neg+FPix2_neg+FPix3_neg', 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg', 'FPix2_pos+FPix3_pos+TEC1_pos', 'FPix2_neg+FPix3_neg+TEC1_neg', 'FPix3_pos+TEC2_pos+TEC3_pos', 'FPix3_neg+TEC2_neg+TEC3_neg') #mixedTripletStepSeedLayersB.layerList = cms.vstring('BPix3+BPix4+TIB1', 'BPix3+BPix4+TIB2') ## switch off SeedB the easy way process.mixedTripletStepSeedLayersB.layerList = cms.vstring( 'BPix1+BPix2+BPix3') ## increased the max track candidates process.mixedTripletStepTrackCandidates.maxNSeeds = cms.uint32(150000) process.pixelPairStepTrackCandidates.maxNSeeds = cms.uint32(150000) ######### FOR initialStepSeeds SeedMergerPSet ----> mergeTriplets must be true global RecoTracker from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock process.initialStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone( RegionFactoryPSet=RegionPsetFomBeamSpotBlock.clone( ComponentName=cms.string('GlobalRegionProducerFromBeamSpot'), RegionPSet=RegionPsetFomBeamSpotBlock.RegionPSet.clone( ptMin=0.6, originRadius=0.02, nSigmaZ=4.0)), SeedMergerPSet=cms.PSet( layerListName=cms.string('PixelSeedMergerQuadruplets'), addRemainingTriplets=cms.bool(False), mergeTriplets=cms.bool(True), ttrhBuilderLabel=cms.string('PixelTTRHBuilderWithoutAngle'))) process.initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor' # quadruplets in step0 #process.initialStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(True) # disconnect merger for stepOne and step 2 to have triplets merged #process.highPtTripletStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.lowPtTripletStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.pixelPairStepSeeds.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.mixedTripletStepSeedsA.SeedMergerPSet.mergeTriplets = cms.bool(False) #process.mixedTripletStepSeedsB.SeedMergerPSet.mergeTriplets = cms.bool(False) # to avoid 'too many clusters' process.initialStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False) process.highPtTripletStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool( False) process.lowPtTripletStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool( False) process.pixelPairStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool( False) process.mixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = cms.bool( False) process.mixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = cms.bool( False) # avoid 'number of triples exceed maximum' process.pixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) process.initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) process.highPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) process.lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) process.mixedTripletStepSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) process.mixedTripletStepSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32( 0) # avoid 'number of pairs exceed maximum' process.pixelPairStepSeeds.OrderedHitsFactoryPSet.maxElement = cms.uint32( 0) process.initialStepSelector.trackSelectors[0].dz_par1 = cms.vdouble( 0.605, 4.0) # 0.65 process.initialStepSelector.trackSelectors[0].dz_par2 = cms.vdouble( 0.42, 4.0) # 0.45 process.initialStepSelector.trackSelectors[0].d0_par1 = cms.vdouble( 0.51, 4.0) # 0.55 process.initialStepSelector.trackSelectors[0].d0_par2 = cms.vdouble( 0.51, 4.0) # 0.55 process.initialStepSelector.trackSelectors[1].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.initialStepSelector.trackSelectors[1].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[1].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.initialStepSelector.trackSelectors[1].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[2].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.initialStepSelector.trackSelectors[2].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.initialStepSelector.trackSelectors[2].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.initialStepSelector.trackSelectors[2].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[0].dz_par1 = cms.vdouble( 0.605, 4.0) # 0.65 process.lowPtTripletStepSelector.trackSelectors[0].dz_par2 = cms.vdouble( 0.42, 4.0) # 0.45 process.lowPtTripletStepSelector.trackSelectors[0].d0_par1 = cms.vdouble( 0.51, 4.0) # 0.55 process.lowPtTripletStepSelector.trackSelectors[0].d0_par2 = cms.vdouble( 0.51, 4.0) # 0.55 process.lowPtTripletStepSelector.trackSelectors[1].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.lowPtTripletStepSelector.trackSelectors[1].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[1].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.lowPtTripletStepSelector.trackSelectors[1].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[2].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.lowPtTripletStepSelector.trackSelectors[2].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.lowPtTripletStepSelector.trackSelectors[2].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.lowPtTripletStepSelector.trackSelectors[2].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[0].dz_par1 = cms.vdouble( 0.605, 4.0) # 0.65 process.highPtTripletStepSelector.trackSelectors[0].dz_par2 = cms.vdouble( 0.42, 4.0) # 0.45 process.highPtTripletStepSelector.trackSelectors[0].d0_par1 = cms.vdouble( 0.51, 4.0) # 0.55 process.highPtTripletStepSelector.trackSelectors[0].d0_par2 = cms.vdouble( 0.51, 4.0) # 0.55 process.highPtTripletStepSelector.trackSelectors[1].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.highPtTripletStepSelector.trackSelectors[1].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[1].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.highPtTripletStepSelector.trackSelectors[1].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[2].dz_par1 = cms.vdouble( 0.325, 4.0) # 0.35 process.highPtTripletStepSelector.trackSelectors[2].dz_par2 = cms.vdouble( 0.372, 4.0) # 0.4 process.highPtTripletStepSelector.trackSelectors[2].d0_par1 = cms.vdouble( 0.279, 4.0) # 0.3 process.highPtTripletStepSelector.trackSelectors[2].d0_par2 = cms.vdouble( 0.372, 4.0) # 0.4 # This STEPS should be added later # ## remove tracking steps 2-5 to speed up the job process.iterTracking.remove(process.DetachedTripletStep) process.iterTracking.remove(process.PixelLessStep) process.iterTracking.remove(process.TobTecStep) #modify the track merger accordingly #process.generalTracks.TrackProducers.remove(cms.InputTag('detachedTripletStepTracks')) #process.generalTracks.TrackProducers.remove(cms.InputTag('pixelLessStepTracks')) #process.generalTracks.TrackProducers.remove(cms.InputTag('tobTecStepTracks')) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("detachedTripletStep")) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("pixelLessStepSelector","pixelLessStep")) #process.generalTracks.selectedTrackQuals.remove(cms.InputTag("tobTecStepSelector","tobTecStep")) # Corrections for IterativeTracking adding HigPtTripletStep for Phase 1 # Sequence and Tags # # Cloning or Modifing Steps # PixelPairStep and others ... import RecoTracker.IterativeTracking.LowPtTripletStep_cff process.lowPtTripletStepClusters = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepClusters.clone( oldClusterRemovalInfo=cms.InputTag("highPtTripletStepClusters")) process.lowPtTripletStepClusters.trajectories = cms.InputTag( "highPtTripletStepTracks") process.lowPtTripletStepClusters.overrideTrkQuals = cms.InputTag( 'highPtTripletStepSelector', 'highPtTripletStep') process.lowPtTripletStepTracks.AlgorithmName = cms.string('iter2') process.pixelPairStepTracks.AlgorithmName = cms.string('iter3') ## REMOVED BEFORE ##process.detachedTripletStepTracks.AlgorithmName = cms.string('iter4') # MergeTrackCollections # process.earlyGeneralTracks.setsToMerge = cms.VPSet( cms.PSet(tLists=cms.vint32(0, 1, 2, 3, 4), pQual=cms.bool(True))) process.earlyGeneralTracks.hasSelector = cms.vint32(1, 1, 1, 1, 1) process.earlyGeneralTracks.selectedTrackQuals = cms.VInputTag( cms.InputTag("initialStepSelector", "initialStep"), cms.InputTag("highPtTripletStepSelector", "highPtTripletStep"), cms.InputTag("lowPtTripletStepSelector", "lowPtTripletStep"), cms.InputTag("pixelPairStepSelector", "pixelPairStep"), cms.InputTag("mixedTripletStep")) process.earlyGeneralTracks.TrackProducers = cms.VInputTag( cms.InputTag("initialStepTracks"), cms.InputTag("highPtTripletStepTracks"), cms.InputTag("lowPtTripletStepTracks"), cms.InputTag("pixelPairStepTracks"), cms.InputTag("mixedTripletStepTracks")) # Modifying iterTracking Sequence # Adding HighPtTripletStep to iterTracking Sequence # from RecoTracker.IterativeTracking.HighPtTripletStep_cff import HighPtTripletStep process.iterTracking = cms.Sequence( InitialStep * HighPtTripletStep * LowPtTripletStep * PixelPairStep * MixedTripletStep * earlyGeneralTracks * # Adjust preDuplicateMergingGeneralTracks * # Adjust #generalTracks* # Adjust generalTracksSequence * ConvStep * conversionStepTracks) process.preDuplicateMergingGeneralTracks.TrackProducers = cms.VInputTag( cms.InputTag("earlyGeneralTracks")) process.preDuplicateMergingGeneralTracks.selectedTrackQuals = cms.VInputTag( cms.InputTag("muonSeededTracksOutInSelector", "muonSeededTracksOutInHighPurity")) process.preDuplicateMergingGeneralTracks.setsToMerge = cms.VPSet( cms.PSet(pQual=cms.bool(False), tLists=cms.vint32(0))) process.preDuplicateMergingGeneralTracks.hasSelector = cms.vint32(0) process.mergedDuplicateTracks.TTRHBuilder = 'WithTrackAngle' # PixelCPEGeneric # process.ctfWithMaterialTracks.TTRHBuilder = 'WithTrackAngle' process.PixelCPEGenericESProducer.UseErrorsFromTemplates = cms.bool(False) process.PixelCPEGenericESProducer.TruncatePixelCharge = cms.bool(False) process.PixelCPEGenericESProducer.LoadTemplatesFromDB = cms.bool(False) process.PixelCPEGenericESProducer.Upgrade = cms.bool(True) #process.PixelCPEGenericESProducer.SmallPitch = False process.PixelCPEGenericESProducer.IrradiationBiasCorrection = False process.PixelCPEGenericESProducer.DoCosmics = False # CPE for other steps process.siPixelRecHits.CPE = cms.string('PixelCPEGeneric') #and clean up the conversions (which probably need work) process.convClusters.oldClusterRemovalInfo = cms.InputTag( "mixedTripletStepClusters") process.convClusters.trajectories = cms.InputTag("mixedTripletStepTracks") process.convClusters.overrideTrkQuals = cms.InputTag("mixedTripletStep") # Corrections for Electron Seeds # Sequence and Mask # Tags # process.tripletElectronSeedLayers.BPix.skipClusters = cms.InputTag( 'mixedTripletStepSeedClusterMask') process.tripletElectronSeedLayers.FPix.skipClusters = cms.InputTag( 'mixedTripletStepSeedClusterMask') process.tripletElectronClusterMask.oldClusterRemovalInfo = cms.InputTag( 'mixedTripletStepSeedClusterMask') process.initialStepSeedClusterMask.oldClusterRemovalInfo = cms.InputTag( "mixedTripletStepClusters") #step before pixelLess # removing pixelLessStep for now # Taking it out from newCombinedSeeds below # #process.newCombinedSeeds.seedCollections.remove( cms.InputTag('pixelLessStepSeeds')) # removing pixelLessStep for now # Taking it out from electronSeeds Sequence below # #process.electronSeedsSeq.remove(process.pixelLessStepSeedClusterMask) from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover process.highPtTripletStepSeedClusterMask = seedClusterRemover.clone( trajectories=cms.InputTag("highPtTripletStepSeeds"), oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask")) # Now highPtTripletStepSeedClusterMask will be before pixelPairStepSeedClusterMask # process.pixelPairStepSeedClusterMask.oldClusterRemovalInfo = cms.InputTag( "highPtTripletStepSeedClusterMask") ### Not the Tracking uses the 2 seed collections separately. The merged seed collection is produced ### for backward compatibility with electron reconstruction process.newCombinedSeeds.seedCollections = cms.VInputTag( cms.InputTag('initialStepSeeds'), cms.InputTag("highPtTripletStepSeeds"), cms.InputTag('pixelPairStepSeeds'), cms.InputTag('mixedTripletStepSeeds'), cms.InputTag('tripletElectronSeeds'), cms.InputTag('pixelPairElectronSeeds'), cms.InputTag('stripPairElectronSeeds')) process.electronSeedsSeq = cms.Sequence( initialStepSeedClusterMask * process.highPtTripletStepSeedClusterMask * pixelPairStepSeedClusterMask * mixedTripletStepSeedClusterMask * tripletElectronSeeds * tripletElectronClusterMask * pixelPairElectronSeeds * stripPairElectronSeeds * newCombinedSeeds) process.reconstruction.remove(process.castorreco) process.reconstruction.remove(process.CastorTowerReco) process.reconstruction.remove(process.ak7BasicJets) process.reconstruction.remove(process.ak7CastorJetID) process.load("SLHCUpgradeSimulations.Geometry.recoFromSimDigis_cff") process.PixelCPEGenericESProducer.Upgrade = cms.bool(True) process.PixelCPEGenericESProducer.UseErrorsFromTemplates = cms.bool(False) process.PixelCPEGenericESProducer.LoadTemplatesFromDB = cms.bool(False) process.PixelCPEGenericESProducer.TruncatePixelCharge = cms.bool(False) #the quadruplet merger configuration process.load("RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff") process.pixelseedmergerlayers.BPix.TTRHBuilder = cms.string( "PixelTTRHBuilderWithoutAngle") process.pixelseedmergerlayers.BPix.HitProducer = cms.string( "siPixelRecHits") process.pixelseedmergerlayers.FPix.TTRHBuilder = cms.string( "PixelTTRHBuilderWithoutAngle") process.pixelseedmergerlayers.FPix.HitProducer = cms.string( "siPixelRecHits") process.highPtTripletStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.initialStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.pixelPairStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.lowPtTripletStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.convStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.mixedTripletStepTracks.TTRHBuilder = cms.string('WithTrackAngle') process.muons1stStep.TrackerKinkFinderParameters.TrackerRecHitBuilder = cms.string( 'WithTrackAngle') process.regionalCosmicTracks.TTRHBuilder = cms.string('WithTrackAngle') process.cosmicsVetoTracksRaw.TTRHBuilder = cms.string('WithTrackAngle') #well, this needs to move input the default configs #SeedMergerPSet = cms.PSet( # layerListName = cms.string('PixelSeedMergerQuadruplets'), # addRemainingTriplets = cms.bool(False), # mergeTriplets = cms.bool(False), # ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle') # ) #process.regionalCosmicTrackerSeeds.SeedMergerPSet=SeedMergerPSet #done return process