CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
customizeHLTforCMSSW Namespace Reference

Functions

def analyzers_by_type
 
def customiseFor13421
 
def customiseFor13753
 
def customiseFor14282
 
def customizeHLTforCMSSW
 
def esproducers_by_type
 
def filters_by_type
 
def producers_by_type
 

Function Documentation

def customizeHLTforCMSSW.analyzers_by_type (   process,
  types 
)

Definition at line 9 of file customizeHLTforCMSSW.py.

9 
10 def analyzers_by_type(process, *types):
11  return (analyzer for analyzer in process._Process__analyzers.values() if analyzer._TypedParameterizable__type in types)
def customizeHLTforCMSSW.customiseFor13421 (   process)

Definition at line 41 of file customizeHLTforCMSSW.py.

Referenced by customizeHLTforCMSSW().

41 
42 def customiseFor13421(process):
43  for pset in process._Process__psets.values():
44  if hasattr(pset,'ComponentType'):
45  if (pset.ComponentType == 'CkfBaseTrajectoryFilter'):
46  value = cms.int32(13)
47  if hasattr(pset,'minNumberOfHits'):
48  value = getattr(pset,'minNumberOfHits')
49  delattr(pset,'minNumberOfHits')
50  if not hasattr(pset,'minNumberOfHitsForLoopers'):
51  pset.minNumberOfHitsForLoopers = value
52  if not hasattr(pset,'minNumberOfHitsPerLoop'):
53  pset.minNumberOfHitsPerLoop = cms.int32(4)
54  if not hasattr(pset,'extraNumberOfHitsBeforeTheFirstLoop'):
55  pset.extraNumberOfHitsBeforeTheFirstLoop = cms.int32(4)
56  if not hasattr(pset,'maxLostHitsFraction'):
57  pset.maxLostHitsFraction = cms.double(999.)
58  if not hasattr(pset,'constantValueForLostHitsFractionFilter'):
59  pset.constantValueForLostHitsFractionFilter = cms.double(1.)
60  if not hasattr(pset,'minimumNumberOfHits'):
61  pset.minimumNumberOfHits = cms.int32(5)
62  if not hasattr(pset,'seedPairPenalty'):
63  pset.seedPairPenalty = cms.int32(0)
64  return process
65 
66 #
# CMSSW version specific customizations
def customizeHLTforCMSSW.customiseFor13753 (   process)

Definition at line 35 of file customizeHLTforCMSSW.py.

References producers_by_type().

35 
36 def customiseFor13753(process):
37  for producer in producers_by_type(process, "PixelTrackProducer"):
38  if producer.CleanerPSet.ComponentName.value() == "PixelTrackCleanerBySharedHits" and not hasattr(producer.CleanerPSet, "useQuadrupletAlgo"):
39  producer.CleanerPSet.useQuadrupletAlgo = cms.bool(False)
40  return process
def customizeHLTforCMSSW.customiseFor14282 (   process)

Definition at line 27 of file customizeHLTforCMSSW.py.

Referenced by customizeHLTforCMSSW().

27 
28 def customiseFor14282(process):
29  process.GlobalParametersRcdSource = cms.ESSource("EmptyESSource",
30  recordName = cms.string('L1TGlobalParametersRcd'),
31  iovIsRunNotTime = cms.bool(True),
32  firstValid = cms.vuint32(1))
33  return process
34 
# Add quadruplet-specific pixel track duplicate cleaning mode (PR #13753)
def customizeHLTforCMSSW.customizeHLTforCMSSW (   process,
  menuType = "GRun" 
)

Definition at line 67 of file customizeHLTforCMSSW.py.

References customiseFor13421(), and customiseFor14282().

67 
68 def customizeHLTforCMSSW(process, menuType="GRun"):
69 
70  import os
71  cmsswVersion = os.environ['CMSSW_VERSION']
72 
73  if cmsswVersion >= "CMSSW_8_0":
74  process = customiseFor14282(process)
75 # process = customiseFor12718(process)
76  process = customiseFor13421(process)
77  pass
78 
79 # stage-2 changes only if needed
80  if ("Fake" in menuType):
81  return process
82 
83 # if ( menuType in ("FULL","GRun","PIon")):
84 # from HLTrigger.Configuration.CustomConfigs import L1XML
85 # process = L1XML(process,"L1Menu_Collisions2016_dev_v3.xml")
86 # from HLTrigger.Configuration.CustomConfigs import L1REPACK
87 # process = L1REPACK(process)
88 #
89 # _debug = False
90 #
91 # special case
92 # for module in filters_by_type(process,"HLTL1TSeed"):
93 # label = module._Labelable__label
94 # if hasattr(getattr(process,label),'SaveTags'):
95 # delattr(getattr(process,label),'SaveTags')
96 #
97 # replace converted l1extra=>l1t plugins which are not yet in ConfDB
98 # replaceList = {
99 # 'EDAnalyzer' : { },
100 # 'EDFilter' : {
101 # 'HLTMuonL1Filter' : 'HLTMuonL1TFilter',
102 # 'HLTMuonL1RegionalFilter' : 'HLTMuonL1TRegionalFilter',
103 # 'HLTMuonTrkFilter' : 'HLTMuonTrkL1TFilter',
104 # 'HLTMuonL1toL3TkPreFilter' : 'HLTMuonL1TtoL3TkPreFilter',
105 # 'HLTMuonDimuonL2Filter' : 'HLTMuonDimuonL2FromL1TFilter',
106 # 'HLTEgammaL1MatchFilterRegional' : 'HLTEgammaL1TMatchFilterRegional',
107 # 'HLTMuonL2PreFilter' : 'HLTMuonL2FromL1TPreFilter',
108 # 'HLTPixelIsolTrackFilter' : 'HLTPixelIsolTrackL1TFilter',
109 # },
110 # 'EDProducer' : {
111 # 'CaloTowerCreatorForTauHLT' : 'CaloTowerFromL1TCreatorForTauHLT',
112 # 'L1HLTTauMatching' : 'L1THLTTauMatching',
113 # 'HLTCaloJetL1MatchProducer' : 'HLTCaloJetL1TMatchProducer',
114 # 'HLTPFJetL1MatchProducer' : 'HLTPFJetL1TMatchProducer',
115 # 'HLTL1MuonSelector' : 'HLTL1TMuonSelector',
116 # 'L2MuonSeedGenerator' : 'L2MuonSeedGeneratorFromL1T',
117 # 'IsolatedPixelTrackCandidateProducer' : 'IsolatedPixelTrackCandidateL1TProducer',
118 # }
119 # }
120 # for type,list in replaceList.iteritems():
121 # if (type=="EDAnalyzer"):
122 # if _debug:
123 # print "# Replacing EDAnalyzers:"
124 # for old,new in list.iteritems():
125 # if _debug:
126 # print '## EDAnalyzer plugin type: ',old,' -> ',new
127 # for module in analyzers_by_type(process,old):
128 # label = module._Labelable__label
129 # if _debug:
130 # print '### Instance: ',label
131 # setattr(process,label,cms.EDAnalyzer(new,**module.parameters_()))
132 # elif (type=="EDFilter"):
133 # if _debug:
134 # print "# Replacing EDFilters :"
135 # for old,new in list.iteritems():
136 # if _debug:
137 # print '## EDFilter plugin type : ',old,' -> ',new
138 # for module in filters_by_type(process,old):
139 # label = module._Labelable__label
140 # if _debug:
141 # print '### Instance: ',label
142 # setattr(process,label,cms.EDFilter(new,**module.parameters_()))
143 # elif (type=="EDProducer"):
144 # if _debug:
145 # print "# Replacing EDProducers:"
146 # for old,new in list.iteritems():
147 # if _debug:
148 # print '## EDProducer plugin type: ',old,' -> ',new
149 # for module in producers_by_type(process,old):
150 # label = module._Labelable__label
151 # if _debug:
152 # print '### Instance: ',label
153 # setattr(process,label,cms.EDProducer(new,**module.parameters_()))
154 # if (new == 'CaloTowerFromL1TCreatorForTauHLT'):
155 # setattr(getattr(process,label),'TauTrigger',cms.InputTag('hltCaloStage2Digis:Tau'))
156 # if ((new == 'HLTCaloJetL1TMatchProducer') or (new == 'HLTPFJetL1TMatchProducer')):
157 # setattr(getattr(process,label),'L1Jets',cms.InputTag('hltCaloStage2Digis:Jet'))
158 # if hasattr(getattr(process,label),'L1CenJets'):
159 # delattr(getattr(process,label),'L1CenJets')
160 # if hasattr(getattr(process,label),'L1ForJets'):
161 # delattr(getattr(process,label),'L1ForJets')
162 # if hasattr(getattr(process,label),'L1TauJets'):
163 # delattr(getattr(process,label),'L1TauJets')
164 # if (new == 'HLTL1TMuonSelector'):
165 # setattr(getattr(process,label),'InputObjects',cms.InputTag('hltGmtStage2Digis:Muon'))
166 # if (new == 'L2MuonSeedGeneratorFromL1T'):
167 # setattr(getattr(process,label),'GMTReadoutCollection',cms.InputTag(''))
168 # setattr(getattr(process,label),'InputObjects',cms.InputTag('hltGmtStage2Digis:Muon'))
169 # if (new == 'IsolatedPixelTrackCandidateL1TProducer'):
170 # setattr(getattr(process,label),'L1eTauJetsSource',cms.InputTag('hltCaloStage2Digis:Tau'))
171 #
172 # else:
173 # if _debug:
174 # print "# Error - Type ',type,' not recognised!"
175 #
176 # Both of the HLTEcalRecHitInAllL1RegionsProducer instances need InputTag fixes
177 # for module in producers_by_type(process,'HLTEcalRecHitInAllL1RegionsProducer'):
178 # label = module._Labelable__label
179 # setattr(getattr(process,label).l1InputRegions[0],'inputColl',cms.InputTag('hltCaloStage2Digis:EGamma'))
180 # setattr(getattr(process,label).l1InputRegions[0],'type',cms.string("EGamma"))
181 # setattr(getattr(process,label).l1InputRegions[1],'inputColl',cms.InputTag('hltCaloStage2Digis:EGamma'))
182 # setattr(getattr(process,label).l1InputRegions[1],'type',cms.string("EGamma"))
183 # setattr(getattr(process,label).l1InputRegions[2],'inputColl',cms.InputTag('hltCaloStage2Digis:Jet'))
184 # setattr(getattr(process,label).l1InputRegions[2],'type',cms.string("Jet"))
185 #
186 # One of the EgammaHLTCaloTowerProducer instances need InputTag fixes
187 # if hasattr(process,'hltRegionalTowerForEgamma'):
188 # setattr(getattr(process,'hltRegionalTowerForEgamma'),'L1NonIsoCand',cms.InputTag('hltCaloStage2Digis:EGamma'))
189 # setattr(getattr(process,'hltRegionalTowerForEgamma'),'L1IsoCand' ,cms.InputTag('hltCaloStage2Digis:EGamma'))
190 #
191 # replace remaining l1extra modules with filter returning 'false'
192 # badTypes = (
193 # 'HLTLevel1Activity',
194 # )
195 # if _debug:
196 # print "# Unconverted module types: ",badTypes
197 # badModules = [ ]
198 # for badType in badTypes:
199 # if _debug:
200 # print '## Unconverted module type: ',badType
201 # for module in analyzers_by_type(process,badType):
202 # label = module._Labelable__label
203 # badModules += [label]
204 # if _debug:
205 # print '### analyzer label: ',label
206 # for module in filters_by_type(process,badType):
207 # label = module._Labelable__label
208 # badModules += [label]
209 # if _debug:
210 # print '### filter label: ',label
211 # for module in producers_by_type(process,badType):
212 # label = module._Labelable__label
213 # badModules += [label]
214 # if _debug:
215 # print '### producer label: ',label
216 # for label in badModules:
217 # setattr(process,label,cms.EDFilter("HLTBool",result=cms.bool(False)))
218 
219  return process
def customizeHLTforCMSSW.esproducers_by_type (   process,
  types 
)

Definition at line 12 of file customizeHLTforCMSSW.py.

12 
13 def esproducers_by_type(process, *types):
14  return (module for module in process._Process__esproducers.values() if module._TypedParameterizable__type in types)
15 
16 #
17 # one action function per PR - put the PR number into the name of the function
18 
19 # example:
20 # def customiseFor12718(process):
21 # for pset in process._Process__psets.values():
22 # if hasattr(pset,'ComponentType'):
23 # if (pset.ComponentType == 'CkfBaseTrajectoryFilter'):
24 # if not hasattr(pset,'minGoodStripCharge'):
25 # pset.minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('HLTSiStripClusterChargeCutNone'))
26 # return process
def customizeHLTforCMSSW.filters_by_type (   process,
  types 
)

Definition at line 7 of file customizeHLTforCMSSW.py.

7 
8 def filters_by_type(process, *types):
return (filter for filter in process._Process__filters.values() if filter._TypedParameterizable__type in types)
def customizeHLTforCMSSW.producers_by_type (   process,
  types 
)

Definition at line 5 of file customizeHLTforCMSSW.py.

Referenced by customiseFor13753().

5 
6 def producers_by_type(process, *types):
return (module for module in process._Process__producers.values() if module._TypedParameterizable__type in types)