1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
81 numWFConflict = [[14400,14800],
90 for year
in upgradeKeys:
91 for i
in range(0,len(upgradeKeys[year])):
92 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
93 for conflict
in numWFConflict:
94 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
95 numWFtmp = conflict[1]
97 numWFAll[year].
append(numWFtmp)
104 preventReuseKeyword =
'NOREUSE' 113 if not step
in self.
steps:
120 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
122 stepName = step + self.
suffix + extra
125 stepNamePU = step +
'PU' + self.
suffix + extra
128 for step
in self.
steps:
134 def setup(self, stepDict, k, properties):
135 for step
in self.
steps:
142 def setup_(self, step, stepName, stepDict, k, properties):
144 def setupPU_(self, step, stepName, stepDict, k, properties):
146 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
147 if self.condition(fragment, stepList, key, hasHarvest):
148 self.workflow_(workflows, num, fragment, stepList, key)
149 def workflow_(self, workflows, num, fragment, stepList, key):
150 fragmentTmp = [fragment, key]
152 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
153 def condition(self, fragment, stepList, key, hasHarvest):
156 if "Sim" in stepName:
157 stepDict[stepName][k] =
None 158 if "Gen" in stepName:
159 stepDict[stepName][k] =
None 160 upgradeWFs = OrderedDict()
163 def setup_(self, step, stepName, stepDict, k, properties):
164 cust=properties.get(
'Custom',
None)
165 era=properties.get(
'Era',
None)
166 modifier=properties.get(
'ProcessModifier',
None)
167 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
169 stepDict[stepName][k][
'--era']=era
170 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
171 def condition(self, fragment, stepList, key, hasHarvest):
178 'GenSimHLBeamSpot14',
179 'GenSimHLBeamSpotHGCALCloseBy',
192 'HARVESTNanoFakeHLT',
216 'HARVESTNanoFakeHLT',
230 def setup_(self, step, stepName, stepDict, k, properties):
231 if stepDict[step][k] !=
None:
233 stepDict[stepName][k] =
None 234 if 'RecoNano' in step:
235 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
237 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
238 def condition(self, fragment, stepList, key, hasHarvest):
239 if (
'TTbar_14TeV' in fragment
and '2021' == key):
240 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
241 return (
'TTbar_14TeV' in fragment
and '2021' == key)
250 suffix =
'_DigiNoHLT',
259 steps = steps + [
"ALCA",
"Nano"]
260 super().
__init__(steps, PU, suffix, offset)
261 def condition(self, fragment, stepList, key, hasHarvest):
262 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)
266 def setup_(self, step, stepName, stepDict, k, properties):
268 if 'ALCA' in step
or 'Nano'==step:
269 stepDict[stepName][k] =
None 270 self.
setup__(step, stepName, stepDict, k, properties)
272 def setup__(self, step, stepName, stepDict, k, properties):
275 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
276 def setup__(self, step, stepName, stepDict, k, properties):
277 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
278 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
280 def condition(self, fragment, stepList, key, hasHarvest):
281 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
297 'HARVESTNanoFakeHLT',
309 'HARVESTNanoFakeHLT',
313 suffix =
'_trackingOnly',
316 upgradeWFs[
'trackingOnly'].step3 = {
317 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
318 '--datatier':
'GEN-SIM-RECO,DQMIO',
319 '--eventcontent':
'RECOSIM,DQM',
322 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
325 def setup__(self, step, stepName, stepDict, k, properties):
326 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
327 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
336 suffix =
'_trackingRun2',
341 def setup__(self, step, stepName, stepDict, k, properties):
342 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
343 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
344 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
355 suffix =
'_trackingOnlyRun2',
358 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
361 def setup__(self, step, stepName, stepDict, k, properties):
362 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
363 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
372 suffix =
'_trackingLowPU',
377 def setup__(self, step, stepName, stepDict, k, properties):
378 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
380 elif 'ALCA' in step: stepDict[stepName][k] =
None 381 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
383 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)
395 'HARVESTNanoFakeHLT',
400 suffix =
'_pixelTrackingOnly',
403 upgradeWFs[
'pixelTrackingOnly'].step3 = {
404 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
405 '--datatier':
'GEN-SIM-RECO,DQMIO',
406 '--eventcontent':
'RECOSIM,DQM',
410 def setup__(self, step, stepName, stepDict, k, properties):
411 if 'Digi' in step: stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
412 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
414 return (
'2017' in key
or '2021' in key
or '2023' in key)
and (
'FS' not in key)
426 suffix =
'_trackingMkFit',
429 upgradeWFs[
'trackingMkFit'].step2 = {
430 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 432 upgradeWFs[
'trackingMkFit'].step3 = {
433 '--procModifiers':
'trackingMkFitDevel' 438 def setup_(self, step, stepName, stepDict, k, properties):
440 if 'ALCA' in step
or 'Nano'==step:
441 stepDict[stepName][k] =
None 442 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
443 def condition(self, fragment, stepList, key, hasHarvest):
444 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
457 'HARVESTNanoFakeHLT',
469 'HARVESTNanoFakeHLT',
471 suffix =
'_seedingDeepCore',
477 def setup__(self, step, stepName, stepDict, k, properties):
478 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
489 suffix =
'_displacedRegional',
492 upgradeWFs[
'displacedRegional'].step3 = {
493 '--procModifiers':
'displacedRegionalTracking' 498 def setup_(self, step, stepName, stepDict, k, properties):
499 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
500 def condition(self, fragment, stepList, key, hasHarvest):
501 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
511 suffix =
'_vectorHits',
517 def __init__(self, reco = {}, harvest = {}, **kwargs):
519 super(UpgradeWorkflow_weightedVertex, self).
__init__(
530 'HARVESTNanoFakeHLT',
542 'HARVESTNanoFakeHLT',
548 def setup_(self, step, stepName, stepDict, k, properties):
551 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
552 '--eventcontent':
'RECOSIM,DQM'}
553 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
554 if 'HARVEST' in step:
555 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
557 def condition(self, fragment, stepList, key, hasHarvest):
560 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
561 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
562 (
'2026' in key
and fragment ==
"TTbar_14TeV")
564 result =
any(selected)
and hasHarvest
570 suffix =
'_weightedVertex',
574 upgradeWFs[
'weightedVertex'].step3 = {}
575 upgradeWFs[
'weightedVertex'].step4 = {}
578 suffix =
'_weightedVertexTrackingOnly',
582 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
583 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
584 '--datatier':
'GEN-SIM-RECO,DQMIO',
585 '--eventcontent':
'RECOSIM,DQM',
588 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
589 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 594 def setup_(self, step, stepName, stepDict, k, properties):
595 if 'RecoGlobal' in step:
596 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
597 if 'HARVESTGlobal' in step:
598 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
599 def condition(self, fragment, stepList, key, hasHarvest):
600 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
610 suffix =
'_ticl_clue3D',
613 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
614 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
617 def setup_(self, step, stepName, stepDict, k, properties):
618 if 'RecoGlobal' in step:
619 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
620 if 'HARVESTGlobal' in step:
621 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
622 def condition(self, fragment, stepList, key, hasHarvest):
623 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
633 suffix =
'_ticl_FastJet',
636 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
637 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
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 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
659 upgradeWFs[
'ticl_v3'].step3 = {
'--procModifiers':
'ticl_v3'}
660 upgradeWFs[
'ticl_v3'].step4 = {
'--procModifiers':
'ticl_v3'}
665 def setup_(self, step, stepName, stepDict, k, properties):
666 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
668 def condition(self, fragment, stepList, key, hasHarvest):
669 return fragment==
"TTbar_14TeV" and '2021' in key
683 suffix =
'_trackdnn',
690 def setup_(self, step, stepName, stepDict, k, properties):
692 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
693 def condition(self, fragment, stepList, key, hasHarvest):
694 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
712 upgradeWFs[
'mlpf'].step3 = {
713 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
714 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
715 '--procModifiers':
'mlpf' 721 def setup_(self, step, stepName, stepDict, k, properties):
723 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
724 def condition(self, fragment, stepList, key, hasHarvest):
725 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 726 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
741 suffix =
'_ecalDeepSC',
744 upgradeWFs[
'ecalDeepSC'].step3 = {
745 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
746 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
747 '--procModifiers':
'ecal_deepsc' 753 def setup_(self, step, stepName, stepDict, k, properties):
755 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
756 def condition(self, fragment, stepList, key, hasHarvest):
757 return '2018' in key
and "SingleGamma" in fragment
768 suffix =
'_photonDRN',
771 upgradeWFs[
'photonDRN'].step3 = {
772 '--procModifiers':
'enableSonicTriton,photonDRN' 785 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
787 super(PatatrackWorkflow, self).
__init__(
800 'HARVESTNanoFakeHLT',
818 'HARVESTNanoFakeHLT',
829 '--datatier':
'GEN-SIM-RECO,DQMIO',
830 '--eventcontent':
'RECOSIM,DQM' 835 def condition(self, fragment, stepList, key, hasHarvest):
838 (
'2018' in key
and fragment ==
"TTbar_13"),
839 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
840 (
'2023' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
841 (
'2018' in key
and fragment ==
"ZMM_13"),
842 (
'2021' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
843 (
'2023' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
844 (
'2026' in key
and fragment ==
"TTbar_14TeV"),
845 ((
'HI' in key)
and 'Hydjet' in fragment
and "PixelOnly" in self.
suffix )
847 result =
any(selected)
and hasHarvest
851 def setup_(self, step, stepName, stepDict, k, properties):
853 if 'ALCA' in step
or 'Nano'==step:
854 stepDict[stepName][k] =
None 857 stepDict[stepName][k] =
None 859 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
862 stepDict[stepName][k] =
None 864 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
865 if 'Phase2' in stepDict[stepName][k][
'--era']:
866 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
867 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
868 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
869 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
872 elif 'MiniAOD' in step:
874 stepDict[stepName][k] =
None 876 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
877 elif 'HARVEST' in step:
879 stepDict[stepName][k] =
None 881 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
892 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
893 '--procModifiers':
'pixelNtupletFit' 896 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 898 suffix =
'Patatrack_PixelOnlyCPU',
909 '--procModifiers':
'gpu' 912 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
913 '--procModifiers':
'pixelNtupletFit,gpu' 916 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 918 suffix =
'Patatrack_PixelOnlyGPU',
929 '--accelerators':
'gpu-nvidia',
930 '--procModifiers':
'gpu' 933 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
934 '--accelerators':
'gpu-nvidia',
935 '--procModifiers':
'pixelNtupletFit,gpuValidation' 938 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
939 '--procModifiers':
'gpuValidation' 941 suffix =
'Patatrack_PixelOnlyGPU_Validation',
951 '--procModifiers':
'gpu' 954 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
955 '--procModifiers':
'pixelNtupletFit,gpu',
956 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 959 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
972 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
973 '--procModifiers':
'pixelNtupletFit',
974 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 977 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 979 suffix =
'Patatrack_PixelOnlyTripletsCPU',
990 '--procModifiers':
'gpu' 993 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
994 '--procModifiers':
'pixelNtupletFit,gpu',
995 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 998 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1000 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1011 '--accelerators':
'gpu-nvidia',
1012 '--procModifiers':
'gpu' 1015 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1016 '--accelerators':
'gpu-nvidia',
1017 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1018 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1021 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1022 '--procModifiers':
'gpuValidation',
1024 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1034 '--procModifiers':
'gpu' 1037 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1038 '--procModifiers':
'pixelNtupletFit,gpu',
1039 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1042 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1055 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1058 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1060 suffix =
'Patatrack_ECALOnlyCPU',
1071 '--procModifiers':
'gpu' 1074 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1075 '--procModifiers':
'gpu' 1078 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1080 suffix =
'Patatrack_ECALOnlyGPU',
1091 '--accelerators':
'gpu-nvidia',
1092 '--procModifiers':
'gpu' 1095 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1096 '--accelerators':
'gpu-nvidia',
1097 '--procModifiers':
'gpuValidation' 1100 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1102 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1112 '--procModifiers':
'gpu' 1115 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1116 '--procModifiers':
'gpu',
1117 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1120 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1133 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1136 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1138 suffix =
'Patatrack_HCALOnlyCPU',
1149 '--procModifiers':
'gpu' 1152 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1153 '--procModifiers':
'gpu' 1156 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1158 suffix =
'Patatrack_HCALOnlyGPU',
1169 '--accelerators':
'gpu-nvidia',
1170 '--procModifiers':
'gpu' 1173 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1174 '--accelerators':
'gpu-nvidia',
1175 '--procModifiers':
'gpuValidation' 1178 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1180 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1190 '--procModifiers':
'gpu' 1193 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1194 '--procModifiers':
'gpu',
1195 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1198 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1211 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1212 '--procModifiers':
'pixelNtupletFit' 1215 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1217 suffix =
'Patatrack_AllCPU',
1228 '--procModifiers':
'gpu' 1231 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1232 '--procModifiers':
'pixelNtupletFit,gpu' 1235 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1237 suffix =
'Patatrack_AllGPU',
1248 '--accelerators':
'gpu-nvidia',
1249 '--procModifiers':
'gpu' 1252 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1253 '--accelerators':
'gpu-nvidia',
1254 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1257 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1258 '--procModifiers':
'gpuValidation' 1260 suffix =
'Patatrack_AllGPU_Validation',
1278 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1279 '--procModifiers':
'pixelNtupletFit' 1282 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1284 suffix =
'Patatrack_AllTripletsCPU',
1295 '--procModifiers':
'gpu' 1298 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1299 '--procModifiers':
'pixelNtupletFit,gpu' 1302 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1304 suffix =
'Patatrack_AllTripletsGPU',
1315 '--accelerators':
'gpu-nvidia',
1316 '--procModifiers':
'gpu' 1319 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1320 '--accelerators':
'gpu-nvidia',
1321 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1324 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1325 '--procModifiers':
'gpuValidation' 1327 suffix =
'Patatrack_AllTripletsGPU_Validation',
1346 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1347 '--procModifiers':
'pixelNtupletFit' 1352 suffix =
'Patatrack_FullRecoCPU',
1363 '--procModifiers':
'gpu' 1367 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1368 '--procModifiers':
'pixelNtupletFit,gpu' 1373 suffix =
'Patatrack_FullRecoGPU',
1384 '--accelerators':
'gpu-nvidia',
1385 '--procModifiers':
'gpu' 1389 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1390 '--accelerators':
'gpu-nvidia',
1391 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1396 suffix =
'Patatrack_FullRecoGPU_Validation',
1410 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1411 '--procModifiers':
'pixelNtupletFit',
1412 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1417 suffix =
'Patatrack_FullRecoTripletsCPU',
1424 '--datatier':
'GEN-SIM-RAW',
1425 '--eventcontent':
'RAWSIM',
1429 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1430 '--procModifiers':
'pixelNtupletFit',
1431 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1432 '--datatier':
'AODSIM',
1433 '--eventcontent':
'AODSIM',
1436 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1447 '--procModifiers':
'gpu' 1451 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1452 '--procModifiers':
'pixelNtupletFit,gpu',
1453 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1458 suffix =
'Patatrack_FullRecoTripletsGPU',
1465 '--procModifiers':
'gpu',
1466 '--datatier':
'GEN-SIM-RAW',
1467 '--eventcontent':
'RAWSIM',
1471 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1472 '--procModifiers':
'pixelNtupletFit,gpu',
1473 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1474 '--datatier':
'AODSIM',
1475 '--eventcontent':
'AODSIM',
1478 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1489 '--accelerators':
'gpu-nvidia',
1490 '--procModifiers':
'gpu' 1494 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1495 '--accelerators':
'gpu-nvidia',
1496 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1497 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1502 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1509 def setup_(self, step, stepName, stepDict, k, properties):
1510 if 'GenSimHLBeamSpot14' in step:
1511 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1512 elif 'Digi' in step
and 'Trigger' not in step:
1513 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1,DIGI2RAW,HLT:@relval2022',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1514 elif 'DigiTrigger' in step:
1515 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1TrackTrigger,L1,DIGI2RAW,HLT:@fake2',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1516 elif 'Reco' in step:
1517 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1518 elif 'MiniAOD' in step:
1520 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1521 elif 'ALCA' in step
or 'HARVEST' in step:
1523 stepDict[stepName][k] =
None 1525 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1527 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key)
1530 'GenSimHLBeamSpot14',
1542 'HARVESTNanoFakeHLT',
1549 'GenSimHLBeamSpot14',
1561 'HARVESTNanoFakeHLT',
1567 suffix =
'_ProdLike',
1572 def __init__(self, suffix, offset, fixedPU,
1575 'GenSimHLBeamSpot14',
1587 'HARVESTNanoFakeHLT',
1593 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1595 def setupPU_(self, step, stepName, stepDict, k, properties):
1597 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1598 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1601 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1608 suffix =
'_ProdLikePU10',
1614 suffix =
'_ProdLikePU20',
1620 suffix =
'_ProdLikePU30',
1626 suffix =
'_ProdLikePU40',
1632 suffix =
'_ProdLikePU50',
1638 suffix =
'_ProdLikePU55',
1644 suffix =
'_ProdLikePU60',
1650 suffix =
'_ProdLikePU65',
1656 suffix =
'_ProdLikePU70',
1662 suffix =
'_ProdLikePU80',
1668 suffix =
'_ProdLikePU90',
1674 suffix =
'_ProdLikePU100',
1680 suffix =
'_ProdLikePU120',
1686 suffix =
'_ProdLikePU140',
1692 suffix =
'_ProdLikePU160',
1698 suffix =
'_ProdLikePU180',
1704 def setup_(self, step, stepName, stepDict, k, properties):
1705 if 'HARVEST' in step:
1706 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1708 stepDict[stepName][k] =
merge([stepDict[step][k]])
1710 return fragment==
"TTbar_14TeV" and '2026' in key
1713 'GenSimHLBeamSpot14',
1720 'GenSimHLBeamSpot14',
1726 suffix =
'_HLT75e33',
1731 def setup_(self, step, stepName, stepDict, k, properties):
1732 if 'DigiTrigger' in step:
1733 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1735 return fragment==
"TTbar_14TeV" and '2026' in key
1743 suffix =
'_HLTwDIGI75e33',
1748 def setup_(self, step, stepName, stepDict, k, properties):
1749 if 'GenSim' in step:
1750 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1752 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1753 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1754 if '--customise' in stepDict[stepName][k].
keys():
1755 stepDict[stepName][k][
'--customise'] +=
","+custNew
1757 stepDict[stepName][k][
'--customise'] = custNew
1764 'GenSimHLBeamSpot14',
1772 suffix =
'_Neutron',
1776 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
1777 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
1780 def setup_(self, step, stepName, stepDict, k, properties):
1781 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
1783 return fragment==
"TTbar_13" and '2018' in key
1801 suffix =
'_heCollapse',
1807 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
1809 super(UpgradeWorkflow_ecalDevel, self).
__init__(
1827 def setup_(self, step, stepName, stepDict, k, properties):
1829 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
1831 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 1833 elif 'Reco' in step:
1834 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 1835 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 1836 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 1838 elif 'HARVEST' in step:
1839 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 1841 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
1844 stepDict[stepName][k] =
None 1847 return fragment==
"TTbar_14TeV" and '2026' in key
1851 suffix =
'_ecalDevel',
1857 reco = {
'--procModifiers':
'gpu'},
1858 suffix =
'_ecalDevelGPU',
1864 def __init__(self, suffix, offset, ecalMod,
1868 'GenSimHLBeamSpot14',
1869 'GenSimHLBeamSpotHGCALCloseBy',
1876 'GenSimHLBeamSpot14',
1877 'GenSimHLBeamSpotHGCALCloseBy',
1881 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
1884 def setup_(self, step, stepName, stepDict, k, properties):
1885 if 'Sim' in step
or 'Digi' in step:
1887 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
1890 return (
'2021' in key
or '2023' in key
or '2026' in key)
1893 suffix =
'_ecalComponent',
1895 ecalMod =
'ecal_component',
1899 suffix =
'_ecalComponentFSW',
1901 ecalMod =
'ecal_component_finely_sampled_waveforms',
1905 def setup_(self, step, stepName, stepDict, k, properties):
1906 myGT=stepDict[step][k][
'--conditions']
1908 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
1909 def setupPU_(self, step, stepName, stepDict, k, properties):
1911 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
1913 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)
1925 'HARVESTNanoFakeHLT',
1937 'HARVESTNanoFakeHLT',
1944 def setup_(self, step, stepName, stepDict, k, properties):
1945 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
1946 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
1948 return fragment==
"TTbar_13" and '2018' in key
1955 suffix =
'_ParkingBPH',
1961 def setup_(self, step, stepName, stepDict, k, properties):
1963 thisStep = stepDict[step][k][
"-s"]
1965 if "DQM:" in thisStep:
1966 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
1967 elif "DQM" in thisStep:
1968 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
1970 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
1973 return any(frag
in fragment
for frag
in self.
__frags)
1983 suffix =
'_HeavyFlavor',
1989 def setup_(self, step, stepName, stepDict, k, properties):
1991 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD_MC'}, stepDict[step][k]])
1993 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)
2001 suffix =
'_JMENano',
2008 def setup_(self, step, stepName, stepDict, k, properties):
2009 if 'Digi' in step
or 'Reco' in step:
2010 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2012 return '2026' in key
2031 suffix =
'Aging1000',
2034 upgradeWFs[
'Aging1000'].lumi =
'1000' 2035 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2036 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2037 upgradeWFs[
'Aging3000'].offset = 0.103
2038 upgradeWFs[
'Aging3000'].lumi =
'3000' 2045 def setup_(self, step, stepName, stepDict, k, properties):
2047 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2049 return fragment==
"TTbar_14TeV" and '2026' in key
2060 suffix =
'_OTInefficiency',
2063 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2066 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2067 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2068 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2069 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2072 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2073 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2074 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2075 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2078 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2079 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2080 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2081 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2087 def setup_(self, step, stepName, stepDict, k, properties):
2089 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2091 return '2026' in key
2102 suffix =
'_ITSignalShape',
2112 digiPremixLocalPileup = {
2113 "--filein":
"file:step1.root",
2114 "--pileup_input":
"file:step2.root" 2119 def setup_(self, step, stepName, stepDict, k, properties):
2121 stepDict[stepName][k] =
merge([stepDict[step][k]])
2122 def setupPU_(self, step, stepName, stepDict, k, properties):
2124 if "GenSim" in stepName:
2125 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2126 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2127 stepDict[stepNamePmx][k] =
merge([
2129 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2130 '--datatier':
'PREMIX',
2131 '--eventcontent':
'PREMIX',
2132 '--procModifiers':
'premix_stage1' 2134 stepDict[stepName][k]
2136 if "ProdLike" in self.
suffix:
2137 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2139 elif "Digi" in step
or "Reco" in step:
2142 if d
is None:
return 2145 for s
in d[
"-s"].
split(
","):
2146 if s ==
"DIGI" or "DIGI:" in s:
2147 tmpsteps.extend([s,
"DATAMIX"])
2151 "--datamix" :
"PreMix",
2152 "--procModifiers":
"premix_stage2"},
2155 if "_PMXS1S2" in self.
suffix:
2156 d =
merge([digiPremixLocalPileup, d])
2157 elif "Reco" in step:
2158 if "--procModifiers" in d:
2159 d[
"--procModifiers"] +=
",premix_stage2" 2161 d[
"--procModifiers"] =
"premix_stage2" 2162 stepDict[stepName][k] = d
2168 filein = d[
"--filein"]
2169 m = re.search(
"step(?P<ind>\d+)_", filein)
2171 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2172 stepDict[stepName][k] = d
2178 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2180 if self.
suffix.endswith(
"S1"):
2181 return "NuGun" in fragment
2183 def workflow_(self, workflows, num, fragment, stepList, key):
2184 fragmentTmp = fragment
2185 if self.
suffix.endswith(
"S1"):
2186 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2187 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2195 'GenSimHLBeamSpot14',
2223 'GenSimHLBeamSpot14',
2234 suffix =
'_PMXS1S2',
2239 def setupPU_(self, step, stepName, stepDict, k, properties):
2241 if '--pileup' in stepDict[stepName][k]:
2242 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2243 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2246 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2252 'GenSimHLBeamSpot14',
2264 suffix =
'_PMXS1S2PR',
2269 def setup_(self, step, stepName, stepDict, k, properties):
2271 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2272 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2277 for s
in d[
"-s"].
split(
","):
2278 if "DIGI:pdigi_valid" in s:
2279 tmpsteps.append(
"DIGI")
2283 "--eventcontent":
"PREMIXRAW"},
2285 stepDict[stepName][k] = d
2287 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2290 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2308 'HARVESTNanoFakeHLT',
2312 suffix =
'_PMXS2ProdLike',
2321 'GenSimHLBeamSpot14',
2335 'HARVESTNanoFakeHLT',
2339 suffix =
'_PMXS1S2ProdLike',
2344 def setup_(self, step, stepName, stepDict, k, properties):
2345 if 'HARVESTFastRun3' in step:
2346 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2348 '--era':
'Run3_FastSim',
2349 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2351 stepDict[stepName][k] =
merge([stepDict[step][k]])
2353 return (
'2021FS' in key
or '2023FS' in key)
2364 suffix =
'_Run3FSTrackingOnly',
2369 def setup_(self, step, stepName, stepDict, k, properties):
2371 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2373 '--era':
'Run3_FastSim',
2374 '--eventcontent':
'FASTPU',
2375 '--datatier':
'GEN-SIM-RECO',
2376 '--relval':
'27000,3000'}, stepDict[step][k]])
2378 stepDict[stepName][k] =
None 2380 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2388 suffix =
'_Run3FSMBMixing',
2394 def setup_(self, step, stepName, stepDict, k, properties):
2395 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2396 if '2023' in stepDict[step][k][
'--conditions']:
2397 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2399 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2400 elif 'Phase2' in stepDict[step][k][
'--era']:
2402 dd4hepGeom+=stepDict[step][k][
'--geometry']
2403 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2405 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2410 'GenSimHLBeamSpot14',
2422 'HARVESTNanoFakeHLT',
2429 upgradeWFs[
'DD4hep'].allowReuse =
False 2434 def setup_(self, step, stepName, stepDict, k, properties):
2435 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2436 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2438 return '2021' in key
and 'FS' not in key
2443 'GenSimHLBeamSpot14',
2455 'HARVESTNanoFakeHLT',
2459 suffix =
'_DD4hepDB',
2462 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2465 def setup_(self, step, stepName, stepDict, k, properties):
2466 the_era = stepDict[step][k][
'--era']
2467 if 'Run3' in the_era
and '2023' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2469 tmp_eras = the_era.split(
',')
2470 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2471 tmp_eras =
','.
join(tmp_eras)
2472 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2474 return '2021' in key
and 'FS' not in key
2479 'GenSimHLBeamSpot14',
2491 'HARVESTNanoFakeHLT',
2498 upgradeWFs[
'DDDDB'].allowReuse =
False 2501 def setup_(self, step, stepName, stepDict, k, properties):
2502 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2504 return (fragment==
'TTbar_13' and '2021' in key) \
2505 or (fragment==
'TTbar_14TeV' and '2026' in key)
2510 'GenSimHLBeamSpot14',
2522 'HARVESTNanoFakeHLT',
2528 'GenSimHLBeamSpot14',
2540 'HARVESTNanoFakeHLT',
2543 suffix =
'_SonicTriton',
2548 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2550 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2552 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2554 upgradeProperties = {}
2556 upgradeProperties[2017] = {
2558 'Geom' :
'DB:Extended',
2559 'GT' :
'auto:phase1_2017_realistic',
2560 'HLTmenu':
'@relval2017',
2561 'Era' :
'Run2_2017',
2562 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2565 'Geom' :
'DB:Extended',
2566 'GT' :
'auto:phase1_2017_design',
2567 'HLTmenu':
'@relval2017',
2568 'Era' :
'Run2_2017',
2569 'BeamSpot':
'GaussSigmaZ4cm',
2570 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2573 'Geom' :
'DB:Extended',
2574 'GT' :
'auto:phase1_2018_realistic',
2575 'HLTmenu':
'@relval2018',
2576 'Era' :
'Run2_2018',
2577 'BeamSpot':
'Realistic25ns13TeVEarly2018Collision',
2578 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2581 'Geom' :
'DB:Extended',
2582 'GT' :
'auto:phase1_2018_design',
2583 'HLTmenu':
'@relval2018',
2584 'Era' :
'Run2_2018',
2585 'BeamSpot':
'GaussSigmaZ4cm',
2586 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2589 'Geom' :
'DB:Extended',
2590 'GT' :
'auto:phase1_2022_realistic',
2591 'HLTmenu':
'@relval2022',
2593 'BeamSpot':
'Realistic25ns13p6TeVEOY2022Collision',
2594 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2597 'Geom' :
'DB:Extended',
2598 'GT' :
'auto:phase1_2022_design',
2599 'HLTmenu':
'@relval2022',
2601 'BeamSpot':
'GaussSigmaZ4cm',
2602 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2605 'Geom' :
'DB:Extended',
2606 'GT' :
'auto:phase1_2023_realistic',
2607 'HLTmenu':
'@relval2023',
2608 'Era' :
'Run3_2023',
2609 'BeamSpot':
'Realistic25ns13p6TeVEarly2023Collision',
2610 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2613 'Geom' :
'DB:Extended',
2614 'GT' :
'auto:phase1_2024_realistic',
2615 'HLTmenu':
'@relval2023',
2617 'BeamSpot':
'Realistic25ns13p6TeVEarly2022Collision',
2618 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2621 'Geom' :
'DB:Extended',
2622 'GT' :
'auto:phase1_2022_realistic',
2623 'HLTmenu':
'@relval2022',
2624 'Era' :
'Run3_FastSim',
2625 'BeamSpot':
'Realistic25ns13p6TeVEarly2022Collision',
2626 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2629 'Geom' :
'DB:Extended',
2630 'GT' :
'auto:phase1_2022_realistic_postEE',
2631 'HLTmenu':
'@relval2022',
2633 'BeamSpot':
'Realistic25ns13p6TeVEarly2022Collision',
2634 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2637 'Geom' :
'DB:Extended',
2638 'GT' :
'auto:phase1_2023_realistic',
2639 'HLTmenu':
'@relval2023',
2640 'Era' :
'Run3_2023_FastSim',
2641 'BeamSpot':
'Realistic25ns13p6TeVEarly2023Collision',
2642 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2645 'Geom' :
'DB:Extended',
2646 'GT':
'auto:phase1_2022_realistic_hi',
2647 'HLTmenu':
'@fake2',
2648 'Era':
'Run3_pp_on_PbPb',
2649 'BeamSpot':
'Realistic2022PbPbCollision',
2650 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2653 'Geom' :
'DB:Extended',
2654 'GT':
'auto:phase1_2022_realistic_hi',
2655 'HLTmenu':
'@fake2',
2656 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2657 'BeamSpot':
'Realistic2022PbPbCollision',
2658 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2661 'Geom' :
'DB:Extended',
2662 'GT':
'auto:phase1_2023_realistic_hi',
2663 'HLTmenu':
'@fake2',
2664 'Era':
'Run3_pp_on_PbPb',
2665 'BeamSpot':
'Realistic2022PbPbCollision',
2666 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2669 'Geom' :
'DB:Extended',
2670 'GT':
'auto:phase1_2023_realistic_hi',
2671 'HLTmenu':
'@fake2',
2672 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2673 'BeamSpot':
'Realistic2022PbPbCollision',
2674 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2679 for key
in list(upgradeProperties[2017].
keys()):
2680 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2683 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2684 for idx,val
in enumerate(scenToRun):
2686 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2688 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2690 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2692 upgradeProperties[2026] = {
2694 'Geom' :
'Extended2026D86',
2695 'HLTmenu':
'@fake2',
2696 'GT' :
'auto:phase2_realistic_T21',
2697 'Era' :
'Phase2C17I13M9',
2698 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2701 'Geom' :
'Extended2026D88',
2702 'HLTmenu':
'@relval2026',
2703 'GT' :
'auto:phase2_realistic_T21',
2704 'Era' :
'Phase2C17I13M9',
2705 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2708 'Geom' :
'Extended2026D91',
2709 'HLTmenu':
'@fake2',
2710 'GT' :
'auto:phase2_realistic_T30',
2711 'Era' :
'Phase2C17I13M9',
2712 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2715 'Geom' :
'Extended2026D92',
2716 'HLTmenu':
'@fake2',
2717 'GT' :
'auto:phase2_realistic_T21',
2718 'Era' :
'Phase2C17I13M9',
2719 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2722 'Geom' :
'Extended2026D93',
2723 'HLTmenu':
'@fake2',
2724 'GT' :
'auto:phase2_realistic_T21',
2725 'Era' :
'Phase2C17I13M9',
2726 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2729 'Geom' :
'Extended2026D94',
2730 'HLTmenu':
'@fake2',
2731 'GT' :
'auto:phase2_realistic_T21',
2732 'Era' :
'Phase2C20I13M9',
2733 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2736 'Geom' :
'Extended2026D95',
2737 'HLTmenu':
'@relval2026',
2738 'GT' :
'auto:phase2_realistic_T21',
2739 'Era' :
'Phase2C17I13M9',
2740 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2743 'Geom' :
'Extended2026D96',
2744 'HLTmenu':
'@fake2',
2745 'GT' :
'auto:phase2_realistic_T21',
2746 'Era' :
'Phase2C17I13M9',
2747 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2750 'Geom' :
'Extended2026D97',
2751 'HLTmenu':
'@fake2',
2752 'GT' :
'auto:phase2_realistic_T25',
2753 'Era' :
'Phase2C17I13M9',
2754 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2757 'Geom' :
'Extended2026D98',
2758 'HLTmenu':
'@relval2026',
2759 'GT' :
'auto:phase2_realistic_T25',
2760 'Era' :
'Phase2C17I13M9',
2761 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2764 'Geom' :
'Extended2026D99',
2765 'HLTmenu':
'@relval2026',
2766 'GT' :
'auto:phase2_realistic_T25',
2767 'Era' :
'Phase2C17I13M9',
2768 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2771 'Geom' :
'Extended2026D100',
2772 'HLTmenu':
'@relval2026',
2773 'GT' :
'auto:phase2_realistic_T25',
2774 'Era' :
'Phase2C17I13M9',
2775 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2778 'Geom' :
'Extended2026D101',
2779 'HLTmenu':
'@relval2026',
2780 'GT' :
'auto:phase2_realistic_T25',
2781 'Era' :
'Phase2C17I13M9',
2782 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2785 'Geom' :
'Extended2026D102',
2786 'HLTmenu':
'@fake2',
2787 'GT' :
'auto:phase2_realistic_T33',
2788 'Era' :
'Phase2C17I13M9',
2789 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2792 'Geom' :
'Extended2026D103',
2793 'HLTmenu':
'@relval2026',
2794 'GT' :
'auto:phase2_realistic_T25',
2795 'Era' :
'Phase2C17I13M9',
2796 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2801 for key
in list(upgradeProperties[2026].
keys()):
2802 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
2803 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
2806 defaultDataSets = {}
2807 for year
in upgradeKeys:
2808 for key
in upgradeKeys[year]:
2809 if 'PU' in key:
continue 2810 defaultDataSets[key] =
'' 2818 upgradeFragments = OrderedDict([
2820 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
2821 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
2822 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
2829 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
2830 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
2831 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
2832 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
2833 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
2834 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
2835 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
2836 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
2837 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
2838 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
2839 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
2842 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
2845 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
2846 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
2847 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
2849 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
2850 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
2851 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
2855 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
2856 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
2857 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
2858 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
2862 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
2864 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
2866 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
2867 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
2868 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
2870 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
2871 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
2872 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
2875 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
2876 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
2878 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
2885 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
2887 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
2888 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
2889 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
2890 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
2891 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
2892 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
2896 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
2897 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
2898 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
2899 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
2900 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
2901 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
2902 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
2903 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
2905 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
2907 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
2908 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
2909 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
2910 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
2912 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
2913 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
2914 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
2915 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
2919 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
2920 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
2921 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
2924 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
2927 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
2928 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
2929 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
2930 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
2932 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
2933 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
2935 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
2936 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
2937 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
2939 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
2940 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
2941 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
2942 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
2943 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
2944 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
2945 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
2946 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
2947 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
2948 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
2949 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
2950 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
2951 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
2953 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
2955 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
2956 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
2957 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
2958 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
2959 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
2960 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
2961 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
2962 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
2963 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
2964 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
2965 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
2966 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
2967 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
2968 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
2969 (
'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 __init__(self, suffix, offset, ecalMod, steps=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger, PU=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger)
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 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)
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 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)