1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
85 numWFConflict = [[14400,14800],
94 for year
in upgradeKeys:
95 for i
in range(0,len(upgradeKeys[year])):
96 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
97 for conflict
in numWFConflict:
98 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
99 numWFtmp = conflict[1]
101 numWFAll[year].
append(numWFtmp)
108 preventReuseKeyword =
'NOREUSE' 117 if not step
in self.
steps:
124 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
126 stepName = step + self.
suffix + extra
129 stepNamePU = step +
'PU' + self.
suffix + extra
132 for step
in self.
steps:
138 def setup(self, stepDict, k, properties):
139 for step
in self.
steps:
146 def setup_(self, step, stepName, stepDict, k, properties):
148 def setupPU_(self, step, stepName, stepDict, k, properties):
150 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
151 if self.condition(fragment, stepList, key, hasHarvest):
152 self.workflow_(workflows, num, fragment, stepList, key)
153 def workflow_(self, workflows, num, fragment, stepList, key):
154 fragmentTmp = [fragment, key]
156 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
157 def condition(self, fragment, stepList, key, hasHarvest):
160 if "Sim" in stepName:
161 stepDict[stepName][k] =
None 162 if "Gen" in stepName:
163 stepDict[stepName][k] =
None 164 upgradeWFs = OrderedDict()
167 def setup_(self, step, stepName, stepDict, k, properties):
168 cust=properties.get(
'Custom',
None)
169 era=properties.get(
'Era',
None)
170 modifier=properties.get(
'ProcessModifier',
None)
171 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
173 stepDict[stepName][k][
'--era']=era
174 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
175 def condition(self, fragment, stepList, key, hasHarvest):
182 'GenSimHLBeamSpot14',
183 'GenSimHLBeamSpotHGCALCloseBy',
196 'HARVESTNanoFakeHLT',
220 'HARVESTNanoFakeHLT',
234 def setup_(self, step, stepName, stepDict, k, properties):
235 if stepDict[step][k] !=
None:
237 stepDict[stepName][k] =
None 238 if 'RecoNano' in step:
239 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
241 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
242 def condition(self, fragment, stepList, key, hasHarvest):
243 if (
'TTbar_14TeV' in fragment
and '2021' == key):
244 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
245 return (
'TTbar_14TeV' in fragment
and '2021' == key)
254 suffix =
'_DigiNoHLT',
263 steps = steps + [
"ALCA",
"Nano"]
264 super().
__init__(steps, PU, suffix, offset)
265 def condition(self, fragment, stepList, key, hasHarvest):
266 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)
270 def setup_(self, step, stepName, stepDict, k, properties):
272 if 'ALCA' in step
or 'Nano'==step:
273 stepDict[stepName][k] =
None 274 self.
setup__(step, stepName, stepDict, k, properties)
276 def setup__(self, step, stepName, stepDict, k, properties):
279 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
280 def setup__(self, step, stepName, stepDict, k, properties):
281 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
282 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
284 def condition(self, fragment, stepList, key, hasHarvest):
285 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
301 'HARVESTNanoFakeHLT',
313 'HARVESTNanoFakeHLT',
317 suffix =
'_trackingOnly',
320 upgradeWFs[
'trackingOnly'].step3 = {
321 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
322 '--datatier':
'GEN-SIM-RECO,DQMIO',
323 '--eventcontent':
'RECOSIM,DQM',
326 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
329 def setup__(self, step, stepName, stepDict, k, properties):
330 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
331 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
340 suffix =
'_trackingRun2',
345 def setup__(self, step, stepName, stepDict, k, properties):
346 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
347 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
348 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
359 suffix =
'_trackingOnlyRun2',
362 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
365 def setup__(self, step, stepName, stepDict, k, properties):
366 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
367 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
376 suffix =
'_trackingLowPU',
381 def setup__(self, step, stepName, stepDict, k, properties):
382 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
384 elif 'ALCA' in step: stepDict[stepName][k] =
None 385 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
387 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)
399 'HARVESTNanoFakeHLT',
404 suffix =
'_pixelTrackingOnly',
407 upgradeWFs[
'pixelTrackingOnly'].step3 = {
408 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
409 '--datatier':
'GEN-SIM-RECO,DQMIO',
410 '--eventcontent':
'RECOSIM,DQM',
414 def setup__(self, step, stepName, stepDict, k, properties):
415 if 'Digi' in step: stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
416 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
418 return (
'2017' in key
or '2021' in key
or '2023' in key)
and (
'FS' not in key)
430 suffix =
'_trackingMkFit',
433 upgradeWFs[
'trackingMkFit'].step2 = {
434 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 436 upgradeWFs[
'trackingMkFit'].step3 = {
437 '--procModifiers':
'trackingMkFitDevel' 442 def setup_(self, step, stepName, stepDict, k, properties):
444 if 'ALCA' in step
or 'Nano'==step:
445 stepDict[stepName][k] =
None 446 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
447 def condition(self, fragment, stepList, key, hasHarvest):
448 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
461 'HARVESTNanoFakeHLT',
473 'HARVESTNanoFakeHLT',
475 suffix =
'_seedingDeepCore',
481 def setup__(self, step, stepName, stepDict, k, properties):
482 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
484 return (
'2021' in key
or '2023' in key
or '2024' in key)
494 suffix =
'_displacedRegional',
497 upgradeWFs[
'displacedRegional'].step3 = {
498 '--procModifiers':
'displacedRegionalTracking' 503 def setup_(self, step, stepName, stepDict, k, properties):
504 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
505 def condition(self, fragment, stepList, key, hasHarvest):
506 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
516 suffix =
'_vectorHits',
522 def __init__(self, reco = {}, harvest = {}, **kwargs):
524 super(UpgradeWorkflow_weightedVertex, self).
__init__(
535 'HARVESTNanoFakeHLT',
547 'HARVESTNanoFakeHLT',
553 def setup_(self, step, stepName, stepDict, k, properties):
556 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
557 '--eventcontent':
'RECOSIM,DQM'}
558 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
559 if 'HARVEST' in step:
560 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
562 def condition(self, fragment, stepList, key, hasHarvest):
565 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
566 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
567 (
'2026' in key
and fragment ==
"TTbar_14TeV")
569 result =
any(selected)
and hasHarvest
575 suffix =
'_weightedVertex',
579 upgradeWFs[
'weightedVertex'].step3 = {}
580 upgradeWFs[
'weightedVertex'].step4 = {}
583 suffix =
'_weightedVertexTrackingOnly',
587 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
588 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
589 '--datatier':
'GEN-SIM-RECO,DQMIO',
590 '--eventcontent':
'RECOSIM,DQM',
593 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
594 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 599 def setup_(self, step, stepName, stepDict, k, properties):
600 if 'RecoGlobal' in step:
601 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
602 if 'HARVESTGlobal' in step:
603 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
604 def condition(self, fragment, stepList, key, hasHarvest):
605 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
615 suffix =
'_ticl_clue3D',
618 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
619 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
622 def setup_(self, step, stepName, stepDict, k, properties):
623 if 'RecoGlobal' in step:
624 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
625 if 'HARVESTGlobal' in step:
626 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
627 def condition(self, fragment, stepList, key, hasHarvest):
628 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
638 suffix =
'_ticl_FastJet',
641 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
642 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
645 def setup_(self, step, stepName, stepDict, k, properties):
646 if 'RecoGlobal' in step:
647 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
648 if 'HARVESTGlobal' in step:
649 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
650 def condition(self, fragment, stepList, key, hasHarvest):
651 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
664 upgradeWFs[
'ticl_v3'].step3 = {
'--procModifiers':
'ticl_v3'}
665 upgradeWFs[
'ticl_v3'].step4 = {
'--procModifiers':
'ticl_v3'}
670 def setup_(self, step, stepName, stepDict, k, properties):
671 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
673 def condition(self, fragment, stepList, key, hasHarvest):
674 return fragment==
"TTbar_14TeV" and '2021' in key
688 suffix =
'_trackdnn',
695 def setup_(self, step, stepName, stepDict, k, properties):
697 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
698 def condition(self, fragment, stepList, key, hasHarvest):
699 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
717 upgradeWFs[
'mlpf'].step3 = {
718 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
719 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
720 '--procModifiers':
'mlpf' 726 def setup_(self, step, stepName, stepDict, k, properties):
728 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
729 def condition(self, fragment, stepList, key, hasHarvest):
730 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 731 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
746 suffix =
'_ecalDeepSC',
749 upgradeWFs[
'ecalDeepSC'].step3 = {
750 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
751 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
752 '--procModifiers':
'ecal_deepsc' 758 def setup_(self, step, stepName, stepDict, k, properties):
760 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
761 def condition(self, fragment, stepList, key, hasHarvest):
762 return '2018' in key
and "SingleGamma" in fragment
773 suffix =
'_photonDRN',
776 upgradeWFs[
'photonDRN'].step3 = {
777 '--procModifiers':
'enableSonicTriton,photonDRN' 790 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
792 super(PatatrackWorkflow, self).
__init__(
805 'HARVESTNanoFakeHLT',
823 'HARVESTNanoFakeHLT',
834 '--datatier':
'GEN-SIM-RECO,DQMIO',
835 '--eventcontent':
'RECOSIM,DQM' 840 def condition(self, fragment, stepList, key, hasHarvest):
843 (
'2018' in key
and fragment ==
"TTbar_13"),
844 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
845 (
'2023' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
846 (
'2018' in key
and fragment ==
"ZMM_13"),
847 (
'2021' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
848 (
'2023' in key
and fragment ==
"ZMM_14" and 'FS' not in key),
849 (
'2026' in key
and fragment ==
"TTbar_14TeV"),
850 ((
'HI' in key)
and 'Hydjet' in fragment
and "PixelOnly" in self.
suffix )
852 result =
any(selected)
and hasHarvest
856 def setup_(self, step, stepName, stepDict, k, properties):
858 if 'ALCA' in step
or 'Nano'==step:
859 stepDict[stepName][k] =
None 862 stepDict[stepName][k] =
None 864 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
867 stepDict[stepName][k] =
None 869 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
870 if 'Phase2' in stepDict[stepName][k][
'--era']:
871 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
872 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
873 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
874 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
877 elif 'MiniAOD' in step:
879 stepDict[stepName][k] =
None 881 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
882 elif 'HARVEST' in step:
884 stepDict[stepName][k] =
None 886 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
897 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
898 '--procModifiers':
'pixelNtupletFit' 901 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 903 suffix =
'Patatrack_PixelOnlyCPU',
914 '--procModifiers':
'gpu' 917 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
918 '--procModifiers':
'pixelNtupletFit,gpu' 921 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 923 suffix =
'Patatrack_PixelOnlyGPU',
934 '--accelerators':
'gpu-nvidia',
935 '--procModifiers':
'gpu' 938 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
939 '--accelerators':
'gpu-nvidia',
940 '--procModifiers':
'pixelNtupletFit,gpuValidation' 943 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
944 '--procModifiers':
'gpuValidation' 946 suffix =
'Patatrack_PixelOnlyGPU_Validation',
956 '--procModifiers':
'gpu' 959 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
960 '--procModifiers':
'pixelNtupletFit,gpu',
961 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 964 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
977 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
978 '--procModifiers':
'pixelNtupletFit',
979 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 982 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 984 suffix =
'Patatrack_PixelOnlyTripletsCPU',
995 '--procModifiers':
'gpu' 998 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
999 '--procModifiers':
'pixelNtupletFit,gpu',
1000 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1003 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1005 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1016 '--accelerators':
'gpu-nvidia',
1017 '--procModifiers':
'gpu' 1020 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1021 '--accelerators':
'gpu-nvidia',
1022 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1023 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1026 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1027 '--procModifiers':
'gpuValidation',
1029 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1039 '--procModifiers':
'gpu' 1042 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1043 '--procModifiers':
'pixelNtupletFit,gpu',
1044 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1047 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1060 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1063 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1065 suffix =
'Patatrack_ECALOnlyCPU',
1076 '--procModifiers':
'gpu' 1079 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1080 '--procModifiers':
'gpu' 1083 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1085 suffix =
'Patatrack_ECALOnlyGPU',
1096 '--accelerators':
'gpu-nvidia',
1097 '--procModifiers':
'gpu' 1100 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1101 '--accelerators':
'gpu-nvidia',
1102 '--procModifiers':
'gpuValidation' 1105 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1107 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1117 '--procModifiers':
'gpu' 1120 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1121 '--procModifiers':
'gpu',
1122 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1125 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1138 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1141 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1143 suffix =
'Patatrack_HCALOnlyCPU',
1154 '--procModifiers':
'gpu' 1157 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1158 '--procModifiers':
'gpu' 1161 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1163 suffix =
'Patatrack_HCALOnlyGPU',
1174 '--accelerators':
'gpu-nvidia',
1175 '--procModifiers':
'gpu' 1178 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1179 '--accelerators':
'gpu-nvidia',
1180 '--procModifiers':
'gpuValidation' 1183 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1185 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1195 '--procModifiers':
'gpu' 1198 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1199 '--procModifiers':
'gpu',
1200 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1203 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1216 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1217 '--procModifiers':
'pixelNtupletFit' 1220 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1222 suffix =
'Patatrack_AllCPU',
1233 '--procModifiers':
'gpu' 1236 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1237 '--procModifiers':
'pixelNtupletFit,gpu' 1240 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1242 suffix =
'Patatrack_AllGPU',
1253 '--accelerators':
'gpu-nvidia',
1254 '--procModifiers':
'gpu' 1257 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1258 '--accelerators':
'gpu-nvidia',
1259 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1262 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1263 '--procModifiers':
'gpuValidation' 1265 suffix =
'Patatrack_AllGPU_Validation',
1283 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1284 '--procModifiers':
'pixelNtupletFit' 1287 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1289 suffix =
'Patatrack_AllTripletsCPU',
1300 '--procModifiers':
'gpu' 1303 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1304 '--procModifiers':
'pixelNtupletFit,gpu' 1307 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1309 suffix =
'Patatrack_AllTripletsGPU',
1320 '--accelerators':
'gpu-nvidia',
1321 '--procModifiers':
'gpu' 1324 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1325 '--accelerators':
'gpu-nvidia',
1326 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1329 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1330 '--procModifiers':
'gpuValidation' 1332 suffix =
'Patatrack_AllTripletsGPU_Validation',
1351 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1352 '--procModifiers':
'pixelNtupletFit' 1357 suffix =
'Patatrack_FullRecoCPU',
1368 '--procModifiers':
'gpu' 1372 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1373 '--procModifiers':
'pixelNtupletFit,gpu' 1378 suffix =
'Patatrack_FullRecoGPU',
1389 '--accelerators':
'gpu-nvidia',
1390 '--procModifiers':
'gpu' 1394 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1395 '--accelerators':
'gpu-nvidia',
1396 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1401 suffix =
'Patatrack_FullRecoGPU_Validation',
1415 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1416 '--procModifiers':
'pixelNtupletFit',
1417 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1422 suffix =
'Patatrack_FullRecoTripletsCPU',
1429 '--datatier':
'GEN-SIM-RAW',
1430 '--eventcontent':
'RAWSIM',
1434 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1435 '--procModifiers':
'pixelNtupletFit',
1436 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1437 '--datatier':
'AODSIM',
1438 '--eventcontent':
'AODSIM',
1441 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1452 '--procModifiers':
'gpu' 1456 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1457 '--procModifiers':
'pixelNtupletFit,gpu',
1458 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1463 suffix =
'Patatrack_FullRecoTripletsGPU',
1470 '--procModifiers':
'gpu',
1471 '--datatier':
'GEN-SIM-RAW',
1472 '--eventcontent':
'RAWSIM',
1476 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1477 '--procModifiers':
'pixelNtupletFit,gpu',
1478 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1479 '--datatier':
'AODSIM',
1480 '--eventcontent':
'AODSIM',
1483 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1494 '--accelerators':
'gpu-nvidia',
1495 '--procModifiers':
'gpu' 1499 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1500 '--accelerators':
'gpu-nvidia',
1501 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1502 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1507 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1514 def setup_(self, step, stepName, stepDict, k, properties):
1515 if 'GenSimHLBeamSpot14' in step:
1516 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1517 elif 'Digi' in step
and 'Trigger' not in step:
1518 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1,DIGI2RAW,HLT:@relval2022',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1519 elif 'DigiTrigger' in step:
1520 stepDict[stepName][k] =
merge([{
'-s':
'DIGI,L1TrackTrigger,L1,DIGI2RAW,HLT:@fake2',
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1521 elif 'Reco' in step:
1522 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1523 elif 'MiniAOD' in step:
1525 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1526 elif 'ALCA' in step
or 'HARVEST' in step:
1528 stepDict[stepName][k] =
None 1530 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1532 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key)
1535 'GenSimHLBeamSpot14',
1547 'HARVESTNanoFakeHLT',
1554 'GenSimHLBeamSpot14',
1566 'HARVESTNanoFakeHLT',
1572 suffix =
'_ProdLike',
1577 def __init__(self, suffix, offset, fixedPU,
1580 'GenSimHLBeamSpot14',
1592 'HARVESTNanoFakeHLT',
1598 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1600 def setupPU_(self, step, stepName, stepDict, k, properties):
1602 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1603 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1606 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1613 suffix =
'_ProdLikePU10',
1619 suffix =
'_ProdLikePU20',
1625 suffix =
'_ProdLikePU30',
1631 suffix =
'_ProdLikePU40',
1637 suffix =
'_ProdLikePU50',
1643 suffix =
'_ProdLikePU55',
1649 suffix =
'_ProdLikePU60',
1655 suffix =
'_ProdLikePU65',
1661 suffix =
'_ProdLikePU70',
1667 suffix =
'_ProdLikePU80',
1673 suffix =
'_ProdLikePU90',
1679 suffix =
'_ProdLikePU100',
1685 suffix =
'_ProdLikePU120',
1691 suffix =
'_ProdLikePU140',
1697 suffix =
'_ProdLikePU160',
1703 suffix =
'_ProdLikePU180',
1709 def setup_(self, step, stepName, stepDict, k, properties):
1710 if 'HARVEST' in step:
1711 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1713 stepDict[stepName][k] =
merge([stepDict[step][k]])
1715 return fragment==
"TTbar_14TeV" and '2026' in key
1718 'GenSimHLBeamSpot14',
1725 'GenSimHLBeamSpot14',
1731 suffix =
'_HLT75e33',
1736 def setup_(self, step, stepName, stepDict, k, properties):
1737 if 'DigiTrigger' in step:
1738 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1740 return fragment==
"TTbar_14TeV" and '2026' in key
1748 suffix =
'_HLTwDIGI75e33',
1753 def setup_(self, step, stepName, stepDict, k, properties):
1755 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1757 return '2026' in key
1766 suffix =
'_L1Complete',
1771 def setup_(self, step, stepName, stepDict, k, properties):
1772 if 'GenSim' in step:
1773 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1775 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1776 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1777 if '--customise' in stepDict[stepName][k].
keys():
1778 stepDict[stepName][k][
'--customise'] +=
","+custNew
1780 stepDict[stepName][k][
'--customise'] = custNew
1787 'GenSimHLBeamSpot14',
1795 suffix =
'_Neutron',
1799 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
1800 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
1803 def setup_(self, step, stepName, stepDict, k, properties):
1804 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
1806 return fragment==
"TTbar_13" and '2018' in key
1824 suffix =
'_heCollapse',
1830 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
1832 super(UpgradeWorkflow_ecalDevel, self).
__init__(
1850 def setup_(self, step, stepName, stepDict, k, properties):
1852 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
1854 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 1856 elif 'Reco' in step:
1857 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 1858 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 1859 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 1861 elif 'HARVEST' in step:
1862 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 1864 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
1867 stepDict[stepName][k] =
None 1870 return fragment==
"TTbar_14TeV" and '2026' in key
1874 suffix =
'_ecalDevel',
1880 reco = {
'--procModifiers':
'gpu'},
1881 suffix =
'_ecalDevelGPU',
1887 def __init__(self, suffix, offset, ecalMod,
1891 'GenSimHLBeamSpot14',
1892 'GenSimHLBeamSpotHGCALCloseBy',
1899 'GenSimHLBeamSpot14',
1900 'GenSimHLBeamSpotHGCALCloseBy',
1904 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
1907 def setup_(self, step, stepName, stepDict, k, properties):
1908 if 'Sim' in step
or 'Digi' in step:
1910 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
1913 return (
'2021' in key
or '2023' in key
or '2026' in key)
1916 suffix =
'_ecalComponent',
1918 ecalMod =
'ecal_component',
1922 suffix =
'_ecalComponentFSW',
1924 ecalMod =
'ecal_component_finely_sampled_waveforms',
1928 def setup_(self, step, stepName, stepDict, k, properties):
1929 myGT=stepDict[step][k][
'--conditions']
1931 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
1932 def setupPU_(self, step, stepName, stepDict, k, properties):
1934 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
1936 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)
1948 'HARVESTNanoFakeHLT',
1960 'HARVESTNanoFakeHLT',
1967 def setup_(self, step, stepName, stepDict, k, properties):
1968 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
1969 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
1971 return fragment==
"TTbar_13" and '2018' in key
1978 suffix =
'_ParkingBPH',
1984 def setup_(self, step, stepName, stepDict, k, properties):
1986 thisStep = stepDict[step][k][
"-s"]
1988 if "DQM:" in thisStep:
1989 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
1990 elif "DQM" in thisStep:
1991 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
1993 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
1996 return any(frag
in fragment
for frag
in self.
__frags)
2006 suffix =
'_HeavyFlavor',
2012 def setup_(self, step, stepName, stepDict, k, properties):
2014 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD_MC'}, stepDict[step][k]])
2016 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)
2024 suffix =
'_JMENano',
2031 def setup_(self, step, stepName, stepDict, k, properties):
2032 if 'Digi' in step
or 'Reco' in step:
2033 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2035 return '2026' in key
2054 suffix =
'Aging1000',
2057 upgradeWFs[
'Aging1000'].lumi =
'1000' 2058 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2059 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2060 upgradeWFs[
'Aging3000'].offset = 0.103
2061 upgradeWFs[
'Aging3000'].lumi =
'3000' 2068 def setup_(self, step, stepName, stepDict, k, properties):
2070 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2072 return fragment==
"TTbar_14TeV" and '2026' in key
2083 suffix =
'_OTInefficiency',
2086 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2089 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2090 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2091 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2092 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2095 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2096 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2097 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2098 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2101 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2102 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2103 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2104 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2110 def setup_(self, step, stepName, stepDict, k, properties):
2112 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2114 return '2026' in key
2125 suffix =
'_ITSignalShape',
2135 digiPremixLocalPileup = {
2136 "--filein":
"file:step1.root",
2137 "--pileup_input":
"file:step2.root" 2142 def setup_(self, step, stepName, stepDict, k, properties):
2144 stepDict[stepName][k] =
merge([stepDict[step][k]])
2145 def setupPU_(self, step, stepName, stepDict, k, properties):
2147 if "GenSim" in stepName:
2148 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2149 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2150 stepDict[stepNamePmx][k] =
merge([
2152 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2153 '--datatier':
'PREMIX',
2154 '--eventcontent':
'PREMIX',
2155 '--procModifiers':
'premix_stage1' 2157 stepDict[stepName][k]
2159 if "ProdLike" in self.
suffix:
2160 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2162 elif "Digi" in step
or "Reco" in step:
2165 if d
is None:
return 2168 for s
in d[
"-s"].
split(
","):
2169 if s ==
"DIGI" or "DIGI:" in s:
2170 tmpsteps.extend([s,
"DATAMIX"])
2174 "--datamix" :
"PreMix",
2175 "--procModifiers":
"premix_stage2"},
2178 if "_PMXS1S2" in self.
suffix:
2179 d =
merge([digiPremixLocalPileup, d])
2180 elif "Reco" in step:
2181 if "--procModifiers" in d:
2182 d[
"--procModifiers"] +=
",premix_stage2" 2184 d[
"--procModifiers"] =
"premix_stage2" 2185 stepDict[stepName][k] = d
2191 filein = d[
"--filein"]
2192 m = re.search(
"step(?P<ind>\d+)_", filein)
2194 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2195 stepDict[stepName][k] = d
2201 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2203 if self.
suffix.endswith(
"S1"):
2204 return "NuGun" in fragment
2206 def workflow_(self, workflows, num, fragment, stepList, key):
2207 fragmentTmp = fragment
2208 if self.
suffix.endswith(
"S1"):
2209 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2210 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2218 'GenSimHLBeamSpot14',
2246 'GenSimHLBeamSpot14',
2257 suffix =
'_PMXS1S2',
2262 def setupPU_(self, step, stepName, stepDict, k, properties):
2264 if '--pileup' in stepDict[stepName][k]:
2265 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2266 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2269 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2275 'GenSimHLBeamSpot14',
2287 suffix =
'_PMXS1S2PR',
2292 def setup_(self, step, stepName, stepDict, k, properties):
2294 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2295 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2300 for s
in d[
"-s"].
split(
","):
2301 if "DIGI:pdigi_valid" in s:
2302 tmpsteps.append(
"DIGI")
2306 "--eventcontent":
"PREMIXRAW"},
2308 stepDict[stepName][k] = d
2310 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2313 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2331 'HARVESTNanoFakeHLT',
2335 suffix =
'_PMXS2ProdLike',
2344 'GenSimHLBeamSpot14',
2358 'HARVESTNanoFakeHLT',
2362 suffix =
'_PMXS1S2ProdLike',
2367 def setup_(self, step, stepName, stepDict, k, properties):
2368 if 'HARVESTFastRun3' in step:
2369 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2371 '--era':
'Run3_FastSim',
2372 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2374 stepDict[stepName][k] =
merge([stepDict[step][k]])
2376 return (
'2021FS' in key
or '2023FS' in key)
2387 suffix =
'_Run3FSTrackingOnly',
2392 def setup_(self, step, stepName, stepDict, k, properties):
2394 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2396 '--era':
'Run3_FastSim',
2397 '--eventcontent':
'FASTPU',
2398 '--datatier':
'GEN-SIM-RECO',
2399 '--relval':
'27000,3000'}, stepDict[step][k]])
2401 stepDict[stepName][k] =
None 2403 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2411 suffix =
'_Run3FSMBMixing',
2417 def setup_(self, step, stepName, stepDict, k, properties):
2418 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2419 if '2023' in stepDict[step][k][
'--conditions']:
2420 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2422 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2423 elif 'Phase2' in stepDict[step][k][
'--era']:
2425 dd4hepGeom+=stepDict[step][k][
'--geometry']
2426 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2428 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2433 'GenSimHLBeamSpot14',
2445 'HARVESTNanoFakeHLT',
2452 upgradeWFs[
'DD4hep'].allowReuse =
False 2457 def setup_(self, step, stepName, stepDict, k, properties):
2458 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2459 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2461 return '2021' in key
and 'FS' not in key
2466 'GenSimHLBeamSpot14',
2478 'HARVESTNanoFakeHLT',
2482 suffix =
'_DD4hepDB',
2485 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2488 def setup_(self, step, stepName, stepDict, k, properties):
2489 the_era = stepDict[step][k][
'--era']
2490 if 'Run3' in the_era
and '2023' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2492 tmp_eras = the_era.split(
',')
2493 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2494 tmp_eras =
','.
join(tmp_eras)
2495 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2497 return '2021' in key
and 'FS' not in key
2502 'GenSimHLBeamSpot14',
2514 'HARVESTNanoFakeHLT',
2521 upgradeWFs[
'DDDDB'].allowReuse =
False 2524 def setup_(self, step, stepName, stepDict, k, properties):
2525 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2527 return (fragment==
'TTbar_13' and '2021' in key) \
2528 or (fragment==
'TTbar_14TeV' and '2026' in key)
2533 'GenSimHLBeamSpot14',
2545 'HARVESTNanoFakeHLT',
2551 'GenSimHLBeamSpot14',
2563 'HARVESTNanoFakeHLT',
2566 suffix =
'_SonicTriton',
2571 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2573 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2575 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2577 upgradeProperties = {}
2579 upgradeProperties[2017] = {
2581 'Geom' :
'DB:Extended',
2582 'GT' :
'auto:phase1_2017_realistic',
2583 'HLTmenu':
'@relval2017',
2584 'Era' :
'Run2_2017',
2585 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2588 'Geom' :
'DB:Extended',
2589 'GT' :
'auto:phase1_2017_design',
2590 'HLTmenu':
'@relval2017',
2591 'Era' :
'Run2_2017',
2592 'BeamSpot':
'DBdesign',
2593 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2596 'Geom' :
'DB:Extended',
2597 'GT' :
'auto:phase1_2018_realistic',
2598 'HLTmenu':
'@relval2018',
2599 'Era' :
'Run2_2018',
2600 'BeamSpot':
'DBrealistic',
2601 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2604 'Geom' :
'DB:Extended',
2605 'GT' :
'auto:phase1_2018_design',
2606 'HLTmenu':
'@relval2018',
2607 'Era' :
'Run2_2018',
2608 'BeamSpot':
'DBdesign',
2609 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2612 'Geom' :
'DB:Extended',
2613 'GT' :
'auto:phase1_2022_realistic',
2614 'HLTmenu':
'@relval2022',
2616 'BeamSpot':
'DBrealistic',
2617 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2620 'Geom' :
'DB:Extended',
2621 'GT' :
'auto:phase1_2022_design',
2622 'HLTmenu':
'@relval2022',
2624 'BeamSpot':
'DBdesign',
2625 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2628 'Geom' :
'DB:Extended',
2629 'GT' :
'auto:phase1_2023_realistic',
2630 'HLTmenu':
'@relval2023',
2631 'Era' :
'Run3_2023',
2632 'BeamSpot':
'DBrealistic',
2633 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2636 'Geom' :
'DB:Extended',
2637 'GT' :
'auto:phase1_2024_realistic',
2638 'HLTmenu':
'@relval2024',
2640 'BeamSpot':
'DBrealistic',
2641 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2644 'Geom' :
'DB:Extended',
2645 'GT' :
'auto:phase1_2022_realistic',
2646 'HLTmenu':
'@relval2022',
2647 'Era' :
'Run3_FastSim',
2648 'BeamSpot':
'DBrealistic',
2649 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2652 'Geom' :
'DB:Extended',
2653 'GT' :
'auto:phase1_2022_realistic_postEE',
2654 'HLTmenu':
'@relval2022',
2656 'BeamSpot':
'DBrealistic',
2657 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2660 'Geom' :
'DB:Extended',
2661 'GT' :
'auto:phase1_2023_realistic',
2662 'HLTmenu':
'@relval2023',
2663 'Era' :
'Run3_2023_FastSim',
2664 'BeamSpot':
'DBrealistic',
2665 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2668 'Geom' :
'DB:Extended',
2669 'GT':
'auto:phase1_2022_realistic_hi',
2670 'HLTmenu':
'@fake2',
2671 'Era':
'Run3_pp_on_PbPb',
2672 'BeamSpot':
'DBrealistic',
2673 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2676 'Geom' :
'DB:Extended',
2677 'GT':
'auto:phase1_2022_realistic_hi',
2678 'HLTmenu':
'@fake2',
2679 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2680 'BeamSpot':
'DBrealistic',
2681 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2684 'Geom' :
'DB:Extended',
2685 'GT':
'auto:phase1_2023_realistic_hi',
2686 'HLTmenu':
'@fake2',
2687 'Era':
'Run3_pp_on_PbPb',
2688 'BeamSpot':
'DBrealistic',
2689 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2692 'Geom' :
'DB:Extended',
2693 'GT':
'auto:phase1_2023_realistic_hi',
2694 'HLTmenu':
'@fake2',
2695 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2696 'BeamSpot':
'DBrealistic',
2697 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2702 for key
in list(upgradeProperties[2017].
keys()):
2703 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2706 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2707 for idx,val
in enumerate(scenToRun):
2709 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2711 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2713 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2715 upgradeProperties[2026] = {
2717 'Geom' :
'Extended2026D86',
2718 'HLTmenu':
'@fake2',
2719 'GT' :
'auto:phase2_realistic_T21',
2720 'Era' :
'Phase2C17I13M9',
2721 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2724 'Geom' :
'Extended2026D88',
2725 'HLTmenu':
'@relval2026',
2726 'GT' :
'auto:phase2_realistic_T21',
2727 'Era' :
'Phase2C17I13M9',
2728 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2731 'Geom' :
'Extended2026D91',
2732 'HLTmenu':
'@fake2',
2733 'GT' :
'auto:phase2_realistic_T30',
2734 'Era' :
'Phase2C17I13M9',
2735 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2738 'Geom' :
'Extended2026D92',
2739 'HLTmenu':
'@fake2',
2740 'GT' :
'auto:phase2_realistic_T21',
2741 'Era' :
'Phase2C17I13M9',
2742 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2745 'Geom' :
'Extended2026D93',
2746 'HLTmenu':
'@fake2',
2747 'GT' :
'auto:phase2_realistic_T21',
2748 'Era' :
'Phase2C17I13M9',
2749 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2752 'Geom' :
'Extended2026D94',
2753 'HLTmenu':
'@fake2',
2754 'GT' :
'auto:phase2_realistic_T21',
2755 'Era' :
'Phase2C20I13M9',
2756 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2759 'Geom' :
'Extended2026D95',
2760 'HLTmenu':
'@relval2026',
2761 'GT' :
'auto:phase2_realistic_T21',
2762 'Era' :
'Phase2C17I13M9',
2763 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2766 'Geom' :
'Extended2026D96',
2767 'HLTmenu':
'@fake2',
2768 'GT' :
'auto:phase2_realistic_T21',
2769 'Era' :
'Phase2C17I13M9',
2770 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2773 'Geom' :
'Extended2026D97',
2774 'HLTmenu':
'@fake2',
2775 'GT' :
'auto:phase2_realistic_T25',
2776 'Era' :
'Phase2C17I13M9',
2777 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2780 'Geom' :
'Extended2026D98',
2781 'HLTmenu':
'@relval2026',
2782 'GT' :
'auto:phase2_realistic_T25',
2783 'Era' :
'Phase2C17I13M9',
2784 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2787 'Geom' :
'Extended2026D99',
2788 'HLTmenu':
'@relval2026',
2789 'GT' :
'auto:phase2_realistic_T25',
2790 'Era' :
'Phase2C17I13M9',
2791 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2794 'Geom' :
'Extended2026D100',
2795 'HLTmenu':
'@relval2026',
2796 'GT' :
'auto:phase2_realistic_T25',
2797 'Era' :
'Phase2C17I13M9',
2798 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2801 'Geom' :
'Extended2026D101',
2802 'HLTmenu':
'@relval2026',
2803 'GT' :
'auto:phase2_realistic_T25',
2804 'Era' :
'Phase2C17I13M9',
2805 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2808 'Geom' :
'Extended2026D102',
2809 'HLTmenu':
'@relval2026',
2810 'GT' :
'auto:phase2_realistic_T33',
2811 'Era' :
'Phase2C17I13M9',
2812 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2815 'Geom' :
'Extended2026D103',
2816 'HLTmenu':
'@relval2026',
2817 'GT' :
'auto:phase2_realistic_T25',
2818 'Era' :
'Phase2C17I13M9',
2819 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2822 'Geom' :
'Extended2026D104',
2823 'HLTmenu':
'@relval2026',
2824 'GT' :
'auto:phase2_realistic_T33',
2825 'Era' :
'Phase2C17I13M9',
2826 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2829 'Geom' :
'Extended2026D105',
2830 'HLTmenu':
'@relval2026',
2831 'GT' :
'auto:phase2_realistic_T25',
2832 'Era' :
'Phase2C17I13M9',
2833 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2838 for key
in list(upgradeProperties[2026].
keys()):
2839 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
2840 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
2843 defaultDataSets = {}
2844 for year
in upgradeKeys:
2845 for key
in upgradeKeys[year]:
2846 if 'PU' in key:
continue 2847 defaultDataSets[key] =
'' 2855 upgradeFragments = OrderedDict([
2857 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
2858 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
2859 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
2866 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
2867 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
2868 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
2869 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
2870 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
2871 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
2872 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
2873 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
2874 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
2875 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
2876 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
2879 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
2882 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
2883 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
2884 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
2886 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
2887 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
2888 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
2892 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
2893 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
2894 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
2895 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
2899 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
2901 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
2903 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
2904 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
2905 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
2907 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
2908 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
2909 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
2912 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
2913 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
2915 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
2922 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
2924 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
2925 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
2926 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
2927 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
2928 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
2929 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
2933 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
2934 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
2935 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
2936 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
2937 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
2938 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
2939 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
2940 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
2942 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
2944 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
2945 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
2946 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
2947 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
2949 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
2950 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
2951 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
2952 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
2956 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
2957 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
2958 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
2961 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
2964 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
2965 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
2966 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
2967 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
2969 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
2970 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
2972 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
2973 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
2974 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
2976 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
2977 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
2978 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
2979 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
2980 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
2981 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
2982 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
2983 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
2984 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
2985 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
2986 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
2987 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
2988 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
2990 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
2992 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
2993 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
2994 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
2995 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
2996 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
2997 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
2998 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
2999 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3000 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3001 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3002 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3003 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3004 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3005 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3006 (
'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)
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)