1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
93 numWFConflict = [[14400,14800],
102 for year
in upgradeKeys:
103 for i
in range(0,len(upgradeKeys[year])):
104 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
105 for conflict
in numWFConflict:
106 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
107 numWFtmp = conflict[1]
109 numWFAll[year].
append(numWFtmp)
116 preventReuseKeyword =
'NOREUSE' 125 if not step
in self.
steps:
132 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
134 stepName = step + self.
suffix + extra
137 stepNamePU = step +
'PU' + self.
suffix + extra
140 for step
in self.
steps:
146 def setup(self, stepDict, k, properties):
147 for step
in self.
steps:
154 def setup_(self, step, stepName, stepDict, k, properties):
156 def setupPU_(self, step, stepName, stepDict, k, properties):
158 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
159 if self.condition(fragment, stepList, key, hasHarvest):
160 self.workflow_(workflows, num, fragment, stepList, key)
161 def workflow_(self, workflows, num, fragment, stepList, key):
162 fragmentTmp = [fragment, key]
164 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
165 def condition(self, fragment, stepList, key, hasHarvest):
168 if "Sim" in stepName:
169 stepDict[stepName][k] =
None 170 if "Gen" in stepName:
171 stepDict[stepName][k] =
None 172 upgradeWFs = OrderedDict()
175 def setup_(self, step, stepName, stepDict, k, properties):
176 cust=properties.get(
'Custom',
None)
177 era=properties.get(
'Era',
None)
178 modifier=properties.get(
'ProcessModifier',
None)
179 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
181 stepDict[stepName][k][
'--era']=era
182 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
183 def condition(self, fragment, stepList, key, hasHarvest):
190 'GenSimHLBeamSpot14',
191 'GenSimHLBeamSpotHGCALCloseBy',
204 'HARVESTNanoFakeHLT',
228 'HARVESTNanoFakeHLT',
242 def setup_(self, step, stepName, stepDict, k, properties):
243 if stepDict[step][k] !=
None:
245 stepDict[stepName][k] =
None 246 if 'RecoNano' in step:
247 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
249 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
250 def condition(self, fragment, stepList, key, hasHarvest):
251 if (
'TTbar_14TeV' in fragment
and '2021' == key):
252 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
253 return (
'TTbar_14TeV' in fragment
and '2021' == key)
262 suffix =
'_DigiNoHLT',
271 steps = steps + [
"ALCA",
"Nano"]
272 super().
__init__(steps, PU, suffix, offset)
273 def condition(self, fragment, stepList, key, hasHarvest):
274 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)
278 def setup_(self, step, stepName, stepDict, k, properties):
280 if 'ALCA' in step
or 'Nano'==step:
281 stepDict[stepName][k] =
None 282 self.
setup__(step, stepName, stepDict, k, properties)
284 def setup__(self, step, stepName, stepDict, k, properties):
287 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
288 def setup__(self, step, stepName, stepDict, k, properties):
289 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
290 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
292 def condition(self, fragment, stepList, key, hasHarvest):
293 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
309 'HARVESTNanoFakeHLT',
321 'HARVESTNanoFakeHLT',
325 suffix =
'_trackingOnly',
328 upgradeWFs[
'trackingOnly'].step3 = {
329 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
330 '--datatier':
'GEN-SIM-RECO,DQMIO',
331 '--eventcontent':
'RECOSIM,DQM',
334 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
337 def setup__(self, step, stepName, stepDict, k, properties):
338 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
339 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
348 suffix =
'_trackingRun2',
353 def setup__(self, step, stepName, stepDict, k, properties):
354 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
355 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
356 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
367 suffix =
'_trackingOnlyRun2',
370 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
373 def setup__(self, step, stepName, stepDict, k, properties):
374 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
375 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
384 suffix =
'_trackingLowPU',
389 def setup__(self, step, stepName, stepDict, k, properties):
390 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
392 elif 'ALCA' in step: stepDict[stepName][k] =
None 393 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
395 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)
407 'HARVESTNanoFakeHLT',
412 suffix =
'_pixelTrackingOnly',
415 upgradeWFs[
'pixelTrackingOnly'].step3 = {
416 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
417 '--datatier':
'GEN-SIM-RECO,DQMIO',
418 '--eventcontent':
'RECOSIM,DQM',
422 def setup__(self, step, stepName, stepDict, k, properties):
423 if 'Digi' in step: stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
424 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
426 return (
'2017' in key
or '2021' in key
or '2023' in key
or '2024' in key)
and (
'FS' not in key)
438 suffix =
'_trackingMkFit',
441 upgradeWFs[
'trackingMkFit'].step2 = {
442 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 444 upgradeWFs[
'trackingMkFit'].step3 = {
445 '--procModifiers':
'trackingMkFitDevel' 450 def setup_(self, step, stepName, stepDict, k, properties):
452 if 'ALCA' in step
or 'Nano'==step:
453 stepDict[stepName][k] =
None 454 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
455 def condition(self, fragment, stepList, key, hasHarvest):
456 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
469 'HARVESTNanoFakeHLT',
481 'HARVESTNanoFakeHLT',
483 suffix =
'_seedingDeepCore',
489 def setup__(self, step, stepName, stepDict, k, properties):
490 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
492 return (
'2021' in key
or '2023' in key
or '2024' in key)
502 suffix =
'_displacedRegional',
505 upgradeWFs[
'displacedRegional'].step3 = {
506 '--procModifiers':
'displacedRegionalTracking' 511 def setup_(self, step, stepName, stepDict, k, properties):
512 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
513 def condition(self, fragment, stepList, key, hasHarvest):
514 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
524 suffix =
'_vectorHits',
530 def __init__(self, reco = {}, harvest = {}, **kwargs):
532 super(UpgradeWorkflow_weightedVertex, self).
__init__(
543 'HARVESTNanoFakeHLT',
555 'HARVESTNanoFakeHLT',
561 def setup_(self, step, stepName, stepDict, k, properties):
564 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
565 '--eventcontent':
'RECOSIM,DQM'}
566 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
567 if 'HARVEST' in step:
568 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
570 def condition(self, fragment, stepList, key, hasHarvest):
573 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
574 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
575 (
'2026' in key
and fragment ==
"TTbar_14TeV")
577 result =
any(selected)
and hasHarvest
583 suffix =
'_weightedVertex',
587 upgradeWFs[
'weightedVertex'].step3 = {}
588 upgradeWFs[
'weightedVertex'].step4 = {}
591 suffix =
'_weightedVertexTrackingOnly',
595 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
596 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
597 '--datatier':
'GEN-SIM-RECO,DQMIO',
598 '--eventcontent':
'RECOSIM,DQM',
601 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
602 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 607 def setup_(self, step, stepName, stepDict, k, properties):
608 if 'RecoGlobal' in step:
609 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
610 if 'HARVESTGlobal' in step:
611 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
612 def condition(self, fragment, stepList, key, hasHarvest):
613 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
623 suffix =
'_ticl_clue3D',
626 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
627 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
630 def setup_(self, step, stepName, stepDict, k, properties):
631 if 'RecoGlobal' in step:
632 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
633 if 'HARVESTGlobal' in step:
634 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
635 def condition(self, fragment, stepList, key, hasHarvest):
636 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
646 suffix =
'_ticl_FastJet',
649 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
650 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
653 def setup_(self, step, stepName, stepDict, k, properties):
654 if 'RecoGlobal' in step:
655 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
656 if 'HARVESTGlobal' in step:
657 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
658 def condition(self, fragment, stepList, key, hasHarvest):
659 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
672 upgradeWFs[
'ticl_v3'].step3 = {
'--procModifiers':
'ticl_v3'}
673 upgradeWFs[
'ticl_v3'].step4 = {
'--procModifiers':
'ticl_v3'}
678 def setup_(self, step, stepName, stepDict, k, properties):
679 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
681 def condition(self, fragment, stepList, key, hasHarvest):
682 return fragment==
"TTbar_14TeV" and '2021' in key
696 suffix =
'_trackdnn',
703 def setup_(self, step, stepName, stepDict, k, properties):
705 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
706 def condition(self, fragment, stepList, key, hasHarvest):
707 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
725 upgradeWFs[
'mlpf'].step3 = {
726 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
727 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
728 '--procModifiers':
'mlpf' 734 def setup_(self, step, stepName, stepDict, k, properties):
736 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
737 def condition(self, fragment, stepList, key, hasHarvest):
738 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 739 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
754 suffix =
'_ecalDeepSC',
757 upgradeWFs[
'ecalDeepSC'].step3 = {
758 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
759 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
760 '--procModifiers':
'ecal_deepsc' 766 def setup_(self, step, stepName, stepDict, k, properties):
768 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
769 def condition(self, fragment, stepList, key, hasHarvest):
770 return '2018' in key
and "SingleGamma" in fragment
781 suffix =
'_photonDRN',
784 upgradeWFs[
'photonDRN'].step3 = {
785 '--procModifiers':
'enableSonicTriton,photonDRN' 794 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
796 super(PatatrackWorkflow, self).
__init__(
809 'HARVESTNanoFakeHLT',
827 'HARVESTNanoFakeHLT',
838 '--datatier':
'GEN-SIM-RECO,DQMIO',
839 '--eventcontent':
'RECOSIM,DQM' 844 def condition(self, fragment, stepList, key, hasHarvest):
846 years = [
'2021',
'2023',
'2024',
'2026']
847 fragments = [
"TTbar_14",
"ZMM_14",
"ZEE_14",
"ZTT_14",
"NuGun",
"SingleMu",
"QCD_Pt15To7000_Flat"]
849 (
any(y
in key
for y
in years)
and (
'FS' not in key)
and any( f
in fragment
for f
in fragments)),
850 ((
'HI' in key)
and (
'Hydjet' in fragment)
and (
"PixelOnly" in self.
suffix) )
852 result =
any(selected)
and hasHarvest
856 def setup_(self, step, stepName, stepDict, k, properties):
858 if 'ALCA' in step
or 'Nano'==step:
859 stepDict[stepName][k] =
None 862 stepDict[stepName][k] =
None 864 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
867 stepDict[stepName][k] =
None 869 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
870 if 'Phase2' in stepDict[stepName][k][
'--era']:
871 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
872 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
873 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
874 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
877 elif 'MiniAOD' in step:
879 stepDict[stepName][k] =
None 881 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
882 elif 'HARVEST' in step:
884 stepDict[stepName][k] =
None 886 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
898 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
899 '--procModifiers':
'pixelNtupletFit' 902 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 904 suffix =
'Patatrack_PixelOnlyCPU',
915 '--procModifiers':
'gpu' 918 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
919 '--procModifiers':
'pixelNtupletFit,gpu' 922 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 924 suffix =
'Patatrack_PixelOnlyGPU',
935 '--accelerators':
'gpu-nvidia',
936 '--procModifiers':
'gpu' 939 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
940 '--accelerators':
'gpu-nvidia',
941 '--procModifiers':
'pixelNtupletFit,gpuValidation' 944 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
945 '--procModifiers':
'gpuValidation' 947 suffix =
'Patatrack_PixelOnlyGPU_Validation',
957 '--procModifiers':
'gpu' 960 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
961 '--procModifiers':
'pixelNtupletFit,gpu',
962 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 965 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
978 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
979 '--procModifiers':
'pixelNtupletFit',
980 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 983 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 985 suffix =
'Patatrack_PixelOnlyTripletsCPU',
996 '--procModifiers':
'gpu' 999 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1000 '--procModifiers':
'pixelNtupletFit,gpu',
1001 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1004 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1006 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1017 '--accelerators':
'gpu-nvidia',
1018 '--procModifiers':
'gpu' 1021 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1022 '--accelerators':
'gpu-nvidia',
1023 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1024 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1027 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1028 '--procModifiers':
'gpuValidation',
1030 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1040 '--procModifiers':
'gpu' 1043 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1044 '--procModifiers':
'pixelNtupletFit,gpu',
1045 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1048 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1059 '--procModifiers':
'alpaka',
1062 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1063 '--procModifiers':
'alpaka' 1066 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1068 suffix =
'Patatrack_ECALOnlyAlpaka',
1081 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1084 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1086 suffix =
'Patatrack_ECALOnlyCPU',
1097 '--procModifiers':
'gpu' 1100 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1101 '--procModifiers':
'gpu' 1104 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1106 suffix =
'Patatrack_ECALOnlyGPU',
1117 '--accelerators':
'gpu-nvidia',
1118 '--procModifiers':
'gpu' 1121 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1122 '--accelerators':
'gpu-nvidia',
1123 '--procModifiers':
'gpuValidation' 1126 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1128 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1138 '--procModifiers':
'gpu' 1141 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1142 '--procModifiers':
'gpu',
1143 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1146 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1159 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1162 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1164 suffix =
'Patatrack_HCALOnlyCPU',
1175 '--procModifiers':
'gpu' 1178 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1179 '--procModifiers':
'gpu' 1182 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1184 suffix =
'Patatrack_HCALOnlyGPU',
1195 '--accelerators':
'gpu-nvidia',
1196 '--procModifiers':
'gpu' 1199 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1200 '--accelerators':
'gpu-nvidia',
1201 '--procModifiers':
'gpuValidation' 1204 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1206 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1216 '--procModifiers':
'gpu' 1219 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1220 '--procModifiers':
'gpu',
1221 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1224 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1233 '--procModifiers':
'alpaka',
1236 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1237 '--procModifiers':
'alpaka' 1240 '-s':
'HARVESTING:@hcalOnlyValidation' 1242 suffix =
'Patatrack_HCALOnlyAlpaka_Validation',
1251 '--procModifiers':
'alpaka',
1254 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnlyLegacy+reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation+pfClusterHBHEOnlyAlpakaComparisonSequence,DQM:@hcalOnly+@hcal2Only',
1255 '--procModifiers':
'alpaka' 1258 '-s':
'HARVESTING:@hcalOnlyValidation' 1260 suffix =
'Patatrack_HCALOnlyGPUandAlpaka_Validation',
1269 '--procModifiers':
'alpaka',
1272 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1273 '--procModifiers':
'alpaka' 1276 suffix =
'Patatrack_HCALOnlyAlpaka_Profiling',
1286 '--procModifiers':
'alpaka',
1290 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1291 '--procModifiers':
'alpaka,pixelNtupletFit' 1296 suffix =
'Patatrack_FullRecoAlpaka',
1309 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1310 '--procModifiers':
'pixelNtupletFit' 1313 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1315 suffix =
'Patatrack_AllCPU',
1326 '--procModifiers':
'gpu' 1329 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1330 '--procModifiers':
'pixelNtupletFit,gpu' 1333 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1335 suffix =
'Patatrack_AllGPU',
1346 '--accelerators':
'gpu-nvidia',
1347 '--procModifiers':
'gpu' 1350 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1351 '--accelerators':
'gpu-nvidia',
1352 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1355 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1356 '--procModifiers':
'gpuValidation' 1358 suffix =
'Patatrack_AllGPU_Validation',
1376 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1377 '--procModifiers':
'pixelNtupletFit' 1380 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1382 suffix =
'Patatrack_AllTripletsCPU',
1393 '--procModifiers':
'gpu' 1396 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1397 '--procModifiers':
'pixelNtupletFit,gpu' 1400 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1402 suffix =
'Patatrack_AllTripletsGPU',
1413 '--accelerators':
'gpu-nvidia',
1414 '--procModifiers':
'gpu' 1417 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1418 '--accelerators':
'gpu-nvidia',
1419 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1422 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1423 '--procModifiers':
'gpuValidation' 1425 suffix =
'Patatrack_AllTripletsGPU_Validation',
1444 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1445 '--procModifiers':
'pixelNtupletFit' 1450 suffix =
'Patatrack_FullRecoCPU',
1461 '--procModifiers':
'gpu' 1465 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1466 '--procModifiers':
'pixelNtupletFit,gpu' 1471 suffix =
'Patatrack_FullRecoGPU',
1482 '--accelerators':
'gpu-nvidia',
1483 '--procModifiers':
'gpu' 1487 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1488 '--accelerators':
'gpu-nvidia',
1489 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1494 suffix =
'Patatrack_FullRecoGPU_Validation',
1508 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1509 '--procModifiers':
'pixelNtupletFit',
1510 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1515 suffix =
'Patatrack_FullRecoTripletsCPU',
1522 '--datatier':
'GEN-SIM-RAW',
1523 '--eventcontent':
'RAWSIM',
1527 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1528 '--procModifiers':
'pixelNtupletFit',
1529 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1530 '--datatier':
'AODSIM',
1531 '--eventcontent':
'AODSIM',
1534 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1545 '--procModifiers':
'gpu' 1549 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1550 '--procModifiers':
'pixelNtupletFit,gpu',
1551 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1556 suffix =
'Patatrack_FullRecoTripletsGPU',
1563 '--procModifiers':
'gpu',
1564 '--datatier':
'GEN-SIM-RAW',
1565 '--eventcontent':
'RAWSIM',
1569 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1570 '--procModifiers':
'pixelNtupletFit,gpu',
1571 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1572 '--datatier':
'AODSIM',
1573 '--eventcontent':
'AODSIM',
1576 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1587 '--accelerators':
'gpu-nvidia',
1588 '--procModifiers':
'gpu' 1592 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1593 '--accelerators':
'gpu-nvidia',
1594 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1595 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1600 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1609 '--procModifiers':
'alpaka',
1612 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1613 '--procModifiers':
'alpaka' 1616 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1618 suffix =
'Patatrack_PixelOnlyAlpaka',
1624 '--procModifiers':
'alpaka',
1627 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1628 '--procModifiers':
'alpakaValidation' 1631 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1633 suffix =
'Patatrack_PixelOnlyAlpaka_Validation',
1639 '--procModifiers':
'alpaka',
1642 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1643 '--procModifiers':
'alpaka',
1644 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1647 suffix =
'Patatrack_PixelOnlyAlpaka_Profiling',
1654 def setup_(self, step, stepName, stepDict, k, properties):
1655 if 'GenSimHLBeamSpot14' in step:
1656 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1657 elif 'Digi' in step
and 'Trigger' not in step:
1658 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1,DIGI2RAW,HLT:@relval2022',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1659 elif 'DigiTrigger' in step:
1660 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1TrackTrigger,L1,DIGI2RAW,HLT:@fake2',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1661 elif 'Reco' in step:
1662 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1663 elif 'MiniAOD' in step:
1665 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1666 elif 'ALCA' in step
or 'HARVEST' in step:
1668 stepDict[stepName][k] =
None 1670 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1672 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key)
1675 'GenSimHLBeamSpot14',
1687 'HARVESTNanoFakeHLT',
1694 'GenSimHLBeamSpot14',
1706 'HARVESTNanoFakeHLT',
1712 suffix =
'_ProdLike',
1717 def __init__(self, suffix, offset, fixedPU,
1720 'GenSimHLBeamSpot14',
1732 'HARVESTNanoFakeHLT',
1738 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1740 def setupPU_(self, step, stepName, stepDict, k, properties):
1742 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1743 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1746 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1753 suffix =
'_ProdLikePU10',
1759 suffix =
'_ProdLikePU20',
1765 suffix =
'_ProdLikePU30',
1771 suffix =
'_ProdLikePU40',
1777 suffix =
'_ProdLikePU50',
1783 suffix =
'_ProdLikePU55',
1789 suffix =
'_ProdLikePU60',
1795 suffix =
'_ProdLikePU65',
1801 suffix =
'_ProdLikePU70',
1807 suffix =
'_ProdLikePU80',
1813 suffix =
'_ProdLikePU90',
1819 suffix =
'_ProdLikePU100',
1825 suffix =
'_ProdLikePU120',
1831 suffix =
'_ProdLikePU140',
1837 suffix =
'_ProdLikePU160',
1843 suffix =
'_ProdLikePU180',
1849 def setup_(self, step, stepName, stepDict, k, properties):
1850 if 'HARVEST' in step:
1851 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1853 stepDict[stepName][k] =
merge([stepDict[step][k]])
1855 return fragment==
"TTbar_14TeV" and '2026' in key
1858 'GenSimHLBeamSpot14',
1865 'GenSimHLBeamSpot14',
1871 suffix =
'_HLT75e33',
1876 def setup_(self, step, stepName, stepDict, k, properties):
1877 if 'DigiTrigger' in step:
1878 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1880 return fragment==
"TTbar_14TeV" and '2026' in key
1888 suffix =
'_HLTwDIGI75e33',
1893 def setup_(self, step, stepName, stepDict, k, properties):
1895 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1897 return '2026' in key
1906 suffix =
'_L1Complete',
1911 def setup_(self, step, stepName, stepDict, k, properties):
1912 if 'GenSim' in step:
1913 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1915 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1916 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1917 if '--customise' in stepDict[stepName][k].
keys():
1918 stepDict[stepName][k][
'--customise'] +=
","+custNew
1920 stepDict[stepName][k][
'--customise'] = custNew
1927 'GenSimHLBeamSpot14',
1935 suffix =
'_Neutron',
1939 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
1940 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
1943 def setup_(self, step, stepName, stepDict, k, properties):
1944 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
1946 return fragment==
"TTbar_13" and '2018' in key
1964 suffix =
'_heCollapse',
1970 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
1972 super(UpgradeWorkflow_ecalDevel, self).
__init__(
1990 def setup_(self, step, stepName, stepDict, k, properties):
1992 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
1994 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 1996 elif 'Reco' in step:
1997 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 1998 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 1999 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 2001 elif 'HARVEST' in step:
2002 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 2004 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2007 stepDict[stepName][k] =
None 2010 return fragment==
"TTbar_14TeV" and '2026' in key
2014 suffix =
'_ecalDevel',
2020 reco = {
'--procModifiers':
'gpu'},
2021 suffix =
'_ecalDevelGPU',
2027 def __init__(self, suffix, offset, ecalTPPh2, ecalMod,
2031 'GenSimHLBeamSpot14',
2032 'GenSimHLBeamSpotHGCALCloseBy',
2042 'GenSimHLBeamSpot14',
2043 'GenSimHLBeamSpotHGCALCloseBy',
2050 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
2054 def setup_(self, step, stepName, stepDict, k, properties):
2055 stepDict[stepName][k] = deepcopy(stepDict[step][k])
2058 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2061 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2063 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel,phase2_ecalTP_devel'}
2064 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW,HLT:@fake2' 2065 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2066 if 'RecoGlobal' in step:
2067 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,RECO,RECOSIM,PAT',
2068 '--datatier':
'GEN-SIM-RECO',
2069 '--eventcontent':
'FEVTDEBUGHLT',
2070 }, stepDict[step][k]])
2071 if 'HARVESTGlobal' in step:
2072 stepDict[stepName][k] =
None 2073 if 'ALCAPhase2' in step:
2074 stepDict[stepName][k] =
None 2077 return (
'2021' in key
or '2023' in key
or '2026' in key)
2080 suffix =
'_ecalComponent',
2083 ecalMod =
'ecal_component',
2087 suffix =
'_ecalComponentFSW',
2090 ecalMod =
'ecal_component_finely_sampled_waveforms',
2094 suffix =
'_ecalTPPh2',
2096 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2101 suffix =
'_ecalTPPh2Component',
2103 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2104 ecalMod =
'ecal_component',
2108 suffix =
'_ecalTPPh2ComponentFSW',
2110 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2111 ecalMod =
'ecal_component_finely_sampled_waveforms',
2115 def setup_(self, step, stepName, stepDict, k, properties):
2116 myGT=stepDict[step][k][
'--conditions']
2118 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
2119 def setupPU_(self, step, stepName, stepDict, k, properties):
2121 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
2123 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)
2135 'HARVESTNanoFakeHLT',
2147 'HARVESTNanoFakeHLT',
2154 def setup_(self, step, stepName, stepDict, k, properties):
2155 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
2156 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
2158 return fragment==
"TTbar_13" and '2018' in key
2165 suffix =
'_ParkingBPH',
2171 def setup_(self, step, stepName, stepDict, k, properties):
2173 thisStep = stepDict[step][k][
"-s"]
2175 if "DQM:" in thisStep:
2176 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
2177 elif "DQM" in thisStep:
2178 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
2180 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
2183 return any(frag
in fragment
for frag
in self.
__frags)
2193 suffix =
'_HeavyFlavor',
2199 def setup_(self, step, stepName, stepDict, k, properties):
2201 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD_MC'}, stepDict[step][k]])
2203 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)
2211 suffix =
'_JMENano',
2218 def setup_(self, step, stepName, stepDict, k, properties):
2219 if 'Digi' in step
or 'Reco' in step:
2220 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2222 return '2026' in key
2241 suffix =
'Aging1000',
2244 upgradeWFs[
'Aging1000'].lumi =
'1000' 2245 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2246 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2247 upgradeWFs[
'Aging3000'].offset = 0.103
2248 upgradeWFs[
'Aging3000'].lumi =
'3000' 2255 def setup_(self, step, stepName, stepDict, k, properties):
2257 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2259 return fragment==
"TTbar_14TeV" and '2026' in key
2270 suffix =
'_OTInefficiency',
2273 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2276 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2277 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2278 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2279 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2282 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2283 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2284 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2285 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2288 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2289 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2290 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2291 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2297 def setup_(self, step, stepName, stepDict, k, properties):
2299 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2301 return '2026' in key
2312 suffix =
'_ITSignalShape',
2322 digiPremixLocalPileup = {
2323 "--filein":
"file:step1.root",
2324 "--pileup_input":
"file:step2.root" 2329 def setup_(self, step, stepName, stepDict, k, properties):
2331 stepDict[stepName][k] =
merge([stepDict[step][k]])
2332 def setupPU_(self, step, stepName, stepDict, k, properties):
2334 if "GenSim" in stepName:
2335 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2336 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2337 stepDict[stepNamePmx][k] =
merge([
2339 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2340 '--datatier':
'PREMIX',
2341 '--eventcontent':
'PREMIX',
2342 '--procModifiers':
'premix_stage1' 2344 stepDict[stepName][k]
2346 if "ProdLike" in self.
suffix:
2347 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2349 elif "Digi" in step
or "Reco" in step:
2352 if d
is None:
return 2355 for s
in d[
"-s"].
split(
","):
2356 if s ==
"DIGI" or "DIGI:" in s:
2357 tmpsteps.extend([s,
"DATAMIX"])
2361 "--datamix" :
"PreMix",
2362 "--procModifiers":
"premix_stage2"},
2365 if "_PMXS1S2" in self.
suffix:
2366 d =
merge([digiPremixLocalPileup, d])
2367 elif "Reco" in step:
2368 if "--procModifiers" in d:
2369 d[
"--procModifiers"] +=
",premix_stage2" 2371 d[
"--procModifiers"] =
"premix_stage2" 2372 stepDict[stepName][k] = d
2378 filein = d[
"--filein"]
2379 m = re.search(
"step(?P<ind>\d+)_", filein)
2381 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2382 stepDict[stepName][k] = d
2388 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2390 if self.
suffix.endswith(
"S1"):
2391 return "NuGun" in fragment
2393 def workflow_(self, workflows, num, fragment, stepList, key):
2394 fragmentTmp = fragment
2395 if self.
suffix.endswith(
"S1"):
2396 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2397 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2405 'GenSimHLBeamSpot14',
2433 'GenSimHLBeamSpot14',
2444 suffix =
'_PMXS1S2',
2449 def setupPU_(self, step, stepName, stepDict, k, properties):
2451 if '--pileup' in stepDict[stepName][k]:
2452 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2453 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2456 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2462 'GenSimHLBeamSpot14',
2474 suffix =
'_PMXS1S2PR',
2479 def setup_(self, step, stepName, stepDict, k, properties):
2481 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2482 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2487 for s
in d[
"-s"].
split(
","):
2488 if "DIGI:pdigi_valid" in s:
2489 tmpsteps.append(
"DIGI")
2493 "--eventcontent":
"PREMIXRAW"},
2495 stepDict[stepName][k] = d
2497 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2500 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2518 'HARVESTNanoFakeHLT',
2522 suffix =
'_PMXS2ProdLike',
2531 'GenSimHLBeamSpot14',
2545 'HARVESTNanoFakeHLT',
2549 suffix =
'_PMXS1S2ProdLike',
2554 def setup_(self, step, stepName, stepDict, k, properties):
2555 if 'HARVESTFastRun3' in step:
2556 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2558 '--era':
'Run3_FastSim',
2559 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2561 stepDict[stepName][k] =
merge([stepDict[step][k]])
2563 return (
'2021FS' in key
or '2023FS' in key)
2574 suffix =
'_Run3FSTrackingOnly',
2579 def setup_(self, step, stepName, stepDict, k, properties):
2581 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2583 '--era':
'Run3_FastSim',
2584 '--eventcontent':
'FASTPU',
2585 '--datatier':
'GEN-SIM-RECO',
2586 '--relval':
'27000,3000'}, stepDict[step][k]])
2588 stepDict[stepName][k] =
None 2590 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2598 suffix =
'_Run3FSMBMixing',
2604 def setup_(self, step, stepName, stepDict, k, properties):
2605 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2606 if '2023' in stepDict[step][k][
'--conditions']:
2607 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2609 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2610 elif 'Phase2' in stepDict[step][k][
'--era']:
2612 dd4hepGeom+=stepDict[step][k][
'--geometry']
2613 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2615 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2620 'GenSimHLBeamSpot14',
2632 'HARVESTNanoFakeHLT',
2639 upgradeWFs[
'DD4hep'].allowReuse =
False 2644 def setup_(self, step, stepName, stepDict, k, properties):
2645 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2646 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2648 return '2021' in key
and 'FS' not in key
2653 'GenSimHLBeamSpot14',
2665 'HARVESTNanoFakeHLT',
2669 suffix =
'_DD4hepDB',
2672 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2675 def setup_(self, step, stepName, stepDict, k, properties):
2676 the_era = stepDict[step][k][
'--era']
2677 if 'Run3' in the_era
and '2023' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2679 tmp_eras = the_era.split(
',')
2680 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2681 tmp_eras =
','.
join(tmp_eras)
2682 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2684 return '2021' in key
and 'FS' not in key
2689 'GenSimHLBeamSpot14',
2701 'HARVESTNanoFakeHLT',
2708 upgradeWFs[
'DDDDB'].allowReuse =
False 2711 def setup_(self, step, stepName, stepDict, k, properties):
2712 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2714 return (fragment==
'TTbar_13' and '2021' in key) \
2715 or (fragment==
'TTbar_14TeV' and '2026' in key)
2720 'GenSimHLBeamSpot14',
2732 'HARVESTNanoFakeHLT',
2738 'GenSimHLBeamSpot14',
2750 'HARVESTNanoFakeHLT',
2753 suffix =
'_SonicTriton',
2758 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2760 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2762 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2764 upgradeProperties = {}
2766 upgradeProperties[2017] = {
2768 'Geom' :
'DB:Extended',
2769 'GT' :
'auto:phase1_2017_realistic',
2770 'HLTmenu':
'@relval2017',
2771 'Era' :
'Run2_2017',
2772 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2775 'Geom' :
'DB:Extended',
2776 'GT' :
'auto:phase1_2017_design',
2777 'HLTmenu':
'@relval2017',
2778 'Era' :
'Run2_2017',
2779 'BeamSpot':
'DBdesign',
2780 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2783 'Geom' :
'DB:Extended',
2784 'GT' :
'auto:phase1_2018_realistic',
2785 'HLTmenu':
'@relval2018',
2786 'Era' :
'Run2_2018',
2787 'BeamSpot':
'DBrealistic',
2788 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2791 'Geom' :
'DB:Extended',
2792 'GT' :
'auto:phase1_2018_design',
2793 'HLTmenu':
'@relval2018',
2794 'Era' :
'Run2_2018',
2795 'BeamSpot':
'DBdesign',
2796 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2799 'Geom' :
'DB:Extended',
2800 'GT' :
'auto:phase1_2022_realistic',
2801 'HLTmenu':
'@relval2022',
2803 'BeamSpot':
'DBrealistic',
2804 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2807 'Geom' :
'DB:Extended',
2808 'GT' :
'auto:phase1_2022_design',
2809 'HLTmenu':
'@relval2022',
2811 'BeamSpot':
'DBdesign',
2812 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2815 'Geom' :
'DB:Extended',
2816 'GT' :
'auto:phase1_2023_realistic',
2817 'HLTmenu':
'@relval2023',
2818 'Era' :
'Run3_2023',
2819 'BeamSpot':
'DBrealistic',
2820 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2823 'Geom' :
'DB:Extended',
2824 'GT' :
'auto:phase1_2024_realistic',
2825 'HLTmenu':
'@relval2024',
2827 'BeamSpot':
'DBrealistic',
2828 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2831 'Geom' :
'DB:Extended',
2832 'GT' :
'auto:phase1_2022_realistic',
2833 'HLTmenu':
'@relval2022',
2834 'Era' :
'Run3_FastSim',
2835 'BeamSpot':
'DBrealistic',
2836 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2839 'Geom' :
'DB:Extended',
2840 'GT' :
'auto:phase1_2022_realistic_postEE',
2841 'HLTmenu':
'@relval2022',
2843 'BeamSpot':
'DBrealistic',
2844 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2847 'Geom' :
'DB:Extended',
2848 'GT' :
'auto:phase1_2023_realistic',
2849 'HLTmenu':
'@relval2023',
2850 'Era' :
'Run3_2023_FastSim',
2851 'BeamSpot':
'DBrealistic',
2852 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2855 'Geom' :
'DB:Extended',
2856 'GT':
'auto:phase1_2022_realistic_hi',
2857 'HLTmenu':
'@fake2',
2858 'Era':
'Run3_pp_on_PbPb',
2859 'BeamSpot':
'DBrealistic',
2860 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2863 'Geom' :
'DB:Extended',
2864 'GT':
'auto:phase1_2022_realistic_hi',
2865 'HLTmenu':
'@fake2',
2866 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2867 'BeamSpot':
'DBrealistic',
2868 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2871 'Geom' :
'DB:Extended',
2872 'GT':
'auto:phase1_2023_realistic_hi',
2873 'HLTmenu':
'@fake2',
2874 'Era':
'Run3_pp_on_PbPb',
2875 'BeamSpot':
'DBrealistic',
2876 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2879 'Geom' :
'DB:Extended',
2880 'GT':
'auto:phase1_2023_realistic_hi',
2881 'HLTmenu':
'@fake2',
2882 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2883 'BeamSpot':
'DBrealistic',
2884 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2889 for key
in list(upgradeProperties[2017].
keys()):
2890 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2893 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2894 for idx,val
in enumerate(scenToRun):
2896 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2898 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2900 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2902 upgradeProperties[2026] = {
2904 'Geom' :
'Extended2026D86',
2905 'HLTmenu':
'@fake2',
2906 'GT' :
'auto:phase2_realistic_T21',
2907 'Era' :
'Phase2C17I13M9',
2908 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2911 'Geom' :
'Extended2026D88',
2912 'HLTmenu':
'@relval2026',
2913 'GT' :
'auto:phase2_realistic_T21',
2914 'Era' :
'Phase2C17I13M9',
2915 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2918 'Geom' :
'Extended2026D91',
2919 'HLTmenu':
'@fake2',
2920 'GT' :
'auto:phase2_realistic_T30',
2921 'Era' :
'Phase2C17I13M9',
2922 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2925 'Geom' :
'Extended2026D92',
2926 'HLTmenu':
'@fake2',
2927 'GT' :
'auto:phase2_realistic_T21',
2928 'Era' :
'Phase2C17I13M9',
2929 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2932 'Geom' :
'Extended2026D93',
2933 'HLTmenu':
'@fake2',
2934 'GT' :
'auto:phase2_realistic_T21',
2935 'Era' :
'Phase2C17I13M9',
2936 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2939 'Geom' :
'Extended2026D94',
2940 'HLTmenu':
'@fake2',
2941 'GT' :
'auto:phase2_realistic_T21',
2942 'Era' :
'Phase2C20I13M9',
2943 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2946 'Geom' :
'Extended2026D95',
2947 'HLTmenu':
'@relval2026',
2948 'GT' :
'auto:phase2_realistic_T21',
2949 'Era' :
'Phase2C17I13M9',
2950 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2953 'Geom' :
'Extended2026D96',
2954 'HLTmenu':
'@fake2',
2955 'GT' :
'auto:phase2_realistic_T21',
2956 'Era' :
'Phase2C17I13M9',
2957 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2960 'Geom' :
'Extended2026D97',
2961 'HLTmenu':
'@fake2',
2962 'GT' :
'auto:phase2_realistic_T25',
2963 'Era' :
'Phase2C17I13M9',
2964 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2967 'Geom' :
'Extended2026D98',
2968 'HLTmenu':
'@relval2026',
2969 'GT' :
'auto:phase2_realistic_T25',
2970 'Era' :
'Phase2C17I13M9',
2971 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2974 'Geom' :
'Extended2026D99',
2975 'HLTmenu':
'@relval2026',
2976 'GT' :
'auto:phase2_realistic_T25',
2977 'Era' :
'Phase2C17I13M9',
2978 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2981 'Geom' :
'Extended2026D100',
2982 'HLTmenu':
'@relval2026',
2983 'GT' :
'auto:phase2_realistic_T25',
2984 'Era' :
'Phase2C17I13M9',
2985 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2988 'Geom' :
'Extended2026D101',
2989 'HLTmenu':
'@relval2026',
2990 'GT' :
'auto:phase2_realistic_T25',
2991 'Era' :
'Phase2C17I13M9',
2992 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2995 'Geom' :
'Extended2026D102',
2996 'HLTmenu':
'@relval2026',
2997 'GT' :
'auto:phase2_realistic_T33',
2998 'Era' :
'Phase2C17I13M9',
2999 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3002 'Geom' :
'Extended2026D103',
3003 'HLTmenu':
'@relval2026',
3004 'GT' :
'auto:phase2_realistic_T25',
3005 'Era' :
'Phase2C17I13M9',
3006 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3009 'Geom' :
'Extended2026D104',
3010 'HLTmenu':
'@relval2026',
3011 'GT' :
'auto:phase2_realistic_T33',
3012 'Era' :
'Phase2C22I13M9',
3013 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3016 'Geom' :
'Extended2026D105',
3017 'HLTmenu':
'@relval2026',
3018 'GT' :
'auto:phase2_realistic_T33',
3019 'Era' :
'Phase2C17I13M9',
3020 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3023 'Geom' :
'Extended2026D106',
3024 'HLTmenu':
'@relval2026',
3025 'GT' :
'auto:phase2_realistic_T33',
3026 'Era' :
'Phase2C22I13M9',
3027 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3030 'Geom' :
'Extended2026D107',
3031 'HLTmenu':
'@relval2026',
3032 'GT' :
'auto:phase2_realistic_T25',
3033 'Era' :
'Phase2C17I13M9',
3034 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3037 'Geom' :
'Extended2026D108',
3038 'HLTmenu':
'@relval2026',
3039 'GT' :
'auto:phase2_realistic_T33',
3040 'Era' :
'Phase2C17I13M9',
3041 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3044 'Geom' :
'Extended2026D109',
3045 'HLTmenu':
'@relval2026',
3046 'GT' :
'auto:phase2_realistic_T33',
3047 'Era' :
'Phase2C22I13M9',
3048 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3053 for key
in list(upgradeProperties[2026].
keys()):
3054 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
3055 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
3058 defaultDataSets = {}
3059 for year
in upgradeKeys:
3060 for key
in upgradeKeys[year]:
3061 if 'PU' in key:
continue 3062 defaultDataSets[key] =
'' 3070 upgradeFragments = OrderedDict([
3072 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
3073 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
3074 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
3081 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
3082 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
3083 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
3084 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
3085 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
3086 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
3087 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
3088 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
3089 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
3090 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
3091 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
3094 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
3097 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
3098 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
3099 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
3101 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
3102 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
3103 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
3107 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
3108 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
3109 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
3110 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
3114 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
3116 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
3118 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
3119 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
3120 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
3122 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
3123 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
3124 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
3127 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
3128 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
3130 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
3137 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
3139 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
3140 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
3141 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
3142 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
3143 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
3144 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
3148 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
3149 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
3150 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
3151 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
3152 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
3153 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
3154 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
3155 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
3157 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
3159 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
3160 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
3161 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
3162 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
3164 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
3165 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
3166 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
3167 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
3171 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
3172 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
3173 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
3176 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
3179 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
3180 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
3181 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
3182 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
3184 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
3185 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
3187 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
3188 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
3189 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
3191 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
3192 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
3193 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
3194 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
3195 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
3196 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
3197 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
3198 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
3199 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
3200 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
3201 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
3202 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
3203 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
3205 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
3207 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
3208 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
3209 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
3210 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
3211 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
3212 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
3213 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
3214 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3215 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3216 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3217 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3218 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3219 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3220 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3221 (
'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)