1 from copy
import copy, deepcopy
2 from collections
import OrderedDict
3 from .MatrixUtil
import merge, Kby, Mby
6 U2000by1={
'--relval':
'2000,1'}
109 numWFConflict = [[14400,14800],
118 for year
in upgradeKeys:
119 for i
in range(0,len(upgradeKeys[year])):
120 numWFtmp = numWFStart[year]
if i==0
else (numWFAll[year][i-1] + numWFSkip)
121 for conflict
in numWFConflict:
122 if numWFtmp>=conflict[0]
and numWFtmp<conflict[1]:
123 numWFtmp = conflict[1]
125 numWFAll[year].
append(numWFtmp)
132 preventReuseKeyword =
'NOREUSE' 141 if not step
in self.
steps:
148 raise ValueError(
"Special workflow offset must be between 0.0 and 1.0")
150 stepName = step + self.
suffix + extra
153 stepNamePU = step +
'PU' + self.
suffix + extra
156 for step
in self.
steps:
162 def setup(self, stepDict, k, properties):
163 for step
in self.
steps:
170 def setup_(self, step, stepName, stepDict, k, properties):
172 def setupPU_(self, step, stepName, stepDict, k, properties):
174 def workflow(self, workflows, num, fragment, stepList, key, hasHarvest):
175 if self.condition(fragment, stepList, key, hasHarvest):
176 self.workflow_(workflows, num, fragment, stepList, key)
177 def workflow_(self, workflows, num, fragment, stepList, key):
178 fragmentTmp = [fragment, key]
180 workflows[num+self.
offset] = [ fragmentTmp, stepList ]
181 def condition(self, fragment, stepList, key, hasHarvest):
184 if "Sim" in stepName
and stepName !=
"Sim":
185 stepDict[stepName][k] =
None 186 if "Gen" in stepName:
187 stepDict[stepName][k] =
None 188 upgradeWFs = OrderedDict()
191 def setup_(self, step, stepName, stepDict, k, properties):
192 cust=properties.get(
'Custom',
None)
193 era=properties.get(
'Era',
None)
194 modifier=properties.get(
'ProcessModifier',
None)
195 if cust
is not None: stepDict[stepName][k][
'--customise']=cust
197 stepDict[stepName][k][
'--era']=era
198 if modifier
is not None: stepDict[stepName][k][
'--procModifier']=modifier
199 def condition(self, fragment, stepList, key, hasHarvest):
207 'GenSimHLBeamSpot14',
208 'GenSimHLBeamSpotHGCALCloseBy',
223 'HARVESTNanoFakeHLT',
249 'HARVESTNanoFakeHLT',
263 def setup_(self, step, stepName, stepDict, k, properties):
264 if stepDict[step][k] !=
None:
266 stepDict[stepName][k] =
None 267 if 'RecoNano' in step:
268 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3.root',
'--secondfilein':
'file:step2.root'}, stepDict[step][k]])
269 if 'Digi' in step
and 'NoHLT' not in step:
270 stepDict[stepName][k] =
merge([{
'-s': re.sub(
',HLT.*',
'', stepDict[step][k][
'-s'])}, stepDict[step][k]])
271 def condition(self, fragment, stepList, key, hasHarvest):
272 if (
'TTbar_14TeV' in fragment
and '2021' == key):
273 stepList.insert(stepList.index(
'Digi_DigiNoHLT_2021')+1,
'HLTRun3_2021')
274 return (
'TTbar_14TeV' in fragment
and '2021' == key)
283 suffix =
'_DigiNoHLT',
292 steps = steps + [
"ALCA",
"Nano"]
293 super().
__init__(steps, PU, suffix, offset)
294 def condition(self, fragment, stepList, key, hasHarvest):
295 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)
299 def setup_(self, step, stepName, stepDict, k, properties):
301 if 'ALCA' in step
or 'Nano'==step:
302 stepDict[stepName][k] =
None 303 self.
setup__(step, stepName, stepDict, k, properties)
305 def setup__(self, step, stepName, stepDict, k, properties):
308 class UpgradeWorkflow_trackingOnly(UpgradeWorkflowTracking):
309 def setup__(self, step, stepName, stepDict, k, properties):
310 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
311 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
313 def condition(self, fragment, stepList, key, hasHarvest):
314 result = (fragment==
"TTbar_13" or fragment==
"TTbar_14TeV")
and hasHarvest
and self.
condition_(fragment, stepList, key, hasHarvest)
330 'HARVESTNanoFakeHLT',
342 'HARVESTNanoFakeHLT',
346 suffix =
'_trackingOnly',
349 upgradeWFs[
'trackingOnly'].step3 = {
350 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
351 '--datatier':
'GEN-SIM-RECO,DQMIO',
352 '--eventcontent':
'RECOSIM,DQM',
355 step3_trackingOnly = upgradeWFs[
'trackingOnly'].step3
358 def setup__(self, step, stepName, stepDict, k, properties):
359 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
360 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, stepDict[step][k]])
369 suffix =
'_trackingRun2',
374 def setup__(self, step, stepName, stepDict, k, properties):
375 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
376 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingRun2'}, self.
step3, stepDict[step][k]])
377 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM'}, stepDict[step][k]])
388 suffix =
'_trackingOnlyRun2',
391 upgradeWFs[
'trackingOnlyRun2'].step3 = upgradeWFs[
'trackingOnly'].step3
394 def setup__(self, step, stepName, stepDict, k, properties):
395 if 'Reco' in step
and stepDict[step][k][
'--era']==
'Run2_2017':
396 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2017_trackingLowPU'}, stepDict[step][k]])
405 suffix =
'_trackingLowPU',
410 def setup__(self, step, stepName, stepDict, k, properties):
411 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
413 elif 'ALCA' in step: stepDict[stepName][k] =
None 414 elif 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM'}, stepDict[step][k]])
416 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)
428 'HARVESTNanoFakeHLT',
433 suffix =
'_pixelTrackingOnly',
436 upgradeWFs[
'pixelTrackingOnly'].step3 = {
437 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
438 '--datatier':
'GEN-SIM-RECO,DQMIO',
439 '--eventcontent':
'RECOSIM,DQM',
443 def setup__(self, step, stepName, stepDict, k, properties):
444 if (
'Digi' in step
and 'NoHLT' not in step)
or (
'HLTOnly' in step): stepDict[stepName][k] =
merge([self.
step2, stepDict[step][k]])
445 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
447 return (
'2017' in key
or '2021' in key
or '2023' in key
or '2024' in key)
and (
'FS' not in key)
460 suffix =
'_trackingMkFit',
463 upgradeWFs[
'trackingMkFit'].step2 = {
464 '--customise':
'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit' 466 upgradeWFs[
'trackingMkFit'].step3 = {
467 '--procModifiers':
'trackingMkFitDevel' 472 def setup__(self, step, stepName, stepDict, k, properties):
473 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
475 return (
'2026' in key)
485 suffix =
'_trackingMkFitPhase2',
488 upgradeWFs[
'trackingMkFitPhase2'].step3 = {
489 '--procModifiers':
'trackingMkFitCommon,trackingMkFitInitialStep' 494 def setup_(self, step, stepName, stepDict, k, properties):
496 if 'ALCA' in step
or 'Nano'==step:
497 stepDict[stepName][k] =
None 498 elif 'Reco' in step
or 'HARVEST' in step: stepDict[stepName][k] =
merge([{
'--procModifiers':
'seedingDeepCore'}, stepDict[step][k]])
499 def condition(self, fragment, stepList, key, hasHarvest):
500 result = (fragment==
"QCD_Pt_1800_2400_14" or fragment==
"TTbar_14TeV" )
and (
'2021' in key
or '2024' in key)
and hasHarvest
513 'HARVESTNanoFakeHLT',
525 'HARVESTNanoFakeHLT',
527 suffix =
'_seedingDeepCore',
533 def setup__(self, step, stepName, stepDict, k, properties):
534 if 'Reco' in step: stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
536 return (
'2021' in key
or '2023' in key
or '2024' in key)
546 suffix =
'_displacedRegional',
549 upgradeWFs[
'displacedRegional'].step3 = {
550 '--procModifiers':
'displacedRegionalTracking' 555 def setup_(self, step, stepName, stepDict, k, properties):
556 stepDict[stepName][k] =
merge([{
'--procModifiers':
'vectorHits'}, stepDict[step][k]])
557 def condition(self, fragment, stepList, key, hasHarvest):
558 return (fragment==
"TTbar_14TeV" or fragment==
"SingleMuPt10Extended")
and '2026' in key
568 suffix =
'_vectorHits',
574 def __init__(self, reco = {}, harvest = {}, **kwargs):
576 super(UpgradeWorkflow_weightedVertex, self).
__init__(
587 'HARVESTNanoFakeHLT',
599 'HARVESTNanoFakeHLT',
605 def setup_(self, step, stepName, stepDict, k, properties):
608 mod = {
'--procModifiers':
'weightedVertexing,vertexInBlocks',
'--datatier':
'GEN-SIM-RECO,DQMIO',
609 '--eventcontent':
'RECOSIM,DQM'}
610 stepDict[stepName][k] =
merge([mod,self.
step3, stepDict[step][k]])
611 if 'HARVEST' in step:
612 stepDict[stepName][k] =
merge([self.
step4,stepDict[step][k]])
614 def condition(self, fragment, stepList, key, hasHarvest):
617 (
'2021' in key
and fragment ==
"TTbar_14TeV" and 'FS' not in key),
618 (
'2024' in key
and fragment ==
"TTbar_14TeV"),
619 (
'2026' in key
and fragment ==
"TTbar_14TeV")
621 result =
any(selected)
and hasHarvest
627 suffix =
'_weightedVertex',
631 upgradeWFs[
'weightedVertex'].step3 = {}
632 upgradeWFs[
'weightedVertex'].step4 = {}
635 suffix =
'_weightedVertexTrackingOnly',
639 upgradeWFs[
'weightedVertexTrackingOnly'].step3 = {
640 '-s':
'RAW2DIGI,RECO:reconstruction_trackingOnly,VALIDATION:@trackingOnlyValidation,DQM:@trackingOnlyDQM',
641 '--datatier':
'GEN-SIM-RECO,DQMIO',
642 '--eventcontent':
'RECOSIM,DQM',
645 upgradeWFs[
'weightedVertexTrackingOnly'].step4 = {
646 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 651 def setup_(self, step, stepName, stepDict, k, properties):
652 if 'RecoGlobal' in step:
653 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
654 if 'HARVESTGlobal' in step:
655 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
656 def condition(self, fragment, stepList, key, hasHarvest):
657 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
667 suffix =
'_ticl_clue3D',
670 upgradeWFs[
'ticl_clue3D'].step3 = {
'--procModifiers':
'clue3D'}
671 upgradeWFs[
'ticl_clue3D'].step4 = {
'--procModifiers':
'clue3D'}
674 def setup_(self, step, stepName, stepDict, k, properties):
675 if 'RecoGlobal' in step:
676 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
677 if 'HARVESTGlobal' in step:
678 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
679 def condition(self, fragment, stepList, key, hasHarvest):
680 return (fragment==
"TTbar_14TeV" or 'CloseByPGun_CE' in fragment)
and '2026' in key
690 suffix =
'_ticl_FastJet',
693 upgradeWFs[
'ticl_FastJet'].step3 = {
'--procModifiers':
'fastJetTICL'}
694 upgradeWFs[
'ticl_FastJet'].step4 = {
'--procModifiers':
'fastJetTICL'}
697 def setup_(self, step, stepName, stepDict, k, properties):
698 if 'RecoGlobal' in step:
699 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
700 if 'HARVESTGlobal' in step:
701 stepDict[stepName][k] =
merge([self.
step4, stepDict[step][k]])
702 def condition(self, fragment, stepList, key, hasHarvest):
703 return (fragment==
"TTbar_14TeV" or 'CloseByP' in fragment
or 'Eta1p7_2p7' in fragment)
and '2026' in key
716 upgradeWFs[
'ticl_v5'].step3 = {
'--procModifiers':
'ticl_v5'}
717 upgradeWFs[
'ticl_v5'].step4 = {
'--procModifiers':
'ticl_v5'}
721 def setup_(self, step, stepName, stepDict, k, properties):
722 stepDict[stepName][k] =
merge([{
'--procModifiers':
'trackdnn'}, stepDict[step][k]])
724 def condition(self, fragment, stepList, key, hasHarvest):
725 return fragment==
"TTbar_14TeV" and '2021' in key
739 suffix =
'_trackdnn',
746 def setup_(self, step, stepName, stepDict, k, properties):
748 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
749 def condition(self, fragment, stepList, key, hasHarvest):
750 return (fragment==
"TTbar_14TeV" or fragment==
"QCD_FlatPt_15_3000HS_14")
and '2021PU' in key
768 upgradeWFs[
'mlpf'].step3 = {
769 '--datatier':
'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
770 '--eventcontent':
'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
771 '--procModifiers':
'mlpf' 777 def setup_(self, step, stepName, stepDict, k, properties):
779 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
780 def condition(self, fragment, stepList, key, hasHarvest):
781 return (fragment==
"ZEE_14" or fragment==
"TTbar_14TeV" or fragment==
"WprimeTolNu_M3000_13TeV_pythia8" 782 or fragment==
"DisplacedSUSY_stopToBottom_M_300_1000mm_13" or fragment==
"RunEGamma2018D" )
797 suffix =
'_ecalDeepSC',
800 upgradeWFs[
'ecalDeepSC'].step3 = {
801 '--datatier':
'RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO',
802 '--eventcontent':
'RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM',
803 '--procModifiers':
'ecal_deepsc' 809 def setup_(self, step, stepName, stepDict, k, properties):
811 stepDict[stepName][k] =
merge([self.
step3, stepDict[step][k]])
812 def condition(self, fragment, stepList, key, hasHarvest):
813 return '2018' in key
and "SingleGamma" in fragment
824 suffix =
'_photonDRN',
827 upgradeWFs[
'photonDRN'].step3 = {
828 '--procModifiers':
'enableSonicTriton,photonDRN' 837 def __init__(self, digi = {}, reco = {}, mini = {}, harvest = {}, **kwargs):
839 super(PatatrackWorkflow, self).
__init__(
853 'HARVESTNanoFakeHLT',
872 'HARVESTNanoFakeHLT',
883 '--datatier':
'GEN-SIM-RECO,DQMIO',
884 '--eventcontent':
'RECOSIM,DQM' 889 def condition(self, fragment, stepList, key, hasHarvest):
891 years = [
'2021',
'2023',
'2024',
'2026']
892 fragments = [
"TTbar_14",
"ZMM_14",
"ZEE_14",
"ZTT_14",
"NuGun",
"SingleMu",
"QCD_Pt15To7000_Flat"]
894 (
any(y
in key
for y
in years)
and (
'FS' not in key)
and any( f
in fragment
for f
in fragments)),
895 ((
'HI' in key)
and (
'Hydjet' in fragment)
and (
"PixelOnly" in self.
suffix) )
897 result =
any(selected)
and hasHarvest
901 def setup_(self, step, stepName, stepDict, k, properties):
903 if 'ALCA' in step
or 'Nano'==step:
904 stepDict[stepName][k] =
None 905 elif (
'Digi' in step
and "NoHLT" not in step)
or 'HLTOnly' in step:
907 stepDict[stepName][k] =
None 909 stepDict[stepName][k] =
merge([self.
__digi, stepDict[step][k]])
912 stepDict[stepName][k] =
None 914 stepDict[stepName][k] =
merge([self.
__reco, stepDict[step][k]])
915 if 'Phase2' in stepDict[stepName][k][
'--era']:
916 if 'DQM:@standardDQM+@ExtraHLT' in stepDict[stepName][k][
'-s']:
917 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'DQM:@standardDQM+@ExtraHLT',
'DQM:@phase2')
918 if 'VALIDATION:@standardValidation' in stepDict[stepName][k][
'-s']:
919 stepDict[stepName][k][
'-s'] = stepDict[stepName][k][
'-s'].
replace(
'VALIDATION:@standardValidation',
'VALIDATION:@phase2Validation')
922 elif 'MiniAOD' in step:
924 stepDict[stepName][k] =
None 926 stepDict[stepName][k] =
merge([self.
__mini, stepDict[step][k]])
927 elif 'HARVEST' in step:
929 stepDict[stepName][k] =
None 931 stepDict[stepName][k] =
merge([self.
__harvest, stepDict[step][k]])
943 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
944 '--procModifiers':
'pixelNtupletFit' 947 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 949 suffix =
'Patatrack_PixelOnlyCPU',
960 '--procModifiers':
'gpu' 963 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
964 '--procModifiers':
'pixelNtupletFit,gpu' 967 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 969 suffix =
'Patatrack_PixelOnlyGPU',
980 '--accelerators':
'gpu-nvidia',
981 '--procModifiers':
'gpu' 984 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
985 '--accelerators':
'gpu-nvidia',
986 '--procModifiers':
'pixelNtupletFit,gpuValidation' 989 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
990 '--procModifiers':
'gpuValidation' 992 suffix =
'Patatrack_PixelOnlyGPU_Validation',
1002 '--procModifiers':
'gpu' 1005 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1006 '--procModifiers':
'pixelNtupletFit,gpu',
1007 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1010 suffix =
'Patatrack_PixelOnlyGPU_Profiling',
1023 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1024 '--procModifiers':
'pixelNtupletFit',
1025 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1028 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1030 suffix =
'Patatrack_PixelOnlyTripletsCPU',
1041 '--procModifiers':
'gpu' 1044 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1045 '--procModifiers':
'pixelNtupletFit,gpu',
1046 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1049 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1051 suffix =
'Patatrack_PixelOnlyTripletsGPU',
1062 '--accelerators':
'gpu-nvidia',
1063 '--procModifiers':
'gpu' 1066 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1067 '--accelerators':
'gpu-nvidia',
1068 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1069 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1072 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM',
1073 '--procModifiers':
'gpuValidation',
1075 suffix =
'Patatrack_PixelOnlyTripletsGPU_Validation',
1085 '--procModifiers':
'gpu' 1088 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1089 '--procModifiers':
'pixelNtupletFit,gpu',
1090 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets,RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1093 suffix =
'Patatrack_PixelOnlyTripletsGPU_Profiling',
1104 '--procModifiers':
'alpaka',
1107 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1108 '--procModifiers':
'alpaka' 1111 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1113 suffix =
'Patatrack_ECALOnlyAlpaka',
1126 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1129 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1131 suffix =
'Patatrack_ECALOnlyCPU',
1142 '--procModifiers':
'gpu' 1145 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1146 '--procModifiers':
'gpu' 1149 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1151 suffix =
'Patatrack_ECALOnlyGPU',
1162 '--accelerators':
'gpu-nvidia',
1163 '--procModifiers':
'gpu' 1166 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly',
1167 '--accelerators':
'gpu-nvidia',
1168 '--procModifiers':
'gpuValidation' 1171 '-s':
'HARVESTING:@ecalOnlyValidation+@ecal' 1173 suffix =
'Patatrack_ECALOnlyGPU_Validation',
1183 '--procModifiers':
'gpu' 1186 '-s':
'RAW2DIGI:RawToDigi_ecalOnly,RECO:reconstruction_ecalOnly',
1187 '--procModifiers':
'gpu',
1188 '--customise' :
'RecoLocalCalo/Configuration/customizeEcalOnlyForProfiling.customizeEcalOnlyForProfilingGPUOnly' 1191 suffix =
'Patatrack_ECALOnlyGPU_Profiling',
1204 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1207 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1209 suffix =
'Patatrack_HCALOnlyCPU',
1220 '--procModifiers':
'gpu' 1223 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1224 '--procModifiers':
'gpu' 1227 '-s':
'HARVESTING:@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1229 suffix =
'Patatrack_HCALOnlyGPU',
1240 '--accelerators':
'gpu-nvidia',
1241 '--procModifiers':
'gpu' 1244 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1245 '--accelerators':
'gpu-nvidia',
1246 '--procModifiers':
'gpuValidation' 1249 '-s':
'HARVESTING:@hcalOnlyValidation+@hcal' 1251 suffix =
'Patatrack_HCALOnlyGPU_Validation',
1261 '--procModifiers':
'gpu' 1264 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1265 '--procModifiers':
'gpu',
1266 '--customise' :
'RecoLocalCalo/Configuration/customizeHcalOnlyForProfiling.customizeHcalOnlyForProfilingGPUOnly' 1269 suffix =
'Patatrack_HCALOnlyGPU_Profiling',
1278 '--procModifiers':
'alpaka',
1281 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation,DQM:@hcalOnly+@hcal2Only',
1282 '--procModifiers':
'alpaka' 1285 '-s':
'HARVESTING:@hcalOnlyValidation' 1287 suffix =
'Patatrack_HCALOnlyAlpaka_Validation',
1296 '--procModifiers':
'alpaka',
1299 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnlyLegacy+reconstruction_hcalOnly,VALIDATION:@hcalOnlyValidation+pfClusterHBHEOnlyAlpakaComparisonSequence,DQM:@hcalOnly+@hcal2Only',
1300 '--procModifiers':
'alpaka' 1303 '-s':
'HARVESTING:@hcalOnlyValidation' 1305 suffix =
'Patatrack_HCALOnlyGPUandAlpaka_Validation',
1314 '--procModifiers':
'alpaka',
1317 '-s':
'RAW2DIGI:RawToDigi_hcalOnly,RECO:reconstruction_hcalOnly',
1318 '--procModifiers':
'alpaka' 1321 suffix =
'Patatrack_HCALOnlyAlpaka_Profiling',
1331 '--procModifiers':
'alpaka',
1335 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1336 '--procModifiers':
'alpaka,pixelNtupletFit' 1341 suffix =
'Patatrack_FullRecoAlpaka',
1354 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1355 '--procModifiers':
'pixelNtupletFit' 1358 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1360 suffix =
'Patatrack_AllCPU',
1371 '--procModifiers':
'gpu' 1374 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1375 '--procModifiers':
'pixelNtupletFit,gpu' 1378 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1380 suffix =
'Patatrack_AllGPU',
1391 '--accelerators':
'gpu-nvidia',
1392 '--procModifiers':
'gpu' 1395 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1396 '--accelerators':
'gpu-nvidia',
1397 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1400 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1401 '--procModifiers':
'gpuValidation' 1403 suffix =
'Patatrack_AllGPU_Validation',
1421 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1422 '--procModifiers':
'pixelNtupletFit' 1425 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1427 suffix =
'Patatrack_AllTripletsCPU',
1438 '--procModifiers':
'gpu' 1441 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1442 '--procModifiers':
'pixelNtupletFit,gpu' 1445 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only' 1447 suffix =
'Patatrack_AllTripletsGPU',
1458 '--accelerators':
'gpu-nvidia',
1459 '--procModifiers':
'gpu' 1462 '-s':
'RAW2DIGI:RawToDigi_pixelOnly+RawToDigi_ecalOnly+RawToDigi_hcalOnly,RECO:reconstruction_pixelTrackingOnly+reconstruction_ecalOnly+reconstruction_hcalOnly,VALIDATION:@pixelTrackingOnlyValidation+@ecalOnlyValidation+@hcalOnlyValidation,DQM:@pixelTrackingOnlyDQM+@ecalOnly+@hcalOnly+@hcal2Only',
1463 '--accelerators':
'gpu-nvidia',
1464 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1467 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM+@ecalOnlyValidation+@ecal+@hcalOnlyValidation+@hcalOnly+@hcal2Only',
1468 '--procModifiers':
'gpuValidation' 1470 suffix =
'Patatrack_AllTripletsGPU_Validation',
1489 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1490 '--procModifiers':
'pixelNtupletFit' 1495 suffix =
'Patatrack_FullRecoCPU',
1506 '--procModifiers':
'gpu' 1510 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1511 '--procModifiers':
'pixelNtupletFit,gpu' 1516 suffix =
'Patatrack_FullRecoGPU',
1527 '--accelerators':
'gpu-nvidia',
1528 '--procModifiers':
'gpu' 1532 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1533 '--accelerators':
'gpu-nvidia',
1534 '--procModifiers':
'pixelNtupletFit,gpuValidation' 1539 suffix =
'Patatrack_FullRecoGPU_Validation',
1553 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1554 '--procModifiers':
'pixelNtupletFit',
1555 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1560 suffix =
'Patatrack_FullRecoTripletsCPU',
1567 '--datatier':
'GEN-SIM-RAW',
1568 '--eventcontent':
'RAWSIM',
1572 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1573 '--procModifiers':
'pixelNtupletFit',
1574 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1575 '--datatier':
'AODSIM',
1576 '--eventcontent':
'AODSIM',
1579 suffix =
'Patatrack_FullRecoTripletsCPUProdLike',
1590 '--procModifiers':
'gpu' 1594 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1595 '--procModifiers':
'pixelNtupletFit,gpu',
1596 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1601 suffix =
'Patatrack_FullRecoTripletsGPU',
1608 '--procModifiers':
'gpu',
1609 '--datatier':
'GEN-SIM-RAW',
1610 '--eventcontent':
'RAWSIM',
1614 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM',
1615 '--procModifiers':
'pixelNtupletFit,gpu',
1616 '--customise':
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets',
1617 '--datatier':
'AODSIM',
1618 '--eventcontent':
'AODSIM',
1621 suffix =
'Patatrack_FullRecoTripletsGPUProdLike',
1632 '--accelerators':
'gpu-nvidia',
1633 '--procModifiers':
'gpu' 1637 '-s':
'RAW2DIGI:RawToDigi+RawToDigi_pixelOnly,L1Reco,RECO:reconstruction+reconstruction_pixelTrackingOnly,RECOSIM,PAT,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@pixelTrackingOnlyDQM',
1638 '--accelerators':
'gpu-nvidia',
1639 '--procModifiers':
'pixelNtupletFit,gpuValidation',
1640 '--customise' :
'RecoTracker/Configuration/customizePixelTracksForTriplets.customizePixelTracksForTriplets' 1645 suffix =
'Patatrack_FullRecoTripletsGPU_Validation',
1654 '--procModifiers':
'alpaka',
1657 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1658 '--procModifiers':
'alpaka' 1661 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1663 suffix =
'Patatrack_PixelOnlyAlpaka',
1669 '--procModifiers':
'alpaka',
1672 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly,VALIDATION:@pixelTrackingOnlyValidation,DQM:@pixelTrackingOnlyDQM',
1673 '--procModifiers':
'alpakaValidation' 1676 '-s':
'HARVESTING:@trackingOnlyValidation+@pixelTrackingOnlyDQM' 1678 suffix =
'Patatrack_PixelOnlyAlpaka_Validation',
1684 '--procModifiers':
'alpaka',
1687 '-s':
'RAW2DIGI:RawToDigi_pixelOnly,RECO:reconstruction_pixelTrackingOnly',
1688 '--procModifiers':
'alpaka',
1689 '--customise' :
'RecoTracker/Configuration/customizePixelOnlyForProfiling.customizePixelOnlyForProfilingGPUOnly' 1692 suffix =
'Patatrack_PixelOnlyAlpaka_Profiling',
1699 def setup_(self, step, stepName, stepDict, k, properties):
1700 thisStep = stepDict[step][k][
"-s"]
1701 if 'GenSimHLBeamSpot14' in step:
1702 stepDict[stepName][k] =
merge([{
'--eventcontent':
'RAWSIM',
'--datatier':
'GEN-SIM'},stepDict[step][k]])
1703 elif 'Digi' in step
and 'Trigger' not in step:
1704 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DIGI:pdigi_valid",
"DIGI"),
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1705 elif 'DigiTrigger' in step:
1706 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DIGI:pdigi_valid",
"DIGI"),
'--datatier':
'GEN-SIM-RAW',
'--eventcontent':
'RAWSIM'}, stepDict[step][k]])
1707 elif 'Reco' in step:
1708 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,L1Reco,RECO,RECOSIM',
'--datatier':
'AODSIM',
'--eventcontent':
'AODSIM'}, stepDict[step][k]])
1709 elif 'MiniAOD' in step:
1711 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1712 elif 'ALCA' in step
or 'HARVEST' in step:
1714 stepDict[stepName][k] =
None 1716 stepDict[stepName][k] =
merge([{
'--filein':
'file:step4.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
1718 return fragment==
"TTbar_14TeV" and (
'2026' in key
or '2021' in key
or '2023' in key
or '2024' in key)
1721 'GenSimHLBeamSpot14',
1733 'HARVESTNanoFakeHLT',
1740 'GenSimHLBeamSpot14',
1752 'HARVESTNanoFakeHLT',
1758 suffix =
'_ProdLike',
1763 def __init__(self, suffix, offset, fixedPU,
1766 'GenSimHLBeamSpot14',
1778 'HARVESTNanoFakeHLT',
1784 super(UpgradeWorkflow_ProdLikeRunningPU, self).
__init__(steps, PU, suffix, offset)
1786 def setupPU_(self, step, stepName, stepDict, k, properties):
1788 if stepDict[stepName][k]
is not None and '--pileup' in stepDict[stepName][k]:
1789 stepDict[stepName][k][
'--pileup'] =
'AVE_' +
str(self.
__fixedPU) +
'_BX_25ns' 1792 return (fragment==
"TTbar_14TeV")
and ((
'2026' in key)
or (
'2021' in key
and self.
__fixedPU<=100))
1799 suffix =
'_ProdLikePU10',
1805 suffix =
'_ProdLikePU20',
1811 suffix =
'_ProdLikePU30',
1817 suffix =
'_ProdLikePU40',
1823 suffix =
'_ProdLikePU50',
1829 suffix =
'_ProdLikePU55',
1835 suffix =
'_ProdLikePU60',
1841 suffix =
'_ProdLikePU65',
1847 suffix =
'_ProdLikePU70',
1853 suffix =
'_ProdLikePU80',
1859 suffix =
'_ProdLikePU90',
1865 suffix =
'_ProdLikePU100',
1871 suffix =
'_ProdLikePU120',
1877 suffix =
'_ProdLikePU140',
1883 suffix =
'_ProdLikePU160',
1889 suffix =
'_ProdLikePU180',
1895 def setup_(self, step, stepName, stepDict, k, properties):
1896 if 'HARVEST' in step:
1897 stepDict[stepName][k] =
merge([{
'--filein':
'file:step3_inDQM.root'}, stepDict[step][k]])
1899 stepDict[stepName][k] =
merge([stepDict[step][k]])
1901 return fragment==
"TTbar_14TeV" and '2026' in key
1904 'GenSimHLBeamSpot14',
1911 'GenSimHLBeamSpot14',
1917 suffix =
'_HLT75e33',
1922 def setup_(self, step, stepName, stepDict, k, properties):
1923 if 'DigiTrigger' in step:
1924 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1TrackTrigger,L1,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1926 return fragment==
"TTbar_14TeV" and '2026' in key
1934 suffix =
'_HLTwDIGI75e33',
1939 def setup_(self, step, stepName, stepDict, k, properties):
1940 if 'Digi' in step
and 'NoHLT' not in step:
1941 stepDict[stepName][k] =
merge([{
'-s':
'DIGI:pdigi_valid,L1,L1TrackTrigger,L1P2GT,DIGI2RAW,HLT:@relval2026'}, stepDict[step][k]])
1943 return '2026' in key
1952 suffix =
'_L1Complete',
1957 def setup_(self, step, stepName, stepDict, k, properties):
1958 if 'GenSim' in step:
1959 custNew =
"SimG4Core/Application/NeutronBGforMuonsXS_cff.customise" 1961 custNew =
"SLHCUpgradeSimulations/Configuration/customise_mixing.customise_Mix_LongLived_Neutrons" 1962 stepDict[stepName][k] = deepcopy(stepDict[step][k])
1963 if '--customise' in stepDict[stepName][k].
keys():
1964 stepDict[stepName][k][
'--customise'] +=
","+custNew
1966 stepDict[stepName][k][
'--customise'] = custNew
1973 'GenSimHLBeamSpot14',
1981 suffix =
'_Neutron',
1985 upgradeWFs[
'Neutron'].neutronKeys = [x
for x
in upgradeKeys[2026]
if 'PU' not in x]
1986 upgradeWFs[
'Neutron'].neutronFrags = [
'ZMM_14',
'MinBias_14TeV']
1989 def setup_(self, step, stepName, stepDict, k, properties):
1990 stepDict[stepName][k] =
merge([{
'--procModifiers':
'run2_HECollapse_2018'}, stepDict[step][k]])
1992 return fragment==
"TTbar_13" and '2018' in key
2010 suffix =
'_heCollapse',
2016 def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs):
2018 super(UpgradeWorkflow_ecalDevel, self).
__init__(
2036 def setup_(self, step, stepName, stepDict, k, properties):
2038 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel'}
2040 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW' 2042 elif 'Reco' in step:
2043 mods[
'-s'] =
'RAW2DIGI,RECO:reconstruction_ecalOnly,VALIDATION:@ecalOnlyValidation,DQM:@ecalOnly' 2044 mods[
'--datatier'] =
'GEN-SIM-RECO,DQMIO' 2045 mods[
'--eventcontent'] =
'FEVTDEBUGHLT,DQM' 2047 elif 'HARVEST' in step:
2048 mods[
'-s'] =
'HARVESTING:@ecalOnlyValidation+@ecal' 2050 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2053 stepDict[stepName][k] =
None 2056 return fragment==
"TTbar_14TeV" and '2026' in key
2060 suffix =
'_ecalDevel',
2066 reco = {
'--procModifiers':
'gpu'},
2067 suffix =
'_ecalDevelGPU',
2073 def __init__(self, suffix, offset, ecalTPPh2, ecalMod,
2077 'GenSimHLBeamSpot14',
2078 'GenSimHLBeamSpotHGCALCloseBy',
2088 'GenSimHLBeamSpot14',
2089 'GenSimHLBeamSpotHGCALCloseBy',
2096 super(UpgradeWorkflow_ECalComponent, self).
__init__(steps, PU, suffix, offset)
2100 def setup_(self, step, stepName, stepDict, k, properties):
2101 stepDict[stepName][k] = deepcopy(stepDict[step][k])
2104 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2105 if 'Digi' in step
and 'NoHLT' not in step:
2107 stepDict[stepName][k] =
merge([{
'--procModifiers':self.
__ecalMod},stepDict[step][k]])
2109 mods = {
'--era': stepDict[step][k][
'--era']+
',phase2_ecal_devel,phase2_ecalTP_devel'}
2110 mods[
'-s'] =
'DIGI:pdigi_valid,DIGI2RAW,HLT:@fake2' 2111 stepDict[stepName][k] =
merge([mods, stepDict[step][k]])
2112 if 'RecoGlobal' in step:
2113 stepDict[stepName][k] =
merge([{
'-s':
'RAW2DIGI,RECO,RECOSIM,PAT',
2114 '--datatier':
'GEN-SIM-RECO',
2115 '--eventcontent':
'FEVTDEBUGHLT',
2116 }, stepDict[step][k]])
2117 if 'HARVESTGlobal' in step:
2118 stepDict[stepName][k] =
None 2119 if 'ALCAPhase2' in step:
2120 stepDict[stepName][k] =
None 2123 return (
'2021' in key
or '2023' in key
or '2026' in key)
2126 suffix =
'_ecalComponent',
2129 ecalMod =
'ecal_component',
2133 suffix =
'_ecalComponentFSW',
2136 ecalMod =
'ecal_component_finely_sampled_waveforms',
2140 suffix =
'_ecalTPPh2',
2142 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2147 suffix =
'_ecalTPPh2Component',
2149 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2150 ecalMod =
'ecal_component',
2154 suffix =
'_ecalTPPh2ComponentFSW',
2156 ecalTPPh2 =
'phase2_ecal_devel,phase2_ecalTP_devel',
2157 ecalMod =
'ecal_component_finely_sampled_waveforms',
2161 def setup_(self, step, stepName, stepDict, k, properties):
2162 myGT=stepDict[step][k][
'--conditions']
2164 stepDict[stepName][k] =
merge([{
'-n':
'1',
'--magField':
'0T',
'--conditions':myGT}, stepDict[step][k]])
2165 def setupPU_(self, step, stepName, stepDict, k, properties):
2167 stepDict[stepName][k] =
merge([{
'-n':
'1'}, stepDict[step][k]])
2169 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)
2181 'HARVESTNanoFakeHLT',
2193 'HARVESTNanoFakeHLT',
2200 def setup_(self, step, stepName, stepDict, k, properties):
2201 if 'Reco' in step
and 'Run2_2018' in stepDict[step][k][
'--era']:
2202 stepDict[stepName][k] =
merge([{
'--era':
'Run2_2018,bParking'}, stepDict[step][k]])
2204 return fragment==
"TTbar_13" and '2018' in key
2211 suffix =
'_ParkingBPH',
2217 def setup_(self, step, stepName, stepDict, k, properties):
2219 thisStep = stepDict[step][k][
"-s"]
2221 if "DQM:" in thisStep:
2222 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM:",
"DQM:@heavyFlavor+")}, stepDict[step][k]])
2223 elif "DQM" in thisStep:
2224 stepDict[stepName][k] =
merge([{
'-s': thisStep.replace(
"DQM",
"DQM:@heavyFlavor")}, stepDict[step][k]])
2226 stepDict[stepName][k] =
merge([{
'-s': thisStep +
",DQM:@heavyFlavor"}, stepDict[step][k]])
2229 return any(frag
in fragment
for frag
in self.
__frags)
2239 suffix =
'_HeavyFlavor',
2245 def setup_(self, step, stepName, stepDict, k, properties):
2247 stepDict[stepName][k] =
merge([{
'--customise':
'PhysicsTools/NanoAOD/custom_jme_cff.PrepJMECustomNanoAOD'}, stepDict[step][k]])
2249 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)
2257 suffix =
'_JMENano',
2264 def setup_(self, step, stepName, stepDict, k, properties):
2265 if 'Digi' in step
or 'Reco' in step:
2266 stepDict[stepName][k] =
merge([{
'--customise':
'SLHCUpgradeSimulations/Configuration/aging.customise_aging_'+self.
lumi}, stepDict[step][k]])
2268 return '2026' in key
2287 suffix =
'Aging1000',
2290 upgradeWFs[
'Aging1000'].lumi =
'1000' 2291 upgradeWFs[
'Aging3000'] = deepcopy(upgradeWFs[
'Aging1000'])
2292 upgradeWFs[
'Aging3000'].suffix =
'Aging3000' 2293 upgradeWFs[
'Aging3000'].offset = 0.103
2294 upgradeWFs[
'Aging3000'].lumi =
'3000' 2301 def setup_(self, step, stepName, stepDict, k, properties):
2303 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForOTInefficiency.customizeSiPhase2OTInefficiency'+self.
percent+
'Percent'}, stepDict[step][k]])
2305 return fragment==
"TTbar_14TeV" and '2026' in key
2316 suffix =
'_OTInefficiency',
2319 upgradeWFs[
'OTInefficiency'].percent =
'Zero' 2322 upgradeWFs[
'OTInefficiency1PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2323 upgradeWFs[
'OTInefficiency1PC'].suffix =
'_OTInefficiency1PC' 2324 upgradeWFs[
'OTInefficiency1PC'].offset = 0.112
2325 upgradeWFs[
'OTInefficiency1PC'].percent =
'One' 2328 upgradeWFs[
'OTInefficiency5PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2329 upgradeWFs[
'OTInefficiency5PC'].suffix =
'_OTInefficiency5PC' 2330 upgradeWFs[
'OTInefficiency5PC'].offset = 0.113
2331 upgradeWFs[
'OTInefficiency5PC'].percent =
'Five' 2334 upgradeWFs[
'OTInefficiency10PC'] = deepcopy(upgradeWFs[
'OTInefficiency'])
2335 upgradeWFs[
'OTInefficiency10PC'].suffix =
'_OTInefficiency10PC' 2336 upgradeWFs[
'OTInefficiency10PC'].offset = 0.114
2337 upgradeWFs[
'OTInefficiency10PC'].percent =
'Ten' 2343 def setup_(self, step, stepName, stepDict, k, properties):
2345 stepDict[stepName][k] =
merge([{
'--customise':
'SimTracker/SiPhase2Digitizer/customizeForPhase2TrackerSignalShape.customizeSiPhase2ITSignalShape'}, stepDict[step][k]])
2347 return '2026' in key
2358 suffix =
'_ITSignalShape',
2368 digiPremixLocalPileup = {
2369 "--filein":
"file:step1.root",
2370 "--pileup_input":
"file:step2.root" 2375 def setup_(self, step, stepName, stepDict, k, properties):
2377 stepDict[stepName][k] =
merge([stepDict[step][k]])
2378 def setupPU_(self, step, stepName, stepDict, k, properties):
2380 if "GenSim" in stepName:
2381 stepNamePmx = stepName.replace(
'GenSim',
'Premix')
2382 if not stepNamePmx
in stepDict: stepDict[stepNamePmx] = {}
2383 stepDict[stepNamePmx][k] =
merge([
2385 '-s':
'GEN,SIM,DIGI:pdigi_valid',
2386 '--datatier':
'PREMIX',
2387 '--eventcontent':
'PREMIX',
2388 '--procModifiers':
'premix_stage1' 2390 stepDict[stepName][k]
2392 if "ProdLike" in self.
suffix:
2393 stepDict[stepNamePmx][k] =
merge([{
'-s':
'GEN,SIM,DIGI'},stepDict[stepNamePmx][k]])
2395 elif "Digi" in step
or "Reco" in step:
2398 if d
is None:
return 2401 for s
in d[
"-s"].
split(
","):
2402 if s ==
"DIGI" or "DIGI:" in s:
2403 tmpsteps.extend([s,
"DATAMIX"])
2407 "--datamix" :
"PreMix",
2408 "--procModifiers":
"premix_stage2"},
2411 if "_PMXS1S2" in self.
suffix:
2412 d =
merge([digiPremixLocalPileup, d])
2413 elif "Reco" in step:
2414 if "--procModifiers" in d:
2415 d[
"--procModifiers"] +=
",premix_stage2" 2417 d[
"--procModifiers"] =
"premix_stage2" 2418 stepDict[stepName][k] = d
2424 filein = d[
"--filein"]
2425 m = re.search(
"step(?P<ind>\d+)_", filein)
2427 d[
"--filein"] = filein.replace(m.group(),
"step%d_"%(
int(m.group(
"ind"))+1))
2428 stepDict[stepName][k] = d
2434 if not any(y
in key
for y
in [
'2021',
'2023',
'2024',
'2026']):
2436 if self.
suffix.endswith(
"S1"):
2437 return "NuGun" in fragment
2439 def workflow_(self, workflows, num, fragment, stepList, key):
2440 fragmentTmp = fragment
2441 if self.
suffix.endswith(
"S1"):
2442 fragmentTmp =
'PREMIXUP' + key[2:].
replace(
"PU",
"").
replace(
"Design",
"") +
'_PU25' 2443 super(UpgradeWorkflowPremix,self).
workflow_(workflows, num, fragmentTmp, stepList, key)
2451 'GenSimHLBeamSpot14',
2479 'GenSimHLBeamSpot14',
2490 suffix =
'_PMXS1S2',
2495 def setupPU_(self, step, stepName, stepDict, k, properties):
2497 if '--pileup' in stepDict[stepName][k]:
2498 stepDict[stepName][k][
'--pileup'] =
'AVE_50_BX_25ns_m3p3' 2499 super(UpgradeWorkflowAdjustPU,self).
setupPU_(step, stepName, stepDict, k, properties)
2502 return super(UpgradeWorkflowAdjustPU,self).
condition(fragment, stepList, key, hasHarvest)
and '2026' in key
2508 'GenSimHLBeamSpot14',
2520 suffix =
'_PMXS1S2PR',
2525 def setup_(self, step, stepName, stepDict, k, properties):
2527 UpgradeWorkflowPremix.setup_(self, step, stepName, stepDict, k, properties)
2528 UpgradeWorkflow_ProdLike.setup_(self, step, stepName, stepDict, k, properties)
2533 for s
in d[
"-s"].
split(
","):
2534 if "DIGI:pdigi_valid" in s:
2535 tmpsteps.append(
"DIGI")
2539 "--eventcontent":
"PREMIXRAW"},
2541 stepDict[stepName][k] = d
2543 stepDict[stepName][k] =
merge([{
'--filein':
'file:step5.root',
'-s':
'NANO',
'--datatier':
'NANOAODSIM',
'--eventcontent':
'NANOEDMAODSIM'}, stepDict[step][k]])
2546 return UpgradeWorkflowPremix.condition(self, fragment, stepList, key, hasHarvest)
and UpgradeWorkflow_ProdLike.condition(self, fragment, stepList, key, hasHarvest)
2564 'HARVESTNanoFakeHLT',
2568 suffix =
'_PMXS2ProdLike',
2577 'GenSimHLBeamSpot14',
2591 'HARVESTNanoFakeHLT',
2595 suffix =
'_PMXS1S2ProdLike',
2600 def setup_(self, step, stepName, stepDict, k, properties):
2601 if 'HARVESTFastRun3' in step:
2602 stepDict[stepName][k] =
merge([{
'-s':
'HARVESTING:@trackingOnlyValidation+@trackingOnlyDQM',
2604 '--era':
'Run3_FastSim',
2605 '--filein':
'file:step1_inDQM.root'}, stepDict[step][k]])
2607 stepDict[stepName][k] =
merge([stepDict[step][k]])
2609 return (
'2021FS' in key
or '2023FS' in key)
2620 suffix =
'_Run3FSTrackingOnly',
2625 def setup_(self, step, stepName, stepDict, k, properties):
2626 if 'Gen' in step
and 'GenOnly' not in step:
2627 stepDict[stepName][k] =
merge([{
'-s':
'GEN,SIM,RECOBEFMIX',
2629 '--era':
'Run3_FastSim',
2630 '--eventcontent':
'FASTPU',
2631 '--datatier':
'GEN-SIM-RECO',
2632 '--relval':
'27000,3000'}, stepDict[step][k]])
2634 stepDict[stepName][k] =
None 2636 return (
'2021FS' in key
or '2023FS' in key)
and fragment==
"MinBias_14TeV" 2644 suffix =
'_Run3FSMBMixing',
2650 def setup_(self, step, stepName, stepDict, k, properties):
2651 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2652 if '2023' in stepDict[step][k][
'--conditions']:
2653 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2023'}, stepDict[step][k]])
2655 stepDict[stepName][k] =
merge([{
'--geometry':
'DD4hepExtended2021'}, stepDict[step][k]])
2656 elif 'Phase2' in stepDict[step][k][
'--era']:
2658 dd4hepGeom+=stepDict[step][k][
'--geometry']
2659 stepDict[stepName][k] =
merge([{
'--geometry' : dd4hepGeom,
'--procModifiers':
'dd4hep'}, stepDict[step][k]])
2661 return (
'2021' in key
or '2023' in key
or '2026' in key)
and (
'FS' not in key)
2666 'GenSimHLBeamSpot14',
2678 'HARVESTNanoFakeHLT',
2685 upgradeWFs[
'DD4hep'].allowReuse =
False 2690 def setup_(self, step, stepName, stepDict, k, properties):
2691 if 'Run3' in stepDict[step][k][
'--era']
and 'Fast' not in stepDict[step][k][
'--era']:
2692 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic',
'--geometry':
'DB:Extended'}, stepDict[step][k]])
2694 return '2021' in key
and 'FS' not in key
2699 'GenSimHLBeamSpot14',
2711 'HARVESTNanoFakeHLT',
2715 suffix =
'_DD4hepDB',
2718 upgradeWFs[
'DD4hepDB'].allowReuse =
False 2721 def setup_(self, step, stepName, stepDict, k, properties):
2722 the_era = stepDict[step][k][
'--era']
2723 if 'Run3' in the_era
and '2023' not in the_era
and '2024' not in the_era
and 'Fast' not in the_era
and "Pb" not in the_era:
2725 tmp_eras = the_era.split(
',')
2726 tmp_eras[tmp_eras.index(
"Run3")] =
'Run3_DDD' 2727 tmp_eras =
','.
join(tmp_eras)
2728 stepDict[stepName][k] =
merge([{
'--conditions':
'auto:phase1_2022_realistic_ddd',
'--geometry':
'DB:Extended',
'--era': tmp_eras}, stepDict[step][k]])
2730 return '2021' in key
and 'FS' not in key
2735 'GenSimHLBeamSpot14',
2747 'HARVESTNanoFakeHLT',
2754 upgradeWFs[
'DDDDB'].allowReuse =
False 2757 def setup_(self, step, stepName, stepDict, k, properties):
2758 stepDict[stepName][k] =
merge([{
'--procModifiers':
'allSonicTriton'}, stepDict[step][k]])
2760 return ((fragment==
'TTbar_13' or fragment==
'TTbar_14TeV')
and '2021' in key) \
2761 or (fragment==
'TTbar_14TeV' and '2026' in key)
2766 'GenSimHLBeamSpot14',
2778 'HARVESTNanoFakeHLT',
2784 'GenSimHLBeamSpot14',
2796 'HARVESTNanoFakeHLT',
2799 suffix =
'_SonicTriton',
2804 offsets = [specialWF.offset
for specialType,specialWF
in upgradeWFs.items()]
2806 dups = set(x
for x
in offsets
if x
in seen
or seen.add(x))
2808 raise ValueError(
"Duplicate special workflow offsets not allowed: "+
','.
join([
str(x)
for x
in dups]))
2810 upgradeProperties = {}
2812 upgradeProperties[2017] = {
2814 'Geom' :
'DB:Extended',
2815 'GT' :
'auto:phase1_2017_realistic',
2816 'HLTmenu':
'@relval2017',
2817 'Era' :
'Run2_2017',
2818 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2821 'Geom' :
'DB:Extended',
2822 'GT' :
'auto:phase1_2017_design',
2823 'HLTmenu':
'@relval2017',
2824 'Era' :
'Run2_2017',
2825 'BeamSpot':
'DBdesign',
2826 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2829 'Geom' :
'DB:Extended',
2830 'GT' :
'auto:phase1_2018_realistic',
2831 'HLTmenu':
'@relval2018',
2832 'Era' :
'Run2_2018',
2833 'BeamSpot':
'DBrealistic',
2834 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT',
'ALCA',
'Nano'],
2837 'Geom' :
'DB:Extended',
2838 'GT' :
'auto:phase1_2018_design',
2839 'HLTmenu':
'@relval2018',
2840 'Era' :
'Run2_2018',
2841 'BeamSpot':
'DBdesign',
2842 'ScenToRun' : [
'GenSim',
'Digi',
'RecoFakeHLT',
'HARVESTFakeHLT'],
2845 'Geom' :
'DB:Extended',
2846 'GT' :
'auto:phase1_2022_realistic',
2847 'HLTmenu':
'@relval2022',
2849 'BeamSpot':
'DBrealistic',
2850 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2853 'Geom' :
'DB:Extended',
2854 'GT' :
'auto:phase1_2022_design',
2855 'HLTmenu':
'@relval2022',
2857 'BeamSpot':
'DBdesign',
2858 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT'],
2861 'Geom' :
'DB:Extended',
2862 'GT' :
'auto:phase1_2023_realistic',
2863 'HLTmenu':
'@relval2023',
2864 'Era' :
'Run3_2023',
2865 'BeamSpot':
'DBrealistic',
2866 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2869 'Geom' :
'DB:Extended',
2870 'GT' :
'auto:phase1_2024_realistic',
2871 'HLTmenu':
'@relval2024',
2872 'Era' :
'Run3_2024',
2873 'BeamSpot':
'DBrealistic',
2874 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2877 'Geom' :
'DB:Extended',
2878 'GT' :
'auto:phase1_2024_realistic',
2879 'HLTmenu':
'@relval2024',
2881 'BeamSpot':
'DBrealistic',
2882 'ScenToRun' : [
'GenSim',
'DigiNoHLT',
'HLTOnly',
'RecoNano',
'HARVESTNano',
'ALCA'],
2885 'Geom' :
'DB:Extended',
2886 'GT' :
'auto:phase1_2022_realistic',
2887 'HLTmenu':
'@relval2022',
2888 'Era' :
'Run3_FastSim',
2889 'BeamSpot':
'DBrealistic',
2890 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2893 'Geom' :
'DB:Extended',
2894 'GT' :
'auto:phase1_2022_realistic_postEE',
2895 'HLTmenu':
'@relval2022',
2897 'BeamSpot':
'DBrealistic',
2898 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNanoFakeHLT',
'HARVESTNanoFakeHLT',
'ALCA'],
2901 'Geom' :
'DB:Extended',
2902 'GT' :
'auto:phase1_2023_realistic',
2903 'HLTmenu':
'@relval2023',
2904 'Era' :
'Run3_2023_FastSim',
2905 'BeamSpot':
'DBrealistic',
2906 'ScenToRun' : [
'Gen',
'FastSimRun3',
'HARVESTFastRun3'],
2909 'Geom' :
'DB:Extended',
2910 'GT':
'auto:phase1_2022_realistic_hi',
2911 'HLTmenu':
'@fake2',
2912 'Era':
'Run3_pp_on_PbPb',
2913 'BeamSpot':
'DBrealistic',
2914 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2917 'Geom' :
'DB:Extended',
2918 'GT':
'auto:phase1_2022_realistic_hi',
2919 'HLTmenu':
'@fake2',
2920 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2921 'BeamSpot':
'DBrealistic',
2922 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2925 'Geom' :
'DB:Extended',
2926 'GT':
'auto:phase1_2023_realistic_hi',
2927 'HLTmenu':
'@fake2',
2928 'Era':
'Run3_pp_on_PbPb',
2929 'BeamSpot':
'DBrealistic',
2930 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2933 'Geom' :
'DB:Extended',
2934 'GT':
'auto:phase1_2023_realistic_hi',
2935 'HLTmenu':
'@fake2',
2936 'Era':
'Run3_pp_on_PbPb_approxSiStripClusters',
2937 'BeamSpot':
'DBrealistic',
2938 'ScenToRun' : [
'GenSim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2941 'Geom' :
'DB:Extended',
2942 'GT' :
'auto:phase1_2024_realistic',
2944 'BeamSpot':
'DBrealistic',
2945 'ScenToRun' : [
'Gen'],
2948 'Geom' :
'DB:Extended',
2949 'GT' :
'auto:phase1_2024_realistic',
2950 'HLTmenu':
'@relval2024',
2952 'BeamSpot':
'DBrealistic',
2953 'ScenToRun' : [
'Gen',
'Sim',
'Digi',
'RecoNano',
'HARVESTNano',
'ALCA'],
2958 for key
in list(upgradeProperties[2017].
keys()):
2959 upgradeProperties[2017][key+
'PU'] = deepcopy(upgradeProperties[2017][key])
2962 scenToRun = upgradeProperties[2017][key+
'PU'][
'ScenToRun']
2963 for idx,val
in enumerate(scenToRun):
2965 scenToRun[idx] +=
'PU'*(val.startswith(
'Digi')
or val.startswith(
'Reco')
or val.startswith(
'HARVEST'))
2967 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [foo
for foo
in scenToRun
if foo !=
'ALCA']
2969 upgradeProperties[2017][key+
'PU'][
'ScenToRun'] = [
'Gen',
'FastSimRun3PU',
'HARVESTFastRun3PU']
2971 upgradeProperties[2026] = {
2973 'Geom' :
'Extended2026D86',
2974 'HLTmenu':
'@fake2',
2975 'GT' :
'auto:phase2_realistic_T21',
2976 'Era' :
'Phase2C17I13M9',
2977 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2980 'Geom' :
'Extended2026D88',
2981 'HLTmenu':
'@relval2026',
2982 'GT' :
'auto:phase2_realistic_T21',
2983 'Era' :
'Phase2C17I13M9',
2984 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2987 'Geom' :
'Extended2026D91',
2988 'HLTmenu':
'@fake2',
2989 'GT' :
'auto:phase2_realistic_T30',
2990 'Era' :
'Phase2C17I13M9',
2991 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
2994 'Geom' :
'Extended2026D92',
2995 'HLTmenu':
'@fake2',
2996 'GT' :
'auto:phase2_realistic_T21',
2997 'Era' :
'Phase2C17I13M9',
2998 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3001 'Geom' :
'Extended2026D93',
3002 'HLTmenu':
'@fake2',
3003 'GT' :
'auto:phase2_realistic_T21',
3004 'Era' :
'Phase2C17I13M9',
3005 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3008 'Geom' :
'Extended2026D94',
3009 'HLTmenu':
'@fake2',
3010 'GT' :
'auto:phase2_realistic_T21',
3011 'Era' :
'Phase2C20I13M9',
3012 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3015 'Geom' :
'Extended2026D95',
3016 'HLTmenu':
'@relval2026',
3017 'GT' :
'auto:phase2_realistic_T21',
3018 'Era' :
'Phase2C17I13M9',
3019 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3022 'Geom' :
'Extended2026D96',
3023 'HLTmenu':
'@fake2',
3024 'GT' :
'auto:phase2_realistic_T21',
3025 'Era' :
'Phase2C17I13M9',
3026 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3029 'Geom' :
'Extended2026D97',
3030 'HLTmenu':
'@fake2',
3031 'GT' :
'auto:phase2_realistic_T25',
3032 'Era' :
'Phase2C17I13M9',
3033 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3036 'Geom' :
'Extended2026D98',
3037 'HLTmenu':
'@relval2026',
3038 'GT' :
'auto:phase2_realistic_T25',
3039 'Era' :
'Phase2C17I13M9',
3040 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3043 'Geom' :
'Extended2026D99',
3044 'HLTmenu':
'@relval2026',
3045 'GT' :
'auto:phase2_realistic_T25',
3046 'Era' :
'Phase2C17I13M9',
3047 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3050 'Geom' :
'Extended2026D100',
3051 'HLTmenu':
'@relval2026',
3052 'GT' :
'auto:phase2_realistic_T25',
3053 'Era' :
'Phase2C17I13M9',
3054 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3057 'Geom' :
'Extended2026D101',
3058 'HLTmenu':
'@relval2026',
3059 'GT' :
'auto:phase2_realistic_T25',
3060 'Era' :
'Phase2C17I13M9',
3061 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3064 'Geom' :
'Extended2026D102',
3065 'HLTmenu':
'@relval2026',
3066 'GT' :
'auto:phase2_realistic_T33',
3067 'Era' :
'Phase2C17I13M9',
3068 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3071 'Geom' :
'Extended2026D103',
3072 'HLTmenu':
'@relval2026',
3073 'GT' :
'auto:phase2_realistic_T25',
3074 'Era' :
'Phase2C17I13M9',
3075 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3078 'Geom' :
'Extended2026D104',
3079 'HLTmenu':
'@relval2026',
3080 'GT' :
'auto:phase2_realistic_T33',
3081 'Era' :
'Phase2C22I13M9',
3082 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3085 'Geom' :
'Extended2026D105',
3086 'HLTmenu':
'@relval2026',
3087 'GT' :
'auto:phase2_realistic_T33',
3088 'Era' :
'Phase2C17I13M9',
3089 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3092 'Geom' :
'Extended2026D106',
3093 'HLTmenu':
'@relval2026',
3094 'GT' :
'auto:phase2_realistic_T33',
3095 'Era' :
'Phase2C22I13M9',
3096 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3099 'Geom' :
'Extended2026D107',
3100 'HLTmenu':
'@relval2026',
3101 'GT' :
'auto:phase2_realistic_T25',
3102 'Era' :
'Phase2C17I13M9',
3103 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3106 'Geom' :
'Extended2026D108',
3107 'HLTmenu':
'@relval2026',
3108 'GT' :
'auto:phase2_realistic_T33',
3109 'Era' :
'Phase2C17I13M9',
3110 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3113 'Geom' :
'Extended2026D109',
3114 'HLTmenu':
'@relval2026',
3115 'GT' :
'auto:phase2_realistic_T33',
3116 'Era' :
'Phase2C22I13M9',
3117 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3120 'Geom' :
'Extended2026D110',
3121 'HLTmenu':
'@relval2026',
3122 'GT' :
'auto:phase2_realistic_T33',
3123 'Era' :
'Phase2C17I13M9',
3124 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3127 'Geom' :
'Extended2026D111',
3128 'HLTmenu':
'@relval2026',
3129 'GT' :
'auto:phase2_realistic_T36',
3130 'Era' :
'Phase2C22I13M9',
3131 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3134 'Geom' :
'Extended2026D112',
3135 'HLTmenu':
'@relval2026',
3136 'GT' :
'auto:phase2_realistic_T37',
3137 'Era' :
'Phase2C22I13M9',
3138 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3141 'Geom' :
'Extended2026D113',
3142 'HLTmenu':
'@relval2026',
3143 'GT' :
'auto:phase2_realistic_T38',
3144 'Era' :
'Phase2C22I13M9',
3145 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3148 'Geom' :
'Extended2026D114',
3149 'HLTmenu':
'@relval2026',
3150 'GT' :
'auto:phase2_realistic_T33',
3151 'Era' :
'Phase2C17I13M9',
3152 'ScenToRun' : [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3154 '2026D110GenOnly' : {
3155 'Geom' :
'Extended2026D110',
3156 'Beamspot' :
'HLLHC',
3157 'GT' :
'auto:phase2_realistic_T33',
3158 'Era' :
'Phase2C17I13M9',
3159 'ScenToRun' : [
'Gen'],
3161 '2026D110SimOnGen' : {
3162 'Geom' :
'Extended2026D110',
3163 'HLTmenu':
'@relval2026',
3164 'Beamspot' :
'HLLHC',
3165 'GT' :
'auto:phase2_realistic_T33',
3166 'Era' :
'Phase2C17I13M9',
3167 'ScenToRun' : [
'Gen',
'Sim',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'],
3172 for key
in list(upgradeProperties[2026].
keys()):
3173 upgradeProperties[2026][key+
'PU'] = deepcopy(upgradeProperties[2026][key])
3174 upgradeProperties[2026][key+
'PU'][
'ScenToRun'] = [
'GenSimHLBeamSpot',
'DigiTriggerPU',
'RecoGlobalPU',
'HARVESTGlobalPU']
3177 defaultDataSets = {}
3178 for year
in upgradeKeys:
3179 for key
in upgradeKeys[year]:
3180 if 'PU' in key:
continue 3181 defaultDataSets[key] =
'' 3189 upgradeFragments = OrderedDict([
3191 (
'SingleElectronPt10_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt10')),
3192 (
'SingleElectronPt35_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt35')),
3193 (
'SingleElectronPt1000_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElectronPt1000')),
3200 (
'FourMuExtendedPt_1_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'FourMuExtendedPt1_200')),
3201 (
'TenMuExtendedE_0_200_pythia8_cfi',
UpgradeFragment(
Kby(10,100),
'TenMuExtendedE_0_200')),
3202 (
'DoubleElectronPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt10Extended')),
3203 (
'DoubleElectronPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElPt35Extended')),
3204 (
'DoubleElectronPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleElPt1000Extended')),
3205 (
'DoubleGammaPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt10Extended')),
3206 (
'DoubleGammaPt35Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SingleGammaPt35Extended')),
3207 (
'DoubleMuPt1Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt1Extended')),
3208 (
'DoubleMuPt10Extended_pythia8_cfi',
UpgradeFragment(
Kby(25,100),
'SingleMuPt10Extended')),
3209 (
'DoubleMuPt100Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt100Extended')),
3210 (
'DoubleMuPt1000Extended_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt1000Extended')),
3213 (
'MinBias_13TeV_pythia8_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(90,100),
'MinBias_13')),
3216 (
'QCD_Pt_600_800_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_13')),
3217 (
'Wjet_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'Wjet_Pt_80_120_14TeV')),
3218 (
'Wjet_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_14TeV')),
3220 (
'QCD_Pt_3000_3500_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_14TeV')),
3221 (
'QCD_Pt_80_120_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_14TeV')),
3222 (
'H200ChargedTaus_Tauola_14TeV_cfi',
UpgradeFragment(
Kby(9,100),
'Higgs200ChargedTaus_14TeV')),
3226 (
'ZTT_Tauola_All_hadronic_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,100),
'ZTT_14TeV')),
3227 (
'H130GGgluonfusion_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'H130GGgluonfusion_14TeV')),
3228 (
'PhotonJet_Pt_10_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'PhotonJets_Pt_10_14TeV')),
3229 (
'QQH1352T_Tauola_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QQH1352T_Tauola_14TeV')),
3233 (
'QCDForPF_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_14')),
3235 (
'DYToTauTau_M-50_14TeV_pythia8_tauola_cff',
UpgradeFragment(
Kby(9,100),
'DYtoTauTau_M_50_14TeV')),
3237 (
'QCD_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,100),
'QCD_Pt_80_120_13')),
3238 (
'H125GGgluonfusion_13TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_13')),
3239 (
'QCD_Pt20toInf_MuEnrichedPt15_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(19565, 217391),
'QCD_Pt20toInfMuEnrichPt15_14')),
3241 (
'QCD_Pt15To7000_Flat_14TeV_TuneCP5_cff',
UpgradeFragment(
Kby(9,50),
'QCD_Pt15To7000_Flat_14')),
3242 (
'H125GGgluonfusion_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'H125GGgluonfusion_14')),
3243 (
'QCD_Pt_600_800_14TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_600_800_14')),
3246 (
'H200ChargedTaus_Tauola_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'Higgs200ChargedTaus_13')),
3247 (
'ADDMonoJet_13TeV_d3MD3_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'ADDMonoJet_d3MD3_13')),
3249 (
'QCD_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_3000_3500_13')),
3256 (
'PhotonJet_Pt_10_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'PhotonJets_Pt_10_13')),
3258 (
'Wjet_Pt_80_120_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_80_120_13')),
3259 (
'Wjet_Pt_3000_3500_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Wjet_Pt_3000_3500_13')),
3260 (
'SMS-T1tttt_mGl-1500_mLSP-100_13TeV-pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_mGl-1500_mLSP-100_13')),
3261 (
'QCDForPF_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(50,100),
'QCD_FlatPt_15_3000HS_13')),
3262 (
'PYTHIA8_PhiToMuMu_TuneCUETP8M1_13TeV_cff',
UpgradeFragment(
Kby(9,50),
'PhiToMuMu_13')),
3263 (
'RSKKGluon_m3000GeV_13TeV_TuneCUETP8M1_cff',
UpgradeFragment(
Kby(9,50),
'RSKKGluon_m3000GeV_13')),
3267 (
'Upsilon1SToMuMu_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_13')),
3268 (
'EtaBToJpsiJpsi_forSTEAM_TuneCUEP8M1_13TeV_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_13')),
3269 (
'JpsiMuMu_Pt-8_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(3100,100000),
'JpsiMuMu_Pt-8')),
3270 (
'BuMixing_BMuonFilter_forSTEAM_13TeV_TuneCUETP8M1_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_13')),
3271 (
'HSCPstop_M_200_TuneCUETP8M1_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'HSCPstop_M_200_13')),
3272 (
'RSGravitonToGammaGamma_kMpl01_M_3000_TuneCUETP8M1_13TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'RSGravitonToGaGa_13')),
3273 (
'WprimeToENu_M-2000_TuneCUETP8M1_13TeV-pythia8_cff',
UpgradeFragment(
Kby(9,50),
'WpToENu_M-2000_13')),
3274 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_13TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_stopToB_M_800_500mm_13')),
3276 (
'FlatRandomPtAndDxyGunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuonsDxy_0_500')),
3278 (
'SinglePiPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SinglePiPt25Eta1p7_2p7')),
3279 (
'SingleMuPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleMuPt15Eta1p7_2p7')),
3280 (
'SingleGammaPt25Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaPt25Eta1p7_2p7')),
3281 (
'SingleElectronPt15Eta1p7_2p7_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronPt15Eta1p7_2p7')),
3283 (
'CloseByParticle_Photon_ERZRanges_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByParticleGun')),
3284 (
'CE_E_Front_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_300um')),
3285 (
'CE_E_Front_200um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_200um')),
3286 (
'CE_E_Front_120um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_E_Front_120um')),
3290 (
'CE_H_Coarse_Scint_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_Scint')),
3291 (
'CE_H_Coarse_300um_cfi',
UpgradeFragment(
Kby(9,100),
'CloseByPGun_CE_H_Coarse_300um')),
3292 (
'SingleElectronFlatPt2To100_cfi',
UpgradeFragment(
Kby(9,100),
'SingleEFlatPt2To100')),
3295 (
'SingleGammaFlatPt8To150_cfi',
UpgradeFragment(
Kby(9,100),
'SingleGammaFlatPt8To150')),
3298 (
'FlatRandomPtAndDxyGunProducer_MuPt2To10_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To10')),
3299 (
'FlatRandomPtAndDxyGunProducer_MuPt10To30_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt10To30')),
3300 (
'FlatRandomPtAndDxyGunProducer_MuPt30To100_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt30To100')),
3301 (
'B0ToKstarMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(304,3030),
'B0ToKstarMuMu_14TeV')),
3303 (
'BsToJpsiGamma_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(2500,25000),
'BsToJpsiGamma_14TeV')),
3304 (
'BsToJpsiPhi_mumuKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(910,9090),
'BsToJpsiPhi_mumuKK_14TeV')),
3306 (
'BsToPhiPhi_KKKK_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(556,5555),
'BsToPhiPhi_KKKK_14TeV')),
3307 (
'TauToMuMuMu_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(18939,189393),
'TauToMuMuMu_14TeV')),
3308 (
'BdToKstarEleEle_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(206,2061),
'BdToKstarEleEle_14TeV')),
3310 (
'BuMixing_BMuonFilter_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(900,10000),
'BuMixing_14')),
3311 (
'Upsilon1SToMuMu_forSTEAM_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'Upsilon1SToMuMu_14')),
3312 (
'TenTau_E_15_500_Eta3p1_pythia8_cfi',
UpgradeFragment(
Kby(9,100),
'TenTau_15_500_Eta3p1')),
3313 (
'QCD_Pt_1800_2400_14TeV_TuneCP5_cfi',
UpgradeFragment(
Kby(9,50),
'QCD_Pt_1800_2400_14')),
3314 (
'DisplacedSUSY_stopToBottom_M_800_500mm_TuneCP5_14TeV_pythia8_cff',
UpgradeFragment(
Kby(9,50),
'DisplacedSUSY_14TeV')),
3315 (
'GluGluTo2Jets_M_300_2000_14TeV_Exhume_cff',
UpgradeFragment(
Kby(9,100),
'GluGluTo2Jets_14TeV')),
3316 (
'TTbarToDilepton_mt172p5_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'TTbarToDilepton_14TeV')),
3317 (
'QQToHToTauTau_mh125_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'QQToHToTauTau_14TeV')),
3318 (
'ZpToEE_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToEE_m6000_14TeV')),
3319 (
'ZpToMM_m6000_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'ZpToMM_m6000_14TeV')),
3320 (
'SMS-T1tttt_mGl-1500_mLSP-100_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'SMS-T1tttt_14TeV')),
3321 (
'VBFHZZ4Nu_TuneCP5_14TeV_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'VBFHZZ4Nu_14TeV')),
3322 (
'EtaBToJpsiJpsi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(9,50),
'EtaBToJpsiJpsi_14TeV')),
3324 (
'WprimeToLNu_M2000_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(21,50),
'WprimeToLNu_M2000_14TeV')),
3326 (
'DoubleElectronFlatPt1p5To8_cfi',
UpgradeFragment(
Kby(9,100),
'SingleElectronFlatPt1p5To8')),
3327 (
'DoubleMuFlatPt1p5To8Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt1p5To8Dxy100')),
3328 (
'DoubleMuFlatPt2To100Dxy100GunProducer_cfi',
UpgradeFragment(
Kby(9,100),
'DisplacedMuPt2To100Dxy100')),
3329 (
'BuToJPsiPrimeKToJPsiPiPiK_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(223,2222),
'BuToJPsiPrimeKToJPsiPiPiK_14TeV')),
3330 (
'Psi2SToJPsiPiPi_14TeV_TuneCP5_pythia8_cfi',
UpgradeFragment(
Kby(45,500),
'Psi2SToJPsiPiPi_14TeV')),
3331 (
'XiMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Kby(8000,90000),
'XiMinus_13p6TeV')),
3332 (
'Chib1PToUpsilon1SGamma_MuFilter_TuneCP5_14TeV-pythia8_evtgen_cfi',
UpgradeFragment(
Kby(3600,36000),
'Chib1PToUpsilon1SGamma_14TeV')),
3333 (
'ChicToJpsiGamma_MuFilter_TuneCP5_14TeV_pythia8_evtgen_cfi',
UpgradeFragment(
Kby(2000,20000),
'ChicToJpsiGamma_14TeV')),
3334 (
'B0ToJpsiK0s_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Kby(38000,38000),
'B0ToJpsiK0s_DGamma0_13p6TeV')),
3335 (
'DStarToD0Pi_D0ToKsPiPi_inclusive_SoftQCD_TuneCP5_13p6TeV-pythia8-evtgen',
UpgradeFragment(
Kby(38000,38000),
'DStarToD0Pi_D0ToKsPiPi_13p6TeV')),
3336 (
'LbToJpsiLambda_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(66,660000),
'LbToJpsiLambda_DGamma0_13p6TeV')),
3337 (
'LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',
UpgradeFragment(
Mby(50,500000),
'LbToJpsiXiK0sPr_DGamma0_13p6TeV')),
3338 (
'OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',
UpgradeFragment(
Mby(100,1000000),
'OmegaMinus_13p6TeV')),
3339 (
'Hydjet_Quenched_MinBias_5020GeV_cfi',
UpgradeFragment(U2000by1,
'HydjetQMinBias_5020GeV')),
3340 (
'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 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)
bool any(const std::vector< T > &v, const T &what)
def setupPU(self, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setupPU_(self, step, stepName, stepDict, k, properties)
def replace(string, replacements)
def condition(self, fragment, stepList, key, hasHarvest)
def preventReuse(self, stepName, stepDict, k)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def workflow_(self, workflows, num, fragment, stepList, key)
def condition(self, fragment, stepList, key, hasHarvest)
def workflow_(self, workflows, num, fragment, stepList, key)
def setup_(self, step, stepName, stepDict, k, properties)
def __init__(self, reco={}, harvest={}, kwargs)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setupPU_(self, step, stepName, stepDict, k, properties)
def __init__(self, digi={}, reco={}, harvest={}, kwargs)
def __init__(self, howMuch, dataset)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def workflow(self, workflows, num, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def __init__(self, suffix, offset, ecalTPPh2, ecalMod, steps=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger, RecoGlobal, HARVESTGlobal, ALCAPhase2, PU=['GenSim', GenSimHLBeamSpot, GenSimHLBeamSpot14, GenSimHLBeamSpotHGCALCloseBy, Digi, DigiTrigger, RecoGlobal, HARVESTGlobal, ALCAPhase2)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setupPU_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def __init__(self, digi={}, reco={}, mini={}, harvest={}, kwargs)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def split(sequence, size)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
static std::string join(char **cmd)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup(self, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def getStepName(self, step, extra="")
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup__(self, step, stepName, stepDict, k, properties)
def condition_(self, fragment, stepList, key, hasHarvest)
def setup_(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def Kby(N, s)
Standard release validation samples ####.
def __init__(self, steps, PU, suffix, offset)
def __init__(self, steps, PU, suffix, offset)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def setup_(self, step, stepName, stepDict, k, properties)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def __init__(self, suffix, offset, fixedPU, steps=[], PU=['GenSimHLBeamSpot14', Digi, DigiTrigger, Reco, RecoFakeHLT, RecoGlobal, RecoNano, RecoNanoFakeHLT, HARVEST, HARVESTFakeHLT, HARVESTGlobal, HARVESTNano, HARVESTNanoFakeHLT, MiniAOD, ALCA, ALCAPhase2, Nano)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)
def setup__(self, step, stepName, stepDict, k, properties)
def getStepNamePU(self, step, extra="")
def condition_(self, fragment, stepList, key, hasHarvest)
def condition(self, fragment, stepList, key, hasHarvest)