1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby, check_dups
6 U2000by1={
'--relval':
'2000,1'}
97 numWFConflict = [[14400,14800],
105 for year
in upgradeKeys:
106 for i
in range(0,len(upgradeKeys[year])):
107 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
108 for conflict
in numWFConflict:
109 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
110 numWFtmp = conflict[1]
112 numWFAll[year].
append(numWFtmp)
119 preventReuseKeyword =
'NOREUSE' 128 if not step
in self.
steps:
135 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
137 stepName = step + self.
suffix + extra
140 stepNamePU = step +
'PU' + self.
suffix + extra
143 for step
in self.
steps:
149 def setup(self, stepDict, k, properties):
150 for step
in self.
steps:
157 def setup_(self, step, stepName, stepDict, k, properties):
159 def setupPU_(self, step, stepName, stepDict, k, properties):
161 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
162 if self.condition(fragment, stepList, key, hasHarvest):
163 self.workflow_(workflows, num, fragment, stepList, key)
164 def workflow_(self, workflows, num, fragment, stepList, key):
165 fragmentTmp = [fragment, key]
168 if self.
offset==0
or workflows[num][1]!=stepList:
169 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
170 def condition(self, fragment, stepList, key, hasHarvest):
173 if "Sim" in stepName
and stepName !=
"Sim":
174 stepDict[stepName][k] =
None 175 if "Gen" in stepName:
176 stepDict[stepName][k] =
None 177 upgradeWFs = OrderedDict()
180 def setup_(self, step, stepName, stepDict, k, properties):
181 cust=properties.get(
'Custom',
None)
182 era=properties.get(
'Era',
None)
183 modifier=properties.get(
'ProcessModifier',
None)
184 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
186 stepDict[stepName][k][
'--era']=era
187 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
188 def condition(self, fragment, stepList, key, hasHarvest):
198 'GenSimHLBeamSpot14',
199 'GenSimHLBeamSpotHGCALCloseBy',
214 'HARVESTNanoFakeHLT',
240 'HARVESTNanoFakeHLT',
254 def setup_(self, step, stepName, stepDict, k, properties):
255 if stepDict[step][k] !=
None:
257 stepDict[stepName][k] =
None 258 if 'RecoNano' in step:
259 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
260 if 'Digi' in step
and 'NoHLT' not in step:
261 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
262 def condition(self, fragment, stepList, key, hasHarvest):
263 if (
'TTbar_14TeV' in fragment
and '2021' == key):
264 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
265 return (
'TTbar_14TeV' in fragment
and '2021' == key)
274 suffix =
'_DigiNoHLT',
283 steps = steps + [
"ALCA",
"Nano"]
284 super().
__init__(steps, PU, suffix, offset)
285 def condition(self, fragment, stepList, key, hasHarvest):
286 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)
290 def setup_(self, step, stepName, stepDict, k, properties):
292 if 'ALCA' in step
or 'Nano'==step:
293 stepDict[stepName][k] =
None 294 self.
setup__(step, stepName, stepDict, k, properties)
296 def setup__(self, step, stepName, stepDict, k, properties):
299 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
300 def setup__(self, step, stepName, stepDict, k, properties):
301 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
302 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
304 def condition(self, fragment, stepList, key, hasHarvest):
305 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
321 'HARVESTNanoFakeHLT',
333 'HARVESTNanoFakeHLT',
337 suffix =
'_trackingOnly',
340 upgradeWFs[
'trackingOnly'].step3 = {
341 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
342 '--datatier':
'GEN-SIM-RECO,DQMIO',
343 '--eventcontent':
'RECOSIM,DQM',
346 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
349 def setup__(self, step, stepName, stepDict, k, properties):
350 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
351 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
360 suffix =
'_trackingRun2',
365 def setup__(self, step, stepName, stepDict, k, properties):
366 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
367 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
368 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
379 suffix =
'_trackingOnlyRun2',
382 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
385 def setup__(self, step, stepName, stepDict, k, properties):
386 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
387 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
396 suffix =
'_trackingLowPU',
401 def setup__(self, step, stepName, stepDict, k, properties):
402 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
404 elif 'ALCA' in step: stepDict[stepName][k] =
None 405 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
407 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)
419 'HARVESTNanoFakeHLT',
424 suffix =
'_pixelTrackingOnly',
427 upgradeWFs[
'pixelTrackingOnly'].step3 = {
428 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
429 '--datatier':
'GEN-SIM-RECO,DQMIO',
430 '--eventcontent':
'RECOSIM,DQM',
434 def setup__(self, step, stepName, stepDict, k, properties):
435 if (
'Digi' in step
and 'NoHLT' not in step)
or (
'HLTOnly' in step): stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
436 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
438 return (
'2017' in key
or '2021' in key
or '2023' in key
or '2024' in key)
and (
'FS' not in key)
451 suffix =
'_trackingMkFit',
454 upgradeWFs[
'trackingMkFit'].step2 = {
455 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 457 upgradeWFs[
'trackingMkFit'].step3 = {
458 '--procModifiers':
'trackingMkFitDevel' 463 def setup__(self, step, stepName, stepDict, k, properties):
464 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
466 return (
'2026' in key)
476 suffix =
'_trackingMkFitPhase2',
479 upgradeWFs[
'trackingMkFitPhase2'].step3 = {
480 '--procModifiers':
'trackingMkFitCommon,trackingMkFitInitialStep' 485 def setup_(self, step, stepName, stepDict, k, properties):
487 if 'ALCA' in step
or 'Nano'==step:
488 stepDict[stepName][k] =
None 489 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
490 def condition(self, fragment, stepList, key, hasHarvest):
491 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
504 'HARVESTNanoFakeHLT',
516 'HARVESTNanoFakeHLT',
518 suffix =
'_seedingDeepCore',
524 def setup__(self, step, stepName, stepDict, k, properties):
525 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
527 return (
'2021' in key
or '2023' in key
or '2024' in key)
537 suffix =
'_displacedRegional',
540 upgradeWFs[
'displacedRegional'].step3 = {
541 '--procModifiers':
'displacedRegionalTracking' 546 def setup_(self, step, stepName, stepDict, k, properties):
547 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
548 def condition(self, fragment, stepList, key, hasHarvest):
549 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
559 suffix =
'_vectorHits',
567 super(UpgradeWorkflow_weightedVertex, self).
__init__(
578 'HARVESTNanoFakeHLT',
590 'HARVESTNanoFakeHLT',
594 def setup_(self, step, stepName, stepDict, k, properties):
597 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
598 '--eventcontent':
'RECOSIM,DQM'}
599 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
600 if 'HARVEST' in step:
601 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
603 def condition(self, fragment, stepList, key, hasHarvest):
606 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
607 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
608 (
'2026' in key
and fragment ==
"TTbar_14TeV")
610 result =
any(selected)
and hasHarvest
616 suffix =
'_weightedVertex',
620 upgradeWFs[
'weightedVertex'].step3 = {}
621 upgradeWFs[
'weightedVertex'].step4 = {}
624 suffix =
'_weightedVertexTrackingOnly',
628 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
629 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
630 '--datatier':
'GEN-SIM-RECO,DQMIO',
631 '--eventcontent':
'RECOSIM,DQM',
634 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
635 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 640 def setup_(self, step, stepName, stepDict, k, properties):
641 if 'RecoGlobal' in step:
642 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
643 if 'HARVESTGlobal' in step:
644 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
645 def condition(self, fragment, stepList, key, hasHarvest):
646 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
656 suffix =
'_ticl_clue3D',
659 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
660 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
663 def setup_(self, step, stepName, stepDict, k, properties):
664 if 'RecoGlobal' in step:
665 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
666 if 'HARVESTGlobal' in step:
667 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
668 def condition(self, fragment, stepList, key, hasHarvest):
669 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
679 suffix =
'_ticl_FastJet',
682 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
683 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
686 def setup_(self, step, stepName, stepDict, k, properties):
687 if (
'Digi' in step
and 'NoHLT' not in step)
or (
'HLTOnly' in step):
688 stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
689 if 'RecoGlobal' in step:
690 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
691 if 'HARVESTGlobal' in step:
692 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
693 def condition(self, fragment, stepList, key, hasHarvest):
694 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
712 upgradeWFs[
'ticl_v5'].step2 = {
'--procModifiers':
'ticl_v5'}
713 upgradeWFs[
'ticl_v5'].step3 = {
'--procModifiers':
'ticl_v5'}
714 upgradeWFs[
'ticl_v5'].step4 = {
'--procModifiers':
'ticl_v5'}
717 def setup_(self, step, stepName, stepDict, k, properties):
718 if 'RecoGlobal' in step:
719 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
720 if 'HARVESTGlobal' in step:
721 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
722 def condition(self, fragment, stepList, key, hasHarvest):
723 return (fragment==
"ZEE_14" or 'Eta1p7_2p7' in fragment)
and '2026' in key
733 suffix =
'_ticl_v5_mustache',
736 upgradeWFs[
'ticl_v5_superclustering_mustache_ticl'].step3 = {
'--procModifiers':
'ticl_v5,ticl_superclustering_mustache_ticl'}
737 upgradeWFs[
'ticl_v5_superclustering_mustache_ticl'].step4 = {
'--procModifiers':
'ticl_v5,ticl_superclustering_mustache_ticl'}
748 suffix =
'_ticl_v5_mustache_pf',
751 upgradeWFs[
'ticl_v5_superclustering_mustache_pf'].step3 = {
'--procModifiers':
'ticl_v5,ticl_superclustering_mustache_pf'}
752 upgradeWFs[
'ticl_v5_superclustering_mustache_pf'].step4 = {
'--procModifiers':
'ticl_v5,ticl_superclustering_mustache_pf'}
756 def setup_(self, step, stepName, stepDict, k, properties):
757 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
759 def condition(self, fragment, stepList, key, hasHarvest):
760 return fragment==
"TTbar_14TeV" and '2021' in key
774 suffix =
'_trackdnn',
781 def setup_(self, step, stepName, stepDict, k, properties):
783 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
784 def condition(self, fragment, stepList, key, hasHarvest):
785 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
803 upgradeWFs[
'mlpf'].step3 = {
804 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
805 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
806 '--procModifiers':
'mlpf' 812 def setup_(self, step, stepName, stepDict, k, properties):
814 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
815 def condition(self, fragment, stepList, key, hasHarvest):
816 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 817 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
832 suffix =
'_ecalDeepSC',
835 upgradeWFs[
'ecalDeepSC'].step3 = {
836 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
837 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
838 '--procModifiers':
'ecal_deepsc' 844 def setup_(self, step, stepName, stepDict, k, properties):
846 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
847 def condition(self, fragment, stepList, key, hasHarvest):
848 return '2018' in key
and "SingleGamma" in fragment
859 suffix =
'_photonDRN',
862 upgradeWFs[
'photonDRN'].step3 = {
863 '--procModifiers':
'enableSonicTriton,photonDRN' 872 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
874 super(PatatrackWorkflow, self).
__init__(
888 'HARVESTNanoFakeHLT',
907 'HARVESTNanoFakeHLT',
918 '--datatier':
'GEN-SIM-RECO,DQMIO',
919 '--eventcontent':
'RECOSIM,DQM' 924 def condition(self, fragment, stepList, key, hasHarvest):
926 years = [
'2021',
'2023',
'2024',
'2026']
927 fragments = [
"TTbar_14",
"ZMM_14",
"ZEE_14",
"ZTT_14",
"NuGun",
"SingleMu",
"QCD_Pt15To7000_Flat"]
929 (
any(y
in key
for y
in years)
and (
'FS' not in key)
and any( f
in fragment
for f
in fragments)),
930 ((
'HI' in key)
and (
'Hydjet' in fragment)
and (
"PixelOnly" in self.
suffix) )
932 result =
any(selected)
and hasHarvest
936 def setup_(self, step, stepName, stepDict, k, properties):
938 if 'ALCA' in step
or 'Nano'==step:
939 stepDict[stepName][k] =
None 940 elif (
'Digi' in step
and "NoHLT" not in step)
or 'HLTOnly' in step:
942 stepDict[stepName][k] =
None 944 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
947 stepDict[stepName][k] =
None 949 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
950 if 'Phase2' in stepDict[stepName][k][
'--era']:
951 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
952 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
953 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
954 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
957 elif 'MiniAOD' in step:
959 stepDict[stepName][k] =
None 961 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
962 elif 'HARVEST' in step:
964 stepDict[stepName][k] =
None 966 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
978 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
979 '--procModifiers':
'pixelNtupletFit' 982 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 984 suffix =
'Patatrack_PixelOnlyCPU',
995 '--procModifiers':
'gpu' 998 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
999 '--procModifiers':
'pixelNtupletFit,gpu' 1002 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1004 suffix =
'Patatrack_PixelOnlyGPU',
1015 '--accelerators':
'gpu-nvidia',
1016 '--procModifiers':
'gpu' 1019 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1020 '--accelerators':
'gpu-nvidia',
1021 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1024 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1025 '--procModifiers':
'gpuValidation' 1027 suffix =
'Patatrack_PixelOnlyGPU_Validation',
1037 '--procModifiers':
'gpu' 1040 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1041 '--procModifiers':
'pixelNtupletFit,gpu',
1042 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1045 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
1058 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1059 '--procModifiers':
'pixelNtupletFit',
1060 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1063 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1065 suffix =
'Patatrack_PixelOnlyTripletsCPU',
1076 '--procModifiers':
'gpu' 1079 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1080 '--procModifiers':
'pixelNtupletFit,gpu',
1081 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1084 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1086 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1097 '--accelerators':
'gpu-nvidia',
1098 '--procModifiers':
'gpu' 1101 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1102 '--accelerators':
'gpu-nvidia',
1103 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1104 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1107 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1108 '--procModifiers':
'gpuValidation',
1110 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1120 '--procModifiers':
'gpu' 1123 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1124 '--procModifiers':
'pixelNtupletFit,gpu',
1125 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1128 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1139 '--procModifiers':
'alpaka',
1140 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1143 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1144 '--procModifiers':
'alpaka',
1145 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1148 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1150 suffix =
'Patatrack_ECALOnlyAlpaka',
1163 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1166 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1168 suffix =
'Patatrack_ECALOnlyCPU',
1179 '--procModifiers':
'gpu' 1182 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1183 '--procModifiers':
'gpu' 1186 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1188 suffix =
'Patatrack_ECALOnlyGPU',
1199 '--accelerators':
'gpu-nvidia',
1200 '--procModifiers':
'gpu' 1203 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1204 '--accelerators':
'gpu-nvidia',
1205 '--procModifiers':
'gpuValidation' 1208 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1210 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1220 '--procModifiers':
'gpu' 1223 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1224 '--procModifiers':
'gpu',
1225 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1228 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1241 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1244 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1246 suffix =
'Patatrack_HCALOnlyCPU',
1257 '--procModifiers':
'gpu' 1260 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1261 '--procModifiers':
'gpu' 1264 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1266 suffix =
'Patatrack_HCALOnlyGPU',
1277 '--accelerators':
'gpu-nvidia',
1278 '--procModifiers':
'gpu' 1281 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1282 '--accelerators':
'gpu-nvidia',
1283 '--procModifiers':
'gpuValidation' 1286 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1288 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1298 '--procModifiers':
'gpu' 1301 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1302 '--procModifiers':
'gpu',
1303 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1306 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1315 '--procModifiers':
'alpaka',
1316 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1319 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1320 '--procModifiers':
'alpaka',
1321 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1324 '-s':
'HARVESTING:@hcalOnlyValidation' 1326 suffix =
'Patatrack_HCALOnlyAlpaka_Validation',
1335 '--procModifiers':
'alpaka',
1336 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1339 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnlyLegacy+reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation+pfClusterHBHEOnlyAlpakaComparisonSequence,DQM:@hcalOnly+@hcal2Only+hcalOnlyOfflineSourceSequenceAlpaka',
1340 '--procModifiers':
'alpaka',
1341 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1344 '-s':
'HARVESTING:@hcalOnlyValidation' 1346 suffix =
'Patatrack_HCALOnlyGPUandAlpaka_Validation',
1355 '--procModifiers':
'alpaka',
1358 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1359 '--procModifiers':
'alpaka' 1362 suffix =
'Patatrack_HCALOnlyAlpaka_Profiling',
1372 '--procModifiers':
'alpaka',
1373 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1377 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1378 '--procModifiers':
'alpaka',
1379 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1384 suffix =
'Patatrack_FullRecoAlpaka',
1394 '--procModifiers':
'alpaka',
1395 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1399 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1400 '--procModifiers':
'alpaka',
1401 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1406 suffix =
'Patatrack_FullRecoAlpakaTriplets',
1419 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1420 '--procModifiers':
'pixelNtupletFit' 1423 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1425 suffix =
'Patatrack_AllCPU',
1436 '--procModifiers':
'gpu' 1439 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1440 '--procModifiers':
'pixelNtupletFit,gpu' 1443 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1445 suffix =
'Patatrack_AllGPU',
1456 '--accelerators':
'gpu-nvidia',
1457 '--procModifiers':
'gpu' 1460 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1461 '--accelerators':
'gpu-nvidia',
1462 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1465 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1466 '--procModifiers':
'gpuValidation' 1468 suffix =
'Patatrack_AllGPU_Validation',
1486 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1487 '--procModifiers':
'pixelNtupletFit' 1490 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1492 suffix =
'Patatrack_AllTripletsCPU',
1503 '--procModifiers':
'gpu' 1506 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1507 '--procModifiers':
'pixelNtupletFit,gpu' 1510 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1512 suffix =
'Patatrack_AllTripletsGPU',
1523 '--accelerators':
'gpu-nvidia',
1524 '--procModifiers':
'gpu' 1527 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1528 '--accelerators':
'gpu-nvidia',
1529 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1532 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1533 '--procModifiers':
'gpuValidation' 1535 suffix =
'Patatrack_AllTripletsGPU_Validation',
1554 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1555 '--procModifiers':
'pixelNtupletFit' 1560 suffix =
'Patatrack_FullRecoCPU',
1571 '--procModifiers':
'gpu' 1575 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1576 '--procModifiers':
'pixelNtupletFit,gpu' 1581 suffix =
'Patatrack_FullRecoGPU',
1592 '--accelerators':
'gpu-nvidia',
1593 '--procModifiers':
'gpu' 1597 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1598 '--accelerators':
'gpu-nvidia',
1599 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1604 suffix =
'Patatrack_FullRecoGPU_Validation',
1618 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1619 '--procModifiers':
'pixelNtupletFit',
1620 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1625 suffix =
'Patatrack_FullRecoTripletsCPU',
1632 '--datatier':
'GEN-SIM-RAW',
1633 '--eventcontent':
'RAWSIM',
1637 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1638 '--procModifiers':
'pixelNtupletFit',
1639 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1640 '--datatier':
'AODSIM',
1641 '--eventcontent':
'AODSIM',
1644 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1655 '--procModifiers':
'gpu' 1659 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1660 '--procModifiers':
'pixelNtupletFit,gpu',
1661 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1666 suffix =
'Patatrack_FullRecoTripletsGPU',
1673 '--procModifiers':
'gpu',
1674 '--datatier':
'GEN-SIM-RAW',
1675 '--eventcontent':
'RAWSIM',
1679 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1680 '--procModifiers':
'pixelNtupletFit,gpu',
1681 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1682 '--datatier':
'AODSIM',
1683 '--eventcontent':
'AODSIM',
1686 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1697 '--accelerators':
'gpu-nvidia',
1698 '--procModifiers':
'gpu' 1702 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1703 '--accelerators':
'gpu-nvidia',
1704 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1705 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1710 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1716 '--procModifiers':
'alpaka',
1717 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1720 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1721 '--procModifiers':
'alpaka',
1722 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1725 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1727 suffix =
'Patatrack_PixelOnlyAlpaka',
1733 '--procModifiers':
'alpaka',
1734 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1737 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1738 '--procModifiers':
'alpakaValidation',
1739 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1742 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1743 '--procModifiers':
'alpakaValidation',
1745 suffix =
'Patatrack_PixelOnlyAlpaka_Validation',
1751 '--procModifiers':
'alpaka',
1754 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1755 '--procModifiers':
'alpaka',
1756 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1759 suffix =
'Patatrack_PixelOnlyAlpaka_Profiling',
1765 '--procModifiers':
'alpaka',
1766 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1769 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1770 '--procModifiers':
'alpaka',
1771 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling' 1774 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1776 suffix =
'Patatrack_PixelOnlyTripletsAlpaka',
1782 '--procModifiers':
'alpaka',
1783 '--customise' :
'HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling',
1786 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1787 '--procModifiers':
'alpakaValidation',
1788 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,HeterogeneousCore/AlpakaServices/customiseAlpakaServiceMemoryFilling.customiseAlpakaServiceMemoryFilling' 1791 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1793 suffix =
'Patatrack_PixelOnlyTripletsAlpaka_Validation',
1799 '--procModifiers':
'alpaka',
1802 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1803 '--procModifiers':
'alpaka',
1804 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1807 suffix =
'Patatrack_PixelOnlyTripletsAlpaka_Profiling',
1814 def setup_(self, step, stepName, stepDict, k, properties):
1815 thisStep = stepDict[step][k][
"-s"]
1816 if 'GenSimHLBeamSpot14' in step:
1817 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1818 elif 'Digi' in step
and 'Trigger' not in step:
1819 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DIGI:pdigi_valid",
"DIGI"),
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1820 elif 'DigiTrigger' in step:
1821 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DIGI:pdigi_valid",
"DIGI"),
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1822 elif 'Reco' in step:
1823 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1824 elif 'MiniAOD' in step:
1826 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1827 elif 'ALCA' in step
or 'HARVEST' in step:
1829 stepDict[stepName][k] =
None 1831 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1833 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key
or '2024' in key)
1836 'GenSimHLBeamSpot14',
1848 'HARVESTNanoFakeHLT',
1855 'GenSimHLBeamSpot14',
1867 'HARVESTNanoFakeHLT',
1873 suffix =
'_ProdLike',
1878 def __init__(self, suffix, offset, fixedPU,
1881 'GenSimHLBeamSpot14',
1893 'HARVESTNanoFakeHLT',
1899 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1901 def setupPU_(self, step, stepName, stepDict, k, properties):
1903 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1904 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1907 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1914 suffix =
'_ProdLikePU10',
1920 suffix =
'_ProdLikePU20',
1926 suffix =
'_ProdLikePU30',
1932 suffix =
'_ProdLikePU40',
1938 suffix =
'_ProdLikePU50',
1944 suffix =
'_ProdLikePU55',
1950 suffix =
'_ProdLikePU60',
1956 suffix =
'_ProdLikePU65',
1962 suffix =
'_ProdLikePU70',
1968 suffix =
'_ProdLikePU80',
1974 suffix =
'_ProdLikePU90',
1980 suffix =
'_ProdLikePU100',
1986 suffix =
'_ProdLikePU120',
1992 suffix =
'_ProdLikePU140',
1998 suffix =
'_ProdLikePU160',
2004 suffix =
'_ProdLikePU180',
2010 def setup_(self, step, stepName, stepDict, k, properties):
2011 if 'HARVEST' in step:
2012 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
2014 stepDict[stepName][k] =
merge([stepDict[step][k]])
2016 return fragment==
"TTbar_14TeV" and '2026' in key
2019 'GenSimHLBeamSpot14',
2026 'GenSimHLBeamSpot14',
2032 suffix =
'_HLT75e33',
2037 def setup_(self, step, stepName, stepDict, k, properties):
2038 if 'DigiTrigger' in step:
2039 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
2041 return fragment==
"TTbar_14TeV" and '2026' in key
2049 suffix =
'_HLTwDIGI75e33',
2054 def setup_(self, step, stepName, stepDict, k, properties):
2055 if 'Digi' in step
and 'NoHLT' not in step:
2056 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
2058 return '2026' in key
2067 suffix =
'_L1Complete',
2072 def setup_(self, step, stepName, stepDict, k, properties):
2073 if 'GenSim' in step:
2074 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 2076 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 2077 stepDict[stepName][k] = deepcopy(stepDict[step][k])
2078 if '--customise' in stepDict[stepName][k].
keys():
2079 stepDict[stepName][k][
'--customise'] +=
","+custNew
2081 stepDict[stepName][k][
'--customise'] = custNew
2088 'GenSimHLBeamSpot14',
2096 suffix =
'_Neutron',
2100 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
2101 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
2104 def setup_(self, step, stepName, stepDict, k, properties):
2105 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
2107 return fragment==
"TTbar_13" and '2018' in key
2125 suffix =
'_heCollapse',
2131 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
2133 super(UpgradeWorkflow_ecalDevel, self).
__init__(
2151 def setup_(self, step, stepName, stepDict, k, properties):
2153 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
2155 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 2157 elif 'Reco' in step:
2158 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 2159 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 2160 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 2162 elif 'HARVEST' in step:
2163 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 2165 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2168 stepDict[stepName][k] =
None 2171 return fragment==
"TTbar_14TeV" and '2026' in key
2175 suffix =
'_ecalDevel',
2181 reco = {
'--procModifiers':
'gpu'},
2182 suffix =
'_ecalDevelGPU',
2188 def __init__(self, suffix, offset, ecalTPPh2, ecalMod,
2192 'GenSimHLBeamSpot14',
2193 'GenSimHLBeamSpotHGCALCloseBy',
2203 'GenSimHLBeamSpot14',
2204 'GenSimHLBeamSpotHGCALCloseBy',
2211 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
2215 def setup_(self, step, stepName, stepDict, k, properties):
2216 stepDict[stepName][k] = deepcopy(stepDict[step][k])
2219 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2220 if 'Digi' in step
and 'NoHLT' not in step:
2222 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2224 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel,phase2_ecalTP_devel'}
2225 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW,HLT:@fake2' 2226 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2227 if 'RecoGlobal' in step:
2228 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,RECO,RECOSIM,PAT',
2229 '--datatier':
'GEN-SIM-RECO',
2230 '--eventcontent':
'FEVTDEBUGHLT',
2231 }, stepDict[step][k]])
2232 if 'HARVESTGlobal' in step:
2233 stepDict[stepName][k] =
None 2234 if 'ALCAPhase2' in step:
2235 stepDict[stepName][k] =
None 2238 return fragment==
"TTbar_14TeV" and (
'2021' in key
or '2023' in key
or '2026' in key)
2241 suffix =
'_ecalComponent',
2244 ecalMod =
'ecal_component',
2248 suffix =
'_ecalComponentFSW',
2251 ecalMod =
'ecal_component_finely_sampled_waveforms',
2255 suffix =
'_ecalTPPh2',
2257 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2262 suffix =
'_ecalTPPh2Component',
2264 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2265 ecalMod =
'ecal_component',
2269 suffix =
'_ecalTPPh2ComponentFSW',
2271 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2272 ecalMod =
'ecal_component_finely_sampled_waveforms',
2276 def setup_(self, step, stepName, stepDict, k, properties):
2277 myGT=stepDict[step][k][
'--conditions']
2279 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
2280 def setupPU_(self, step, stepName, stepDict, k, properties):
2282 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
2284 return (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and (
'2017' in key
or '2018' in key
or '2021' in key
or '2024' in key)
and (
'FS' not in key)
2296 'HARVESTNanoFakeHLT',
2308 'HARVESTNanoFakeHLT',
2315 def setup_(self, step, stepName, stepDict, k, properties):
2316 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
2317 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
2319 return fragment==
"TTbar_13" and '2018' in key
2326 suffix =
'_ParkingBPH',
2332 def setup_(self, step, stepName, stepDict, k, properties):
2334 thisStep = stepDict[step][k][
"-s"]
2336 if "DQM:" in thisStep:
2337 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
2338 elif "DQM" in thisStep:
2339 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
2341 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
2344 return any(frag
in fragment
for frag
in self.
__frags)
2354 suffix =
'_HeavyFlavor',
2360 def setup_(self, step, stepName, stepDict, k, properties):
2362 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD'}, stepDict[step][k]])
2364 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)
2372 suffix =
'_JMENano',
2379 def setup_(self, step, stepName, stepDict, k, properties):
2380 if 'Digi' in step
or 'Reco' in step:
2381 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2383 return '2026' in key
2402 suffix =
'Aging1000',
2405 upgradeWFs[
'Aging1000'].lumi =
'1000' 2406 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2407 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2408 upgradeWFs[
'Aging3000'].offset = 0.103
2409 upgradeWFs[
'Aging3000'].lumi =
'3000' 2416 def setup_(self, step, stepName, stepDict, k, properties):
2418 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2420 return fragment==
"TTbar_14TeV" and '2026' in key
2431 suffix =
'_OTInefficiency',
2434 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2437 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2438 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2439 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2440 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2443 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2444 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2445 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2446 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2449 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2450 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2451 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2452 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2458 def setup_(self, step, stepName, stepDict, k, properties):
2460 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2462 return '2026' in key
2473 suffix =
'_ITSignalShape',
2483 digiPremixLocalPileup = {
2484 "--filein":
"file:step1.root",
2485 "--pileup_input":
"file:step2.root" 2490 def setup_(self, step, stepName, stepDict, k, properties):
2492 stepDict[stepName][k] =
merge([stepDict[step][k]])
2493 def setupPU_(self, step, stepName, stepDict, k, properties):
2497 if "Gen" in stepName:
2498 stepNamePmx = stepName.replace(
'Gen',
'Premix')
2499 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2500 stepDict[stepNamePmx][k] =
merge([
2502 '-s':
'GEN,SIM,RECOBEFMIX,DIGI:pdigi_valid',
2504 '--datatier':
'PREMIX',
2505 '--eventcontent':
'PREMIX',
2506 '--procModifiers':
'premix_stage1' 2508 stepDict[stepName][k]
2510 if "ProdLike" in self.
suffix:
2514 elif "FastSimRun3" in step:
2517 if d
is None:
return 2519 for s
in d[
"-s"].
split(
","):
2520 if s ==
"DIGI" or "DIGI:" in s:
2521 tmpsteps.extend([s,
"DATAMIX"])
2525 "--datamix" :
"PreMix"},
2527 if "--procModifiers" in d:
2528 d[
"--procModifiers"] +=
",premix_stage2" 2530 d[
"--procModifiers"] =
"premix_stage2" 2532 if "_PMXS1S2" in self.
suffix:
2533 d =
merge([digiPremixLocalPileup, d])
2534 stepDict[stepName][k] = d
2535 elif "HARVESTFastRun3" in step:
2537 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'},stepDict[stepName][k]])
2540 if "GenSim" in stepName:
2541 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2542 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2543 stepDict[stepNamePmx][k] =
merge([
2545 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2546 '--datatier':
'PREMIX',
2547 '--eventcontent':
'PREMIX',
2548 '--procModifiers':
'premix_stage1' 2550 stepDict[stepName][k]
2552 if "ProdLike" in self.
suffix:
2553 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2555 elif "Digi" in step
or "Reco" in step:
2558 if d
is None:
return 2561 for s
in d[
"-s"].
split(
","):
2562 if s ==
"DIGI" or "DIGI:" in s:
2563 tmpsteps.extend([s,
"DATAMIX"])
2567 "--datamix" :
"PreMix",
2568 "--procModifiers":
"premix_stage2"},
2571 if "_PMXS1S2" in self.
suffix:
2572 d =
merge([digiPremixLocalPileup, d])
2573 elif "Reco" in step:
2574 if "--procModifiers" in d:
2575 d[
"--procModifiers"] +=
",premix_stage2" 2577 d[
"--procModifiers"] =
"premix_stage2" 2578 stepDict[stepName][k] = d
2583 if "_PMXS1S2" in self.
suffix and "--filein" in d:
2584 filein = d[
"--filein"]
2585 m = re.search(
"step(?P<ind>\\d+)", filein)
2587 d[
"--filein"] = filein.replace(m.group(),
"step%d"%(
int(m.group(
"ind"))+1))
2588 stepDict[stepName][k] = d
2594 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2596 if self.
suffix.endswith(
"S1"):
2597 return "NuGun" in fragment
2599 def workflow_(self, workflows, num, fragment, stepList, key):
2600 fragmentTmp = fragment
2601 if self.
suffix.endswith(
"S1"):
2602 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2603 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2612 'GenSimHLBeamSpot14',
2643 'GenSimHLBeamSpot14',
2656 suffix =
'_PMXS1S2',
2661 def setupPU_(self, step, stepName, stepDict, k, properties):
2663 if '--pileup' in stepDict[stepName][k]:
2664 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2665 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2668 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2674 'GenSimHLBeamSpot14',
2686 suffix =
'_PMXS1S2PR',
2691 def setup_(self, step, stepName, stepDict, k, properties):
2693 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2694 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2699 for s
in d[
"-s"].
split(
","):
2700 if "DIGI:pdigi_valid" in s:
2701 tmpsteps.append(
"DIGI")
2705 "--eventcontent":
"PREMIXRAW"},
2707 stepDict[stepName][k] = d
2710 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2728 'HARVESTNanoFakeHLT',
2732 suffix =
'_PMXS2ProdLike',
2741 'GenSimHLBeamSpot14',
2755 'HARVESTNanoFakeHLT',
2759 suffix =
'_PMXS1S2ProdLike',
2764 def setup_(self, step, stepName, stepDict, k, properties):
2765 if 'HARVESTFastRun3' in step:
2766 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2768 '--era':
'Run3_FastSim',
2769 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2771 stepDict[stepName][k] =
merge([stepDict[step][k]])
2773 return fragment==
"TTbar_14TeV" and (
'2021FS' in key
or '2023FS' in key)
2784 suffix =
'_Run3FSTrackingOnly',
2789 def setup_(self, step, stepName, stepDict, k, properties):
2790 if 'Gen' in step
and 'GenOnly' not in step:
2791 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2793 '--era':
'Run3_FastSim',
2794 '--eventcontent':
'FASTPU',
2795 '--datatier':
'GEN-SIM-RECO',
2796 '--relval':
'27000,3000'}, stepDict[step][k]])
2798 stepDict[stepName][k] =
None 2800 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2808 suffix =
'_Run3FSMBMixing',
2814 def setup_(self, step, stepName, stepDict, k, properties):
2815 if 'Phase2' in stepDict[step][k][
'--era']:
2817 dd4hepGeom+=stepDict[step][k][
'--geometry']
2818 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2820 return (
'2026' in key)
and (
'FS' not in key)
2825 'GenSimHLBeamSpot14',
2837 'HARVESTNanoFakeHLT',
2844 upgradeWFs[
'DD4hep'].allowReuse =
False 2849 def setup_(self, step, stepName, stepDict, k, properties):
2850 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2851 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2853 return fragment==
"TTbar_14TeV" and '2021' in key
and 'FS' not in key
2858 'GenSimHLBeamSpot14',
2870 'HARVESTNanoFakeHLT',
2874 suffix =
'_DD4hepDB',
2877 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2880 def setup_(self, step, stepName, stepDict, k, properties):
2881 the_era = stepDict[step][k][
'--era']
2882 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:
2884 tmp_eras = the_era.split(
',')
2885 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2886 tmp_eras =
','.
join(tmp_eras)
2887 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2889 return fragment==
"TTbar_14TeV" and '2021' in key
and 'FS' not in key
2894 'GenSimHLBeamSpot14',
2906 'HARVESTNanoFakeHLT',
2913 upgradeWFs[
'DDDDB'].allowReuse =
False 2916 def setup_(self, step, stepName, stepDict, k, properties):
2917 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2919 return ((fragment==
'TTbar_13' or fragment==
'TTbar_14TeV')
and '2021' in key) \
2920 or (fragment==
'TTbar_14TeV' and '2026' in key)
2925 'GenSimHLBeamSpot14',
2937 'HARVESTNanoFakeHLT',
2943 'GenSimHLBeamSpot14',
2955 'HARVESTNanoFakeHLT',
2958 suffix =
'_SonicTriton',
2963 def setup_(self, step, stepName, stepDict, k, properties):
2964 stepDict[stepName][k] =
merge([{
'--procModifiers':
'phase2_pp_on_AA'}, stepDict[step][k]])
2965 if 'GenSim' in step:
2966 stepDict[stepName][k] =
merge([{
'--conditions': stepDict[step][k][
"--conditions"].
replace(
'_13TeV',
''),
'-n': 1}, stepDict[stepName][k]])
2967 elif 'Digi' in step:
2968 stepDict[stepName][k] =
merge([{
'-s': stepDict[step][k][
"-s"].
replace(
"DIGI:pdigi_valid",
"DIGI:pdigi_hi"),
'--pileup':
'HiMixNoPU'}, stepDict[stepName][k]])
2970 return fragment==
'HydjetQMinBias_5519GeV' and '2026' in key
and 'PU' not in key
2986 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2987 suffixes = [specialWF.suffix
for specialType,specialWF
in upgradeWFs.items()]
2991 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2995 raise ValueError(
"Duplicate special workflow suffixes not allowed: "+
','.
join([
str(x)
for x
in dups]))
2997 upgradeProperties = {}
2999 upgradeProperties[2017] = {
3001 'Geom' :
'DB:Extended',
3002 'GT' :
'auto:phase1_2017_realistic',
3003 'HLTmenu':
'@relval2017',
3004 'Era' :
'Run2_2017',
3005 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
3008 'Geom' :
'DB:Extended',
3009 'GT' :
'auto:phase1_2017_design',
3010 'HLTmenu':
'@relval2017',
3011 'Era' :
'Run2_2017',
3012 'BeamSpot':
'DBdesign',
3013 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
3016 'Geom' :
'DB:Extended',
3017 'GT' :
'auto:phase1_2018_realistic',
3018 'HLTmenu':
'@relval2018',
3019 'Era' :
'Run2_2018',
3020 'BeamSpot':
'DBrealistic',
3021 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
3024 'Geom' :
'DB:Extended',
3025 'GT' :
'auto:phase1_2018_design',
3026 'HLTmenu':
'@relval2018',
3027 'Era' :
'Run2_2018',
3028 'BeamSpot':
'DBdesign',
3029 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
3032 'Geom' :
'DB:Extended',
3033 'GT' :
'auto:phase1_2022_realistic',
3034 'HLTmenu':
'@relval2022',
3036 'BeamSpot':
'DBrealistic',
3037 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
3040 'Geom' :
'DB:Extended',
3041 'GT' :
'auto:phase1_2022_design',
3042 'HLTmenu':
'@relval2022',
3044 'BeamSpot':
'DBdesign',
3045 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
3048 'Geom' :
'DB:Extended',
3049 'GT' :
'auto:phase1_2023_realistic',
3050 'HLTmenu':
'@relval2023',
3051 'Era' :
'Run3_2023',
3052 'BeamSpot':
'DBrealistic',
3053 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
3056 'Geom' :
'DB:Extended',
3057 'GT' :
'auto:phase1_2024_realistic',
3058 'HLTmenu':
'@relval2024',
3059 'Era' :
'Run3_2024',
3060 'BeamSpot':
'DBrealistic',
3061 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3064 'Geom' :
'DB:Extended',
3065 'GT' :
'auto:phase1_2024_realistic',
3066 'HLTmenu':
'@relval2024',
3068 'BeamSpot':
'DBrealistic',
3069 'ScenToRun' : [
'GenSim',
'DigiNoHLT',
'HLTOnly',
'RecoNano',
'HARVESTNano',
'ALCA'],
3072 'Geom' :
'DB:Extended',
3073 'GT' :
'auto:phase1_2022_realistic',
3074 'HLTmenu':
'@relval2022',
3075 'Era' :
'Run3_FastSim',
3076 'BeamSpot':
'DBrealistic',
3077 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
3080 'Geom' :
'DB:Extended',
3081 'GT' :
'auto:phase1_2022_realistic_postEE',
3082 'HLTmenu':
'@relval2022',
3084 'BeamSpot':
'DBrealistic',
3085 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
3088 'Geom' :
'DB:Extended',
3089 'GT' :
'auto:phase1_2023_realistic',
3090 'HLTmenu':
'@relval2023',
3091 'Era' :
'Run3_2023_FastSim',
3092 'BeamSpot':
'DBrealistic',
3093 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
3096 'Geom' :
'DB:Extended',
3097 'GT':
'auto:phase1_2022_realistic_hi',
3098 'HLTmenu':
'@fake2',
3099 'Era':
'Run3_pp_on_PbPb',
3100 'BeamSpot':
'DBrealistic',
3101 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3104 'Geom' :
'DB:Extended',
3105 'GT':
'auto:phase1_2022_realistic_hi',
3106 'HLTmenu':
'@fake2',
3107 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
3108 'BeamSpot':
'DBrealistic',
3109 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3112 'Geom' :
'DB:Extended',
3113 'GT':
'auto:phase1_2023_realistic_hi',
3114 'HLTmenu':
'@fake2',
3115 'Era':
'Run3_pp_on_PbPb',
3116 'BeamSpot':
'DBrealistic',
3117 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3120 'Geom' :
'DB:Extended',
3121 'GT':
'auto:phase1_2023_realistic_hi',
3122 'HLTmenu':
'@fake2',
3123 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
3124 'BeamSpot':
'DBrealistic',
3125 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3128 'Geom' :
'DB:Extended',
3129 'GT' :
'auto:phase1_2024_realistic',
3131 'BeamSpot':
'DBrealistic',
3132 'ScenToRun' : [
'Gen'],
3135 'Geom' :
'DB:Extended',
3136 'GT' :
'auto:phase1_2024_realistic',
3137 'HLTmenu':
'@relval2024',
3139 'BeamSpot':
'DBrealistic',
3140 'ScenToRun' : [
'Gen',
'Sim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
3145 for key
in list(upgradeProperties[2017].
keys()):
3146 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
3149 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
3150 for idx,val
in enumerate(scenToRun):
3152 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
3154 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
3156 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
3158 upgradeProperties[2026] = {
3160 'Geom' :
'Extended2026D86',
3161 'HLTmenu':
'@fake2',
3162 'GT' :
'auto:phase2_realistic_T21',
3163 'Era' :
'Phase2C17I13M9',
3164 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3167 'Geom' :
'Extended2026D88',
3168 'HLTmenu':
'@relval2026',
3169 'GT' :
'auto:phase2_realistic_T21',
3170 'Era' :
'Phase2C17I13M9',
3171 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3174 'Geom' :
'Extended2026D91',
3175 'HLTmenu':
'@fake2',
3176 'GT' :
'auto:phase2_realistic_T30',
3177 'Era' :
'Phase2C17I13M9',
3178 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3181 'Geom' :
'Extended2026D92',
3182 'HLTmenu':
'@fake2',
3183 'GT' :
'auto:phase2_realistic_T21',
3184 'Era' :
'Phase2C17I13M9',
3185 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3188 'Geom' :
'Extended2026D93',
3189 'HLTmenu':
'@fake2',
3190 'GT' :
'auto:phase2_realistic_T21',
3191 'Era' :
'Phase2C17I13M9',
3192 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3195 'Geom' :
'Extended2026D94',
3196 'HLTmenu':
'@fake2',
3197 'GT' :
'auto:phase2_realistic_T21',
3198 'Era' :
'Phase2C20I13M9',
3199 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3202 'Geom' :
'Extended2026D95',
3203 'HLTmenu':
'@relval2026',
3204 'GT' :
'auto:phase2_realistic_T21',
3205 'Era' :
'Phase2C17I13M9',
3206 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3209 'Geom' :
'Extended2026D96',
3210 'HLTmenu':
'@fake2',
3211 'GT' :
'auto:phase2_realistic_T21',
3212 'Era' :
'Phase2C17I13M9',
3213 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3216 'Geom' :
'Extended2026D97',
3217 'HLTmenu':
'@fake2',
3218 'GT' :
'auto:phase2_realistic_T25',
3219 'Era' :
'Phase2C17I13M9',
3220 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3223 'Geom' :
'Extended2026D98',
3224 'HLTmenu':
'@relval2026',
3225 'GT' :
'auto:phase2_realistic_T25',
3226 'Era' :
'Phase2C17I13M9',
3227 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3230 'Geom' :
'Extended2026D99',
3231 'HLTmenu':
'@relval2026',
3232 'GT' :
'auto:phase2_realistic_T25',
3233 'Era' :
'Phase2C17I13M9',
3234 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3237 'Geom' :
'Extended2026D100',
3238 'HLTmenu':
'@relval2026',
3239 'GT' :
'auto:phase2_realistic_T25',
3240 'Era' :
'Phase2C17I13M9',
3241 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3244 'Geom' :
'Extended2026D101',
3245 'HLTmenu':
'@relval2026',
3246 'GT' :
'auto:phase2_realistic_T25',
3247 'Era' :
'Phase2C17I13M9',
3248 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3251 'Geom' :
'Extended2026D102',
3252 'HLTmenu':
'@relval2026',
3253 'GT' :
'auto:phase2_realistic_T33',
3254 'Era' :
'Phase2C17I13M9',
3255 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3258 'Geom' :
'Extended2026D103',
3259 'HLTmenu':
'@relval2026',
3260 'GT' :
'auto:phase2_realistic_T25',
3261 'Era' :
'Phase2C17I13M9',
3262 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3265 'Geom' :
'Extended2026D104',
3266 'HLTmenu':
'@relval2026',
3267 'GT' :
'auto:phase2_realistic_T33',
3268 'Era' :
'Phase2C22I13M9',
3269 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3272 'Geom' :
'Extended2026D105',
3273 'HLTmenu':
'@relval2026',
3274 'GT' :
'auto:phase2_realistic_T33',
3275 'Era' :
'Phase2C17I13M9',
3276 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3279 'Geom' :
'Extended2026D106',
3280 'HLTmenu':
'@relval2026',
3281 'GT' :
'auto:phase2_realistic_T33',
3282 'Era' :
'Phase2C22I13M9',
3283 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3286 'Geom' :
'Extended2026D107',
3287 'HLTmenu':
'@relval2026',
3288 'GT' :
'auto:phase2_realistic_T25',
3289 'Era' :
'Phase2C17I13M9',
3290 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3293 'Geom' :
'Extended2026D108',
3294 'HLTmenu':
'@relval2026',
3295 'GT' :
'auto:phase2_realistic_T33',
3296 'Era' :
'Phase2C17I13M9',
3297 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3300 'Geom' :
'Extended2026D109',
3301 'HLTmenu':
'@relval2026',
3302 'GT' :
'auto:phase2_realistic_T33',
3303 'Era' :
'Phase2C22I13M9',
3304 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3307 'Geom' :
'Extended2026D110',
3308 'HLTmenu':
'@relval2026',
3309 'GT' :
'auto:phase2_realistic_T33',
3310 'Era' :
'Phase2C17I13M9',
3311 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3314 'Geom' :
'Extended2026D111',
3315 'HLTmenu':
'@relval2026',
3316 'GT' :
'auto:phase2_realistic_T36',
3317 'Era' :
'Phase2C22I13M9',
3318 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3321 'Geom' :
'Extended2026D112',
3322 'HLTmenu':
'@relval2026',
3323 'GT' :
'auto:phase2_realistic_T37',
3324 'Era' :
'Phase2C22I13M9',
3325 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3328 'Geom' :
'Extended2026D113',
3329 'HLTmenu':
'@relval2026',
3330 'GT' :
'auto:phase2_realistic_T38',
3331 'Era' :
'Phase2C22I13M9',
3332 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3335 'Geom' :
'Extended2026D114',
3336 'HLTmenu':
'@relval2026',
3337 'GT' :
'auto:phase2_realistic_T33',
3338 'Era' :
'Phase2C17I13M9',
3339 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3341 '2026D110GenOnly' : {
3342 'Geom' :
'Extended2026D110',
3343 'BeamSpot' :
'DBrealisticHLLHC',
3344 'GT' :
'auto:phase2_realistic_T33',
3345 'Era' :
'Phase2C17I13M9',
3346 'ScenToRun' : [
'GenHLBeamSpot'],
3348 '2026D110SimOnGen' : {
3349 'Geom' :
'Extended2026D110',
3350 'HLTmenu':
'@relval2026',
3351 'BeamSpot' :
'DBrealisticHLLHC',
3352 'GT' :
'auto:phase2_realistic_T33',
3353 'Era' :
'Phase2C17I13M9',
3354 'ScenToRun' : [
'GenHLBeamSpot',
'Sim',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3357 'Geom' :
'Extended2026D115',
3358 'HLTmenu':
'@relval2026',
3359 'GT' :
'auto:phase2_realistic_T33',
3360 'Era' :
'Phase2C20I13M9',
3361 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3366 for key
in list(upgradeProperties[2026].
keys()):
3367 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
3368 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
3371 defaultDataSets = {}
3372 for year
in upgradeKeys:
3373 for key
in upgradeKeys[year]:
3374 if 'PU' in key:
continue 3375 defaultDataSets[key] =
'' 3383 upgradeFragments = OrderedDict([
3385 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
3386 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
3387 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
3394 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
3395 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
3396 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
3397 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
3398 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
3399 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
3400 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
3401 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
3402 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
3403 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
3404 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
3407 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
3410 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
3411 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
3412 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
3414 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
3415 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
3416 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
3420 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
3421 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
3422 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
3423 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
3427 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
3429 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
3431 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
3432 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
3433 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
3435 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
3436 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
3437 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
3440 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
3441 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
3443 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
3450 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
3452 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
3453 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
3454 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
3455 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
3456 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
3457 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
3461 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
3462 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
3463 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
3464 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
3465 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
3466 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
3467 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
3468 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
3470 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
3472 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
3473 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
3474 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
3475 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
3477 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
3478 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
3479 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
3480 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
3484 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
3485 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
3486 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
3489 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
3492 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
3493 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
3494 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
3495 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
3497 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
3498 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
3500 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
3501 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
3502 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
3504 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
3505 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
3506 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
3507 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
3508 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
3509 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
3510 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
3511 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
3512 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
3513 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
3514 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
3515 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
3516 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
3518 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
3520 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
3521 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
3522 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
3523 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
3524 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
3525 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
3526 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
3527 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3528 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3529 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3530 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3531 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3532 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3533 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3534 (
'Hydjet_Quenched_MinBias_5362GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5362GeV')),
3535 (
'Hydjet_Quenched_MinBias_5519GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5519GeV')),
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 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 condition(self, fragment, stepList, key, hasHarvest)
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 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 setup_(self, step, stepName, stepDict, k, properties)
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 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 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 __init__(self, 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 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 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 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 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)