7 trackProducers=[
'preFilterZeroStepTracks',
8 'preFilterStepOneTracks',
9 'secWithMaterialTracks',
10 'thWithMaterialTracks',
11 'fourthWithMaterialTracks',
12 'fifthWithMaterialTracks',
15 for tp
in trackProducers:
17 if hasattr(m,
"clusterRemovalInfo"):
19 delattr(m,
"clusterRemovalInfo")
21 measurementTrackers=[
'MeasurementTracker',
22 'newMeasurementTracker',
23 'secMeasurementTracker',
24 'thMeasurementTracker',
25 'fourthMeasurementTracker',
26 'fifthMeasurementTracker',
31 for mt
in measurementTrackers:
32 es=getattr(process,mt)
38 removalModule=es.pixelClusterProducer.value()
40 if (removalModule !=
'siPixelClusters'):
41 es.skipClusters = cms.InputTag(removalModule)
42 es.pixelClusterProducer =
'siPixelClusters' 43 es.stripClusterProducer =
'siStripClusters' 45 tcremoval = getattr(process,removalModule)
47 tcremoval.clusterLessSolution= cms.bool(
True)
48 tcremoval.stripClusters =
'siStripClusters' 49 tcremoval.pixelClusters =
'siPixelClusters' 50 skipTrackQualityFilter=
False 51 if (skipTrackQualityFilter):
52 tcremoval.TrackQuality = cms.string(
'highPurity')
54 toRemove[tcremoval.trajectories.value()]=
True 55 qf=getattr(process,tcremoval.trajectories.value())
56 tcremoval.trajectories = qf.recTracks
61 'fifthTrackCandidates',
62 'fourthTrackCandidates',
63 'newTrackCandidateMaker',
65 'stepOneTrackCandidateMaker',
69 for ckfm
in patternRecoModules:
70 ckf=getattr(process,ckfm)
71 builder=getattr(process,ckf.TrajectoryBuilder.value())
72 mtn= builder.MeasurementTrackerName.value()
75 builder.MeasurementTrackerName=
'' 76 mt=getattr(process,mtn)
78 builder.clustersToSkip = mt.skipClusters
86 for esp
in process.es_producers_().
keys():
87 es = getattr(process,esp)
88 if es._TypedParameterizable__type !=
'SeedingLayersESProducer':
90 for pm
in es.parameters_().
keys():
92 if p.pythonTypeName() ==
'cms.PSet':
93 if hasattr(p,
'HitProducer'):
96 if p.HitProducer !=
'siPixelRecHits':
97 toRemove[p.HitProducer.value()]=
True 98 skip=getattr(process,p.HitProducer.value()).src
99 p.HitProducer =
'siPixelRecHits' 101 p.skipClusters = cms.InputTag(skip.value())
105 if hasattr(p,
'matchedRecHits'):
109 if p.matchedRecHits.moduleLabel !=
'siStripMatchedRecHits':
110 toRemove[p.matchedRecHits.moduleLabel]=
True 111 skip=getattr(process,p.matchedRecHits.moduleLabel).ClusterProducer
112 p.matchedRecHits.setModuleLabel(
'siStripMatchedRecHits')
114 p.skipClusters = cms.InputTag(skip.value())
118 for edp
in process.producers_():
119 p=getattr(process,edp)
120 if hasattr(p,
'ClusterCheckPSet'):
122 p.ClusterCheckPSet.PixelClusterCollectionLabel =
'siPixelClusters' 123 p.ClusterCheckPSet.ClusterCollectionLabel =
'siStripClusters' 126 toRemove[
'secStripRecHits']=
True 127 toRemove[
'fourthPixelRecHits']=
True 128 toRemove[
'fifthPixelRecHits']=
True 131 if hasattr(process,tr):
133 process.reconstruction_step.remove(getattr(process,tr))
135 delattr(process.newCombinedSeeds,
'clusterRemovalInfos')
def memorySavingTracking(process)