CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
customizeHLTforMC.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 def customizeHLTforFastSim(process,_fastSim=True):
4  process=customizeHLTforMC(process,_fastSim)
5  return process
6 
7 def customizeHLTforFullSim(process,_fastSim=False):
8  process=customizeHLTforMC(process,_fastSim)
9  return process
10 
11 def customizeHLTforMC(process,_fastSim=False):
12  """adapt the HLT to run on MC, instead of data
13  see Configuration/StandardSequences/Reconstruction_Data_cff.py
14  which does the opposite, for RECO"""
15 
16  # PFRecHitProducerHCAL
17  if 'hltParticleFlowRecHitHCAL' in process.__dict__:
18  process.hltParticleFlowRecHitHCAL.ApplyPulseDPG = cms.bool(False)
19  process.hltParticleFlowRecHitHCAL.LongShortFibre_Cut = cms.double(1000000000.0)
20 
21  # customise hltHbhereco to use the Method 3 time slew parametrization and response correction for Monte Carlo (PR #11091)
22  if 'hltHbhereco' in process.__dict__:
23  process.hltHbhereco.pedestalSubtractionType = cms.int32( 1 )
24  process.hltHbhereco.pedestalUpperLimit = cms.double( 2.7 )
25  process.hltHbhereco.timeSlewParsType = cms.int32( 3 )
26  # new time slew parametrisation
27  process.hltHbhereco.timeSlewPars = cms.vdouble( 12.2999, -2.19142, 0, 12.2999, -2.19142, 0, 12.2999, -2.19142, 0 )
28  # old response correction, matching the 2015D 25ns data
29  process.hltHbhereco.respCorrM3 = cms.double( 1.0 )
30 
31 
32  if _fastSim:
33 
34  fastsim = cms.ProcessFragment( process.name_() )
35  fastsim.load( "FastSimulation.HighLevelTrigger.HLTSetup_cff" )
36 
37  fastSimUnsupportedPaths = (
38 
39  # paths for which a recovery is not foreseen/possible
40  "AlCa_*_v*",
41  "DQM_*_v*",
42  "HLT_*Calibration_v*",
43  "HLT_DTErrors_v*",
44  "HLT_Random_v*",
45  "HLT_HcalNZS_v*",
46  "HLT_HcalPhiSym_v*",
47  "HLT_Activity_Ecal*_v*",
48  "HLT_IsoTrackHB_v*",
49  "HLT_IsoTrackHE_v*",
50  "HLT_L1SingleMuOpen_AntiBPTX_v*",
51  "HLT_JetE*_NoBPTX*_v*",
52  "HLT_L2Mu*_NoBPTX*_v*",
53  "HLT_Beam*_v*",
54  #"HLT_L1Tech_*_v*",
55  "HLT_HI*",
56  "HLT_GlobalRunHPDNoise_v*",
57  "HLT_L1TrackerCosmics_v*",
58  "HLT_HcalUTCA_v*",
59 
60  # TODO: paths not supported by FastSim, but for which a recovery should be attempted
61  "HLT_DoubleMu33NoFiltersNoVtx_v*",
62  "HLT_DoubleMu38NoFiltersNoVtx_v*",
63  "HLT_Mu38NoFiltersNoVtx_Photon38_CaloIdL_v*",
64  "HLT_Mu42NoFiltersNoVtx_Photon42_CaloIdL_v*",
65  "HLT_DoubleMu23NoFiltersNoVtxDisplaced_v*",
66  "HLT_DoubleMu28NoFiltersNoVtxDisplaced_v*",
67  "HLT_Mu28NoFiltersNoVtxDisplaced_Photon28_CaloIdL_v*",
68  "HLT_Mu33NoFiltersNoVtxDisplaced_Photon33_CaloIdL_v*",
69  "HLT_HT350_DisplacedDijet80_Tight_DisplacedTrack_v*",
70  "HLT_HT350_DisplacedDijet80_DisplacedTrack_v*",
71  "HLT_HT500_DisplacedDijet40_Inclusive_v*",
72  "HLT_HT350_DisplacedDijet40_DisplacedTrack_v*",
73  "HLT_HT550_DisplacedDijet40_Inclusive_v*",
74  "HLT_HT350_DisplacedDijet80_DisplacedTrack_v*",
75  "HLT_HT400_DisplacedDijet40_Inclusive_v*",
76  "HLT_HT250_DisplacedDijet40_DisplacedTrack_v*",
77  "HLT_HT200_DisplacedDijet40_DisplacedTrack_v*",
78  "HLT_HT350_DisplacedDijet40_Inclusive_v*",
79  "HLT_TrkMu15_DoubleTrkMu5NoFiltersNoVtx_v*",
80  "HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v*",
81  "HLT_MET60_IsoTrk*",
82  "HLT_MET75_IsoTrk50_v*",
83  "HLT_MET90_IsoTrk50_v*",
84  "HLT_VBF_DisplacedJet40_DisplacedTrack_v*",
85  "HLT_VBF_DisplacedJet40_TightID_DisplacedTrack_v*",
86  "HLT_VBF_DisplacedJet40_VTightID_DisplacedTrack_v*",
87  "HLT_VBF_DisplacedJet40_VVTightID_DisplacedTrack_v*",
88  "HLT_VBF_DisplacedJet40_Hadronic_2PromptTrack_v*",
89  "HLT_VBF_DisplacedJet40_DisplacedTrack_2TrackIP2DSig5_v*",
90  "HLT_Mu33NoFiltersNoVtxDisplaced_DisplacedJet50_Tight_v*",
91  "HLT_Mu33NoFiltersNoVtxDisplaced_DisplacedJet50_Loose_v*",
92  "HLT_Mu38NoFiltersNoVtxDisplaced_DisplacedJet60_Tight_v*",
93  "HLT_Mu38NoFiltersNoVtxDisplaced_DisplacedJet60_Loose_v*",
94  "HLT_Mu38NoFiltersNoVtx_DisplacedJet60_Loose_v*",
95  "HLT_Mu28NoFiltersNoVtx_DisplacedJet40_Loose_v*",
96  "HLT_Mu28NoFiltersNoVtx_CentralCaloJet40_v*",
97  "HLT_Mu23NoFiltersNoVtx_Photon23_CaloIdL_v*",
98  "HLT_DoubleMu18NoFiltersNoVtx_v*",
99  "HLT_DoubleMuNoFiltersNoVtx_SaveObjects_v*",
100  "MC_DoubleMuNoFiltersNoVtx_v*",
101  "HLT_L1MuOpenNotHF2Pixel_SingleTrack*",
102  "HLT_L1TOTEM0_RomanPotsAND_PixelClusters*",
103  )
104 
105  ESModulesToRemove = (
106 # "CaloTowerGeometryFromDBEP",
107 # "CastorGeometryFromDBEP",
108 # "EcalBarrelGeometryFromDBEP",
109 # "EcalEndcapGeometryFromDBEP",
110 # "EcalPreshowerGeometryFromDBEP",
111 # "HcalGeometryFromDBEP",
112 # "ZdcGeometryFromDBEP",
113 # "XMLFromDBSource",
114 # "sistripconn",
115 
116 # "navigationSchoolESProducer",
117 # "TransientTrackBuilderESProducer",
118 # "SteppingHelixPropagatorAny",
119 # "OppositeMaterialPropagator",
120 # "MaterialPropagator",
121 # "CaloTowerConstituentsMapBuilder",
122 # "CaloTopologyBuilder",
123  )
124 
125  ModulesToRemove = (
126  # "hltL3MuonIsolations",
127  "hltCkfL1SeededTrackCandidates",
128  "hltCtfL1SeededithMaterialTracks",
129  "hltCkf3HitL1SeededTrackCandidates",
130  "hltCtf3HitL1SeededWithMaterialTracks",
131  "hltCkf3HitActivityTrackCandidates",
132  "hltCtf3HitActivityWithMaterialTracks",
133  "hltActivityCkfTrackCandidatesForGSF",
134  "hltL1SeededCkfTrackCandidatesForGSF",
135  "hltMuCkfTrackCandidates",
136  "hltMuCtfTracks",
137  "hltTau3MuCkfTrackCandidates",
138  "hltTau3MuCtfWithMaterialTracks",
139  "hltMuTrackJpsiCkfTrackCandidates",
140  "hltMuTrackJpsiCtfTracks",
141  "hltMuTrackJpsiEffCkfTrackCandidates",
142  "hltMuTrackJpsiEffCtfTracks",
143  "hltJpsiTkPixelSeedFromL3Candidate",
144  "hltCkfTrackCandidatesJpsiTk",
145  "hltCtfWithMaterialTracksJpsiTk",
146  "hltMuTrackCkfTrackCandidatesOnia",
147  "hltMuTrackCtfTracksOnia",
148 
149  "hltFEDSelector",
150  "hltL3TrajSeedOIHit",
151  "hltL3TrajSeedIOHit",
152  "hltL3NoFiltersTrajSeedOIHit",
153  "hltL3NoFiltersTrajSeedIOHit",
154  "hltL3TrackCandidateFromL2OIState",
155  "hltL3TrackCandidateFromL2OIHit",
156  "hltL3TrackCandidateFromL2IOHit",
157  "hltL3TrackCandidateFromL2NoVtx",
158  "hltHcalDigis",
159  "hltHoreco",
160  "hltHfreco",
161  "hltHbhereco",
162  "hltESRawToRecHitFacility",
163  "hltEcalRecHitAll",
164  "hltESRecHitAll",
165  # === eGamma
166  "hltEgammaCkfTrackCandidatesForGSF",
167  "hltEgammaGsfTracks",
168  "hltEgammaCkfTrackCandidatesForGSFUnseeded",
169  "hltEgammaGsfTracksUnseeded",
170  # === hltPF
171  "hltPFJetCkfTrackCandidates",
172  "hltPFJetCtfWithMaterialTracks",
173  "hltPFlowTrackSelectionHighPurity",
174  # === hltFastJet
175  "hltDisplacedHT250L1FastJetRegionalPixelSeedGenerator",
176  "hltDisplacedHT250L1FastJetRegionalCkfTrackCandidates",
177  "hltDisplacedHT250L1FastJetRegionalCtfWithMaterialTracks",
178  "hltDisplacedHT300L1FastJetRegionalPixelSeedGenerator",
179  "hltDisplacedHT300L1FastJetRegionalCkfTrackCandidates",
180  "hltDisplacedHT300L1FastJetRegionalCtfWithMaterialTracks",
181  "hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJet",
182  "hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJet",
183  "hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJet",
184  "hltBLifetimeRegionalPixelSeedGeneratorHbbVBF",
185  "hltBLifetimeRegionalCkfTrackCandidatesHbbVBF",
186  "hltBLifetimeRegionalCtfWithMaterialTracksHbbVBF",
187  "hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet",
188  "hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet",
189  "hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet",
190  "hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20HbbL1FastJet",
191  "hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20HbbL1FastJet",
192  "hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20HbbL1FastJet",
193  # === hltBLifetimeRegional
194  "hltBLifetimeRegionalPixelSeedGeneratorHbb",
195  "hltBLifetimeRegionalCkfTrackCandidatesHbb",
196  "hltBLifetimeRegionalCtfWithMaterialTracksHbb",
197  "hltBLifetimeRegionalPixelSeedGeneratorbbPhi",
198  "hltBLifetimeRegionalCkfTrackCandidatesbbPhi",
199  "hltBLifetimeRegionalCtfWithMaterialTracksbbPhi",
200  "hltBLifetimeBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb",
201  "hltBLifetimeBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb",
202  "hltBLifetimeBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb",
203  "hltBLifetimeDiBTagIP3D1stTrkRegionalPixelSeedGeneratorJet20Hbb",
204  "hltBLifetimeDiBTagIP3D1stTrkRegionalCkfTrackCandidatesJet20Hbb",
205  "hltBLifetimeDiBTagIP3D1stTrkRegionalCtfWithMaterialTracksJet20Hbb",
206  "hltBLifetimeFastRegionalPixelSeedGeneratorHbbVBF",
207  "hltBLifetimeFastRegionalCkfTrackCandidatesHbbVBF",
208  "hltBLifetimeFastRegionalCtfWithMaterialTracksHbbVBF",
209  "hltBLifetimeRegionalPixelSeedGeneratorbbPhiL1FastJetFastPV",
210  "hltBLifetimeRegionalCkfTrackCandidatesbbPhiL1FastJetFastPV",
211  "hltBLifetimeRegionalCtfWithMaterialTracksbbPhiL1FastJetFastPV",
212  "hltFastPixelBLifetimeRegionalPixelSeedGeneratorHbb",
213  "hltFastPixelBLifetimeRegionalCkfTrackCandidatesHbb",
214  "hltFastPixelBLifetimeRegionalCtfWithMaterialTracksHbb",
215 
216  "hltPixelTracksForMinBias",
217  "hltPixelTracksForMinBias01",
218  "hltPixelTracksForHighMult",
219  "hltRegionalPixelTracks",
220  "hltPixelTracksReg",
221  "hltPixelTracksL3Muon",
222  "hltPixelTracksGlbTrkMuon",
223  "hltPixelTracksHighPtTkMuIso",
224  "hltPixelTracksHybrid",
225  "hltPixelTracksForPhotons",
226  "hltPixelTracksForEgamma",
227  "hltPixelTracksElectrons",
228  "hltPixelTracksForHighPt",
229  "hltHighPtPixelTracks",
230  "hltPixelTracksForNoPU",
231 
232  "hltFastPixelHitsVertex",
233  "hltFastPixelTracks",
234  "hltFastPixelTracksRecover",
235 
236  "hltPixelLayerPairs",
237  "hltPixelLayerTriplets",
238  "hltPixelLayerTripletsReg",
239  "hltPixelLayerTripletsHITHB",
240  "hltPixelLayerTripletsHITHE",
241  "hltMixedLayerPairs",
242 
243  "hltFastPrimaryVertexbbPhi",
244  "hltPixelTracksFastPVbbPhi",
245  "hltPixelTracksRecoverbbPhi",
246  "hltFastPixelHitsVertexVHbb",
247  "hltFastPixelTracksVHbb",
248  "hltFastPixelTracksRecoverVHbb",
249 
250  "hltFastPrimaryVertex",
251  "hltFastPVPixelVertexFilter",
252  "hltFastPVPixelTracks",
253  "hltFastPVPixelTracksRecover",
254 
255  # "hltPixelMatchElectronsActivity",
256 
257  "hltMuonCSCDigis",
258  "hltMuonDTDigis",
259  "hltMuonRPCDigis",
260 # "hltGtDigis",
261 # "hltL1GtTrigReport",
262  # "hltCsc2DRecHits",
263  # "hltDt1DRecHits",
264  # "hltRpcRecHits",
265  "hltScalersRawToDigi",
266  "hltEcalPreshowerDigis",
267  "hltEcalDigis",
268  "hltEcalDetIdToBeRecovered",
269 
270  )
271 
272  SequencesToRemove = (
273  "HLTL1SeededEgammaRegionalRecoTrackerSequence",
274  "HLTEcalActivityEgammaRegionalRecoTrackerSequence",
275  "HLTPixelMatchElectronActivityTrackingSequence",
276  "HLTDoLocalStripSequence",
277  "HLTDoLocalPixelSequence",
278  "HLTDoLocalPixelSequenceRegL2Tau",
279  "HLTDoLocalStripSequenceReg",
280  "HLTDoLocalPixelSequenceReg",
281  "HLTDoLocalStripSequenceRegForBTag",
282  "HLTDoLocalPixelSequenceRegForBTag",
283  "HLTDoLocalPixelSequenceRegForNoPU",
284  "HLTBeginSequence",
285  "HLTBeginSequenceNZS",
286  "HLTBeginSequenceBPTX",
287  "HLTBeginSequenceAntiBPTX",
288  "HLTHBHENoiseSequence",
289  "HLTIterativeTrackingIter04",
290  "HLTIterativeTrackingIter02",
291  "HLTIterativeTracking",
292  "HLTIterativeTrackingForHighPt",
293  "HLTIterativeTrackingTau3Mu",
294  "HLTIterativeTrackingReg",
295  "HLTIterativeTrackingForPA",
296  "HLTPAIterativeTracking",
297  "HLTIterativeTrackingForElectronIter02",
298  "HLTIterativeTrackingForPhotonsIter02",
299  "HLTIterativeTrackingL3MuonIter02",
300  "HLTIterativeTrackingGlbTrkMuonIter02",
301  "HLTIterativeTrackingL3MuonRegIter02",
302  "HLTIterativeTrackingHighPtTkMu",
303  "HLTIterativeTrackingHighPtTkMuIsoIter02",
304  "HLTIterativeTrackingForBTagIter02",
305  "HLTIterativeTrackingForBTagIter12",
306  "HLTIterativeTrackingForTauIter04",
307  "HLTIterativeTrackingForTauIter02",
308  "HLTIterativeTrackingDisplacedJpsiIter02",
309  "HLTIterativeTrackingDisplacedPsiPrimeIter02",
310  "HLTIterativeTrackingDisplacedNRMuMuIter02",
311  "HLTIterativeTrackingForBTagIteration0",
312  "HLTIterativeTrackingIteration4DisplacedJets",
313  "HLTRegionalCKFTracksForL3Isolation",
314  "HLTHBHENoiseCleanerSequence",
315  )
316 
317 # Removing ESmodules
318  for label in ESModulesToRemove:
319  if (hasattr(process,label)):
320  delattr(process,label)
321 
322 # Removing paths
323  import fnmatch,re
324  ExplicitList = []
325  HLTSchedule = tuple( path.label_() for path in process.HLTSchedule)
326  for path in HLTSchedule:
327  getattr(process,path).insert(1,process.HLTL1UnpackerSequence)
328  for black in fastSimUnsupportedPaths:
329  compiled = re.compile(fnmatch.translate(black))
330  for path in HLTSchedule:
331  if compiled.search(path) is not None:
332  ExplicitList += [path]
333  UniqueList = []
334  for path in ExplicitList:
335  if path not in UniqueList:
336  UniqueList += [path]
337  for path in UniqueList:
338  process.schedule.remove(getattr(process,path))
339  process.setSchedule_(process.schedule)
340  process.prune()
341 
342 # Removing streams and datasets PSets
343  if hasattr(process,'streams'):
344  delattr(process,'streams')
345  if hasattr(process,'datasets'):
346  delattr(process,'datasets')
347 
348 # Removing sequences, possibly to be taken from fastsim import
349  for label in SequencesToRemove:
350  if hasattr(process,label):
351  if hasattr(fastsim,label):
352  setattr(process,label,getattr(fastsim,label))
353  else:
354  object = getattr(process,label)
355  list = tuple(process.sequences_().keys())
356  for name in list:
357  sequence = getattr(process,name)
358  more=True
359  while more:
360  more = sequence.remove(object)
361  list = tuple(process.paths_().keys())
362  for name in list:
363  path = getattr(process,name)
364  more=True
365  while more:
366  more = path.remove(object)
367  delattr(process,label)
368 
369 # Removing modules, possibly to be taken from fastsim import
370  for label in ModulesToRemove:
371  if hasattr(process,label):
372  if hasattr(fastsim,label):
373  setattr(process,label,getattr(fastsim,label))
374  else:
375  object = getattr(process,label)
376  # remove from sequences
377  list = tuple(process.sequences_().keys())
378  for name in list:
379  sequence = getattr(process,name)
380  more=True
381  while more:
382  more = sequence.remove(object)
383  # remove from paths
384  list = tuple(process.paths_().keys())
385  for name in list:
386  path = getattr(process,name)
387  more=True
388  while more:
389  more = path.remove(object)
390  # remove from end paths
391  list = tuple(process.endpaths_().keys())
392  for name in list:
393  path = getattr(process,name)
394  more=True
395  while more:
396  more = path.remove(object)
397  delattr(process,label)
398 
399 # Special transformations:
400  if hasattr(process,'hltGetConditions') and hasattr(process,'HLTriggerFirstPath'):
401  process.hltDummyConditions = cms.EDFilter( "HLTBool", result = cms.bool( True ) )
402  process.HLTriggerFirstPath.replace(process.hltGetConditions,process.hltDummyConditions)
403  if hasattr(process,'hltPixelVertices'):
404  process.hltPixelVertices.beamSpot = cms.InputTag('offlineBeamSpot')
405  specialModules = ( 'hltEcalRecHit', 'hltEcalPreshowerRecHit', )
406  for label in specialModules:
407  if hasattr(process,label):
408  setattr(fastsim,label,getattr(process,label))
409 
410 # Use fastsim imports
411  for label in fastsim.producers_().keys():
412  if hasattr(process,label):
413  setattr(process,label,getattr(fastsim,label))
414  for label in fastsim.filters_().keys():
415  if hasattr(process,label):
416  setattr(process,label,getattr(fastsim,label))
417  for label in fastsim.analyzers_().keys():
418  if hasattr(process,label):
419  setattr(process,label,getattr(fastsim,label))
420  for label in fastsim.sequences_().keys():
421  if hasattr(process,label):
422  setattr(process,label,getattr(fastsim,label))
423 
424 # Update InputTags
425 
426  InputTags = (
427 # ('hltGtDigis','gtDigis'),
428 # ('hltL1GtObjectMap','gtDigis'),
429  ('hltEcalDigis:ebDigis','ecalDigis:ebDigis'),
430  ('hltEcalDigis:eeDigis','ecalDigis:eeDigis'),
431  ('hltMuonCSCDigis','muonCSCDigis'),
432  ('hltMuonCSCDigis:MuonCSCStripDigi','muonCSCDigis:MuonCSCStripDigi'),
433  ('hltMuonCSCDigis:MuonCSCWireDigi','muonCSCDigis:MuonCSCWireDigi'),
434  ('hltMuonDTDigis','muonDTDigis'),
435  ('hltMuonRPCDigis','muonRPCDigis'),
436  ('hltEcalPreshowerDigis','ecalPreshowerDigis'),
437  ('hltHbhereco', 'hbhereco'),
438  ('hltHoreco', 'horeco'),
439  ('hltHfreco', 'hfreco'),
440 
441  ('hltIter2Merged', 'generalTracks'),
442  ('hltIter2HighPtMerged', 'generalTracks'),
443  ('hltIter2MergedForElectrons', 'generalTracks'),
444  ('hltIter2MergedForPhotons', 'generalTracks'),
445  ('hltIter2L3MuonMerged', 'generalTracks'),
446  ('hltIter2MergedForBTag', 'generalTracks'),
447  ('hltIter2MergedForTau', 'generalTracks'),
448  ('hltIter2GlbTrkMuonMerged', 'generalTracks'),
449  ('hltIter2HighPtTkMuMerged', 'generalTracks'),
450  ('hltIter2HighPtTkMuIsoMerged', 'generalTracks'),
451  ('hltIter2DisplacedJpsiMerged', 'generalTracks'),
452  ('hltIter2DisplacedPsiPrimeMerged', 'generalTracks'),
453  ('hltIter2DisplacedNRMuMuMerged', 'generalTracks'),
454  ('hltIter0PFlowTrackSelectionHighPurityForBTag', 'generalTracks'),
455  ('hltIter4HighPtMerged', 'generalTracks'),
456  ('hltIterativeTrackingForPAMerged', 'generalTracks'),
457  ('hltPAIterativeTrackingMerged', 'generalTracks'),
458 
459  ('hltFastPVPixelTracks','hltPixelTracks'),
460  ('hltFastPVPixelTracksRecover','hltPixelTracks'),
461  ('hltPixelTracksL3Muon','hltPixelTracks'),
462  ('hltPixelTracksGlbTrkMuon','hltPixelTracks'),
463  ('hltPixelTracksHighPtTkMuIso','hltPixelTracks'),
464  ('hltPixelTracksHybrid','hltPixelTracks'),
465  ('hltPixelTracksForPhotons','hltPixelTracks'),
466  ('hltPixelTracksForEgamma','hltPixelTracks'),
467  ('hltPixelTracksElectrons','hltPixelTracks'),
468  ('hltPixelTracksForHighPt','hltPixelTracks'),
469  ('hltHighPtPixelTracks','hltPixelTracks'),
470  ('hltPixelTracksForNoPU','hltPixelTracks'),
471 
472  ('hltL1extraParticles','l1extraParticles'),
473  ('hltL1extraParticles:Central','l1extraParticles:Central'),
474  ('hltL1extraParticles:Forward','l1extraParticles:Forward'),
475  ('hltL1extraParticles:Isolated','l1extraParticles:Isolated'),
476  ('hltL1extraParticles:NonIsolated','l1extraParticles:NonIsolated'),
477  ('hltL1extraParticles:Tau','l1extraParticles:Tau'),
478  ('hltL1extraParticles:IsoTau','l1extraParticles:IsoTau'),
479  ('hltOfflineBeamSpot','offlineBeamSpot'),
480  ('hltOnlineBeamSpot','offlineBeamSpot'),
481  ('hltSiStripClusters','MeasurementTrackerEvent'),
482 
483  )
484  from HLTrigger.Configuration.CustomConfigs import MassReplaceInputTag
485  for pair in InputTags:
486  process = MassReplaceInputTag(process,pair[0],pair[1])
487 
488 # Update top-level named parameters
489  NamedParameters = (
490 # ('GMTReadoutCollection',cms.InputTag('gtDigis'),cms.InputTag('gmtDigis')),
491  ('killDeadChannels',cms.bool(True),cms.bool(False)),
492  ('recoverEBFE',cms.bool(True),cms.bool(False)),
493  ('recoverEEFE',cms.bool(True),cms.bool(False)),
494  ('src',cms.InputTag('hltHcalTowerNoiseCleaner'),cms.InputTag('hltTowerMakerForAll')),
495  ('src',cms.InputTag('hltHcalTowerNoiseCleanerWithrechit'),cms.InputTag('hltTowerMakerForAll')),
496  ('initialSeeds',cms.InputTag('noSeedsHere'),cms.InputTag('hltPixelPairSeeds')),
497  ('preFilteredSeeds',cms.bool(True),cms.bool(False)),
498  )
499  from HLTrigger.Configuration.CustomConfigs import MassReplaceParameter
500  for thrice in NamedParameters:
501  process = MassReplaceParameter(process,thrice[0],thrice[1],thrice[2])
502 
503 # Update nested named parameters
504  for label in ('hltEgammaElectronPixelSeeds','hltEgammaElectronPixelSeedsUnseeded',):
505  if hasattr(process,label):
506  getattr(process,label).SeedConfiguration.initialSeeds = cms.InputTag('hltPixelPairSeeds')
507  getattr(process,label).SeedConfiguration.preFilteredSeeds = cms.bool(False)
508 
509 # Extending fastsim import
510  fastsim.extend(process)
511  fastsim.setSchedule_(fastsim.schedule)
512  fastsim.prune()
513 
514  if hasattr(fastsim,'hltL1extraParticles'):
515  getattr(fastsim,'HLTBeginSequence').remove(getattr(process,'offlineBeamSpot'))
516 
517  return fastsim
518 
519  else:
520 
521  return process
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:49
def MassReplaceParameter