1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
95 numWFConflict = [[14400,14800],
104 for year
in upgradeKeys:
105 for i
in range(0,len(upgradeKeys[year])):
106 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
107 for conflict
in numWFConflict:
108 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
109 numWFtmp = conflict[1]
111 numWFAll[year].
append(numWFtmp)
118 preventReuseKeyword =
'NOREUSE' 127 if not step
in self.
steps:
134 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
136 stepName = step + self.
suffix + extra
139 stepNamePU = step +
'PU' + self.
suffix + extra
142 for step
in self.
steps:
148 def setup(self, stepDict, k, properties):
149 for step
in self.
steps:
156 def setup_(self, step, stepName, stepDict, k, properties):
158 def setupPU_(self, step, stepName, stepDict, k, properties):
160 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
161 if self.condition(fragment, stepList, key, hasHarvest):
162 self.workflow_(workflows, num, fragment, stepList, key)
163 def workflow_(self, workflows, num, fragment, stepList, key):
164 fragmentTmp = [fragment, key]
166 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
167 def condition(self, fragment, stepList, key, hasHarvest):
170 if "Sim" in stepName:
171 stepDict[stepName][k] =
None 172 if "Gen" in stepName:
173 stepDict[stepName][k] =
None 174 upgradeWFs = OrderedDict()
177 def setup_(self, step, stepName, stepDict, k, properties):
178 cust=properties.get(
'Custom',
None)
179 era=properties.get(
'Era',
None)
180 modifier=properties.get(
'ProcessModifier',
None)
181 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
183 stepDict[stepName][k][
'--era']=era
184 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
185 def condition(self, fragment, stepList, key, hasHarvest):
192 'GenSimHLBeamSpot14',
193 'GenSimHLBeamSpotHGCALCloseBy',
206 'HARVESTNanoFakeHLT',
230 'HARVESTNanoFakeHLT',
244 def setup_(self, step, stepName, stepDict, k, properties):
245 if stepDict[step][k] !=
None:
247 stepDict[stepName][k] =
None 248 if 'RecoNano' in step:
249 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
251 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
252 def condition(self, fragment, stepList, key, hasHarvest):
253 if (
'TTbar_14TeV' in fragment
and '2021' == key):
254 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
255 return (
'TTbar_14TeV' in fragment
and '2021' == key)
264 suffix =
'_DigiNoHLT',
273 steps = steps + [
"ALCA",
"Nano"]
274 super().
__init__(steps, PU, suffix, offset)
275 def condition(self, fragment, stepList, key, hasHarvest):
276 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV" or 'Hydjet' in fragment)
and not 'PU' in key
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
280 def setup_(self, step, stepName, stepDict, k, properties):
282 if 'ALCA' in step
or 'Nano'==step:
283 stepDict[stepName][k] =
None 284 self.
setup__(step, stepName, stepDict, k, properties)
286 def setup__(self, step, stepName, stepDict, k, properties):
289 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
290 def setup__(self, step, stepName, stepDict, k, properties):
291 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
292 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
294 def condition(self, fragment, stepList, key, hasHarvest):
295 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
311 'HARVESTNanoFakeHLT',
323 'HARVESTNanoFakeHLT',
327 suffix =
'_trackingOnly',
330 upgradeWFs[
'trackingOnly'].step3 = {
331 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
332 '--datatier':
'GEN-SIM-RECO,DQMIO',
333 '--eventcontent':
'RECOSIM,DQM',
336 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
339 def setup__(self, step, stepName, stepDict, k, properties):
340 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
341 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
350 suffix =
'_trackingRun2',
355 def setup__(self, step, stepName, stepDict, k, properties):
356 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
357 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
358 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
369 suffix =
'_trackingOnlyRun2',
372 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
375 def setup__(self, step, stepName, stepDict, k, properties):
376 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
377 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
386 suffix =
'_trackingLowPU',
391 def setup__(self, step, stepName, stepDict, k, properties):
392 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
394 elif 'ALCA' in step: stepDict[stepName][k] =
None 395 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
397 return (
'2022' in key
or '2023' in key
or '2024' in key
or '2026' in key
or 'HI' in key)
and (
'FS' not in key)
409 'HARVESTNanoFakeHLT',
414 suffix =
'_pixelTrackingOnly',
417 upgradeWFs[
'pixelTrackingOnly'].step3 = {
418 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
419 '--datatier':
'GEN-SIM-RECO,DQMIO',
420 '--eventcontent':
'RECOSIM,DQM',
424 def setup__(self, step, stepName, stepDict, k, properties):
425 if 'Digi' in step: stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
426 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
428 return (
'2017' in key
or '2021' in key
or '2023' in key
or '2024' in key)
and (
'FS' not in key)
440 suffix =
'_trackingMkFit',
443 upgradeWFs[
'trackingMkFit'].step2 = {
444 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 446 upgradeWFs[
'trackingMkFit'].step3 = {
447 '--procModifiers':
'trackingMkFitDevel' 452 def setup_(self, step, stepName, stepDict, k, properties):
454 if 'ALCA' in step
or 'Nano'==step:
455 stepDict[stepName][k] =
None 456 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
457 def condition(self, fragment, stepList, key, hasHarvest):
458 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
471 'HARVESTNanoFakeHLT',
483 'HARVESTNanoFakeHLT',
485 suffix =
'_seedingDeepCore',
491 def setup__(self, step, stepName, stepDict, k, properties):
492 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
494 return (
'2021' in key
or '2023' in key
or '2024' in key)
504 suffix =
'_displacedRegional',
507 upgradeWFs[
'displacedRegional'].step3 = {
508 '--procModifiers':
'displacedRegionalTracking' 513 def setup_(self, step, stepName, stepDict, k, properties):
514 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
515 def condition(self, fragment, stepList, key, hasHarvest):
516 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
526 suffix =
'_vectorHits',
532 def __init__(self, reco = {}, harvest = {}, **kwargs):
534 super(UpgradeWorkflow_weightedVertex, self).
__init__(
545 'HARVESTNanoFakeHLT',
557 'HARVESTNanoFakeHLT',
563 def setup_(self, step, stepName, stepDict, k, properties):
566 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
567 '--eventcontent':
'RECOSIM,DQM'}
568 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
569 if 'HARVEST' in step:
570 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
572 def condition(self, fragment, stepList, key, hasHarvest):
575 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
576 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
577 (
'2026' in key
and fragment ==
"TTbar_14TeV")
579 result =
any(selected)
and hasHarvest
585 suffix =
'_weightedVertex',
589 upgradeWFs[
'weightedVertex'].step3 = {}
590 upgradeWFs[
'weightedVertex'].step4 = {}
593 suffix =
'_weightedVertexTrackingOnly',
597 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
598 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
599 '--datatier':
'GEN-SIM-RECO,DQMIO',
600 '--eventcontent':
'RECOSIM,DQM',
603 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
604 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 609 def setup_(self, step, stepName, stepDict, k, properties):
610 if 'RecoGlobal' in step:
611 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
612 if 'HARVESTGlobal' in step:
613 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
614 def condition(self, fragment, stepList, key, hasHarvest):
615 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
625 suffix =
'_ticl_clue3D',
628 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
629 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
632 def setup_(self, step, stepName, stepDict, k, properties):
633 if 'RecoGlobal' in step:
634 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
635 if 'HARVESTGlobal' in step:
636 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
637 def condition(self, fragment, stepList, key, hasHarvest):
638 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
648 suffix =
'_ticl_FastJet',
651 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
652 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
655 def setup_(self, step, stepName, stepDict, k, properties):
656 if 'RecoGlobal' in step:
657 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
658 if 'HARVESTGlobal' in step:
659 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
660 def condition(self, fragment, stepList, key, hasHarvest):
661 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
674 upgradeWFs[
'ticl_v3'].step3 = {
'--procModifiers':
'ticl_v3'}
675 upgradeWFs[
'ticl_v3'].step4 = {
'--procModifiers':
'ticl_v3'}
680 def setup_(self, step, stepName, stepDict, k, properties):
681 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
683 def condition(self, fragment, stepList, key, hasHarvest):
684 return fragment==
"TTbar_14TeV" and '2021' in key
698 suffix =
'_trackdnn',
705 def setup_(self, step, stepName, stepDict, k, properties):
707 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
708 def condition(self, fragment, stepList, key, hasHarvest):
709 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
727 upgradeWFs[
'mlpf'].step3 = {
728 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
729 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
730 '--procModifiers':
'mlpf' 736 def setup_(self, step, stepName, stepDict, k, properties):
738 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
739 def condition(self, fragment, stepList, key, hasHarvest):
740 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 741 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
756 suffix =
'_ecalDeepSC',
759 upgradeWFs[
'ecalDeepSC'].step3 = {
760 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
761 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
762 '--procModifiers':
'ecal_deepsc' 768 def setup_(self, step, stepName, stepDict, k, properties):
770 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
771 def condition(self, fragment, stepList, key, hasHarvest):
772 return '2018' in key
and "SingleGamma" in fragment
783 suffix =
'_photonDRN',
786 upgradeWFs[
'photonDRN'].step3 = {
787 '--procModifiers':
'enableSonicTriton,photonDRN' 796 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
798 super(PatatrackWorkflow, self).
__init__(
811 'HARVESTNanoFakeHLT',
829 'HARVESTNanoFakeHLT',
840 '--datatier':
'GEN-SIM-RECO,DQMIO',
841 '--eventcontent':
'RECOSIM,DQM' 846 def condition(self, fragment, stepList, key, hasHarvest):
848 years = [
'2021',
'2023',
'2024',
'2026']
849 fragments = [
"TTbar_14",
"ZMM_14",
"ZEE_14",
"ZTT_14",
"NuGun",
"SingleMu",
"QCD_Pt15To7000_Flat"]
851 (
any(y
in key
for y
in years)
and (
'FS' not in key)
and any( f
in fragment
for f
in fragments)),
852 ((
'HI' in key)
and (
'Hydjet' in fragment)
and (
"PixelOnly" in self.
suffix) )
854 result =
any(selected)
and hasHarvest
858 def setup_(self, step, stepName, stepDict, k, properties):
860 if 'ALCA' in step
or 'Nano'==step:
861 stepDict[stepName][k] =
None 864 stepDict[stepName][k] =
None 866 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
869 stepDict[stepName][k] =
None 871 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
872 if 'Phase2' in stepDict[stepName][k][
'--era']:
873 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
874 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
875 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
876 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
879 elif 'MiniAOD' in step:
881 stepDict[stepName][k] =
None 883 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
884 elif 'HARVEST' in step:
886 stepDict[stepName][k] =
None 888 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
900 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
901 '--procModifiers':
'pixelNtupletFit' 904 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 906 suffix =
'Patatrack_PixelOnlyCPU',
917 '--procModifiers':
'gpu' 920 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
921 '--procModifiers':
'pixelNtupletFit,gpu' 924 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 926 suffix =
'Patatrack_PixelOnlyGPU',
937 '--accelerators':
'gpu-nvidia',
938 '--procModifiers':
'gpu' 941 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
942 '--accelerators':
'gpu-nvidia',
943 '--procModifiers':
'pixelNtupletFit,gpuValidation' 946 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
947 '--procModifiers':
'gpuValidation' 949 suffix =
'Patatrack_PixelOnlyGPU_Validation',
959 '--procModifiers':
'gpu' 962 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
963 '--procModifiers':
'pixelNtupletFit,gpu',
964 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 967 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
980 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
981 '--procModifiers':
'pixelNtupletFit',
982 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 985 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 987 suffix =
'Patatrack_PixelOnlyTripletsCPU',
998 '--procModifiers':
'gpu' 1001 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1002 '--procModifiers':
'pixelNtupletFit,gpu',
1003 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1006 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1008 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1019 '--accelerators':
'gpu-nvidia',
1020 '--procModifiers':
'gpu' 1023 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1024 '--accelerators':
'gpu-nvidia',
1025 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1026 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1029 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1030 '--procModifiers':
'gpuValidation',
1032 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1042 '--procModifiers':
'gpu' 1045 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1046 '--procModifiers':
'pixelNtupletFit,gpu',
1047 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1050 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1061 '--procModifiers':
'alpaka',
1062 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1065 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1066 '--procModifiers':
'alpaka',
1067 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1070 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1072 suffix =
'Patatrack_ECALOnlyAlpaka',
1085 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1088 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1090 suffix =
'Patatrack_ECALOnlyCPU',
1101 '--procModifiers':
'gpu' 1104 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1105 '--procModifiers':
'gpu' 1108 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1110 suffix =
'Patatrack_ECALOnlyGPU',
1121 '--accelerators':
'gpu-nvidia',
1122 '--procModifiers':
'gpu' 1125 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1126 '--accelerators':
'gpu-nvidia',
1127 '--procModifiers':
'gpuValidation' 1130 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1132 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1142 '--procModifiers':
'gpu' 1145 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1146 '--procModifiers':
'gpu',
1147 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1150 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1163 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1166 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1168 suffix =
'Patatrack_HCALOnlyCPU',
1179 '--procModifiers':
'gpu' 1182 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1183 '--procModifiers':
'gpu' 1186 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1188 suffix =
'Patatrack_HCALOnlyGPU',
1199 '--accelerators':
'gpu-nvidia',
1200 '--procModifiers':
'gpu' 1203 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1204 '--accelerators':
'gpu-nvidia',
1205 '--procModifiers':
'gpuValidation' 1208 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1210 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1220 '--procModifiers':
'gpu' 1223 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1224 '--procModifiers':
'gpu',
1225 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1228 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1237 '--procModifiers':
'alpaka',
1238 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1241 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1242 '--procModifiers':
'alpaka',
1243 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1246 '-s':
'HARVESTING:@hcalOnlyValidation' 1248 suffix =
'Patatrack_HCALOnlyAlpaka_Validation',
1257 '--procModifiers':
'alpaka',
1258 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1261 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnlyLegacy+reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation+pfClusterHBHEOnlyAlpakaComparisonSequence,DQM:@hcalOnly+@hcal2Only+hcalOnlyOfflineSourceSequenceAlpaka',
1262 '--procModifiers':
'alpaka',
1263 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1266 '-s':
'HARVESTING:@hcalOnlyValidation' 1268 suffix =
'Patatrack_HCALOnlyGPUandAlpaka_Validation',
1277 '--procModifiers':
'alpaka',
1280 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1281 '--procModifiers':
'alpaka' 1284 suffix =
'Patatrack_HCALOnlyAlpaka_Profiling',
1294 '--procModifiers':
'alpaka',
1295 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1299 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1300 '--procModifiers':
'alpaka',
1301 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1306 suffix =
'Patatrack_FullRecoAlpaka',
1316 '--procModifiers':
'alpaka',
1317 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1321 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1322 '--procModifiers':
'alpaka',
1323 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1328 suffix =
'Patatrack_FullRecoAlpakaTriplets',
1341 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1342 '--procModifiers':
'pixelNtupletFit' 1345 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1347 suffix =
'Patatrack_AllCPU',
1358 '--procModifiers':
'gpu' 1361 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1362 '--procModifiers':
'pixelNtupletFit,gpu' 1365 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1367 suffix =
'Patatrack_AllGPU',
1378 '--accelerators':
'gpu-nvidia',
1379 '--procModifiers':
'gpu' 1382 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1383 '--accelerators':
'gpu-nvidia',
1384 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1387 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1388 '--procModifiers':
'gpuValidation' 1390 suffix =
'Patatrack_AllGPU_Validation',
1408 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1409 '--procModifiers':
'pixelNtupletFit' 1412 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1414 suffix =
'Patatrack_AllTripletsCPU',
1425 '--procModifiers':
'gpu' 1428 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1429 '--procModifiers':
'pixelNtupletFit,gpu' 1432 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1434 suffix =
'Patatrack_AllTripletsGPU',
1445 '--accelerators':
'gpu-nvidia',
1446 '--procModifiers':
'gpu' 1449 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1450 '--accelerators':
'gpu-nvidia',
1451 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1454 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1455 '--procModifiers':
'gpuValidation' 1457 suffix =
'Patatrack_AllTripletsGPU_Validation',
1476 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1477 '--procModifiers':
'pixelNtupletFit' 1482 suffix =
'Patatrack_FullRecoCPU',
1493 '--procModifiers':
'gpu' 1497 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1498 '--procModifiers':
'pixelNtupletFit,gpu' 1503 suffix =
'Patatrack_FullRecoGPU',
1514 '--accelerators':
'gpu-nvidia',
1515 '--procModifiers':
'gpu' 1519 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1520 '--accelerators':
'gpu-nvidia',
1521 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1526 suffix =
'Patatrack_FullRecoGPU_Validation',
1540 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1541 '--procModifiers':
'pixelNtupletFit',
1542 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1547 suffix =
'Patatrack_FullRecoTripletsCPU',
1554 '--datatier':
'GEN-SIM-RAW',
1555 '--eventcontent':
'RAWSIM',
1559 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1560 '--procModifiers':
'pixelNtupletFit',
1561 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1562 '--datatier':
'AODSIM',
1563 '--eventcontent':
'AODSIM',
1566 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1577 '--procModifiers':
'gpu' 1581 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1582 '--procModifiers':
'pixelNtupletFit,gpu',
1583 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1588 suffix =
'Patatrack_FullRecoTripletsGPU',
1595 '--procModifiers':
'gpu',
1596 '--datatier':
'GEN-SIM-RAW',
1597 '--eventcontent':
'RAWSIM',
1601 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1602 '--procModifiers':
'pixelNtupletFit,gpu',
1603 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1604 '--datatier':
'AODSIM',
1605 '--eventcontent':
'AODSIM',
1608 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1619 '--accelerators':
'gpu-nvidia',
1620 '--procModifiers':
'gpu' 1624 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1625 '--accelerators':
'gpu-nvidia',
1626 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1627 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1632 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1638 '--procModifiers':
'alpaka',
1639 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1642 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1643 '--procModifiers':
'alpaka',
1644 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1647 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1649 suffix =
'Patatrack_PixelOnlyAlpaka',
1655 '--procModifiers':
'alpaka',
1656 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1659 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1660 '--procModifiers':
'alpakaValidation',
1661 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1664 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1665 '--procModifiers':
'alpakaValidation',
1667 suffix =
'Patatrack_PixelOnlyAlpaka_Validation',
1673 '--procModifiers':
'alpaka',
1676 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1677 '--procModifiers':
'alpaka',
1678 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1681 suffix =
'Patatrack_PixelOnlyAlpaka_Profiling',
1687 '--procModifiers':
'alpaka',
1688 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1691 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1692 '--procModifiers':
'alpaka',
1693 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling' 1696 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1698 suffix =
'Patatrack_PixelOnlyTripletsAlpaka',
1704 '--procModifiers':
'alpaka',
1705 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1708 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1709 '--procModifiers':
'alpakaValidation',
1710 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling' 1713 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1715 suffix =
'Patatrack_PixelOnlyTripletsAlpaka_Validation',
1721 '--procModifiers':
'alpaka',
1724 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1725 '--procModifiers':
'alpaka',
1726 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1729 suffix =
'Patatrack_PixelOnlyTripletsAlpaka_Profiling',
1736 def setup_(self, step, stepName, stepDict, k, properties):
1737 if 'GenSimHLBeamSpot14' in step:
1738 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1739 elif 'Digi' in step
and 'Trigger' not in step:
1740 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1,DIGI2RAW,HLT:@relval2022',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1741 elif 'DigiTrigger' in step:
1742 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1TrackTrigger,L1,DIGI2RAW,HLT:@fake2',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1743 elif 'Reco' in step:
1744 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1745 elif 'MiniAOD' in step:
1747 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1748 elif 'ALCA' in step
or 'HARVEST' in step:
1750 stepDict[stepName][k] =
None 1752 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1754 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key)
1757 'GenSimHLBeamSpot14',
1769 'HARVESTNanoFakeHLT',
1776 'GenSimHLBeamSpot14',
1788 'HARVESTNanoFakeHLT',
1794 suffix =
'_ProdLike',
1799 def __init__(self, suffix, offset, fixedPU,
1802 'GenSimHLBeamSpot14',
1814 'HARVESTNanoFakeHLT',
1820 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1822 def setupPU_(self, step, stepName, stepDict, k, properties):
1824 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1825 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1828 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1835 suffix =
'_ProdLikePU10',
1841 suffix =
'_ProdLikePU20',
1847 suffix =
'_ProdLikePU30',
1853 suffix =
'_ProdLikePU40',
1859 suffix =
'_ProdLikePU50',
1865 suffix =
'_ProdLikePU55',
1871 suffix =
'_ProdLikePU60',
1877 suffix =
'_ProdLikePU65',
1883 suffix =
'_ProdLikePU70',
1889 suffix =
'_ProdLikePU80',
1895 suffix =
'_ProdLikePU90',
1901 suffix =
'_ProdLikePU100',
1907 suffix =
'_ProdLikePU120',
1913 suffix =
'_ProdLikePU140',
1919 suffix =
'_ProdLikePU160',
1925 suffix =
'_ProdLikePU180',
1931 def setup_(self, step, stepName, stepDict, k, properties):
1932 if 'HARVEST' in step:
1933 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1935 stepDict[stepName][k] =
merge([stepDict[step][k]])
1937 return fragment==
"TTbar_14TeV" and '2026' in key
1940 'GenSimHLBeamSpot14',
1947 'GenSimHLBeamSpot14',
1953 suffix =
'_HLT75e33',
1958 def setup_(self, step, stepName, stepDict, k, properties):
1959 if 'DigiTrigger' in step:
1960 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1962 return fragment==
"TTbar_14TeV" and '2026' in key
1970 suffix =
'_HLTwDIGI75e33',
1975 def setup_(self, step, stepName, stepDict, k, properties):
1977 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1979 return '2026' in key
1988 suffix =
'_L1Complete',
1993 def setup_(self, step, stepName, stepDict, k, properties):
1994 if 'GenSim' in step:
1995 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1997 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1998 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1999 if '--customise' in stepDict[stepName][k].
keys():
2000 stepDict[stepName][k][
'--customise'] +=
","+custNew
2002 stepDict[stepName][k][
'--customise'] = custNew
2009 'GenSimHLBeamSpot14',
2017 suffix =
'_Neutron',
2021 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
2022 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
2025 def setup_(self, step, stepName, stepDict, k, properties):
2026 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
2028 return fragment==
"TTbar_13" and '2018' in key
2046 suffix =
'_heCollapse',
2052 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
2054 super(UpgradeWorkflow_ecalDevel, self).
__init__(
2072 def setup_(self, step, stepName, stepDict, k, properties):
2074 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
2076 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 2078 elif 'Reco' in step:
2079 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 2080 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 2081 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 2083 elif 'HARVEST' in step:
2084 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 2086 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2089 stepDict[stepName][k] =
None 2092 return fragment==
"TTbar_14TeV" and '2026' in key
2096 suffix =
'_ecalDevel',
2102 reco = {
'--procModifiers':
'gpu'},
2103 suffix =
'_ecalDevelGPU',
2109 def __init__(self, suffix, offset, ecalTPPh2, ecalMod,
2113 'GenSimHLBeamSpot14',
2114 'GenSimHLBeamSpotHGCALCloseBy',
2124 'GenSimHLBeamSpot14',
2125 'GenSimHLBeamSpotHGCALCloseBy',
2132 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
2136 def setup_(self, step, stepName, stepDict, k, properties):
2137 stepDict[stepName][k] = deepcopy(stepDict[step][k])
2140 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2143 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2145 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel,phase2_ecalTP_devel'}
2146 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW,HLT:@fake2' 2147 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2148 if 'RecoGlobal' in step:
2149 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,RECO,RECOSIM,PAT',
2150 '--datatier':
'GEN-SIM-RECO',
2151 '--eventcontent':
'FEVTDEBUGHLT',
2152 }, stepDict[step][k]])
2153 if 'HARVESTGlobal' in step:
2154 stepDict[stepName][k] =
None 2155 if 'ALCAPhase2' in step:
2156 stepDict[stepName][k] =
None 2159 return (
'2021' in key
or '2023' in key
or '2026' in key)
2162 suffix =
'_ecalComponent',
2165 ecalMod =
'ecal_component',
2169 suffix =
'_ecalComponentFSW',
2172 ecalMod =
'ecal_component_finely_sampled_waveforms',
2176 suffix =
'_ecalTPPh2',
2178 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2183 suffix =
'_ecalTPPh2Component',
2185 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2186 ecalMod =
'ecal_component',
2190 suffix =
'_ecalTPPh2ComponentFSW',
2192 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2193 ecalMod =
'ecal_component_finely_sampled_waveforms',
2197 def setup_(self, step, stepName, stepDict, k, properties):
2198 myGT=stepDict[step][k][
'--conditions']
2200 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
2201 def setupPU_(self, step, stepName, stepDict, k, properties):
2203 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
2205 return (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and (
'2017' in key
or '2018' in key
or '2021' in key)
and (
'FS' not in key)
2217 'HARVESTNanoFakeHLT',
2229 'HARVESTNanoFakeHLT',
2236 def setup_(self, step, stepName, stepDict, k, properties):
2237 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
2238 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
2240 return fragment==
"TTbar_13" and '2018' in key
2247 suffix =
'_ParkingBPH',
2253 def setup_(self, step, stepName, stepDict, k, properties):
2255 thisStep = stepDict[step][k][
"-s"]
2257 if "DQM:" in thisStep:
2258 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
2259 elif "DQM" in thisStep:
2260 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
2262 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
2265 return any(frag
in fragment
for frag
in self.
__frags)
2275 suffix =
'_HeavyFlavor',
2281 def setup_(self, step, stepName, stepDict, k, properties):
2283 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD'}, stepDict[step][k]])
2285 return (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and (
'2017' in key
or '2018' in key
or '2021' in key)
and (
'FS' not in key)
2293 suffix =
'_JMENano',
2300 def setup_(self, step, stepName, stepDict, k, properties):
2301 if 'Digi' in step
or 'Reco' in step:
2302 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2304 return '2026' in key
2323 suffix =
'Aging1000',
2326 upgradeWFs[
'Aging1000'].lumi =
'1000' 2327 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2328 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2329 upgradeWFs[
'Aging3000'].offset = 0.103
2330 upgradeWFs[
'Aging3000'].lumi =
'3000' 2337 def setup_(self, step, stepName, stepDict, k, properties):
2339 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2341 return fragment==
"TTbar_14TeV" and '2026' in key
2352 suffix =
'_OTInefficiency',
2355 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2358 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2359 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2360 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2361 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2364 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2365 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2366 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2367 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2370 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2371 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2372 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2373 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2379 def setup_(self, step, stepName, stepDict, k, properties):
2381 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2383 return '2026' in key
2394 suffix =
'_ITSignalShape',
2404 digiPremixLocalPileup = {
2405 "--filein":
"file:step1.root",
2406 "--pileup_input":
"file:step2.root" 2411 def setup_(self, step, stepName, stepDict, k, properties):
2413 stepDict[stepName][k] =
merge([stepDict[step][k]])
2414 def setupPU_(self, step, stepName, stepDict, k, properties):
2416 if "GenSim" in stepName:
2417 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2418 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2419 stepDict[stepNamePmx][k] =
merge([
2421 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2422 '--datatier':
'PREMIX',
2423 '--eventcontent':
'PREMIX',
2424 '--procModifiers':
'premix_stage1' 2426 stepDict[stepName][k]
2428 if "ProdLike" in self.
suffix:
2429 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2431 elif "Digi" in step
or "Reco" in step:
2434 if d
is None:
return 2437 for s
in d[
"-s"].
split(
","):
2438 if s ==
"DIGI" or "DIGI:" in s:
2439 tmpsteps.extend([s,
"DATAMIX"])
2443 "--datamix" :
"PreMix",
2444 "--procModifiers":
"premix_stage2"},
2447 if "_PMXS1S2" in self.
suffix:
2448 d =
merge([digiPremixLocalPileup, d])
2449 elif "Reco" in step:
2450 if "--procModifiers" in d:
2451 d[
"--procModifiers"] +=
",premix_stage2" 2453 d[
"--procModifiers"] =
"premix_stage2" 2454 stepDict[stepName][k] = d
2460 filein = d[
"--filein"]
2461 m = re.search(
"step(?P<ind>\d+)_", filein)
2463 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2464 stepDict[stepName][k] = d
2470 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2472 if self.
suffix.endswith(
"S1"):
2473 return "NuGun" in fragment
2475 def workflow_(self, workflows, num, fragment, stepList, key):
2476 fragmentTmp = fragment
2477 if self.
suffix.endswith(
"S1"):
2478 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2479 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2487 'GenSimHLBeamSpot14',
2515 'GenSimHLBeamSpot14',
2526 suffix =
'_PMXS1S2',
2531 def setupPU_(self, step, stepName, stepDict, k, properties):
2533 if '--pileup' in stepDict[stepName][k]:
2534 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2535 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2538 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2544 'GenSimHLBeamSpot14',
2556 suffix =
'_PMXS1S2PR',
2561 def setup_(self, step, stepName, stepDict, k, properties):
2563 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2564 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2569 for s
in d[
"-s"].
split(
","):
2570 if "DIGI:pdigi_valid" in s:
2571 tmpsteps.append(
"DIGI")
2575 "--eventcontent":
"PREMIXRAW"},
2577 stepDict[stepName][k] = d
2579 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2582 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2600 'HARVESTNanoFakeHLT',
2604 suffix =
'_PMXS2ProdLike',
2613 'GenSimHLBeamSpot14',
2627 'HARVESTNanoFakeHLT',
2631 suffix =
'_PMXS1S2ProdLike',
2636 def setup_(self, step, stepName, stepDict, k, properties):
2637 if 'HARVESTFastRun3' in step:
2638 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2640 '--era':
'Run3_FastSim',
2641 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2643 stepDict[stepName][k] =
merge([stepDict[step][k]])
2645 return (
'2021FS' in key
or '2023FS' in key)
2656 suffix =
'_Run3FSTrackingOnly',
2661 def setup_(self, step, stepName, stepDict, k, properties):
2663 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2665 '--era':
'Run3_FastSim',
2666 '--eventcontent':
'FASTPU',
2667 '--datatier':
'GEN-SIM-RECO',
2668 '--relval':
'27000,3000'}, stepDict[step][k]])
2670 stepDict[stepName][k] =
None 2672 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2680 suffix =
'_Run3FSMBMixing',
2686 def setup_(self, step, stepName, stepDict, k, properties):
2687 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2688 if '2023' in stepDict[step][k][
'--conditions']:
2689 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2691 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2692 elif 'Phase2' in stepDict[step][k][
'--era']:
2694 dd4hepGeom+=stepDict[step][k][
'--geometry']
2695 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2697 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2702 'GenSimHLBeamSpot14',
2714 'HARVESTNanoFakeHLT',
2721 upgradeWFs[
'DD4hep'].allowReuse =
False 2726 def setup_(self, step, stepName, stepDict, k, properties):
2727 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2728 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2730 return '2021' in key
and 'FS' not in key
2735 'GenSimHLBeamSpot14',
2747 'HARVESTNanoFakeHLT',
2751 suffix =
'_DD4hepDB',
2754 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2757 def setup_(self, step, stepName, stepDict, k, properties):
2758 the_era = stepDict[step][k][
'--era']
2759 if 'Run3' in the_era
and '2023' not in the_era
and '2024' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2761 tmp_eras = the_era.split(
',')
2762 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2763 tmp_eras =
','.
join(tmp_eras)
2764 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2766 return '2021' in key
and 'FS' not in key
2771 'GenSimHLBeamSpot14',
2783 'HARVESTNanoFakeHLT',
2790 upgradeWFs[
'DDDDB'].allowReuse =
False 2793 def setup_(self, step, stepName, stepDict, k, properties):
2794 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2796 return ((fragment==
'TTbar_13' or fragment==
'TTbar_14TeV')
and '2021' in key) \
2797 or (fragment==
'TTbar_14TeV' and '2026' in key)
2802 'GenSimHLBeamSpot14',
2814 'HARVESTNanoFakeHLT',
2820 'GenSimHLBeamSpot14',
2832 'HARVESTNanoFakeHLT',
2835 suffix =
'_SonicTriton',
2840 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2842 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2844 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2846 upgradeProperties = {}
2848 upgradeProperties[2017] = {
2850 'Geom' :
'DB:Extended',
2851 'GT' :
'auto:phase1_2017_realistic',
2852 'HLTmenu':
'@relval2017',
2853 'Era' :
'Run2_2017',
2854 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2857 'Geom' :
'DB:Extended',
2858 'GT' :
'auto:phase1_2017_design',
2859 'HLTmenu':
'@relval2017',
2860 'Era' :
'Run2_2017',
2861 'BeamSpot':
'DBdesign',
2862 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2865 'Geom' :
'DB:Extended',
2866 'GT' :
'auto:phase1_2018_realistic',
2867 'HLTmenu':
'@relval2018',
2868 'Era' :
'Run2_2018',
2869 'BeamSpot':
'DBrealistic',
2870 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2873 'Geom' :
'DB:Extended',
2874 'GT' :
'auto:phase1_2018_design',
2875 'HLTmenu':
'@relval2018',
2876 'Era' :
'Run2_2018',
2877 'BeamSpot':
'DBdesign',
2878 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2881 'Geom' :
'DB:Extended',
2882 'GT' :
'auto:phase1_2022_realistic',
2883 'HLTmenu':
'@relval2022',
2885 'BeamSpot':
'DBrealistic',
2886 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2889 'Geom' :
'DB:Extended',
2890 'GT' :
'auto:phase1_2022_design',
2891 'HLTmenu':
'@relval2022',
2893 'BeamSpot':
'DBdesign',
2894 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2897 'Geom' :
'DB:Extended',
2898 'GT' :
'auto:phase1_2023_realistic',
2899 'HLTmenu':
'@relval2023',
2900 'Era' :
'Run3_2023',
2901 'BeamSpot':
'DBrealistic',
2902 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2905 'Geom' :
'DB:Extended',
2906 'GT' :
'auto:phase1_2024_realistic',
2907 'HLTmenu':
'@relval2024',
2908 'Era' :
'Run3_2024',
2909 'BeamSpot':
'DBrealistic',
2910 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2913 'Geom' :
'DB:Extended',
2914 'GT' :
'auto:phase1_2022_realistic',
2915 'HLTmenu':
'@relval2022',
2916 'Era' :
'Run3_FastSim',
2917 'BeamSpot':
'DBrealistic',
2918 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2921 'Geom' :
'DB:Extended',
2922 'GT' :
'auto:phase1_2022_realistic_postEE',
2923 'HLTmenu':
'@relval2022',
2925 'BeamSpot':
'DBrealistic',
2926 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2929 'Geom' :
'DB:Extended',
2930 'GT' :
'auto:phase1_2023_realistic',
2931 'HLTmenu':
'@relval2023',
2932 'Era' :
'Run3_2023_FastSim',
2933 'BeamSpot':
'DBrealistic',
2934 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2937 'Geom' :
'DB:Extended',
2938 'GT':
'auto:phase1_2022_realistic_hi',
2939 'HLTmenu':
'@fake2',
2940 'Era':
'Run3_pp_on_PbPb',
2941 'BeamSpot':
'DBrealistic',
2942 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2945 'Geom' :
'DB:Extended',
2946 'GT':
'auto:phase1_2022_realistic_hi',
2947 'HLTmenu':
'@fake2',
2948 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2949 'BeamSpot':
'DBrealistic',
2950 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2953 'Geom' :
'DB:Extended',
2954 'GT':
'auto:phase1_2023_realistic_hi',
2955 'HLTmenu':
'@fake2',
2956 'Era':
'Run3_pp_on_PbPb',
2957 'BeamSpot':
'DBrealistic',
2958 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2961 'Geom' :
'DB:Extended',
2962 'GT':
'auto:phase1_2023_realistic_hi',
2963 'HLTmenu':
'@fake2',
2964 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2965 'BeamSpot':
'DBrealistic',
2966 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2971 for key
in list(upgradeProperties[2017].
keys()):
2972 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2975 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2976 for idx,val
in enumerate(scenToRun):
2978 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2980 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2982 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2984 upgradeProperties[2026] = {
2986 'Geom' :
'Extended2026D86',
2987 'HLTmenu':
'@fake2',
2988 'GT' :
'auto:phase2_realistic_T21',
2989 'Era' :
'Phase2C17I13M9',
2990 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2993 'Geom' :
'Extended2026D88',
2994 'HLTmenu':
'@relval2026',
2995 'GT' :
'auto:phase2_realistic_T21',
2996 'Era' :
'Phase2C17I13M9',
2997 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3000 'Geom' :
'Extended2026D91',
3001 'HLTmenu':
'@fake2',
3002 'GT' :
'auto:phase2_realistic_T30',
3003 'Era' :
'Phase2C17I13M9',
3004 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3007 'Geom' :
'Extended2026D92',
3008 'HLTmenu':
'@fake2',
3009 'GT' :
'auto:phase2_realistic_T21',
3010 'Era' :
'Phase2C17I13M9',
3011 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3014 'Geom' :
'Extended2026D93',
3015 'HLTmenu':
'@fake2',
3016 'GT' :
'auto:phase2_realistic_T21',
3017 'Era' :
'Phase2C17I13M9',
3018 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3021 'Geom' :
'Extended2026D94',
3022 'HLTmenu':
'@fake2',
3023 'GT' :
'auto:phase2_realistic_T21',
3024 'Era' :
'Phase2C20I13M9',
3025 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3028 'Geom' :
'Extended2026D95',
3029 'HLTmenu':
'@relval2026',
3030 'GT' :
'auto:phase2_realistic_T21',
3031 'Era' :
'Phase2C17I13M9',
3032 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3035 'Geom' :
'Extended2026D96',
3036 'HLTmenu':
'@fake2',
3037 'GT' :
'auto:phase2_realistic_T21',
3038 'Era' :
'Phase2C17I13M9',
3039 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3042 'Geom' :
'Extended2026D97',
3043 'HLTmenu':
'@fake2',
3044 'GT' :
'auto:phase2_realistic_T25',
3045 'Era' :
'Phase2C17I13M9',
3046 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3049 'Geom' :
'Extended2026D98',
3050 'HLTmenu':
'@relval2026',
3051 'GT' :
'auto:phase2_realistic_T25',
3052 'Era' :
'Phase2C17I13M9',
3053 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3056 'Geom' :
'Extended2026D99',
3057 'HLTmenu':
'@relval2026',
3058 'GT' :
'auto:phase2_realistic_T25',
3059 'Era' :
'Phase2C17I13M9',
3060 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3063 'Geom' :
'Extended2026D100',
3064 'HLTmenu':
'@relval2026',
3065 'GT' :
'auto:phase2_realistic_T25',
3066 'Era' :
'Phase2C17I13M9',
3067 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3070 'Geom' :
'Extended2026D101',
3071 'HLTmenu':
'@relval2026',
3072 'GT' :
'auto:phase2_realistic_T25',
3073 'Era' :
'Phase2C17I13M9',
3074 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3077 'Geom' :
'Extended2026D102',
3078 'HLTmenu':
'@relval2026',
3079 'GT' :
'auto:phase2_realistic_T33',
3080 'Era' :
'Phase2C17I13M9',
3081 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3084 'Geom' :
'Extended2026D103',
3085 'HLTmenu':
'@relval2026',
3086 'GT' :
'auto:phase2_realistic_T25',
3087 'Era' :
'Phase2C17I13M9',
3088 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3091 'Geom' :
'Extended2026D104',
3092 'HLTmenu':
'@relval2026',
3093 'GT' :
'auto:phase2_realistic_T33',
3094 'Era' :
'Phase2C22I13M9',
3095 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3098 'Geom' :
'Extended2026D105',
3099 'HLTmenu':
'@relval2026',
3100 'GT' :
'auto:phase2_realistic_T33',
3101 'Era' :
'Phase2C17I13M9',
3102 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3105 'Geom' :
'Extended2026D106',
3106 'HLTmenu':
'@relval2026',
3107 'GT' :
'auto:phase2_realistic_T33',
3108 'Era' :
'Phase2C22I13M9',
3109 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3112 'Geom' :
'Extended2026D107',
3113 'HLTmenu':
'@relval2026',
3114 'GT' :
'auto:phase2_realistic_T25',
3115 'Era' :
'Phase2C17I13M9',
3116 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3119 'Geom' :
'Extended2026D108',
3120 'HLTmenu':
'@relval2026',
3121 'GT' :
'auto:phase2_realistic_T33',
3122 'Era' :
'Phase2C17I13M9',
3123 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3126 'Geom' :
'Extended2026D109',
3127 'HLTmenu':
'@relval2026',
3128 'GT' :
'auto:phase2_realistic_T33',
3129 'Era' :
'Phase2C22I13M9',
3130 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3133 'Geom' :
'Extended2026D110',
3134 'HLTmenu':
'@relval2026',
3135 'GT' :
'auto:phase2_realistic_T33',
3136 'Era' :
'Phase2C17I13M9',
3137 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3142 for key
in list(upgradeProperties[2026].
keys()):
3143 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
3144 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
3147 defaultDataSets = {}
3148 for year
in upgradeKeys:
3149 for key
in upgradeKeys[year]:
3150 if 'PU' in key:
continue 3151 defaultDataSets[key] =
'' 3159 upgradeFragments = OrderedDict([
3161 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
3162 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
3163 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
3170 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
3171 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
3172 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
3173 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
3174 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
3175 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
3176 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
3177 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
3178 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
3179 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
3180 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
3183 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
3186 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
3187 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
3188 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
3190 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
3191 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
3192 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
3196 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
3197 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
3198 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
3199 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
3203 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
3205 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
3207 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
3208 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
3209 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
3211 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
3212 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
3213 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
3216 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
3217 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
3219 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
3226 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
3228 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
3229 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
3230 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
3231 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
3232 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
3233 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
3237 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
3238 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
3239 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
3240 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
3241 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
3242 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
3243 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
3244 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
3246 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
3248 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
3249 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
3250 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
3251 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
3253 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
3254 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
3255 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
3256 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
3260 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
3261 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
3262 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
3265 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
3268 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
3269 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
3270 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
3271 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
3273 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
3274 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
3276 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
3277 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
3278 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
3280 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
3281 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
3282 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
3283 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
3284 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
3285 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
3286 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
3287 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
3288 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
3289 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
3290 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
3291 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
3292 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
3294 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
3296 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
3297 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
3298 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
3299 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
3300 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
3301 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
3302 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
3303 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3304 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3305 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3306 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3307 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3308 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3309 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3310 (
'Hydjet_Quenched_MinBias_5362GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5362GeV'))
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setupPU_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setupPU_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
Wf to add Heavy Flavor DQM to whichever DQM is already there.
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
bool any(const std::vector< T > &v, const T &what)
def setupPU(self, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setupPU_(self, step, stepName, stepDict, k, properties)
def replace(string, replacements)
def condition(self, fragment, stepList, key, hasHarvest)
def preventReuse(self, stepName, stepDict, k)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def workflow_(self, workflows, num, fragment, stepList, key)
def condition(self, fragment, stepList, key, hasHarvest)
def workflow_(self, workflows, num, fragment, stepList, key)
def setup_(self, step, stepName, stepDict, k, properties)
def __init__(self, reco={}, harvest={}, kwargs)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setupPU_(self, step, stepName, stepDict, k, properties)
def __init__(self, digi={}, reco={}, harvest={}, kwargs)
def __init__(self, howMuch, dataset)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def workflow(self, workflows, num, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def __init__(self, suffix, offset, ecalTPPh2, ecalMod, steps=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger, RecoGlobal, HARVESTGlobal, ALCAPhase2, PU=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger, RecoGlobal, HARVESTGlobal, ALCAPhase2)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setupPU_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def __init__(self, digi={}, reco={}, mini={}, harvest={}, kwargs)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def split(sequence, size)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
static std::string join(char **cmd)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup(self, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def getStepName(self, step, extra="")
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def Kby(N, s)
Standard release validation samples ####.
def __init__(self, steps, PU, suffix, offset)
def __init__(self, steps, PU, suffix, offset)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def __init__(self, suffix, offset, fixedPU, steps=[], PU=['GenSimHLBeamSpot14', Digi, DigiTrigger, Reco, RecoFakeHLT, RecoGlobal, RecoNano, RecoNanoFakeHLT, HARVEST, HARVESTFakeHLT, HARVESTGlobal, HARVESTNano, HARVESTNanoFakeHLT, MiniAOD, ALCA, ALCAPhase2, Nano)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def getStepNamePU(self, step, extra="")
def condition_(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)