1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
87 numWFConflict = [[14400,14800],
96 for year
in upgradeKeys:
97 for i
in range(0,len(upgradeKeys[year])):
98 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
99 for conflict
in numWFConflict:
100 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
101 numWFtmp = conflict[1]
103 numWFAll[year].
append(numWFtmp)
110 preventReuseKeyword =
'NOREUSE' 119 if not step
in self.
steps:
126 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
128 stepName = step + self.
suffix + extra
131 stepNamePU = step +
'PU' + self.
suffix + extra
134 for step
in self.
steps:
140 def setup(self, stepDict, k, properties):
141 for step
in self.
steps:
148 def setup_(self, step, stepName, stepDict, k, properties):
150 def setupPU_(self, step, stepName, stepDict, k, properties):
152 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
153 if self.condition(fragment, stepList, key, hasHarvest):
154 self.workflow_(workflows, num, fragment, stepList, key)
155 def workflow_(self, workflows, num, fragment, stepList, key):
156 fragmentTmp = [fragment, key]
158 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
159 def condition(self, fragment, stepList, key, hasHarvest):
162 if "Sim" in stepName:
163 stepDict[stepName][k] =
None 164 if "Gen" in stepName:
165 stepDict[stepName][k] =
None 166 upgradeWFs = OrderedDict()
169 def setup_(self, step, stepName, stepDict, k, properties):
170 cust=properties.get(
'Custom',
None)
171 era=properties.get(
'Era',
None)
172 modifier=properties.get(
'ProcessModifier',
None)
173 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
175 stepDict[stepName][k][
'--era']=era
176 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
177 def condition(self, fragment, stepList, key, hasHarvest):
184 'GenSimHLBeamSpot14',
185 'GenSimHLBeamSpotHGCALCloseBy',
198 'HARVESTNanoFakeHLT',
222 'HARVESTNanoFakeHLT',
236 def setup_(self, step, stepName, stepDict, k, properties):
237 if stepDict[step][k] !=
None:
239 stepDict[stepName][k] =
None 240 if 'RecoNano' in step:
241 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
243 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
244 def condition(self, fragment, stepList, key, hasHarvest):
245 if (
'TTbar_14TeV' in fragment
and '2021' == key):
246 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
247 return (
'TTbar_14TeV' in fragment
and '2021' == key)
256 suffix =
'_DigiNoHLT',
265 steps = steps + [
"ALCA",
"Nano"]
266 super().
__init__(steps, PU, suffix, offset)
267 def condition(self, fragment, stepList, key, hasHarvest):
268 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)
272 def setup_(self, step, stepName, stepDict, k, properties):
274 if 'ALCA' in step
or 'Nano'==step:
275 stepDict[stepName][k] =
None 276 self.
setup__(step, stepName, stepDict, k, properties)
278 def setup__(self, step, stepName, stepDict, k, properties):
281 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
282 def setup__(self, step, stepName, stepDict, k, properties):
283 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
284 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
286 def condition(self, fragment, stepList, key, hasHarvest):
287 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
303 'HARVESTNanoFakeHLT',
315 'HARVESTNanoFakeHLT',
319 suffix =
'_trackingOnly',
322 upgradeWFs[
'trackingOnly'].step3 = {
323 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
324 '--datatier':
'GEN-SIM-RECO,DQMIO',
325 '--eventcontent':
'RECOSIM,DQM',
328 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
331 def setup__(self, step, stepName, stepDict, k, properties):
332 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
333 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
342 suffix =
'_trackingRun2',
347 def setup__(self, step, stepName, stepDict, k, properties):
348 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
349 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
350 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
361 suffix =
'_trackingOnlyRun2',
364 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
367 def setup__(self, step, stepName, stepDict, k, properties):
368 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
369 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
378 suffix =
'_trackingLowPU',
383 def setup__(self, step, stepName, stepDict, k, properties):
384 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
386 elif 'ALCA' in step: stepDict[stepName][k] =
None 387 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
389 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)
401 'HARVESTNanoFakeHLT',
406 suffix =
'_pixelTrackingOnly',
409 upgradeWFs[
'pixelTrackingOnly'].step3 = {
410 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
411 '--datatier':
'GEN-SIM-RECO,DQMIO',
412 '--eventcontent':
'RECOSIM,DQM',
416 def setup__(self, step, stepName, stepDict, k, properties):
417 if 'Digi' in step: stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
418 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
420 return (
'2017' in key
or '2021' in key
or '2023' in key)
and (
'FS' not in key)
432 suffix =
'_trackingMkFit',
435 upgradeWFs[
'trackingMkFit'].step2 = {
436 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 438 upgradeWFs[
'trackingMkFit'].step3 = {
439 '--procModifiers':
'trackingMkFitDevel' 444 def setup_(self, step, stepName, stepDict, k, properties):
446 if 'ALCA' in step
or 'Nano'==step:
447 stepDict[stepName][k] =
None 448 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
449 def condition(self, fragment, stepList, key, hasHarvest):
450 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
463 'HARVESTNanoFakeHLT',
475 'HARVESTNanoFakeHLT',
477 suffix =
'_seedingDeepCore',
483 def setup__(self, step, stepName, stepDict, k, properties):
484 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
486 return (
'2021' in key
or '2023' in key
or '2024' in key)
496 suffix =
'_displacedRegional',
499 upgradeWFs[
'displacedRegional'].step3 = {
500 '--procModifiers':
'displacedRegionalTracking' 505 def setup_(self, step, stepName, stepDict, k, properties):
506 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
507 def condition(self, fragment, stepList, key, hasHarvest):
508 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
518 suffix =
'_vectorHits',
524 def __init__(self, reco = {}, harvest = {}, **kwargs):
526 super(UpgradeWorkflow_weightedVertex, self).
__init__(
537 'HARVESTNanoFakeHLT',
549 'HARVESTNanoFakeHLT',
555 def setup_(self, step, stepName, stepDict, k, properties):
558 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
559 '--eventcontent':
'RECOSIM,DQM'}
560 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
561 if 'HARVEST' in step:
562 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
564 def condition(self, fragment, stepList, key, hasHarvest):
567 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
568 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
569 (
'2026' in key
and fragment ==
"TTbar_14TeV")
571 result =
any(selected)
and hasHarvest
577 suffix =
'_weightedVertex',
581 upgradeWFs[
'weightedVertex'].step3 = {}
582 upgradeWFs[
'weightedVertex'].step4 = {}
585 suffix =
'_weightedVertexTrackingOnly',
589 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
590 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
591 '--datatier':
'GEN-SIM-RECO,DQMIO',
592 '--eventcontent':
'RECOSIM,DQM',
595 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
596 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 601 def setup_(self, step, stepName, stepDict, k, properties):
602 if 'RecoGlobal' in step:
603 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
604 if 'HARVESTGlobal' in step:
605 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
606 def condition(self, fragment, stepList, key, hasHarvest):
607 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
617 suffix =
'_ticl_clue3D',
620 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
621 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
624 def setup_(self, step, stepName, stepDict, k, properties):
625 if 'RecoGlobal' in step:
626 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
627 if 'HARVESTGlobal' in step:
628 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
629 def condition(self, fragment, stepList, key, hasHarvest):
630 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
640 suffix =
'_ticl_FastJet',
643 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
644 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
647 def setup_(self, step, stepName, stepDict, k, properties):
648 if 'RecoGlobal' in step:
649 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
650 if 'HARVESTGlobal' in step:
651 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
652 def condition(self, fragment, stepList, key, hasHarvest):
653 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
666 upgradeWFs[
'ticl_v3'].step3 = {
'--procModifiers':
'ticl_v3'}
667 upgradeWFs[
'ticl_v3'].step4 = {
'--procModifiers':
'ticl_v3'}
672 def setup_(self, step, stepName, stepDict, k, properties):
673 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
675 def condition(self, fragment, stepList, key, hasHarvest):
676 return fragment==
"TTbar_14TeV" and '2021' in key
690 suffix =
'_trackdnn',
697 def setup_(self, step, stepName, stepDict, k, properties):
699 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
700 def condition(self, fragment, stepList, key, hasHarvest):
701 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
719 upgradeWFs[
'mlpf'].step3 = {
720 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
721 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
722 '--procModifiers':
'mlpf' 728 def setup_(self, step, stepName, stepDict, k, properties):
730 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
731 def condition(self, fragment, stepList, key, hasHarvest):
732 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 733 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
748 suffix =
'_ecalDeepSC',
751 upgradeWFs[
'ecalDeepSC'].step3 = {
752 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
753 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
754 '--procModifiers':
'ecal_deepsc' 760 def setup_(self, step, stepName, stepDict, k, properties):
762 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
763 def condition(self, fragment, stepList, key, hasHarvest):
764 return '2018' in key
and "SingleGamma" in fragment
775 suffix =
'_photonDRN',
778 upgradeWFs[
'photonDRN'].step3 = {
779 '--procModifiers':
'enableSonicTriton,photonDRN' 795 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
797 super(PatatrackWorkflow, self).
__init__(
810 'HARVESTNanoFakeHLT',
828 'HARVESTNanoFakeHLT',
839 '--datatier':
'GEN-SIM-RECO,DQMIO',
840 '--eventcontent':
'RECOSIM,DQM' 845 def condition(self, fragment, stepList, key, hasHarvest):
848 (
'2018' in key
and fragment ==
"TTbar_13"),
849 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
850 (
'2023' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
851 (
'2021' in key
and fragment ==
"NuGun"),
852 (
'2023' in key
and fragment ==
"NuGun"),
853 (
'2018' in key
and fragment ==
"ZMM_13"),
854 (
'2021' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
855 (
'2023' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
856 (
'2026' in key
and (fragment ==
"TTbar_14TeV" or fragment==
"NuGun")),
857 ((
'HI' in key)
and 'Hydjet' in fragment
and "PixelOnly" in self.
suffix )
859 result =
any(selected)
and hasHarvest
863 def setup_(self, step, stepName, stepDict, k, properties):
865 if 'ALCA' in step
or 'Nano'==step:
866 stepDict[stepName][k] =
None 869 stepDict[stepName][k] =
None 871 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
874 stepDict[stepName][k] =
None 876 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
877 if 'Phase2' in stepDict[stepName][k][
'--era']:
878 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
879 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
880 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
881 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
884 elif 'MiniAOD' in step:
886 stepDict[stepName][k] =
None 888 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
889 elif 'HARVEST' in step:
891 stepDict[stepName][k] =
None 893 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
905 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
906 '--procModifiers':
'pixelNtupletFit' 909 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 911 suffix =
'Patatrack_PixelOnlyCPU',
922 '--procModifiers':
'gpu' 925 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
926 '--procModifiers':
'pixelNtupletFit,gpu' 929 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 931 suffix =
'Patatrack_PixelOnlyGPU',
942 '--accelerators':
'gpu-nvidia',
943 '--procModifiers':
'gpu' 946 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
947 '--accelerators':
'gpu-nvidia',
948 '--procModifiers':
'pixelNtupletFit,gpuValidation' 951 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
952 '--procModifiers':
'gpuValidation' 954 suffix =
'Patatrack_PixelOnlyGPU_Validation',
964 '--procModifiers':
'gpu' 967 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
968 '--procModifiers':
'pixelNtupletFit,gpu',
969 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 972 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
985 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
986 '--procModifiers':
'pixelNtupletFit',
987 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 990 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 992 suffix =
'Patatrack_PixelOnlyTripletsCPU',
1003 '--procModifiers':
'gpu' 1006 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1007 '--procModifiers':
'pixelNtupletFit,gpu',
1008 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1011 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1013 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1024 '--accelerators':
'gpu-nvidia',
1025 '--procModifiers':
'gpu' 1028 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1029 '--accelerators':
'gpu-nvidia',
1030 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1031 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1034 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1035 '--procModifiers':
'gpuValidation',
1037 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1047 '--procModifiers':
'gpu' 1050 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1051 '--procModifiers':
'pixelNtupletFit,gpu',
1052 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1055 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1066 '--procModifiers':
'alpaka',
1069 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1070 '--procModifiers':
'alpaka' 1073 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1075 suffix =
'Patatrack_ECALOnlyAlpaka',
1088 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1091 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1093 suffix =
'Patatrack_ECALOnlyCPU',
1104 '--procModifiers':
'gpu' 1107 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1108 '--procModifiers':
'gpu' 1111 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1113 suffix =
'Patatrack_ECALOnlyGPU',
1124 '--accelerators':
'gpu-nvidia',
1125 '--procModifiers':
'gpu' 1128 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1129 '--accelerators':
'gpu-nvidia',
1130 '--procModifiers':
'gpuValidation' 1133 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1135 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1145 '--procModifiers':
'gpu' 1148 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1149 '--procModifiers':
'gpu',
1150 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1153 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1166 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1169 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1171 suffix =
'Patatrack_HCALOnlyCPU',
1182 '--procModifiers':
'gpu' 1185 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1186 '--procModifiers':
'gpu' 1189 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1191 suffix =
'Patatrack_HCALOnlyGPU',
1202 '--accelerators':
'gpu-nvidia',
1203 '--procModifiers':
'gpu' 1206 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1207 '--accelerators':
'gpu-nvidia',
1208 '--procModifiers':
'gpuValidation' 1211 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1213 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1223 '--procModifiers':
'gpu' 1226 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1227 '--procModifiers':
'gpu',
1228 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1231 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1244 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1245 '--procModifiers':
'pixelNtupletFit' 1248 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1250 suffix =
'Patatrack_AllCPU',
1261 '--procModifiers':
'gpu' 1264 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1265 '--procModifiers':
'pixelNtupletFit,gpu' 1268 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1270 suffix =
'Patatrack_AllGPU',
1281 '--accelerators':
'gpu-nvidia',
1282 '--procModifiers':
'gpu' 1285 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1286 '--accelerators':
'gpu-nvidia',
1287 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1290 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1291 '--procModifiers':
'gpuValidation' 1293 suffix =
'Patatrack_AllGPU_Validation',
1311 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1312 '--procModifiers':
'pixelNtupletFit' 1315 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1317 suffix =
'Patatrack_AllTripletsCPU',
1328 '--procModifiers':
'gpu' 1331 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1332 '--procModifiers':
'pixelNtupletFit,gpu' 1335 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1337 suffix =
'Patatrack_AllTripletsGPU',
1348 '--accelerators':
'gpu-nvidia',
1349 '--procModifiers':
'gpu' 1352 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1353 '--accelerators':
'gpu-nvidia',
1354 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1357 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1358 '--procModifiers':
'gpuValidation' 1360 suffix =
'Patatrack_AllTripletsGPU_Validation',
1379 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1380 '--procModifiers':
'pixelNtupletFit' 1385 suffix =
'Patatrack_FullRecoCPU',
1396 '--procModifiers':
'gpu' 1400 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1401 '--procModifiers':
'pixelNtupletFit,gpu' 1406 suffix =
'Patatrack_FullRecoGPU',
1417 '--accelerators':
'gpu-nvidia',
1418 '--procModifiers':
'gpu' 1422 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1423 '--accelerators':
'gpu-nvidia',
1424 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1429 suffix =
'Patatrack_FullRecoGPU_Validation',
1443 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1444 '--procModifiers':
'pixelNtupletFit',
1445 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1450 suffix =
'Patatrack_FullRecoTripletsCPU',
1457 '--datatier':
'GEN-SIM-RAW',
1458 '--eventcontent':
'RAWSIM',
1462 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1463 '--procModifiers':
'pixelNtupletFit',
1464 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1465 '--datatier':
'AODSIM',
1466 '--eventcontent':
'AODSIM',
1469 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1480 '--procModifiers':
'gpu' 1484 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1485 '--procModifiers':
'pixelNtupletFit,gpu',
1486 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1491 suffix =
'Patatrack_FullRecoTripletsGPU',
1498 '--procModifiers':
'gpu',
1499 '--datatier':
'GEN-SIM-RAW',
1500 '--eventcontent':
'RAWSIM',
1504 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1505 '--procModifiers':
'pixelNtupletFit,gpu',
1506 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1507 '--datatier':
'AODSIM',
1508 '--eventcontent':
'AODSIM',
1511 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1522 '--accelerators':
'gpu-nvidia',
1523 '--procModifiers':
'gpu' 1527 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1528 '--accelerators':
'gpu-nvidia',
1529 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1530 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1535 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1544 '--procModifiers':
'alpaka',
1547 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1548 '--procModifiers':
'alpaka' 1551 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1553 suffix =
'Patatrack_PixelOnlyAlpaka',
1559 '--procModifiers':
'alpaka',
1562 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1563 '--procModifiers':
'alpakaValidation' 1566 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1568 suffix =
'Patatrack_PixelOnlyAlpaka_Validation',
1574 '--procModifiers':
'alpaka',
1577 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1578 '--procModifiers':
'alpaka',
1579 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1582 suffix =
'Patatrack_PixelOnlyAlpaka_Profiling',
1589 def setup_(self, step, stepName, stepDict, k, properties):
1590 if 'GenSimHLBeamSpot14' in step:
1591 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1592 elif 'Digi' in step
and 'Trigger' not in step:
1593 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1,DIGI2RAW,HLT:@relval2022',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1594 elif 'DigiTrigger' in step:
1595 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1TrackTrigger,L1,DIGI2RAW,HLT:@fake2',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1596 elif 'Reco' in step:
1597 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1598 elif 'MiniAOD' in step:
1600 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1601 elif 'ALCA' in step
or 'HARVEST' in step:
1603 stepDict[stepName][k] =
None 1605 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1607 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key)
1610 'GenSimHLBeamSpot14',
1622 'HARVESTNanoFakeHLT',
1629 'GenSimHLBeamSpot14',
1641 'HARVESTNanoFakeHLT',
1647 suffix =
'_ProdLike',
1652 def __init__(self, suffix, offset, fixedPU,
1655 'GenSimHLBeamSpot14',
1667 'HARVESTNanoFakeHLT',
1673 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1675 def setupPU_(self, step, stepName, stepDict, k, properties):
1677 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1678 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1681 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1688 suffix =
'_ProdLikePU10',
1694 suffix =
'_ProdLikePU20',
1700 suffix =
'_ProdLikePU30',
1706 suffix =
'_ProdLikePU40',
1712 suffix =
'_ProdLikePU50',
1718 suffix =
'_ProdLikePU55',
1724 suffix =
'_ProdLikePU60',
1730 suffix =
'_ProdLikePU65',
1736 suffix =
'_ProdLikePU70',
1742 suffix =
'_ProdLikePU80',
1748 suffix =
'_ProdLikePU90',
1754 suffix =
'_ProdLikePU100',
1760 suffix =
'_ProdLikePU120',
1766 suffix =
'_ProdLikePU140',
1772 suffix =
'_ProdLikePU160',
1778 suffix =
'_ProdLikePU180',
1784 def setup_(self, step, stepName, stepDict, k, properties):
1785 if 'HARVEST' in step:
1786 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1788 stepDict[stepName][k] =
merge([stepDict[step][k]])
1790 return fragment==
"TTbar_14TeV" and '2026' in key
1793 'GenSimHLBeamSpot14',
1800 'GenSimHLBeamSpot14',
1806 suffix =
'_HLT75e33',
1811 def setup_(self, step, stepName, stepDict, k, properties):
1812 if 'DigiTrigger' in step:
1813 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1815 return fragment==
"TTbar_14TeV" and '2026' in key
1823 suffix =
'_HLTwDIGI75e33',
1828 def setup_(self, step, stepName, stepDict, k, properties):
1830 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1832 return '2026' in key
1841 suffix =
'_L1Complete',
1846 def setup_(self, step, stepName, stepDict, k, properties):
1847 if 'GenSim' in step:
1848 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1850 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1851 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1852 if '--customise' in stepDict[stepName][k].
keys():
1853 stepDict[stepName][k][
'--customise'] +=
","+custNew
1855 stepDict[stepName][k][
'--customise'] = custNew
1862 'GenSimHLBeamSpot14',
1870 suffix =
'_Neutron',
1874 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
1875 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
1878 def setup_(self, step, stepName, stepDict, k, properties):
1879 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
1881 return fragment==
"TTbar_13" and '2018' in key
1899 suffix =
'_heCollapse',
1905 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
1907 super(UpgradeWorkflow_ecalDevel, self).
__init__(
1925 def setup_(self, step, stepName, stepDict, k, properties):
1927 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
1929 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 1931 elif 'Reco' in step:
1932 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 1933 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 1934 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 1936 elif 'HARVEST' in step:
1937 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 1939 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
1942 stepDict[stepName][k] =
None 1945 return fragment==
"TTbar_14TeV" and '2026' in key
1949 suffix =
'_ecalDevel',
1955 reco = {
'--procModifiers':
'gpu'},
1956 suffix =
'_ecalDevelGPU',
1962 def __init__(self, suffix, offset, ecalTPPh2, ecalMod,
1966 'GenSimHLBeamSpot14',
1967 'GenSimHLBeamSpotHGCALCloseBy',
1977 'GenSimHLBeamSpot14',
1978 'GenSimHLBeamSpotHGCALCloseBy',
1985 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
1989 def setup_(self, step, stepName, stepDict, k, properties):
1990 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1993 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
1996 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
1998 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel,phase2_ecalTP_devel'}
1999 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW,HLT:@fake2' 2000 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2001 if 'RecoGlobal' in step:
2002 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,RECO,RECOSIM,PAT',
2003 '--datatier':
'GEN-SIM-RECO',
2004 '--eventcontent':
'FEVTDEBUGHLT',
2005 }, stepDict[step][k]])
2006 if 'HARVESTGlobal' in step:
2007 stepDict[stepName][k] =
None 2008 if 'ALCAPhase2' in step:
2009 stepDict[stepName][k] =
None 2012 return (
'2021' in key
or '2023' in key
or '2026' in key)
2015 suffix =
'_ecalComponent',
2018 ecalMod =
'ecal_component',
2022 suffix =
'_ecalComponentFSW',
2025 ecalMod =
'ecal_component_finely_sampled_waveforms',
2029 suffix =
'_ecalTPPh2',
2031 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2036 suffix =
'_ecalTPPh2Component',
2038 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2039 ecalMod =
'ecal_component',
2043 suffix =
'_ecalTPPh2ComponentFSW',
2045 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2046 ecalMod =
'ecal_component_finely_sampled_waveforms',
2050 def setup_(self, step, stepName, stepDict, k, properties):
2051 myGT=stepDict[step][k][
'--conditions']
2053 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
2054 def setupPU_(self, step, stepName, stepDict, k, properties):
2056 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
2058 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)
2070 'HARVESTNanoFakeHLT',
2082 'HARVESTNanoFakeHLT',
2089 def setup_(self, step, stepName, stepDict, k, properties):
2090 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
2091 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
2093 return fragment==
"TTbar_13" and '2018' in key
2100 suffix =
'_ParkingBPH',
2106 def setup_(self, step, stepName, stepDict, k, properties):
2108 thisStep = stepDict[step][k][
"-s"]
2110 if "DQM:" in thisStep:
2111 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
2112 elif "DQM" in thisStep:
2113 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
2115 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
2118 return any(frag
in fragment
for frag
in self.
__frags)
2128 suffix =
'_HeavyFlavor',
2134 def setup_(self, step, stepName, stepDict, k, properties):
2136 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD_MC'}, stepDict[step][k]])
2138 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)
2146 suffix =
'_JMENano',
2153 def setup_(self, step, stepName, stepDict, k, properties):
2154 if 'Digi' in step
or 'Reco' in step:
2155 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2157 return '2026' in key
2176 suffix =
'Aging1000',
2179 upgradeWFs[
'Aging1000'].lumi =
'1000' 2180 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2181 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2182 upgradeWFs[
'Aging3000'].offset = 0.103
2183 upgradeWFs[
'Aging3000'].lumi =
'3000' 2190 def setup_(self, step, stepName, stepDict, k, properties):
2192 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2194 return fragment==
"TTbar_14TeV" and '2026' in key
2205 suffix =
'_OTInefficiency',
2208 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2211 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2212 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2213 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2214 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2217 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2218 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2219 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2220 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2223 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2224 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2225 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2226 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2232 def setup_(self, step, stepName, stepDict, k, properties):
2234 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2236 return '2026' in key
2247 suffix =
'_ITSignalShape',
2257 digiPremixLocalPileup = {
2258 "--filein":
"file:step1.root",
2259 "--pileup_input":
"file:step2.root" 2264 def setup_(self, step, stepName, stepDict, k, properties):
2266 stepDict[stepName][k] =
merge([stepDict[step][k]])
2267 def setupPU_(self, step, stepName, stepDict, k, properties):
2269 if "GenSim" in stepName:
2270 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2271 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2272 stepDict[stepNamePmx][k] =
merge([
2274 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2275 '--datatier':
'PREMIX',
2276 '--eventcontent':
'PREMIX',
2277 '--procModifiers':
'premix_stage1' 2279 stepDict[stepName][k]
2281 if "ProdLike" in self.
suffix:
2282 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2284 elif "Digi" in step
or "Reco" in step:
2287 if d
is None:
return 2290 for s
in d[
"-s"].
split(
","):
2291 if s ==
"DIGI" or "DIGI:" in s:
2292 tmpsteps.extend([s,
"DATAMIX"])
2296 "--datamix" :
"PreMix",
2297 "--procModifiers":
"premix_stage2"},
2300 if "_PMXS1S2" in self.
suffix:
2301 d =
merge([digiPremixLocalPileup, d])
2302 elif "Reco" in step:
2303 if "--procModifiers" in d:
2304 d[
"--procModifiers"] +=
",premix_stage2" 2306 d[
"--procModifiers"] =
"premix_stage2" 2307 stepDict[stepName][k] = d
2313 filein = d[
"--filein"]
2314 m = re.search(
"step(?P<ind>\d+)_", filein)
2316 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2317 stepDict[stepName][k] = d
2323 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2325 if self.
suffix.endswith(
"S1"):
2326 return "NuGun" in fragment
2328 def workflow_(self, workflows, num, fragment, stepList, key):
2329 fragmentTmp = fragment
2330 if self.
suffix.endswith(
"S1"):
2331 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2332 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2340 'GenSimHLBeamSpot14',
2368 'GenSimHLBeamSpot14',
2379 suffix =
'_PMXS1S2',
2384 def setupPU_(self, step, stepName, stepDict, k, properties):
2386 if '--pileup' in stepDict[stepName][k]:
2387 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2388 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2391 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2397 'GenSimHLBeamSpot14',
2409 suffix =
'_PMXS1S2PR',
2414 def setup_(self, step, stepName, stepDict, k, properties):
2416 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2417 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2422 for s
in d[
"-s"].
split(
","):
2423 if "DIGI:pdigi_valid" in s:
2424 tmpsteps.append(
"DIGI")
2428 "--eventcontent":
"PREMIXRAW"},
2430 stepDict[stepName][k] = d
2432 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2435 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2453 'HARVESTNanoFakeHLT',
2457 suffix =
'_PMXS2ProdLike',
2466 'GenSimHLBeamSpot14',
2480 'HARVESTNanoFakeHLT',
2484 suffix =
'_PMXS1S2ProdLike',
2489 def setup_(self, step, stepName, stepDict, k, properties):
2490 if 'HARVESTFastRun3' in step:
2491 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2493 '--era':
'Run3_FastSim',
2494 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2496 stepDict[stepName][k] =
merge([stepDict[step][k]])
2498 return (
'2021FS' in key
or '2023FS' in key)
2509 suffix =
'_Run3FSTrackingOnly',
2514 def setup_(self, step, stepName, stepDict, k, properties):
2516 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2518 '--era':
'Run3_FastSim',
2519 '--eventcontent':
'FASTPU',
2520 '--datatier':
'GEN-SIM-RECO',
2521 '--relval':
'27000,3000'}, stepDict[step][k]])
2523 stepDict[stepName][k] =
None 2525 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2533 suffix =
'_Run3FSMBMixing',
2539 def setup_(self, step, stepName, stepDict, k, properties):
2540 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2541 if '2023' in stepDict[step][k][
'--conditions']:
2542 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2544 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2545 elif 'Phase2' in stepDict[step][k][
'--era']:
2547 dd4hepGeom+=stepDict[step][k][
'--geometry']
2548 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2550 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2555 'GenSimHLBeamSpot14',
2567 'HARVESTNanoFakeHLT',
2574 upgradeWFs[
'DD4hep'].allowReuse =
False 2579 def setup_(self, step, stepName, stepDict, k, properties):
2580 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2581 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2583 return '2021' in key
and 'FS' not in key
2588 'GenSimHLBeamSpot14',
2600 'HARVESTNanoFakeHLT',
2604 suffix =
'_DD4hepDB',
2607 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2610 def setup_(self, step, stepName, stepDict, k, properties):
2611 the_era = stepDict[step][k][
'--era']
2612 if 'Run3' in the_era
and '2023' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2614 tmp_eras = the_era.split(
',')
2615 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2616 tmp_eras =
','.
join(tmp_eras)
2617 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2619 return '2021' in key
and 'FS' not in key
2624 'GenSimHLBeamSpot14',
2636 'HARVESTNanoFakeHLT',
2643 upgradeWFs[
'DDDDB'].allowReuse =
False 2646 def setup_(self, step, stepName, stepDict, k, properties):
2647 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2649 return (fragment==
'TTbar_13' and '2021' in key) \
2650 or (fragment==
'TTbar_14TeV' and '2026' in key)
2655 'GenSimHLBeamSpot14',
2667 'HARVESTNanoFakeHLT',
2673 'GenSimHLBeamSpot14',
2685 'HARVESTNanoFakeHLT',
2688 suffix =
'_SonicTriton',
2693 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2695 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2697 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2699 upgradeProperties = {}
2701 upgradeProperties[2017] = {
2703 'Geom' :
'DB:Extended',
2704 'GT' :
'auto:phase1_2017_realistic',
2705 'HLTmenu':
'@relval2017',
2706 'Era' :
'Run2_2017',
2707 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2710 'Geom' :
'DB:Extended',
2711 'GT' :
'auto:phase1_2017_design',
2712 'HLTmenu':
'@relval2017',
2713 'Era' :
'Run2_2017',
2714 'BeamSpot':
'DBdesign',
2715 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2718 'Geom' :
'DB:Extended',
2719 'GT' :
'auto:phase1_2018_realistic',
2720 'HLTmenu':
'@relval2018',
2721 'Era' :
'Run2_2018',
2722 'BeamSpot':
'DBrealistic',
2723 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2726 'Geom' :
'DB:Extended',
2727 'GT' :
'auto:phase1_2018_design',
2728 'HLTmenu':
'@relval2018',
2729 'Era' :
'Run2_2018',
2730 'BeamSpot':
'DBdesign',
2731 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2734 'Geom' :
'DB:Extended',
2735 'GT' :
'auto:phase1_2022_realistic',
2736 'HLTmenu':
'@relval2022',
2738 'BeamSpot':
'DBrealistic',
2739 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2742 'Geom' :
'DB:Extended',
2743 'GT' :
'auto:phase1_2022_design',
2744 'HLTmenu':
'@relval2022',
2746 'BeamSpot':
'DBdesign',
2747 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2750 'Geom' :
'DB:Extended',
2751 'GT' :
'auto:phase1_2023_realistic',
2752 'HLTmenu':
'@relval2023',
2753 'Era' :
'Run3_2023',
2754 'BeamSpot':
'DBrealistic',
2755 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2758 'Geom' :
'DB:Extended',
2759 'GT' :
'auto:phase1_2024_realistic',
2760 'HLTmenu':
'@relval2024',
2762 'BeamSpot':
'DBrealistic',
2763 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2766 'Geom' :
'DB:Extended',
2767 'GT' :
'auto:phase1_2022_realistic',
2768 'HLTmenu':
'@relval2022',
2769 'Era' :
'Run3_FastSim',
2770 'BeamSpot':
'DBrealistic',
2771 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2774 'Geom' :
'DB:Extended',
2775 'GT' :
'auto:phase1_2022_realistic_postEE',
2776 'HLTmenu':
'@relval2022',
2778 'BeamSpot':
'DBrealistic',
2779 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2782 'Geom' :
'DB:Extended',
2783 'GT' :
'auto:phase1_2023_realistic',
2784 'HLTmenu':
'@relval2023',
2785 'Era' :
'Run3_2023_FastSim',
2786 'BeamSpot':
'DBrealistic',
2787 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2790 'Geom' :
'DB:Extended',
2791 'GT':
'auto:phase1_2022_realistic_hi',
2792 'HLTmenu':
'@fake2',
2793 'Era':
'Run3_pp_on_PbPb',
2794 'BeamSpot':
'DBrealistic',
2795 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2798 'Geom' :
'DB:Extended',
2799 'GT':
'auto:phase1_2022_realistic_hi',
2800 'HLTmenu':
'@fake2',
2801 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2802 'BeamSpot':
'DBrealistic',
2803 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2806 'Geom' :
'DB:Extended',
2807 'GT':
'auto:phase1_2023_realistic_hi',
2808 'HLTmenu':
'@fake2',
2809 'Era':
'Run3_pp_on_PbPb',
2810 'BeamSpot':
'DBrealistic',
2811 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2814 'Geom' :
'DB:Extended',
2815 'GT':
'auto:phase1_2023_realistic_hi',
2816 'HLTmenu':
'@fake2',
2817 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2818 'BeamSpot':
'DBrealistic',
2819 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2824 for key
in list(upgradeProperties[2017].
keys()):
2825 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2828 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2829 for idx,val
in enumerate(scenToRun):
2831 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2833 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2835 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2837 upgradeProperties[2026] = {
2839 'Geom' :
'Extended2026D86',
2840 'HLTmenu':
'@fake2',
2841 'GT' :
'auto:phase2_realistic_T21',
2842 'Era' :
'Phase2C17I13M9',
2843 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2846 'Geom' :
'Extended2026D88',
2847 'HLTmenu':
'@relval2026',
2848 'GT' :
'auto:phase2_realistic_T21',
2849 'Era' :
'Phase2C17I13M9',
2850 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2853 'Geom' :
'Extended2026D91',
2854 'HLTmenu':
'@fake2',
2855 'GT' :
'auto:phase2_realistic_T30',
2856 'Era' :
'Phase2C17I13M9',
2857 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2860 'Geom' :
'Extended2026D92',
2861 'HLTmenu':
'@fake2',
2862 'GT' :
'auto:phase2_realistic_T21',
2863 'Era' :
'Phase2C17I13M9',
2864 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2867 'Geom' :
'Extended2026D93',
2868 'HLTmenu':
'@fake2',
2869 'GT' :
'auto:phase2_realistic_T21',
2870 'Era' :
'Phase2C17I13M9',
2871 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2874 'Geom' :
'Extended2026D94',
2875 'HLTmenu':
'@fake2',
2876 'GT' :
'auto:phase2_realistic_T21',
2877 'Era' :
'Phase2C20I13M9',
2878 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2881 'Geom' :
'Extended2026D95',
2882 'HLTmenu':
'@relval2026',
2883 'GT' :
'auto:phase2_realistic_T21',
2884 'Era' :
'Phase2C17I13M9',
2885 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2888 'Geom' :
'Extended2026D96',
2889 'HLTmenu':
'@fake2',
2890 'GT' :
'auto:phase2_realistic_T21',
2891 'Era' :
'Phase2C17I13M9',
2892 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2895 'Geom' :
'Extended2026D97',
2896 'HLTmenu':
'@fake2',
2897 'GT' :
'auto:phase2_realistic_T25',
2898 'Era' :
'Phase2C17I13M9',
2899 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2902 'Geom' :
'Extended2026D98',
2903 'HLTmenu':
'@relval2026',
2904 'GT' :
'auto:phase2_realistic_T25',
2905 'Era' :
'Phase2C17I13M9',
2906 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2909 'Geom' :
'Extended2026D99',
2910 'HLTmenu':
'@relval2026',
2911 'GT' :
'auto:phase2_realistic_T25',
2912 'Era' :
'Phase2C17I13M9',
2913 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2916 'Geom' :
'Extended2026D100',
2917 'HLTmenu':
'@relval2026',
2918 'GT' :
'auto:phase2_realistic_T25',
2919 'Era' :
'Phase2C17I13M9',
2920 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2923 'Geom' :
'Extended2026D101',
2924 'HLTmenu':
'@relval2026',
2925 'GT' :
'auto:phase2_realistic_T25',
2926 'Era' :
'Phase2C17I13M9',
2927 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2930 'Geom' :
'Extended2026D102',
2931 'HLTmenu':
'@relval2026',
2932 'GT' :
'auto:phase2_realistic_T33',
2933 'Era' :
'Phase2C17I13M9',
2934 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2937 'Geom' :
'Extended2026D103',
2938 'HLTmenu':
'@relval2026',
2939 'GT' :
'auto:phase2_realistic_T25',
2940 'Era' :
'Phase2C17I13M9',
2941 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2944 'Geom' :
'Extended2026D104',
2945 'HLTmenu':
'@relval2026',
2946 'GT' :
'auto:phase2_realistic_T33',
2947 'Era' :
'Phase2C22I13M9',
2948 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2951 'Geom' :
'Extended2026D105',
2952 'HLTmenu':
'@relval2026',
2953 'GT' :
'auto:phase2_realistic_T33',
2954 'Era' :
'Phase2C17I13M9',
2955 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2958 'Geom' :
'Extended2026D106',
2959 'HLTmenu':
'@relval2026',
2960 'GT' :
'auto:phase2_realistic_T33',
2961 'Era' :
'Phase2C22I13M9',
2962 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2967 for key
in list(upgradeProperties[2026].
keys()):
2968 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
2969 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
2972 defaultDataSets = {}
2973 for year
in upgradeKeys:
2974 for key
in upgradeKeys[year]:
2975 if 'PU' in key:
continue 2976 defaultDataSets[key] =
'' 2984 upgradeFragments = OrderedDict([
2986 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
2987 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
2988 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
2995 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
2996 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
2997 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
2998 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
2999 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
3000 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
3001 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
3002 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
3003 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
3004 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
3005 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
3008 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
3011 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
3012 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
3013 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
3015 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
3016 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
3017 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
3021 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
3022 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
3023 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
3024 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
3028 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
3030 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
3032 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
3033 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
3034 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
3036 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
3037 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
3038 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
3041 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
3042 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
3044 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
3051 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
3053 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
3054 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
3055 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
3056 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
3057 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
3058 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
3062 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
3063 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
3064 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
3065 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
3066 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
3067 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
3068 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
3069 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
3071 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
3073 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
3074 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
3075 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
3076 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
3078 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
3079 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
3080 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
3081 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
3085 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
3086 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
3087 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
3090 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
3093 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
3094 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
3095 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
3096 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
3098 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
3099 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
3101 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
3102 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
3103 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
3105 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
3106 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
3107 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
3108 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
3109 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
3110 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
3111 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
3112 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
3113 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
3114 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
3115 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
3116 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
3117 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
3119 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
3121 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
3122 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
3123 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
3124 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
3125 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
3126 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
3127 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
3128 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3129 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3130 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3131 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3132 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3133 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3134 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3135 (
'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)