CMS 3D CMS Logo

Functions
customizeHLTforCMSSW Namespace Reference

Functions

def checkHLTfor43774 (process)
 
def customiseBeamSpotFor2018Input (process)
 
def customiseCTPPSFor2018Input (process)
 
def customiseECALCalibrationsFor2018Input (process)
 
def customiseEGammaRecoFor2018Input (process)
 
def customiseFor2017DtUnpacking (process)
 
def customiseFor2018Input (process)
 
def customiseForOffline (process)
 
def customiseHCALFor2018Input (process)
 
def customisePixelGainForRun2Input (process)
 
def customisePixelL1ClusterThresholdForRun2Input (process)
 
def customizeHLTfor44576 (process)
 
def customizeHLTfor44778 (process)
 
def customizeHLTfor45063 (process)
 
def customizeHLTfor45206 (process)
 
def customizeHLTforCMSSW (process, menuType="GRun")
 

Function Documentation

◆ checkHLTfor43774()

def customizeHLTforCMSSW.checkHLTfor43774 (   process)

Definition at line 253 of file customizeHLTforCMSSW.py.

References common.filters_by_type(), and print().

Referenced by customizeHLTforCMSSW().

253 def checkHLTfor43774(process):
254  filt_types = ["HLTEgammaGenericFilter","HLTEgammaGenericQuadraticEtaFilter","HLTEgammaGenericQuadraticFilter","HLTElectronGenericFilter"]
255  absAbleVar = ["DEta","deta","DetaSeed","Dphi","OneOESuperMinusOneOP","OneOESeedMinusOneOP"]
256  for filt_type in filt_types:
257  for filt in filters_by_type(process, filt_type):
258  if filt.varTag.productInstanceLabel in absAbleVar:
259  if (filt.useAbs != cms.bool(True)):
260  print('# TSG WARNING: check value of parameter "useAbs" in',filt,'(expect True but is False)!')
261 
262  return process
263 
def filters_by_type(process, types)
Definition: common.py:13
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47

◆ customiseBeamSpotFor2018Input()

def customizeHLTforCMSSW.customiseBeamSpotFor2018Input (   process)
Customisation for the HLT BeamSpot when running on Run-2 (2018) data:
   - For Run-2 data, disable the use of the BS transient record, in order to read the BS record from SCAL.
   - Additionally, remove all instances of OnlineBeamSpotESProducer (not needed if useTransientRecord=False).
   - See CMSHLT-2271 and CMSHLT-2300 for further details.

Definition at line 159 of file customizeHLTforCMSSW.py.

References common.esproducers_by_type(), and customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

159 def customiseBeamSpotFor2018Input(process):
160  """Customisation for the HLT BeamSpot when running on Run-2 (2018) data:
161  - For Run-2 data, disable the use of the BS transient record, in order to read the BS record from SCAL.
162  - Additionally, remove all instances of OnlineBeamSpotESProducer (not needed if useTransientRecord=False).
163  - See CMSHLT-2271 and CMSHLT-2300 for further details.
164  """
165  for prod in producers_by_type(process, 'BeamSpotOnlineProducer'):
166  prod.useTransientRecord = False
167  onlineBeamSpotESPLabels = [prod.label_() for prod in esproducers_by_type(process, 'OnlineBeamSpotESProducer')]
168  for espLabel in onlineBeamSpotESPLabels:
169  delattr(process, espLabel)
170 
171  # re-introduce SCAL digis, if missing
172  if not hasattr(process, 'hltScalersRawToDigi') and hasattr(process, 'HLTBeamSpot') and isinstance(process.HLTBeamSpot, cms.Sequence):
173 
174  if hasattr(process, 'hltOnlineBeamSpot'):
175  process.hltOnlineBeamSpot.src = 'hltScalersRawToDigi'
176 
177  if hasattr(process, 'hltPixelTrackerHVOn'):
178  process.hltPixelTrackerHVOn.DcsStatusLabel = 'hltScalersRawToDigi'
179 
180  if hasattr(process, 'hltStripTrackerHVOn'):
181  process.hltStripTrackerHVOn.DcsStatusLabel = 'hltScalersRawToDigi'
182 
183  process.hltScalersRawToDigi = cms.EDProducer( "ScalersRawToDigi",
184  scalersInputTag = cms.InputTag( "rawDataCollector" )
185  )
186 
187  process.HLTBeamSpot.insert(0, process.hltScalersRawToDigi)
188 
189  return process
190 
def producers_by_type(process, types)
def customiseBeamSpotFor2018Input(process)
def esproducers_by_type(process, types)
Definition: common.py:21

◆ customiseCTPPSFor2018Input()

def customizeHLTforCMSSW.customiseCTPPSFor2018Input (   process)

Definition at line 144 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

144 def customiseCTPPSFor2018Input(process):
145  for prod in producers_by_type(process, 'CTPPSGeometryESModule'):
146  prod.isRun2 = True
147  for prod in producers_by_type(process, 'CTPPSPixelRawToDigi'):
148  prod.isRun3 = False
149 
150  return process
151 
def producers_by_type(process, types)
def customiseCTPPSFor2018Input(process)

◆ customiseECALCalibrationsFor2018Input()

def customizeHLTforCMSSW.customiseECALCalibrationsFor2018Input (   process)
Customisation to apply the ECAL Run-2 Ultra-Legacy calibrations (CMSHLT-2339)

Definition at line 191 of file customizeHLTforCMSSW.py.

References print().

Referenced by customiseFor2018Input().

192  """Customisation to apply the ECAL Run-2 Ultra-Legacy calibrations (CMSHLT-2339)"""
193  if hasattr(process, 'GlobalTag'):
194  if not hasattr(process.GlobalTag, 'toGet'):
195  process.GlobalTag.toGet = cms.VPSet()
196  process.GlobalTag.toGet += [
197  cms.PSet(
198  record = cms.string('EcalLaserAlphasRcd'),
199  tag = cms.string('EcalLaserAlphas_UL_Run1_Run2_2018_lastIOV_movedTo1')
200  ),
201  cms.PSet(
202  record = cms.string('EcalIntercalibConstantsRcd'),
203  tag = cms.string('EcalIntercalibConstants_UL_Run1_Run2_2018_lastIOV_movedTo1')
204  )
205  ]
206  else:
207  print('# customiseECALCalibrationsFor2018Input -- the process.GlobalTag ESSource does not exist: no customisation applied.')
208 
209  return process
210 
def customiseECALCalibrationsFor2018Input(process)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47

◆ customiseEGammaRecoFor2018Input()

def customizeHLTforCMSSW.customiseEGammaRecoFor2018Input (   process)

Definition at line 152 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

153  for prod in producers_by_type(process, 'PFECALSuperClusterProducer'):
154  if hasattr(prod, 'regressionConfig'):
155  prod.regressionConfig.regTrainedWithPS = cms.bool(False)
156 
157  return process
158 
def producers_by_type(process, types)
def customiseEGammaRecoFor2018Input(process)

◆ customiseFor2017DtUnpacking()

def customizeHLTforCMSSW.customiseFor2017DtUnpacking (   process)
Adapt the HLT to run the legacy DT unpacking
for pre2018 data/MC workflows as the default

Definition at line 67 of file customizeHLTforCMSSW.py.

67 def customiseFor2017DtUnpacking(process):
68  """Adapt the HLT to run the legacy DT unpacking
69  for pre2018 data/MC workflows as the default"""
70 
71  if hasattr(process,'hltMuonDTDigis'):
72  process.hltMuonDTDigis = cms.EDProducer( "DTUnpackingModule",
73  useStandardFEDid = cms.bool( True ),
74  maxFEDid = cms.untracked.int32( 779 ),
75  inputLabel = cms.InputTag( "rawDataCollector" ),
76  minFEDid = cms.untracked.int32( 770 ),
77  dataType = cms.string( "DDU" ),
78  readOutParameters = cms.PSet(
79  localDAQ = cms.untracked.bool( False ),
80  debug = cms.untracked.bool( False ),
81  rosParameters = cms.PSet(
82  localDAQ = cms.untracked.bool( False ),
83  debug = cms.untracked.bool( False ),
84  writeSC = cms.untracked.bool( True ),
85  readDDUIDfromDDU = cms.untracked.bool( True ),
86  readingDDU = cms.untracked.bool( True ),
87  performDataIntegrityMonitor = cms.untracked.bool( False )
88  ),
89  performDataIntegrityMonitor = cms.untracked.bool( False )
90  ),
91  dqmOnly = cms.bool( False )
92  )
93 
94  return process
95 
def customiseFor2017DtUnpacking(process)

◆ customiseFor2018Input()

def customizeHLTforCMSSW.customiseFor2018Input (   process)
Customise the HLT to run on Run 2 data/MC

Definition at line 211 of file customizeHLTforCMSSW.py.

References customiseBeamSpotFor2018Input(), customiseCTPPSFor2018Input(), customiseECALCalibrationsFor2018Input(), customiseEGammaRecoFor2018Input(), customiseHCALFor2018Input(), customisePixelGainForRun2Input(), and customisePixelL1ClusterThresholdForRun2Input().

211 def customiseFor2018Input(process):
212  """Customise the HLT to run on Run 2 data/MC"""
213  process = customisePixelGainForRun2Input(process)
215  process = customiseHCALFor2018Input(process)
216  process = customiseCTPPSFor2018Input(process)
217  process = customiseEGammaRecoFor2018Input(process)
218  process = customiseBeamSpotFor2018Input(process)
219  process = customiseECALCalibrationsFor2018Input(process)
220 
221  return process
222 
223 
def customisePixelL1ClusterThresholdForRun2Input(process)
def customiseECALCalibrationsFor2018Input(process)
def customiseHCALFor2018Input(process)
def customiseCTPPSFor2018Input(process)
def customiseFor2018Input(process)
def customiseEGammaRecoFor2018Input(process)
def customiseBeamSpotFor2018Input(process)
def customisePixelGainForRun2Input(process)

◆ customiseForOffline()

def customizeHLTforCMSSW.customiseForOffline (   process)

Definition at line 224 of file customizeHLTforCMSSW.py.

References common.esproducers_by_type(), and createfilelist.int.

Referenced by customizeHLTforCMSSW().

224 def customiseForOffline(process):
225  # For running HLT offline on Run-3 Data, use "(OnlineBeamSpotESProducer).timeThreshold = 1e6",
226  # in order to pick the beamspot that was actually used by the HLT (instead of a "fake" beamspot).
227  # These same settings can be used offline for Run-3 Data and Run-3 MC alike.
228  # Note: the products of the OnlineBeamSpotESProducer are used only
229  # if the configuration uses "(BeamSpotOnlineProducer).useTransientRecord = True".
230  # See CMSHLT-2271 and CMSHLT-2300 for further details.
231  for prod in esproducers_by_type(process, 'OnlineBeamSpotESProducer'):
232  prod.timeThreshold = int(1e6)
233 
234  # For running HLT offline and relieve the strain on Frontier so it will no longer inject a
235  # transaction id which tells Frontier to add a unique "&freshkey" to many query URLs.
236  # That was intended as a feature to only be used by the Online HLT, to guarantee that fresh conditions
237  # from the database were loaded at each Lumi section
238  # Seee CMSHLT-3123 for further details
239  if hasattr(process, 'GlobalTag'):
240  # Set ReconnectEachRun and RefreshEachRun to False
241  process.GlobalTag.ReconnectEachRun = cms.untracked.bool(False)
242  process.GlobalTag.RefreshEachRun = cms.untracked.bool(False)
243 
244  if hasattr(process.GlobalTag, 'toGet'):
245  # Filter out PSet objects containing only 'record' and 'refreshTime'
246  process.GlobalTag.toGet = [
247  pset for pset in process.GlobalTag.toGet
248  if set(pset.parameterNames_()) != {'record', 'refreshTime'}
249  ]
250 
251  return process
252 
def esproducers_by_type(process, types)
Definition: common.py:21

◆ customiseHCALFor2018Input()

def customizeHLTforCMSSW.customiseHCALFor2018Input (   process)
Customise the HLT to run on Run 2 data/MC using the old readout for the HCAL barel

Definition at line 20 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

20 def customiseHCALFor2018Input(process):
21  """Customise the HLT to run on Run 2 data/MC using the old readout for the HCAL barel"""
22 
23  for producer in producers_by_type(process, "HBHEPhase1Reconstructor"):
24  # switch on the QI8 processing for 2018 HCAL barrel
25  producer.processQIE8 = True
26 
27  # adapt CaloTowers threshold for 2018 HCAL barrel with only one depth
28  for producer in producers_by_type(process, "CaloTowersCreator"):
29  producer.HBThreshold1 = 0.7
30  producer.HBThreshold2 = 0.7
31  producer.HBThreshold = 0.7
32 
33  # adapt Particle Flow threshold for 2018 HCAL barrel with only one depth
34  from RecoParticleFlow.PFClusterProducer.particleFlowClusterHBHE_cfi import _thresholdsHB, _thresholdsHEphase1, _seedingThresholdsHB
35 
36  logWeightDenominatorHCAL2018 = cms.VPSet(
37  cms.PSet(
38  depths = cms.vint32(1, 2, 3, 4),
39  detector = cms.string('HCAL_BARREL1'),
40  logWeightDenominator = _thresholdsHB
41  ),
42  cms.PSet(
43  depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
44  detector = cms.string('HCAL_ENDCAP'),
45  logWeightDenominator = _thresholdsHEphase1
46  )
47  )
48 
49  for producer in producers_by_type(process, "PFRecHitProducer"):
50  if producer.producers[0].name.value() == 'PFHBHERecHitCreator':
51  producer.producers[0].qualityTests[0].cuts[0].threshold = _thresholdsHB
52 
53  for producer in producers_by_type(process, "PFClusterProducer"):
54  if producer.seedFinder.thresholdsByDetector[0].detector.value() == 'HCAL_BARREL1':
55  producer.seedFinder.thresholdsByDetector[0].seedingThreshold = _seedingThresholdsHB
56  producer.initialClusteringStep.thresholdsByDetector[0].gatheringThreshold = _thresholdsHB
57  producer.pfClusterBuilder.recHitEnergyNorms[0].recHitEnergyNorm = _thresholdsHB
58  producer.pfClusterBuilder.positionCalc.logWeightDenominatorByDetector = logWeightDenominatorHCAL2018
59  producer.pfClusterBuilder.allCellsPositionCalc.logWeightDenominatorByDetector = logWeightDenominatorHCAL2018
60 
61  for producer in producers_by_type(process, "PFMultiDepthClusterProducer"):
62  producer.pfClusterBuilder.allCellsPositionCalc.logWeightDenominatorByDetector = logWeightDenominatorHCAL2018
63 
64  # done
65  return process
66 
def producers_by_type(process, types)
def customiseHCALFor2018Input(process)

◆ customisePixelGainForRun2Input()

def customizeHLTforCMSSW.customisePixelGainForRun2Input (   process)
Customise the HLT to run on Run 2 data/MC using the old definition of the pixel calibrations

Up to 11.0.x, the pixel calibarations were fully specified in the configuration:
    VCaltoElectronGain      =   47
    VCaltoElectronGain_L1   =   50
    VCaltoElectronOffset    =  -60
    VCaltoElectronOffset_L1 = -670

Starting with 11.1.x, the calibrations for Run 3 were moved to the conditions, leaving in the configuration only:
    VCaltoElectronGain      =    1
    VCaltoElectronGain_L1   =    1
    VCaltoElectronOffset    =    0
    VCaltoElectronOffset_L1 =    0

Since the conditions for Run 2 have not been updated to the new scheme, the HLT configuration needs to be reverted.

Definition at line 96 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

97  """Customise the HLT to run on Run 2 data/MC using the old definition of the pixel calibrations
98 
99  Up to 11.0.x, the pixel calibarations were fully specified in the configuration:
100  VCaltoElectronGain = 47
101  VCaltoElectronGain_L1 = 50
102  VCaltoElectronOffset = -60
103  VCaltoElectronOffset_L1 = -670
104 
105  Starting with 11.1.x, the calibrations for Run 3 were moved to the conditions, leaving in the configuration only:
106  VCaltoElectronGain = 1
107  VCaltoElectronGain_L1 = 1
108  VCaltoElectronOffset = 0
109  VCaltoElectronOffset_L1 = 0
110 
111  Since the conditions for Run 2 have not been updated to the new scheme, the HLT configuration needs to be reverted.
112  """
113  # revert the Pixel parameters to be compatible with the Run 2 conditions
114  for producer in producers_by_type(process, "SiPixelClusterProducer"):
115  producer.VCaltoElectronGain = 47
116  producer.VCaltoElectronGain_L1 = 50
117  producer.VCaltoElectronOffset = -60
118  producer.VCaltoElectronOffset_L1 = -670
119 
120  for pluginType in ["SiPixelRawToClusterCUDA", "SiPixelRawToClusterCUDAPhase1", "SiPixelRawToClusterCUDAHIonPhase1"]:
121  for producer in producers_by_type(process, pluginType):
122  producer.VCaltoElectronGain = 47
123  producer.VCaltoElectronGain_L1 = 50
124  producer.VCaltoElectronOffset = -60
125  producer.VCaltoElectronOffset_L1 = -670
126 
127  return process
128 
def producers_by_type(process, types)
def customisePixelGainForRun2Input(process)

◆ customisePixelL1ClusterThresholdForRun2Input()

def customizeHLTforCMSSW.customisePixelL1ClusterThresholdForRun2Input (   process)

Definition at line 129 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customiseFor2018Input().

130  # revert the pixel Layer 1 cluster threshold to be compatible with Run2:
131  for producer in producers_by_type(process, "SiPixelClusterProducer"):
132  if hasattr(producer,"ClusterThreshold_L1"):
133  producer.ClusterThreshold_L1 = 2000
134  for pluginType in ["SiPixelRawToClusterCUDA", "SiPixelRawToClusterCUDAPhase1", "SiPixelRawToClusterCUDAHIonPhase1"]:
135  for producer in producers_by_type(process, pluginType):
136  if hasattr(producer,"clusterThreshold_layer1"):
137  producer.clusterThreshold_layer1 = 2000
138  for producer in producers_by_type(process, "SiPixelDigisClustersFromSoA"):
139  if hasattr(producer,"clusterThreshold_layer1"):
140  producer.clusterThreshold_layer1 = 2000
141 
142  return process
143 
def producers_by_type(process, types)
def customisePixelL1ClusterThresholdForRun2Input(process)

◆ customizeHLTfor44576()

def customizeHLTforCMSSW.customizeHLTfor44576 (   process)
Ensure TrackerAdditionalParametersPerDetRcd ESProducer is run when needed

Definition at line 348 of file customizeHLTforCMSSW.py.

References common.esproducers_by_type().

Referenced by customizeHLTforCMSSW().

348 def customizeHLTfor44576(process):
349  """Ensure TrackerAdditionalParametersPerDetRcd ESProducer is run when needed"""
350  for esprod in esproducers_by_type(process, 'TrackerGeometricDetESModule'):
351  process.load("Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi")
352  break
353  return process
354 
def esproducers_by_type(process, types)
Definition: common.py:21

◆ customizeHLTfor44778()

def customizeHLTforCMSSW.customizeHLTfor44778 (   process)

Definition at line 402 of file customizeHLTforCMSSW.py.

Referenced by customizeHLTforCMSSW().

402 def customizeHLTfor44778(process):
403  for modLabel in ['hltDoubleEle10Mass50PPOnAAFilter', 'hltDoubleEle15Mass50PPOnAAFilter']:
404  if hasattr(process, modLabel):
405  mod = getattr(process, modLabel)
406  mod.l1EGCand = cms.InputTag('hltEgammaCandidatesPPOnAA')
407  return process
408 
409 # CMSSW version specific customizations

◆ customizeHLTfor45063()

def customizeHLTforCMSSW.customizeHLTfor45063 (   process)
Assigns value of MuonHLTSeedMVAClassifier mva input file, scales and mean values according to the value of isFromL1

Definition at line 355 of file customizeHLTforCMSSW.py.

References customizeForNoTrackerDCS.producers_by_type().

Referenced by customizeHLTforCMSSW().

355 def customizeHLTfor45063(process):
356  """Assigns value of MuonHLTSeedMVAClassifier mva input file, scales and mean values according to the value of isFromL1"""
357  for prod in producers_by_type(process, 'MuonHLTSeedMVAClassifier'):
358  if hasattr(prod, "isFromL1"):
359  if (prod.isFromL1 == True):
360  if hasattr(prod, "mvaFileBL1"):
361  prod.mvaFileB = prod.mvaFileBL1
362  if hasattr(prod, "mvaFileEL1"):
363  prod.mvaFileE = prod.mvaFileEL1
364  if hasattr(prod, "mvaScaleMeanBL1"):
365  prod.mvaScaleMeanB = prod.mvaScaleMeanBL1
366  if hasattr(prod, "mvaScaleStdBL1"):
367  prod.mvaScaleStdB = prod.mvaScaleStdBL1
368  if hasattr(prod, "mvaScaleMeanEL1"):
369  prod.mvaScaleMeanE = prod.mvaScaleMeanEL1
370  if hasattr(prod, "mvaScaleStdEL1"):
371  prod.mvaScaleStdE = prod.mvaScaleStdEL1
372  else:
373  if hasattr(prod, "mvaFileBL2"):
374  prod.mvaFileB = prod.mvaFileBL2
375  if hasattr(prod, "mvaFileEL2"):
376  prod.mvaFileE = prod.mvaFileEL2
377  if hasattr(prod, "mvaScaleMeanBL2"):
378  prod.mvaScaleMeanB = prod.mvaScaleMeanBL2
379  if hasattr(prod, "mvaScaleStdBL2"):
380  prod.mvaScaleStdB = prod.mvaScaleStdBL2
381  if hasattr(prod, "mvaScaleMeanEL2"):
382  prod.mvaScaleMeanE = prod.mvaScaleMeanEL2
383  if hasattr(prod, "mvaScaleStdEL2"):
384  prod.mvaScaleStdE = prod.mvaScaleStdEL2
385 
386  for prod in producers_by_type(process, 'MuonHLTSeedMVAClassifier'):
387  delattr(prod,"mvaFileBL1")
388  delattr(prod,"mvaFileEL1")
389  delattr(prod,"mvaScaleMeanBL1")
390  delattr(prod,"mvaScaleStdBL1")
391  delattr(prod,"mvaScaleMeanEL1")
392  delattr(prod,"mvaScaleStdEL1")
393  delattr(prod,"mvaFileBL2")
394  delattr(prod,"mvaFileEL2")
395  delattr(prod,"mvaScaleMeanBL2")
396  delattr(prod,"mvaScaleStdBL2")
397  delattr(prod,"mvaScaleMeanEL2")
398  delattr(prod,"mvaScaleStdEL2")
399 
400  return process
401 
def producers_by_type(process, types)

◆ customizeHLTfor45206()

def customizeHLTforCMSSW.customizeHLTfor45206 (   process)

Definition at line 264 of file customizeHLTforCMSSW.py.

Referenced by customizeHLTforCMSSW().

264 def customizeHLTfor45206(process):
265 
266  dqmPixelRecoPathName = None
267  for pathName in process.paths_():
268  if pathName.startswith('DQM_PixelReconstruction_v'):
269  dqmPixelRecoPathName = pathName
270  break
271 
272  if dqmPixelRecoPathName == None:
273  return process
274 
275  import copy
276  from DQM.SiPixelPhase1Common.SiPixelPhase1RawData_cfi import SiPixelPhase1RawDataConf,SiPixelPhase1RawDataAnalyzer
277 
278  # PixelDigiErrors: monitor of SerialSync product
279  SiPixelPhase1RawDataConfForCPU = copy.deepcopy(SiPixelPhase1RawDataConf)
280  for pset in SiPixelPhase1RawDataConfForCPU:
281  pset.topFolderName = "SiPixelHeterogeneous/PixelErrorsCPU"
282 
283  process.hltPixelPhase1MonitorRawDataACPU = SiPixelPhase1RawDataAnalyzer.clone(
284  src = "hltSiPixelDigiErrorsSerialSync",
285  histograms = SiPixelPhase1RawDataConfForCPU
286  )
287 
288  # PixelDigiErrors: monitor of GPU product
289  SiPixelPhase1RawDataConfForGPU = copy.deepcopy(SiPixelPhase1RawDataConf)
290  for pset in SiPixelPhase1RawDataConfForGPU:
291  pset.topFolderName = "SiPixelHeterogeneous/PixelErrorsGPU"
292 
293  process.hltPixelPhase1MonitorRawDataAGPU = SiPixelPhase1RawDataAnalyzer.clone(
294  src = "hltSiPixelDigiErrors",
295  histograms = SiPixelPhase1RawDataConfForGPU
296  )
297 
298  # PixelDigiErrors: 'Alpaka' comparison
299  process.hltPixelDigiErrorsCompareGPUvsCPU = cms.EDProducer('SiPixelPhase1RawDataErrorComparator',
300  pixelErrorSrcCPU = cms.InputTag( 'hltSiPixelDigiErrorsSerialSync' ),
301  pixelErrorSrcGPU = cms.InputTag( 'hltSiPixelDigiErrors' ),
302  topFolderName = cms.string( 'SiPixelHeterogeneous/PixelErrorsCompareGPUvsCPU' )
303  )
304 
305  # Comparisons below are to change the names of the modules defined in customizeHLTforAlpaka
306  process.hltPixelRecHitsSoACompareGPUvsCPU = cms.EDProducer('SiPixelPhase1CompareRecHits',
307  pixelHitsReferenceSoA = cms.InputTag('hltSiPixelRecHitsSoASerialSync'),
308  pixelHitsTargetSoA = cms.InputTag('hltSiPixelRecHitsSoA'),
309  topFolderName = cms.string('SiPixelHeterogeneous/PixelRecHitsCompareGPUvsCPU'),
310  minD2cut = cms.double(1.0e-4)
311  )
312 
313  process.hltPixelTracksSoACompareGPUvsCPU = cms.EDProducer("SiPixelPhase1CompareTracks",
314  deltaR2cut = cms.double(0.04),
315  minQuality = cms.string('loose'),
316  pixelTrackReferenceSoA = cms.InputTag("hltPixelTracksSoASerialSync"),
317  pixelTrackTargetSoA = cms.InputTag("hltPixelTracksSoA"),
318  topFolderName = cms.string('SiPixelHeterogeneous/PixelTrackCompareGPUvsCPU'),
319  useQualityCut = cms.bool(True)
320  )
321 
322  process.hltPixelVertexSoACompareGPUvsCPU = cms.EDProducer("SiPixelCompareVertices",
323  beamSpotSrc = cms.InputTag("hltOnlineBeamSpot"),
324  dzCut = cms.double(1),
325  pixelVertexReferenceSoA = cms.InputTag("hltPixelVerticesSoASerialSync"),
326  pixelVertexTargetSoA = cms.InputTag("hltPixelVerticesSoA"),
327  topFolderName = cms.string('SiPixelHeterogeneous/PixelVertexCompareGPUvsCPU')
328  )
329 
330  process.HLTDQMPixelReconstruction = cms.Sequence(
331  process.hltPixelPhase1MonitorRawDataACPU
332  + process.hltPixelPhase1MonitorRawDataAGPU
333  + process.hltPixelDigiErrorsCompareGPUvsCPU
334  + process.hltPixelRecHitsSoAMonitorCPU
335  + process.hltPixelRecHitsSoAMonitorGPU
336  + process.hltPixelRecHitsSoACompareGPUvsCPU
337  + process.hltPixelTracksSoAMonitorCPU
338  + process.hltPixelTracksSoAMonitorGPU
339  + process.hltPixelTracksSoACompareGPUvsCPU
340  + process.hltPixelVertexSoAMonitorCPU
341  + process.hltPixelVertexSoAMonitorGPU
342  + process.hltPixelVertexSoACompareGPUvsCPU
343  )
344 
345  return process
346 
347 

◆ customizeHLTforCMSSW()

def customizeHLTforCMSSW.customizeHLTforCMSSW (   process,
  menuType = "GRun" 
)

Definition at line 410 of file customizeHLTforCMSSW.py.

References checkHLTfor43774(), customiseForOffline(), customizeHLTfor44576(), customizeHLTfor44778(), customizeHLTfor45063(), and customizeHLTfor45206().

410 def customizeHLTforCMSSW(process, menuType="GRun"):
411 
412  process = customiseForOffline(process)
413 
414  # add call to action function in proper order: newest last!
415  # process = customiseFor12718(process)
416 
417  process = checkHLTfor43774(process)
418  process = customizeHLTfor44576(process)
419  process = customizeHLTfor45063(process)
420  process = customizeHLTfor45206(process)
421  process = customizeHLTfor44778(process)
422 
423  return process
424 
def customizeHLTforCMSSW(process, menuType="GRun")