From e223f731abfa4831851288b5b0b8159038931a4b Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 03:54:34 +0100 Subject: [PATCH 01/29] updates for heavy ions, ported from 75X; minor refactoring in RecoTLR as well --- .../DataProcessing/python/Impl/HeavyIonsRun2.py | 8 ++++++++ Configuration/DataProcessing/python/Reco.py | 15 +++++++++++++++ Configuration/DataProcessing/python/RecoTLR.py | 15 ++++++++------- .../DataProcessing/test/RunPromptReco.py | 15 ++++++++++++++- 4 files changed, 45 insertions(+), 8 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py index 33997347e29d2..01f74ea657c66 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py @@ -33,6 +33,11 @@ def _checkMINIAOD(self,**args): if a['dataTier'] == 'MINIAOD': raise RuntimeError("MINIAOD is not supported in HeavyIonsRun2") + + def _setRepackedFlag(self,args): + if not 'repacked' in args: + args['repacked']= True + def promptReco(self, globalTag, **args): """ _promptReco_ @@ -41,6 +46,7 @@ def promptReco(self, globalTag, **args): """ self._checkMINIAOD(**args) + self._setRepackedFlag(args) if not 'skims' in args: args['skims']=['@allForPrompt'] @@ -64,6 +70,7 @@ def expressProcessing(self, globalTag, **args): """ self._checkMINIAOD(**args) + self._setRepackedFlag(args) if not 'skims' in args: args['skims']=['@allForExpress'] @@ -86,6 +93,7 @@ def visualizationProcessing(self, globalTag, **args): """ self._checkMINIAOD(**args) + self._setRepackedFlag(args) customsFunction = self.visCustoms if not 'customs' in args: diff --git a/Configuration/DataProcessing/python/Reco.py b/Configuration/DataProcessing/python/Reco.py index aeeb5c8bb90d3..5918f26b59f91 100644 --- a/Configuration/DataProcessing/python/Reco.py +++ b/Configuration/DataProcessing/python/Reco.py @@ -26,6 +26,16 @@ def __init__(self): """ + + def _checkRepackedFlag(self, options, **args): + if 'repacked' in args: + if args['repacked'] == True: + options.isRepacked = True + else: + options.isRepacked = False + + + def promptReco(self, globalTag, **args): """ _promptReco_ @@ -55,6 +65,7 @@ def promptReco(self, globalTag, **args): """ options.runUnscheduled=True + self._checkRepackedFlag(options, **args) if 'customs' in args: options.customisation_file=args['customs'] @@ -117,6 +128,8 @@ def expressProcessing(self, globalTag, **args): if 'customs' in args: options.customisation_file=args['customs'] + self._checkRepackedFlag(options,**args) + cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() @@ -166,6 +179,8 @@ def visualizationProcessing(self, globalTag, **args): if 'customs' in args: options.customisation_file=args['customs'] + self._checkRepackedFlag(options, **args) + cb = ConfigBuilder(options, process = process, with_output = True, with_input = True) cb.prepare() diff --git a/Configuration/DataProcessing/python/RecoTLR.py b/Configuration/DataProcessing/python/RecoTLR.py index ee1061648d9c5..d7030a2e98f11 100644 --- a/Configuration/DataProcessing/python/RecoTLR.py +++ b/Configuration/DataProcessing/python/RecoTLR.py @@ -21,6 +21,12 @@ def _addLumiProducer(process): return process +def _overridesFor50ns(process): + process.bunchSpacingProducer.bunchSpacingOverride = cms.uint32(50) + process.bunchSpacingProducer.overrideBunchSpacing = cms.bool(True) + + return process + #gone with the fact that there is no difference between production and development sequence #def customiseCommon(process): # return (process) @@ -97,12 +103,7 @@ def customiseDataRun2Common_25ns(process): def customiseDataRun2Common_50nsRunsAfter253000(process): process = customiseDataRun2Common_withStage1(process) - if hasattr(process,'particleFlowClusterECAL'): - process.particleFlowClusterECAL.energyCorrector.autoDetectBunchSpacing = False - process.particleFlowClusterECAL.energyCorrector.bunchSpacing = cms.int32(50) - if hasattr(process,'ecalMultiFitUncalibRecHit'): - process.ecalMultiFitUncalibRecHit.algoPSet.useLumiInfoRunHeader = False - process.ecalMultiFitUncalibRecHit.algoPSet.bunchSpacing = cms.int32(50) + process = _overridesFor50ns(process) return process @@ -201,6 +202,7 @@ def customisePromptHI(process): def customiseRun2CommonHI(process): process = customiseDataRun2Common_withStage1(process) + process = _overridesFor50ns(process) # HI Specific additional customizations: # from L1Trigger.L1TCommon.customsPostLS1 import customiseSimL1EmulatorForPostLS1_Additional_HI # process = customiseSimL1EmulatorForPostLS1_Additional_HI(process) @@ -217,7 +219,6 @@ def customiseRun2ExpressHI(process): ############################################################################## def customiseRun2PromptHI(process): process = customiseRun2CommonHI(process) - process = _swapOfflineBSwithOnline(process) process = _addLumiProducer(process) diff --git a/Configuration/DataProcessing/test/RunPromptReco.py b/Configuration/DataProcessing/test/RunPromptReco.py index 5a560c6da22dc..74b4f5a7b0aed 100644 --- a/Configuration/DataProcessing/test/RunPromptReco.py +++ b/Configuration/DataProcessing/test/RunPromptReco.py @@ -29,6 +29,8 @@ def __init__(self): self.alcaRecos = None self.PhysicsSkims = None self.dqmSeq = None + self.setRepacked = False + self.isRepacked = False def __call__(self): if self.scenario == None: @@ -93,6 +95,9 @@ def __call__(self): if self.dqmSeq: kwds['dqmSeq'] = self.dqmSeq + if self.setRepacked: + kwds['repacked'] = self.isRepacked + process = scenario.promptReco(self.globalTag, **kwds) except NotImplementedError as ex: @@ -119,7 +124,7 @@ def __call__(self): if __name__ == '__main__': valid = ["scenario=", "reco", "aod", "miniaod","dqm", "dqmio", "no-output", - "global-tag=", "lfn=", "alcarecos=", "PhysicsSkims=", "dqmSeq=" ] + "global-tag=", "lfn=", "alcarecos=", "PhysicsSkims=", "dqmSeq=", "isRepacked", "isNotRepacked" ] usage = \ """ RunPromptReco.py @@ -131,6 +136,7 @@ def __call__(self): --miniaod (to enable MiniAOD output) --dqm (to enable DQM output) --dqmio (to enable DQMIO output) + --isRepacked --isNotRepacked (to override default repacked flags) --no-output (create config with no output, overrides other settings) --global-tag=GlobalTag --lfn=/store/input/lfn @@ -182,5 +188,12 @@ def __call__(self): recoinator.PhysicsSkims = [ x for x in arg.split('+') if len(x) > 0 ] if opt == "--dqmSeq": recoinator.dqmSeq = [ x for x in arg.split('+') if len(x) > 0 ] + if opt == "--isRepacked": + recoinator.setRepacked = True + recoinator.isRepacked = True + if opt == "--isNotRepacked": + recoinator.setRepacked = True + recoinator.isRepacked = False + recoinator() From 4eca9367adc105ed3de6e7fd88efee093fdadbbe Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:17:33 +0100 Subject: [PATCH 02/29] check for existence first --- SLHCUpgradeSimulations/Configuration/python/postLS1Customs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SLHCUpgradeSimulations/Configuration/python/postLS1Customs.py b/SLHCUpgradeSimulations/Configuration/python/postLS1Customs.py index 5d2905696bc80..e543003a09f63 100644 --- a/SLHCUpgradeSimulations/Configuration/python/postLS1Customs.py +++ b/SLHCUpgradeSimulations/Configuration/python/postLS1Customs.py @@ -788,7 +788,8 @@ def customise_L1Emulator(process): def customise_RawToDigi(process): - process.RawToDigi.remove(process.gtEvmDigis) + if hasattr(process,'gtEvmDigis'): + process.RawToDigi.remove(process.gtEvmDigis) return process From 6acce77ec42e2460df2fb466e31f7a3980acf3c5 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:17:59 +0100 Subject: [PATCH 03/29] add new Era-based scenarios --- Configuration/DataProcessing/test/run_CfgTest.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Configuration/DataProcessing/test/run_CfgTest.sh b/Configuration/DataProcessing/test/run_CfgTest.sh index 0396b9e54bdf5..ce8cabced56dd 100755 --- a/Configuration/DataProcessing/test/run_CfgTest.sh +++ b/Configuration/DataProcessing/test/run_CfgTest.sh @@ -13,7 +13,7 @@ function runTest { echo $1 ; python $1 || die "Failure for configuration: $1" $? runTest "${LOCAL_TEST_DIR}/RunRepack.py --select-events HLT:path1,HLT:path2 --lfn /store/whatever" -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "ppRun2B0T" "HeavyIons" "ppRun2at50ns") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunExpressProcessing.py --scenario $scenario --global-tag GLOBALTAG --lfn /store/whatever --fevt --dqmio --alcareco TkAlMinBias+SiStripCalMinBias " @@ -22,13 +22,13 @@ do done -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "HeavyIons" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "ppRun2B0T" "ppRun2at50ns") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunPromptReco.py --scenario $scenario --reco --aod --dqmio --global-tag GLOBALTAG --lfn=/store/whatever --alcareco TkAlMinBias+SiStripCalMinBias" done -declare -a arr=("HeavyIonsRun2") +declare -a arr=("HeavyIonsRun2" "HeavyIonsEra_Run2_HI") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunExpressProcessing.py --scenario $scenario --global-tag GLOBALTAG --lfn /store/whatever --fevt --dqmio --alcareco TkAlMinBiasHI+SiStripCalMinBias " @@ -36,14 +36,14 @@ do done -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "HeavyIons" "HeavyIonsRun2" "AlCaLumiPixels" "ppRun2B0T" "ppRun2at50ns") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "HeavyIons" "HeavyIonsRun2" "HeavyIonsEra_Run2_HI" "AlCaLumiPixels" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunAlcaSkimming.py --scenario $scenario --lfn=/store/whatever --global-tag GLOBALTAG --skims SiStripCalZeroBias,SiStripCalMinBias,PromptCalibProd" runTest "${LOCAL_TEST_DIR}/RunDQMHarvesting.py --scenario $scenario --lfn /store/whatever --run 12345 --dataset /A/B/C --global-tag GLOBALTAG" done -declare -a arr=("ppRun2" "ppRun2B0T" "ppRun2at50ns") +declare -a arr=("ppRun2" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016" ) for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunPromptReco.py --scenario $scenario --reco --aod --miniaod --dqmio --global-tag GLOBALTAG --lfn=/store/whatever --alcareco TkAlMinBias+SiStripCalMinBias" From 9267b5bf70002ca02011a919e61ad8132f9f21e0 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:20:04 +0100 Subject: [PATCH 04/29] add eras to constructed process --- Configuration/DataProcessing/python/Impl/AlCa.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/AlCa.py b/Configuration/DataProcessing/python/Impl/AlCa.py index 780438e12ae75..866a0e9d69ea2 100644 --- a/Configuration/DataProcessing/python/Impl/AlCa.py +++ b/Configuration/DataProcessing/python/Impl/AlCa.py @@ -14,6 +14,9 @@ import FWCore.ParameterSet.Config as cms class AlCa(Scenario): + def __init__(self): + Scenario.__init__(self) + """ _AlCa_ @@ -37,7 +40,7 @@ def promptReco(self, globalTag, **args): dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process('RECO') + process = cms.Process('RECO', self.eras) cb = ConfigBuilder(options, process = process, with_output = True) # Input source @@ -65,7 +68,7 @@ def alcaSkim(self, skims, **args): options.triggerResultsProcess = 'RECO' - process = cms.Process('ALCA') + process = cms.Process('ALCA', self.eras) cb = ConfigBuilder(options, process = process) # Input source @@ -92,7 +95,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.name = "EDMtoMEConvert" options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = dqmIOSource(args) configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() From 3163d67d82c7f6bafcdb28618749f69c83b6df72 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:20:31 +0100 Subject: [PATCH 05/29] call base class __init__ --- Configuration/DataProcessing/python/Impl/AlCaLumiPixels.py | 1 + Configuration/DataProcessing/python/Impl/AlCaP0.py | 1 + Configuration/DataProcessing/python/Impl/AlCaPhiSymEcal.py | 1 + Configuration/DataProcessing/python/Impl/AlCaTestEnable.py | 1 + 4 files changed, 4 insertions(+) diff --git a/Configuration/DataProcessing/python/Impl/AlCaLumiPixels.py b/Configuration/DataProcessing/python/Impl/AlCaLumiPixels.py index 08a8adac5ce04..ddf931c9c5dde 100644 --- a/Configuration/DataProcessing/python/Impl/AlCaLumiPixels.py +++ b/Configuration/DataProcessing/python/Impl/AlCaLumiPixels.py @@ -10,6 +10,7 @@ class AlCaLumiPixels(AlCa): def __init__(self): + AlCa.__init__(self) self.skims=['LumiPixels'] """ _AlCaLumiPixels_ diff --git a/Configuration/DataProcessing/python/Impl/AlCaP0.py b/Configuration/DataProcessing/python/Impl/AlCaP0.py index bfae107fc1a19..b66768b216c49 100644 --- a/Configuration/DataProcessing/python/Impl/AlCaP0.py +++ b/Configuration/DataProcessing/python/Impl/AlCaP0.py @@ -10,6 +10,7 @@ class AlCaP0(AlCa): def __init__(self): + AlCa.__init__(self) self.skims=['@AlCaP0'] """ _AlCaP0_ diff --git a/Configuration/DataProcessing/python/Impl/AlCaPhiSymEcal.py b/Configuration/DataProcessing/python/Impl/AlCaPhiSymEcal.py index 453593d534026..a865721330751 100644 --- a/Configuration/DataProcessing/python/Impl/AlCaPhiSymEcal.py +++ b/Configuration/DataProcessing/python/Impl/AlCaPhiSymEcal.py @@ -10,6 +10,7 @@ class AlCaPhiSymEcal(AlCa): def __init__(self): + AlCa.__init__(self) self.skims=['@AlCaPhiSym'] """ _AlCaPhiSymEcal_ diff --git a/Configuration/DataProcessing/python/Impl/AlCaTestEnable.py b/Configuration/DataProcessing/python/Impl/AlCaTestEnable.py index c8d7720dc3a57..7ad31f96f1d03 100644 --- a/Configuration/DataProcessing/python/Impl/AlCaTestEnable.py +++ b/Configuration/DataProcessing/python/Impl/AlCaTestEnable.py @@ -10,6 +10,7 @@ class AlCaTestEnable(AlCa): def __init__(self): + AlCa.__init__(self) self.skims=['TkAlLAS'] """ _AlCaTestEnable_ From ded69f765fcc27c719b22744d8f12fa157280eb3 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:25:37 +0100 Subject: [PATCH 06/29] add eras to constructed process --- Configuration/DataProcessing/python/Impl/relvalgen.py | 4 +++- Configuration/DataProcessing/python/Impl/relvalmc.py | 4 +++- Configuration/DataProcessing/python/Impl/relvalmcfs.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/relvalgen.py b/Configuration/DataProcessing/python/Impl/relvalgen.py index 46b190dd58c74..f8e58b6d79583 100644 --- a/Configuration/DataProcessing/python/Impl/relvalgen.py +++ b/Configuration/DataProcessing/python/Impl/relvalgen.py @@ -13,6 +13,8 @@ import FWCore.ParameterSet.Config as cms class relvalgen(Scenario): + def __init__(self): + Scenario.__init__(self) """ _relvalgen_ @@ -42,7 +44,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.filein = [] options.harvesting = "AtJobEnd" - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = cms.Source("PoolSource") configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() diff --git a/Configuration/DataProcessing/python/Impl/relvalmc.py b/Configuration/DataProcessing/python/Impl/relvalmc.py index de001c08b7d5e..e44cfd54170a7 100644 --- a/Configuration/DataProcessing/python/Impl/relvalmc.py +++ b/Configuration/DataProcessing/python/Impl/relvalmc.py @@ -14,6 +14,8 @@ class relvalmc(Scenario): + def __init__(self): + Scenario.__init__(self) """ _relvalmc_ @@ -41,7 +43,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.evt_type = "" options.filein = [] - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = cms.Source("PoolSource") configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() diff --git a/Configuration/DataProcessing/python/Impl/relvalmcfs.py b/Configuration/DataProcessing/python/Impl/relvalmcfs.py index 80f46ec6d5542..8b47f3788f72b 100644 --- a/Configuration/DataProcessing/python/Impl/relvalmcfs.py +++ b/Configuration/DataProcessing/python/Impl/relvalmcfs.py @@ -14,6 +14,8 @@ class relvalmcfs(Scenario): + def __init__(self): + Scenario.__init__(self) """ _relvalmcfs_ @@ -38,7 +40,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.name = "EDMtoMEConvert" options.conditions = globalTag - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = cms.Source("PoolSource") configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() From df2fbaee46771a8a3c54be372898e6137560a173 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:26:00 +0100 Subject: [PATCH 07/29] add eras to constructed process --- Configuration/DataProcessing/python/Impl/preprodmc.py | 4 +++- Configuration/DataProcessing/python/Impl/prodmc.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/preprodmc.py b/Configuration/DataProcessing/python/Impl/preprodmc.py index 2a9b90acdfd0a..e51ffb60391ca 100644 --- a/Configuration/DataProcessing/python/Impl/preprodmc.py +++ b/Configuration/DataProcessing/python/Impl/preprodmc.py @@ -14,6 +14,8 @@ class preprodmc(Scenario): + def __init__(self): + Scenario.__init__(self) """ _preprodmc_ @@ -41,7 +43,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.evt_type = "" options.filein = [] - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) if args.get('newDQMIO', False): process.source = cms.Source("DQMRootSource") else: diff --git a/Configuration/DataProcessing/python/Impl/prodmc.py b/Configuration/DataProcessing/python/Impl/prodmc.py index a8a2121c8b723..f60ee69230c66 100644 --- a/Configuration/DataProcessing/python/Impl/prodmc.py +++ b/Configuration/DataProcessing/python/Impl/prodmc.py @@ -13,6 +13,8 @@ import FWCore.ParameterSet.Config as cms class prodmc(Scenario): + def __init__(self): + Scenario.__init__(self) """ _prodmc_ @@ -40,7 +42,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.evt_type = "" options.filein = [] - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) if args.get('newDQMIO', False): process.source = cms.Source("DQMRootSource") else: From e6e104ed82841036dda8c7ee73e0fb5e9b7666d3 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:37:17 +0100 Subject: [PATCH 08/29] add eras to constructed process --- Configuration/DataProcessing/python/Impl/DataScouting.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/DataScouting.py b/Configuration/DataProcessing/python/Impl/DataScouting.py index 4a3aa112cea63..8fd9eb8f2de93 100644 --- a/Configuration/DataProcessing/python/Impl/DataScouting.py +++ b/Configuration/DataProcessing/python/Impl/DataScouting.py @@ -16,6 +16,8 @@ from Configuration.DataProcessing.RecoTLR import customisePrompt,customiseExpress class DataScouting(Scenario): + def __init__(self): + Scenario.__init__(self) """ _DataScouting_ @@ -40,7 +42,7 @@ def promptReco(self, globalTag, **args): dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process('DataScouting') + process = cms.Process('DataScouting', self.eras) cb = ConfigBuilder(options, process = process, with_output = True) # Input source @@ -64,7 +66,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.name = "EDMtoMEConvert" options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = dqmIOSource(args) configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() From 7772387660a43a8499e191fcb222b4f145270328 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:37:26 +0100 Subject: [PATCH 09/29] add eras to constructed process --- Configuration/DataProcessing/python/Impl/Test.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/Test.py b/Configuration/DataProcessing/python/Impl/Test.py index 19e050efc5286..bd4202361addd 100644 --- a/Configuration/DataProcessing/python/Impl/Test.py +++ b/Configuration/DataProcessing/python/Impl/Test.py @@ -13,6 +13,8 @@ import FWCore.ParameterSet.Config as cms class Test(Scenario): + def __init__(self): + Scenario.__init__(self) """ _Test_ @@ -28,7 +30,7 @@ def promptReco(self, globalTag): Returns skeleton process object """ - return cms.Process("RECO") + return cms.Process("RECO", self.eras) def expressProcessing(self, globalTag): @@ -38,7 +40,7 @@ def expressProcessing(self, globalTag): Returns skeleton process object """ - return cms.Process("Express") + return cms.Process("Express", self.eras) def alcaSkim(self, skims): @@ -48,7 +50,7 @@ def alcaSkim(self, skims): Returns skeleton process object """ - return cms.Process("ALCARECO") + return cms.Process("ALCARECO", self.eras) def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): @@ -85,7 +87,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.__dict__.update(args) - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = cms.Source("PoolSource") configBuilder = ConfigBuilder(options, process = process) configBuilder.prepare() @@ -114,4 +116,4 @@ def skimming(self, *skims): Returns skeleton process object """ - return cms.Process("Skimming") + return cms.Process("Skimming", self.eras) From b4c3eb8d07af293a369532ec9b00f6b5722fa945 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:39:14 +0100 Subject: [PATCH 10/29] add a member eras to hold era modifiers --- Configuration/DataProcessing/python/Scenario.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configuration/DataProcessing/python/Scenario.py b/Configuration/DataProcessing/python/Scenario.py index a756952645f0e..4f828572ba9d8 100644 --- a/Configuration/DataProcessing/python/Scenario.py +++ b/Configuration/DataProcessing/python/Scenario.py @@ -27,7 +27,7 @@ class Scenario(object): """ def __init__(self): - pass + self.eras=cms.Modifier() def promptReco(self, globalTag, **options): From ab14c8f8fcddecfc8017a986ec8be8b18b9c02bf Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Fri, 19 Feb 2016 22:39:52 +0100 Subject: [PATCH 11/29] pass eras to cms.Process construction --- Configuration/DataProcessing/python/Reco.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Configuration/DataProcessing/python/Reco.py b/Configuration/DataProcessing/python/Reco.py index 5918f26b59f91..8d209a92dd9c2 100644 --- a/Configuration/DataProcessing/python/Reco.py +++ b/Configuration/DataProcessing/python/Reco.py @@ -16,6 +16,7 @@ class Reco(Scenario): def __init__(self): + Scenario.__init__(self) self.recoSeq='' self.cbSc=self.__class__.__name__ """ @@ -80,7 +81,7 @@ def promptReco(self, globalTag, **args): dictIO(options,args) options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process('RECO') + process = cms.Process('RECO', self.eras) cb = ConfigBuilder(options, process = process, with_output = True) # Input source @@ -123,7 +124,7 @@ def expressProcessing(self, globalTag, **args): options.filein = 'tobeoverwritten.xyz' if 'inputSource' in args: options.filetype = args['inputSource'] - process = cms.Process('RECO') + process = cms.Process('RECO', self.eras) if 'customs' in args: options.customisation_file=args['customs'] @@ -174,7 +175,7 @@ def visualizationProcessing(self, globalTag, **args): print "Using %s source"%options.filetype - process = cms.Process('RECO') + process = cms.Process('RECO', self.eras) if 'customs' in args: options.customisation_file=args['customs'] @@ -229,7 +230,7 @@ def alcaSkim(self, skims, **args): if 'customs' in args: options.customisation_file=args['customs'] - process = cms.Process('ALCA') + process = cms.Process('ALCA', self.eras) cb = ConfigBuilder(options, process = process) # Input source @@ -262,7 +263,7 @@ def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): options.name = "EDMtoMEConvert" options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process("HARVESTING") + process = cms.Process("HARVESTING", self.eras) process.source = dqmIOSource(args) if 'customs' in args: @@ -297,7 +298,7 @@ def alcaHarvesting(self, globalTag, datasetName, **args): options.name = "ALCAHARVEST" options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process("ALCAHARVEST") + process = cms.Process("ALCAHARVEST", self.eras) process.source = cms.Source("PoolSource") if 'customs' in args: @@ -328,7 +329,7 @@ def skimming(self, skims, globalTag,**options): options.step = "SKIM:"+('+'.join(skims)) options.name = "SKIM" options.conditions = gtNameAndConnect(globalTag, args) - process = cms.Process("SKIM") + process = cms.Process("SKIM", self.eras) process.source = cms.Source("PoolSource") if 'customs' in args: @@ -346,7 +347,7 @@ def repack(self, **args): options.filein='file.dat' options.filetype='DAT' options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__ - process = cms.Process('REPACK') + process = cms.Process('REPACK', self.eras) cb = ConfigBuilder(options, process = process, with_output = True,with_input=True) cb.prepare() print cb.pythonCfgCode From fce815b6e2d853a7f8741035f0a16246f32f58fc Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 00:43:20 +0100 Subject: [PATCH 12/29] some of it could have been era-based ... might be temporary --- DPGAnalysis/Skims/python/logErrorSkim_cff.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/DPGAnalysis/Skims/python/logErrorSkim_cff.py b/DPGAnalysis/Skims/python/logErrorSkim_cff.py index 9fa4334b776c1..7cb718c0a2a5b 100644 --- a/DPGAnalysis/Skims/python/logErrorSkim_cff.py +++ b/DPGAnalysis/Skims/python/logErrorSkim_cff.py @@ -1,10 +1,17 @@ from FWCore.Modules.logErrorFilter_cfi import * -from Configuration.StandardSequences.RawToDigi_Data_cff import gtEvmDigis + stableBeam = cms.EDFilter("HLTBeamModeFilter", L1GtEvmReadoutRecordTag = cms.InputTag("gtEvmDigis"), AllowedBeamMode = cms.vuint32(11), saveTags = cms.bool(False) ) +from L1Trigger.Configuration.L1TRawToDigi_cff import L1TRawToDigi +if not "gtEvmDigis" in L1TRawToDigi.moduleNames(): + import EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmUnpack_cfi + gtEvmDigis = EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmUnpack_cfi.l1GtEvmUnpack.clone() + gtEvmDigis.EvmGtInputTag = 'rawDataCollector' +else: + from L1Trigger.Configuration.L1TRawToDigi_cff import gtEvmDigis logerrorseq=cms.Sequence(gtEvmDigis+stableBeam+logErrorSkimFilter) logerrormonitorseq=cms.Sequence(gtEvmDigis+stableBeam+logErrorFilter) From fb4936f90b0a92e95278a46f34e11d058ee35965 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 00:43:56 +0100 Subject: [PATCH 13/29] add traceback to runtime exception --- Configuration/DataProcessing/test/RunPromptReco.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Configuration/DataProcessing/test/RunPromptReco.py b/Configuration/DataProcessing/test/RunPromptReco.py index 74b4f5a7b0aed..0fa8ac2f5f1ee 100644 --- a/Configuration/DataProcessing/test/RunPromptReco.py +++ b/Configuration/DataProcessing/test/RunPromptReco.py @@ -9,6 +9,7 @@ import sys import getopt +import traceback from Configuration.DataProcessing.GetScenario import getScenario @@ -105,7 +106,7 @@ def __call__(self): return except Exception as ex: msg = "Error creating Prompt Reco config:\n" - msg += str(ex) + msg += traceback.format_exc() raise RuntimeError(msg) process.source.fileNames.append(self.inputLFN) From 1555a7da9f9e3c7b83a5d17c84ee956e18b601e1 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 00:45:51 +0100 Subject: [PATCH 14/29] scrap run1 setups and start with what was used in run2 (structurally): customizations with Run2 should still be cleaned up --- .../DataProcessing/python/Impl/HeavyIons.py | 237 +++++------------- .../DataProcessing/python/Impl/cosmics.py | 22 +- .../DataProcessing/python/Impl/hcalnzs.py | 3 + .../DataProcessing/python/Impl/pp.py | 20 +- 4 files changed, 92 insertions(+), 190 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIons.py b/Configuration/DataProcessing/python/Impl/HeavyIons.py index 07427c22737d4..567a597e358de 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIons.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIons.py @@ -2,62 +2,64 @@ """ _HeavyIons_ -Scenario supporting heavy-ion collisions +Scenario supporting heavy ions collisions """ import os import sys -from Configuration.DataProcessing.Scenario import * -from Configuration.DataProcessing.Utils import stepALCAPRODUCER,addMonitoring,dictIO,dqmIOSource +from Configuration.DataProcessing.Reco import Reco import FWCore.ParameterSet.Config as cms -from Configuration.DataProcessing.RecoTLR import customisePromptHI,customiseExpressHI -class HeavyIons(Scenario): +class HeavyIons(Reco): + def __init__(self): + Reco.__init__(self) + self.recoSeq='' + self.cbSc='HeavyIons' + self.promptCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2PromptHI' + self.expressCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' + self.visCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' """ _HeavyIons_ - Implement configuration building for data processing for - heavy-ion collision data taking + Implement configuration building for data processing for Heavy Ions + collision data taking for Run2 """ + def _checkMINIAOD(self,**args): + if 'outputs' in args: + for a in args['outputs']: + if a['dataTier'] == 'MINIAOD': + raise RuntimeError("MINIAOD is not supported in HeavyIons") + + + def _setRepackedFlag(self,args): + if not 'repacked' in args: + args['repacked']= True def promptReco(self, globalTag, **args): """ _promptReco_ - Heavy-ion collision data taking prompt reco + Heavy ions collision data taking prompt reco """ + self._checkMINIAOD(**args) + self._setRepackedFlag(args) - skims = ['SiStripCalZeroBias', - 'SiStripCalMinBias', - 'TkAlMinBiasHI', - 'HcalCalMinBias', - 'DtCalibHI'] - step = stepALCAPRODUCER(skims) - options = Options() - options.__dict__.update(defaultOptions.__dict__) - options.scenario = "HeavyIons" - options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB' - options.isRepacked = True - dictIO(options,args) - options.conditions = globalTag - - process = cms.Process('RECO') - cb = ConfigBuilder(options, process = process, with_output=True) + if not 'skims' in args: + args['skims']=['@allForPrompt'] - # Input source - process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring() - ) - cb.prepare() + customsFunction = self.promptCustoms + if not 'customs' in args: + args['customs']=[ customsFunction ] + else: + args['customs'].append(customsFunction) + + process = Reco.promptReco(self,globalTag, **args) - customisePromptHI(process) - addMonitoring(process) - return process @@ -65,167 +67,58 @@ def expressProcessing(self, globalTag, **args): """ _expressProcessing_ - Heavy-ion collision data taking express processing + Heavy ions collision data taking express processing """ + self._checkMINIAOD(**args) + self._setRepackedFlag(args) - skims = ['SiStripCalZeroBias', - 'TkAlMinBiasHI'] - step = stepALCAPRODUCER(skims) - options = Options() - options.__dict__.update(defaultOptions.__dict__) - options.scenario = "HeavyIons" - options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB' - options.isRepacked = True - dictIO(options,args) - options.conditions = globalTag - - process = cms.Process('RECO') - cb = ConfigBuilder(options, process = process, with_output=True) + if not 'skims' in args: + args['skims']=['@allForExpress'] - # Input source - process.source = cms.Source("NewEventStreamFileReader", - fileNames = cms.untracked.vstring() - ) - cb.prepare() + customsFunction = self.expressCustoms + if not 'customs' in args: + args['customs']=[ customsFunction ] + else: + args['customs'].append( customsFunction ) - customiseExpressHI(process) - addMonitoring(process) + process = Reco.expressProcessing(self,globalTag, **args) return process - - def alcaSkim(self, skims, **args): + def visualizationProcessing(self, globalTag, **args): """ - _alcaSkim_ - - AlcaReco processing & skims for heavy-ion collisions - - """ - - globalTag = None - if 'globaltag' in args: - globalTag = args['globaltag'] - - step = "" - if 'PromptCalibProd' in skims: - step = "ALCA:PromptCalibProd" - skims.remove('PromptCalibProd') - - if len( skims ) > 0: - if step != "": - step += "," - step += "ALCAOUTPUT:" - - for skim in skims: - step += (skim+"+") - options = Options() - options.__dict__.update(defaultOptions.__dict__) - options.scenario = "HeavyIons" - options.step = step.rstrip('+') - options.isMC = False - options.isData = True - options.beamspot = None - options.eventcontent = None - options.relval = None - if globalTag != None : - options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag - options.triggerResultsProcess = 'RECO' - - process = cms.Process('ALCA') - cb = ConfigBuilder(options, process = process) - - # Input source - process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring() - ) - - cb.prepare() - - # FIXME: dirty hack..any way around this? - # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier - if 'PromptCalibProd' in step: - process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string('ALCAPROMPT') - - return process + _visualizationProcessing_ + Heavy ions collision data taking visualization processing - def dqmHarvesting(self, datasetName, runNumber, globalTag, **args): """ - _dqmHarvesting_ - - Heavy-ion collisions data taking DQM Harvesting + self._checkMINIAOD(**args) + self._setRepackedFlag(args) - """ - options = defaultOptions - options.scenario = "HeavyIons" - options.step = "HARVESTING:dqmHarvesting" - options.isMC = False - options.isData = True - options.beamspot = None - options.eventcontent = None - options.name = "EDMtoMEConvert" - options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag - options.arguments = "" - options.evt_type = "" - options.filein = [] - - process = cms.Process("HARVESTING") - if args.get('newDQMIO', False): - process.source = cms.Source("DQMRootSource") + customsFunction = self.visCustoms + if not 'customs' in args: + args['customs']=[ customsFunction ] else: - process.source = cms.Source("PoolSource") - configBuilder = ConfigBuilder(options, process = process) - configBuilder.prepare() - - # - # customise process for particular job - # - process.source.processingMode = cms.untracked.string('RunsAndLumis') - process.source.fileNames = cms.untracked(cms.vstring()) - process.maxEvents.input = -1 - process.dqmSaver.workflow = datasetName - process.dqmSaver.saveByLumiSection = 1 - if 'referenceFile' in args and args.get('referenceFile', ''): - process.DQMStore.referenceFileName = \ - cms.untracked.string(args['referenceFile']) + args['customs'].append( customsFunction ) + process = Reco.visualizationProcessing(self,globalTag, **args) + return process - def alcaHarvesting(self, globalTag, datasetName, **args): """ _alcaHarvesting_ - Heavy-ion collisions data taking AlCa Harvesting + Heavy ions collisions data taking AlCa Harvesting """ - options = defaultOptions - options.scenario = "HeavyIons" - options.step = "ALCAHARVEST:BeamSpotByRun+BeamSpotByLumi" - options.isMC = False - options.isData = True - options.beamspot = None - options.eventcontent = None - options.name = "ALCAHARVEST" - options.conditions = globalTag - options.arguments = "" - options.evt_type = "" - options.filein = [] - - process = cms.Process("ALCAHARVEST") - process.source = cms.Source("PoolSource") - configBuilder = ConfigBuilder(options, process = process) - configBuilder.prepare() - - # - # customise process for particular job - # - process.source.processingMode = cms.untracked.string('RunsAndLumis') - process.source.fileNames = cms.untracked(cms.vstring()) - process.maxEvents.input = -1 - process.dqmSaver.workflow = datasetName - - return process + self._checkMINIAOD(**args) + + if not 'skims' in args and not 'alcapromptdataset' in args: + args['skims']=['BeamSpotByRun', + 'BeamSpotByLumi', + 'SiStripQuality'] + + return Reco.alcaHarvesting(self, globalTag, datasetName, **args) diff --git a/Configuration/DataProcessing/python/Impl/cosmics.py b/Configuration/DataProcessing/python/Impl/cosmics.py index b378990c3b1cb..091815b353b25 100644 --- a/Configuration/DataProcessing/python/Impl/cosmics.py +++ b/Configuration/DataProcessing/python/Impl/cosmics.py @@ -12,11 +12,15 @@ from Configuration.DataProcessing.Reco import Reco class cosmics(Reco): + def __init__(self): + Reco.__init__(self) + self.recoSeq='' + self.cbSc='cosmics' """ _cosmics_ Implement configuration building for data processing for cosmic - data taking + data taking in Run2 """ @@ -30,12 +34,10 @@ def promptReco(self, globalTag, **args): """ if not 'skims' in args: args['skims']= ['@allForPromptCosmics'] - if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') - + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') process = Reco.promptReco(self,globalTag, **args) return process @@ -51,11 +53,10 @@ def expressProcessing(self, globalTag, **args): if not 'skims' in args: args['skims']= ['@allForExpressCosmics'] - if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') process = Reco.expressProcessing(self,globalTag, **args) return process @@ -69,9 +70,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') process = Reco.visualizationProcessing(self,globalTag, **args) process.reconstructionCosmics.remove(process.lumiProducer) @@ -85,6 +86,7 @@ def alcaHarvesting(self, globalTag, datasetName, **args): Proton collisions data taking AlCa Harvesting """ + if not 'skims' in args and not 'alcapromptdataset' in args: args['skims']=['SiStripQuality'] diff --git a/Configuration/DataProcessing/python/Impl/hcalnzs.py b/Configuration/DataProcessing/python/Impl/hcalnzs.py index eb479e47929f3..89ef0b0172253 100644 --- a/Configuration/DataProcessing/python/Impl/hcalnzs.py +++ b/Configuration/DataProcessing/python/Impl/hcalnzs.py @@ -13,6 +13,7 @@ class hcalnzs(pp): def __init__(self): + pp.__init__(self) self.recoSeq=':reconstruction_HcalNZS' self.cbSc='pp' """ @@ -31,5 +32,7 @@ def promptReco(self, globalTag, **args): """ if not 'skims' in args: args['skims']=['HcalCalMinBias'] + process = pp.promptReco(self,globalTag,**args) + return process diff --git a/Configuration/DataProcessing/python/Impl/pp.py b/Configuration/DataProcessing/python/Impl/pp.py index 53fca9e546107..7fc72eaab1f1f 100644 --- a/Configuration/DataProcessing/python/Impl/pp.py +++ b/Configuration/DataProcessing/python/Impl/pp.py @@ -13,11 +13,15 @@ import FWCore.ParameterSet.Config as cms class pp(Reco): + def __init__(self): + Reco.__init__(self) + self.recoSeq='' + self.cbSc='pp' """ _pp_ Implement configuration building for data processing for proton - collision data taking + collision data taking for Run2 """ @@ -33,9 +37,9 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePrompt'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePrompt') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2') process = Reco.promptReco(self,globalTag, **args) @@ -53,9 +57,9 @@ def expressProcessing(self, globalTag, **args): args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') process = Reco.expressProcessing(self,globalTag, **args) @@ -68,11 +72,10 @@ def visualizationProcessing(self, globalTag, **args): Proton collision data taking visualization processing """ - if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') process = Reco.visualizationProcessing(self,globalTag, **args) @@ -86,6 +89,7 @@ def alcaHarvesting(self, globalTag, datasetName, **args): """ + if not 'skims' in args and not 'alcapromptdataset' in args: args['skims']=['BeamSpotByRun', 'BeamSpotByLumi', From fd22803567a36bdd6ba39f9b290fef41577a01a3 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 00:47:05 +0100 Subject: [PATCH 15/29] call __init__ to keep base class definitions --- Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py | 1 + Configuration/DataProcessing/python/Impl/cosmicsRun2.py | 1 + Configuration/DataProcessing/python/Impl/hcalnzsRun2.py | 1 + Configuration/DataProcessing/python/Impl/ppRun2.py | 1 + Configuration/DataProcessing/python/Impl/ppRun2B0T.py | 1 + Configuration/DataProcessing/python/Impl/ppRun2at50ns.py | 1 + 6 files changed, 6 insertions(+) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py index 01f74ea657c66..7cdac4dc3190d 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py @@ -14,6 +14,7 @@ class HeavyIonsRun2(Reco): def __init__(self): + Reco.__init__(self) self.recoSeq='' self.cbSc='HeavyIons' self.promptCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2PromptHI' diff --git a/Configuration/DataProcessing/python/Impl/cosmicsRun2.py b/Configuration/DataProcessing/python/Impl/cosmicsRun2.py index fb65da3436741..14eeb3a028b9b 100644 --- a/Configuration/DataProcessing/python/Impl/cosmicsRun2.py +++ b/Configuration/DataProcessing/python/Impl/cosmicsRun2.py @@ -13,6 +13,7 @@ class cosmicsRun2(Reco): def __init__(self): + Reco.__init__(self) self.recoSeq='' self.cbSc='cosmics' """ diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py b/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py index 97c5ec9cb7243..09153a82ddac9 100644 --- a/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py +++ b/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py @@ -13,6 +13,7 @@ class hcalnzsRun2(pp): def __init__(self): + pp.__init__(self) self.recoSeq=':reconstruction_HcalNZS' self.cbSc='pp' """ diff --git a/Configuration/DataProcessing/python/Impl/ppRun2.py b/Configuration/DataProcessing/python/Impl/ppRun2.py index 87936c441b8c9..38729d6932d99 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2.py @@ -14,6 +14,7 @@ class ppRun2(Reco): def __init__(self): + Reco.__init__(self) self.recoSeq='' self.cbSc='pp' """ diff --git a/Configuration/DataProcessing/python/Impl/ppRun2B0T.py b/Configuration/DataProcessing/python/Impl/ppRun2B0T.py index 9880e1b36c70a..6fd6319b26087 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2B0T.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2B0T.py @@ -14,6 +14,7 @@ class ppRun2B0T(Reco): def __init__(self): + Reco.__init__(self) self.recoSeq='' self.cbSc='pp' """ diff --git a/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py b/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py index 56bc9b42c29e8..165fe77756089 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py @@ -14,6 +14,7 @@ class ppRun2at50ns(Reco): def __init__(self): + Reco.__init__(self) self.recoSeq='' self.cbSc='pp' """ From 06d30e8fc3575233d99998a9f1e6c76fe3bcbd80 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 00:49:17 +0100 Subject: [PATCH 16/29] era-based scenarios; these can eventually be auto-generated --- .../python/Impl/HeavyIonsEra_Run2_HI.py | 29 ++++++++++++++++++ .../python/Impl/cosmicsEra_Run2_2016.py | 25 ++++++++++++++++ .../python/Impl/cosmicsEra_Run2_25ns.py | 25 ++++++++++++++++ .../python/Impl/cosmicsEra_Run2_50ns.py | 25 ++++++++++++++++ .../python/Impl/hcalnzsEra_Run2_2016.py | 27 +++++++++++++++++ .../python/Impl/ppEra_Run2_2016.py | 30 +++++++++++++++++++ .../python/Impl/ppEra_Run2_25ns.py | 30 +++++++++++++++++++ .../python/Impl/ppEra_Run2_50ns.py | 30 +++++++++++++++++++ 8 files changed, 221 insertions(+) create mode 100644 Configuration/DataProcessing/python/Impl/HeavyIonsEra_Run2_HI.py create mode 100644 Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_2016.py create mode 100644 Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_25ns.py create mode 100644 Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_50ns.py create mode 100644 Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py create mode 100644 Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py create mode 100644 Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py create mode 100644 Configuration/DataProcessing/python/Impl/ppEra_Run2_50ns.py diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsEra_Run2_HI.py b/Configuration/DataProcessing/python/Impl/HeavyIonsEra_Run2_HI.py new file mode 100644 index 0000000000000..79776568e6ba9 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/HeavyIonsEra_Run2_HI.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +""" +_HeavyIonsEra_Run2_HI_ + +Scenario supporting heavy ions collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Reco import Reco +import FWCore.ParameterSet.Config as cms +import Configuration.StandardSequences.Eras as eras + +from Configuration.DataProcessing.Impl.HeavyIons import HeavyIons + +class HeavyIonsEra_Run2_HI(HeavyIons): + def __init__(self): + HeavyIons.__init__(self) + self.eras = eras.eras.Run2_HI + """ + _HeavyIonsEra_Run2_HI_ + + Implement configuration building for data processing for Heavy Ions + collision data taking for Run2 + + """ + diff --git a/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_2016.py new file mode 100644 index 0000000000000..42df328c7ce0a --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_2016.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +""" +_cosmicsEra_Run2_2016_ + +Scenario supporting cosmic data taking + +""" + +import os +import sys + +import Configuration.StandardSequences.Eras as eras +from Configuration.DataProcessing.Impl.cosmics import cosmics + +class cosmicsEra_Run2_2016(cosmics): + def __init__(self): + cosmics.__init__(self) + self.eras = eras.eras.Run2_2016 + """ + _cosmicsEra_Run2_2016_ + + Implement configuration building for data processing for cosmic + data taking in Run2 + + """ diff --git a/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_25ns.py b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_25ns.py new file mode 100644 index 0000000000000..526604cf0c7bc --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_25ns.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +""" +_cosmicsEra_Run2_25ns_ + +Scenario supporting cosmic data taking + +""" + +import os +import sys + +import Configuration.StandardSequences.Eras as eras +from Configuration.DataProcessing.Impl.cosmics import cosmics + +class cosmicsEra_Run2_25ns(cosmics): + def __init__(self): + cosmics.__init__(self) + self.eras = eras.eras.Run2_25ns + """ + _cosmicsEra_Run2_25ns_ + + Implement configuration building for data processing for cosmic + data taking in Run2 + + """ diff --git a/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_50ns.py b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_50ns.py new file mode 100644 index 0000000000000..fa55fda259ba8 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/cosmicsEra_Run2_50ns.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +""" +_cosmicsEra_Run2_50ns_ + +Scenario supporting cosmic data taking + +""" + +import os +import sys + +import Configuration.StandardSequences.Eras as eras +from Configuration.DataProcessing.Impl.cosmics import cosmics + +class cosmicsEra_Run2_50ns(cosmics): + def __init__(self): + cosmics.__init__(self) + self.eras = eras.eras.Run2_50ns + """ + _cosmicsEra_Run2_50ns_ + + Implement configuration building for data processing for cosmic + data taking in Run2 + + """ diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py new file mode 100644 index 0000000000000..eb74ee74de552 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +""" +_hcalnzsEra_Run2_2016_ + +Scenario supporting proton collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Impl.hcalnzs import hcalnzs +import Configuration.StandardSequences.Eras as eras + +class hcalnzsEra_Run2_2016(hcalnzs): + def __init__(self): + hcalnzs.__init__(self) + self.recoSeq=':reconstruction_HcalNZS' + self.cbSc='pp' + self.eras = eras.eras.Run2_2016 + """ + _hcalnzsEra_Run2_2016_ + + Implement configuration building for data processing for proton + collision data taking + + """ diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py new file mode 100644 index 0000000000000..9a8b25d681485 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +""" +_ppEra_Run2_2016_ + +Scenario supporting proton collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Reco import Reco +import FWCore.ParameterSet.Config as cms +import Configuration.StandardSequences.Eras as eras + +from Configuration.DataProcessing.Impl.pp import pp + +class ppEra_Run2_2016(pp): + def __init__(self): + pp.__init__(self) + self.recoSeq='' + self.cbSc='pp' + self.eras=eras.eras.Run2_2016 + """ + _ppEra_Run2_2016_ + + Implement configuration building for data processing for proton + collision data taking for Run2 + + """ diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py new file mode 100644 index 0000000000000..9f3165d621449 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +""" +_ppEra_Run2_25ns_ + +Scenario supporting proton collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Reco import Reco +import FWCore.ParameterSet.Config as cms +import Configuration.StandardSequences.Eras as eras + +from Configuration.DataProcessing.Impl.pp import pp + +class ppEra_Run2_25ns(pp): + def __init__(self): + pp.__init__(self) + self.recoSeq='' + self.cbSc='pp' + self.eras=eras.eras.Run2_25ns + """ + _ppEra_Run2_25ns_ + + Implement configuration building for data processing for proton + collision data taking for Run2 + + """ diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_50ns.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_50ns.py new file mode 100644 index 0000000000000..41593ca812d10 --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_50ns.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +""" +_ppEra_Run2_50ns_ + +Scenario supporting proton collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Reco import Reco +import FWCore.ParameterSet.Config as cms +import Configuration.StandardSequences.Eras as eras + +from Configuration.DataProcessing.Impl.pp import pp + +class ppEra_Run2_50ns(pp): + def __init__(self): + pp.__init__(self) + self.recoSeq='' + self.cbSc='pp' + self.eras=eras.eras.Run2_50ns + """ + _ppEra_Run2_50ns_ + + Implement configuration building for data processing for proton + collision data taking for Run2 + + """ From 9f8c439d12f2ad6aef56c25caa8573a3c039020a Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 01:01:43 +0100 Subject: [PATCH 17/29] cosmicsEra_ scenarios --- Configuration/DataProcessing/test/run_CfgTest.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Configuration/DataProcessing/test/run_CfgTest.sh b/Configuration/DataProcessing/test/run_CfgTest.sh index ce8cabced56dd..dfa3409a42680 100755 --- a/Configuration/DataProcessing/test/run_CfgTest.sh +++ b/Configuration/DataProcessing/test/run_CfgTest.sh @@ -13,7 +13,7 @@ function runTest { echo $1 ; python $1 || die "Failure for configuration: $1" $? runTest "${LOCAL_TEST_DIR}/RunRepack.py --select-events HLT:path1,HLT:path2 --lfn /store/whatever" -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "cosmicsEra_Run2_25ns" "cosmicsEra_Run2_2016" "ppRun2" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunExpressProcessing.py --scenario $scenario --global-tag GLOBALTAG --lfn /store/whatever --fevt --dqmio --alcareco TkAlMinBias+SiStripCalMinBias " @@ -22,7 +22,7 @@ do done -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "cosmicsEra_Run2_25ns" "cosmicsEra_Run2_2016" "ppRun2" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunPromptReco.py --scenario $scenario --reco --aod --dqmio --global-tag GLOBALTAG --lfn=/store/whatever --alcareco TkAlMinBias+SiStripCalMinBias" @@ -36,7 +36,7 @@ do done -declare -a arr=("cosmics" "pp" "cosmicsRun2" "ppRun2" "HeavyIons" "HeavyIonsRun2" "HeavyIonsEra_Run2_HI" "AlCaLumiPixels" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "cosmicsEra_Run2_25ns" "cosmicsEra_Run2_2016" "ppRun2" "HeavyIons" "HeavyIonsRun2" "HeavyIonsEra_Run2_HI" "AlCaLumiPixels" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunAlcaSkimming.py --scenario $scenario --lfn=/store/whatever --global-tag GLOBALTAG --skims SiStripCalZeroBias,SiStripCalMinBias,PromptCalibProd" From 3944308894d8302f7610e980fefe08c6aedabfe5 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 15:43:39 +0100 Subject: [PATCH 18/29] use default customizations (no Run2 in the name) for base T0 scenarios --- .../DataProcessing/python/Impl/HeavyIons.py | 8 ++++---- .../DataProcessing/python/Impl/cosmics.py | 14 +++++++------- Configuration/DataProcessing/python/Impl/pp.py | 14 +++++++------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIons.py b/Configuration/DataProcessing/python/Impl/HeavyIons.py index 567a597e358de..52c1d22b41eb3 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIons.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIons.py @@ -17,14 +17,14 @@ def __init__(self): Reco.__init__(self) self.recoSeq='' self.cbSc='HeavyIons' - self.promptCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2PromptHI' - self.expressCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' - self.visCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' + self.promptCustoms='Configuration/DataProcessing/RecoTLR.customisePromptHI' + self.expressCustoms='Configuration/DataProcessing/RecoTLR.customiseExpressHI' + self.visCustoms='Configuration/DataProcessing/RecoTLR.customiseExpressHI' """ _HeavyIons_ Implement configuration building for data processing for Heavy Ions - collision data taking for Run2 + collision data taking """ diff --git a/Configuration/DataProcessing/python/Impl/cosmics.py b/Configuration/DataProcessing/python/Impl/cosmics.py index 091815b353b25..01d0e8df036c6 100644 --- a/Configuration/DataProcessing/python/Impl/cosmics.py +++ b/Configuration/DataProcessing/python/Impl/cosmics.py @@ -20,7 +20,7 @@ def __init__(self): _cosmics_ Implement configuration building for data processing for cosmic - data taking in Run2 + data taking """ @@ -35,9 +35,9 @@ def promptReco(self, globalTag, **args): if not 'skims' in args: args['skims']= ['@allForPromptCosmics'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') process = Reco.promptReco(self,globalTag, **args) return process @@ -54,9 +54,9 @@ def expressProcessing(self, globalTag, **args): if not 'skims' in args: args['skims']= ['@allForExpressCosmics'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') process = Reco.expressProcessing(self,globalTag, **args) return process @@ -70,9 +70,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicData'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicData') process = Reco.visualizationProcessing(self,globalTag, **args) process.reconstructionCosmics.remove(process.lumiProducer) diff --git a/Configuration/DataProcessing/python/Impl/pp.py b/Configuration/DataProcessing/python/Impl/pp.py index 7fc72eaab1f1f..a846c02511ee7 100644 --- a/Configuration/DataProcessing/python/Impl/pp.py +++ b/Configuration/DataProcessing/python/Impl/pp.py @@ -21,7 +21,7 @@ def __init__(self): _pp_ Implement configuration building for data processing for proton - collision data taking for Run2 + collision data taking """ @@ -37,9 +37,9 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePrompt'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePrompt') process = Reco.promptReco(self,globalTag, **args) @@ -57,9 +57,9 @@ def expressProcessing(self, globalTag, **args): args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') process = Reco.expressProcessing(self,globalTag, **args) @@ -73,9 +73,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') process = Reco.visualizationProcessing(self,globalTag, **args) From 92dfb82739c0ce54059eb05b9477fa21c7af07e8 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 15:44:44 +0100 Subject: [PATCH 19/29] rename Run2 T0 processing methods to Run2Deprecated --- .../DataProcessing/python/Impl/HeavyIonsRun2.py | 6 +++--- .../DataProcessing/python/Impl/cosmicsRun2.py | 12 ++++++------ .../DataProcessing/python/Impl/hcalnzsRun2.py | 4 ++-- Configuration/DataProcessing/python/Impl/ppRun2.py | 12 ++++++------ .../DataProcessing/python/Impl/ppRun2B0T.py | 12 ++++++------ .../DataProcessing/python/Impl/ppRun2at50ns.py | 12 ++++++------ 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py index 7cdac4dc3190d..1422439fddb87 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py @@ -17,9 +17,9 @@ def __init__(self): Reco.__init__(self) self.recoSeq='' self.cbSc='HeavyIons' - self.promptCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2PromptHI' - self.expressCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' - self.visCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2ExpressHI' + self.promptCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2DeprecatedPromptHI' + self.expressCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2DeprecatedExpressHI' + self.visCustoms='Configuration/DataProcessing/RecoTLR.customiseRun2DeprecatedExpressHI' """ _HeavyIonsRun2_ diff --git a/Configuration/DataProcessing/python/Impl/cosmicsRun2.py b/Configuration/DataProcessing/python/Impl/cosmicsRun2.py index 14eeb3a028b9b..2df0212aba786 100644 --- a/Configuration/DataProcessing/python/Impl/cosmicsRun2.py +++ b/Configuration/DataProcessing/python/Impl/cosmicsRun2.py @@ -35,9 +35,9 @@ def promptReco(self, globalTag, **args): if not 'skims' in args: args['skims']= ['@allForPromptCosmics'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated') process = Reco.promptReco(self,globalTag, **args) return process @@ -54,9 +54,9 @@ def expressProcessing(self, globalTag, **args): if not 'skims' in args: args['skims']= ['@allForExpressCosmics'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated') process = Reco.expressProcessing(self,globalTag, **args) return process @@ -70,9 +70,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseCosmicDataRun2Deprecated') process = Reco.visualizationProcessing(self,globalTag, **args) process.reconstructionCosmics.remove(process.lumiProducer) diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py b/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py index 09153a82ddac9..588f536b6d8ea 100644 --- a/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py +++ b/Configuration/DataProcessing/python/Impl/hcalnzsRun2.py @@ -34,9 +34,9 @@ def promptReco(self, globalTag, **args): args['skims']=['HcalCalMinBias'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated') process = pp.promptReco(self,globalTag,**args) diff --git a/Configuration/DataProcessing/python/Impl/ppRun2.py b/Configuration/DataProcessing/python/Impl/ppRun2.py index 38729d6932d99..884872ab06b22 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2.py @@ -37,9 +37,9 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated') process = Reco.promptReco(self,globalTag, **args) @@ -57,9 +57,9 @@ def expressProcessing(self, globalTag, **args): args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated') process = Reco.expressProcessing(self,globalTag, **args) @@ -73,9 +73,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated') process = Reco.visualizationProcessing(self,globalTag, **args) diff --git a/Configuration/DataProcessing/python/Impl/ppRun2B0T.py b/Configuration/DataProcessing/python/Impl/ppRun2B0T.py index 6fd6319b26087..268fa427924fa 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2B0T.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2B0T.py @@ -37,9 +37,9 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2B0T'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2DeprecatedB0T'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2B0T') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2DeprecatedB0T') process = Reco.promptReco(self,globalTag, **args) @@ -56,9 +56,9 @@ def expressProcessing(self, globalTag, **args): if not 'skims' in args: args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2B0T'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2DeprecatedB0T'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2B0T') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2DeprecatedB0T') process = Reco.expressProcessing(self,globalTag, **args) @@ -73,9 +73,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2B0T'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2DeprecatedB0T'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2B0T') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2DeprecatedB0T') process = Reco.visualizationProcessing(self,globalTag, **args) diff --git a/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py b/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py index 165fe77756089..23f0f9b67c3d8 100644 --- a/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py +++ b/Configuration/DataProcessing/python/Impl/ppRun2at50ns.py @@ -37,9 +37,9 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2_50ns'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated_50ns'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2_50ns') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePromptRun2Deprecated_50ns') process = Reco.promptReco(self,globalTag, **args) @@ -57,9 +57,9 @@ def expressProcessing(self, globalTag, **args): args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2_50ns'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated_50ns'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2_50ns') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated_50ns') process = Reco.expressProcessing(self,globalTag, **args) @@ -73,9 +73,9 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2_50ns'] + args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated_50ns'] else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2_50ns') + args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpressRun2Deprecated_50ns') process = Reco.visualizationProcessing(self,globalTag, **args) From ffd9a4294acfdb74a0401c00e86f04e51bf1f0f5 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 15:47:36 +0100 Subject: [PATCH 20/29] rename Run2 T0 processing methods to Run2Deprecated; move all Run2 methods shared with cmsDriver/data processing to the end of the file with a message that they are to be removed in 81X --- .../DataProcessing/python/RecoTLR.py | 147 +++++++++--------- 1 file changed, 74 insertions(+), 73 deletions(-) diff --git a/Configuration/DataProcessing/python/RecoTLR.py b/Configuration/DataProcessing/python/RecoTLR.py index d7030a2e98f11..ef2bb0ca1f28c 100644 --- a/Configuration/DataProcessing/python/RecoTLR.py +++ b/Configuration/DataProcessing/python/RecoTLR.py @@ -48,11 +48,64 @@ def customisePPMC(process): ############################################################################## def customiseCosmicData(process): + return process + + +############################################################################## +def customiseCosmicMC(process): + return process + +############################################################################## +def customiseVALSKIM(process): + print "WARNING" + print "this method is outdated, please use RecoTLR.customisePPData" + process= customisePPData(process) return process + +############################################################################## +def customiseExpress(process): + process= customisePPData(process) + process = _swapOfflineBSwithOnline(process) + + return process +############################################################################## +def customisePrompt(process): + process= customisePPData(process) + process = _addLumiProducer(process) + return process + +############################################################################## +# Heavy Ions +############################################################################## +# keep it in case modification is needed +def customiseCommonHI(process): + return process + +############################################################################## +def customiseExpressHI(process): + process = customiseCommonHI(process) + process = _swapOfflineBSwithOnline(process) + + return process + +############################################################################## +def customisePromptHI(process): + process = customiseCommonHI(process) + + process = _addLumiProducer(process) + + return process + +############################################################################## +############################################################################## +## +## ALL FUNCTIONS BELOW ARE GOING TO BE REMOVED IN 81X +## +############################################################################## ############################################################################## # this is supposed to be added on top of other (Run1) data customs def customiseDataRun2Common(process): @@ -108,116 +161,64 @@ def customiseDataRun2Common_50nsRunsAfter253000(process): return process ############################################################################## -def customiseCosmicDataRun2(process): - process = customiseCosmicData(process) - process = customiseDataRun2Common_25ns(process) - return process - - -############################################################################## -def customiseCosmicMC(process): +# keep it in case modification is needed +def customiseRun2CommonHI(process): + process = customiseDataRun2Common_withStage1(process) - return process - -############################################################################## -def customiseVALSKIM(process): - print "WARNING" - print "this method is outdated, please use RecoTLR.customisePPData" - process= customisePPData(process) + process = _overridesFor50ns(process) + # HI Specific additional customizations: + # from L1Trigger.L1TCommon.customsPostLS1 import customiseSimL1EmulatorForPostLS1_Additional_HI + # process = customiseSimL1EmulatorForPostLS1_Additional_HI(process) + return process - ############################################################################## -def customiseExpress(process): - process= customisePPData(process) - process = _swapOfflineBSwithOnline(process) - +def customiseCosmicDataRun2Deprecated(process): + process = customiseCosmicData(process) + process = customiseDataRun2Common_25ns(process) return process ############################################################################## -def customiseExpressRun2(process): +def customiseExpressRun2Deprecated(process): process = customiseExpress(process) process = customiseDataRun2Common_25ns(process) return process -def customiseExpressRun2_50ns(process): +def customiseExpressRun2Deprecated_50ns(process): process = customiseExpress(process) process = customiseDataRun2Common_50nsRunsAfter253000(process) return process -def customiseExpressRun2B0T(process): +def customiseExpressRun2DeprecatedB0T(process): process=customiseForRunI(process) - process=customiseExpressRun2(process) + process=customiseExpressRun2Deprecated(process) return process ############################################################################## -def customisePrompt(process): - process= customisePPData(process) - process = _addLumiProducer(process) - - return process - -############################################################################## -def customisePromptRun2(process): +def customisePromptRun2Deprecated(process): process = customisePrompt(process) process = customiseDataRun2Common_25ns(process) return process -def customisePromptRun2_50ns(process): +def customisePromptRun2Deprecated_50ns(process): process = customisePrompt(process) process = customiseDataRun2Common_50nsRunsAfter253000(process) return process -def customisePromptRun2B0T(process): +def customisePromptRun2DeprecatedB0T(process): process=customiseForRunI(process) - process=customisePromptRun2(process) - return process - - -############################################################################## -# Heavy Ions -############################################################################## -# keep it in case modification is needed -def customiseCommonHI(process): - return process - -############################################################################## -def customiseExpressHI(process): - process = customiseCommonHI(process) - process = _swapOfflineBSwithOnline(process) - - return process - -############################################################################## -def customisePromptHI(process): - process = customiseCommonHI(process) - process = _swapOfflineBSwithOnline(process) - - process = _addLumiProducer(process) - - return process - -############################################################################## -# keep it in case modification is needed -def customiseRun2CommonHI(process): - process = customiseDataRun2Common_withStage1(process) - - process = _overridesFor50ns(process) - # HI Specific additional customizations: - # from L1Trigger.L1TCommon.customsPostLS1 import customiseSimL1EmulatorForPostLS1_Additional_HI - # process = customiseSimL1EmulatorForPostLS1_Additional_HI(process) - + process=customisePromptRun2Deprecated(process) return process ############################################################################## -def customiseRun2ExpressHI(process): +def customiseRun2DeprecatedExpressHI(process): process = customiseRun2CommonHI(process) process = _swapOfflineBSwithOnline(process) return process ############################################################################## -def customiseRun2PromptHI(process): +def customiseRun2DeprecatedPromptHI(process): process = customiseRun2CommonHI(process) process = _addLumiProducer(process) From 003b856431a0325eb9dee1d82843695b58593bac Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 17:17:14 +0100 Subject: [PATCH 21/29] add hcalnzs 25ns eras for completeness --- .../python/Impl/hcalnzsEra_Run2_25ns.py | 27 +++++++++++++++++++ .../DataProcessing/test/run_CfgTest.sh | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py new file mode 100644 index 0000000000000..bae03ea898a4f --- /dev/null +++ b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +""" +_hcalnzsEra_Run2_25ns_ + +Scenario supporting proton collisions + +""" + +import os +import sys + +from Configuration.DataProcessing.Impl.hcalnzs import hcalnzs +import Configuration.StandardSequences.Eras as eras + +class hcalnzsEra_Run2_25ns(hcalnzs): + def __init__(self): + hcalnzs.__init__(self) + self.recoSeq=':reconstruction_HcalNZS' + self.cbSc='pp' + self.eras = eras.eras.Run2_25ns + """ + _hcalnzsEra_Run2_25ns_ + + Implement configuration building for data processing for proton + collision data taking + + """ diff --git a/Configuration/DataProcessing/test/run_CfgTest.sh b/Configuration/DataProcessing/test/run_CfgTest.sh index dfa3409a42680..e33311b463ab4 100755 --- a/Configuration/DataProcessing/test/run_CfgTest.sh +++ b/Configuration/DataProcessing/test/run_CfgTest.sh @@ -22,7 +22,7 @@ do done -declare -a arr=("cosmics" "pp" "cosmicsRun2" "cosmicsEra_Run2_25ns" "cosmicsEra_Run2_2016" "ppRun2" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") +declare -a arr=("cosmics" "pp" "cosmicsRun2" "cosmicsEra_Run2_25ns" "cosmicsEra_Run2_2016" "ppRun2" "AlCaLumiPixels" "AlCaTestEnable" "hcalnzs" "hcalnzsRun2" "hcalnzsEra_Run2_25ns" "hcalnzsEra_Run2_2016" "ppRun2B0T" "ppRun2at50ns" "ppEra_Run2_50ns" "ppEra_Run2_25ns" "ppEra_Run2_2016") for scenario in "${arr[@]}" do runTest "${LOCAL_TEST_DIR}/RunPromptReco.py --scenario $scenario --reco --aod --dqmio --global-tag GLOBALTAG --lfn=/store/whatever --alcareco TkAlMinBias+SiStripCalMinBias" From a6787c85c8a8c9b79b605da3c9f3f30a4fbffea0 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sat, 20 Feb 2016 20:02:00 +0100 Subject: [PATCH 22/29] fix 50ns era settings --- .../LumiProducer/python/bunchSpacingProducer_cfi.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 RecoLuminosity/LumiProducer/python/bunchSpacingProducer_cfi.py diff --git a/RecoLuminosity/LumiProducer/python/bunchSpacingProducer_cfi.py b/RecoLuminosity/LumiProducer/python/bunchSpacingProducer_cfi.py new file mode 100644 index 0000000000000..95810b045de94 --- /dev/null +++ b/RecoLuminosity/LumiProducer/python/bunchSpacingProducer_cfi.py @@ -0,0 +1,6 @@ +import FWCore.ParameterSet.Config as cms +bunchSpacingProducer = cms.EDProducer("BunchSpacingProducer") + +from Configuration.StandardSequences.Eras import eras +eras.run2_50ns_specific.toModify( bunchSpacingProducer, bunchSpacingOverride = cms.uint32(50)) +eras.run2_50ns_specific.toModify( bunchSpacingProducer, overrideBunchSpacing = cms.bool(True)) From 56869fba0e4b2c66feb8d4eb0c02f609e64ecb40 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:39:35 +0100 Subject: [PATCH 23/29] fix bunchSpacingProducer --- .../StandardSequences/python/ReconstructionCosmics_cff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configuration/StandardSequences/python/ReconstructionCosmics_cff.py b/Configuration/StandardSequences/python/ReconstructionCosmics_cff.py index d343eb1a6192d..455a85add441f 100644 --- a/Configuration/StandardSequences/python/ReconstructionCosmics_cff.py +++ b/Configuration/StandardSequences/python/ReconstructionCosmics_cff.py @@ -5,8 +5,8 @@ from RecoLuminosity.LumiProducer.lumiProducer_cff import * from RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi import * # no bunchspacing in cosmics -bunchSpacingProducer.overrideBunchSpacing=True -bunchSpacingProducer.bunchSpacingOverride=50 +bunchSpacingProducer.overrideBunchSpacing= cms.bool(True) +bunchSpacingProducer.bunchSpacingOverride= cms.uint32(50) # # tracker From 966f61e30e1cf1892bbb24477058aad1ea55f293 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:41:29 +0100 Subject: [PATCH 24/29] post-era customizations --- .../python/Impl/ppEra_Run2_2016.py | 3 +++ .../python/Impl/ppEra_Run2_25ns.py | 3 +++ .../DataProcessing/python/RecoTLR.py | 24 ++++++++++++++----- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py index 9a8b25d681485..d2b0efa226ac1 100644 --- a/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py @@ -21,6 +21,9 @@ def __init__(self): self.recoSeq='' self.cbSc='pp' self.eras=eras.eras.Run2_2016 + self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] """ _ppEra_Run2_2016_ diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py index 9f3165d621449..6c6b7577c2412 100644 --- a/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_25ns.py @@ -21,6 +21,9 @@ def __init__(self): self.recoSeq='' self.cbSc='pp' self.eras=eras.eras.Run2_25ns + self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] """ _ppEra_Run2_25ns_ diff --git a/Configuration/DataProcessing/python/RecoTLR.py b/Configuration/DataProcessing/python/RecoTLR.py index ef2bb0ca1f28c..cd32c5d633856 100644 --- a/Configuration/DataProcessing/python/RecoTLR.py +++ b/Configuration/DataProcessing/python/RecoTLR.py @@ -27,9 +27,23 @@ def _overridesFor50ns(process): return process -#gone with the fact that there is no difference between production and development sequence -#def customiseCommon(process): -# return (process) +############################################################################## +# post-era customizations +# these are here instead of generating Data-specific eras +############################################################################## +def _hcalCustoms25ns(process): + import RecoLocalCalo.HcalRecAlgos.RemoveAddSevLevel as HcalRemoveAddSevLevel + HcalRemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HFDigiTime",8) + HcalRemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HBHEFlatNoise",8) + return process + +def customisePostEra_Run2_25ns(process): + _hcalCustoms25ns(process) + return process + +def customisePostEra_Run2_2016(process): + _hcalCustoms25ns(process) + return process ############################################################################## @@ -143,9 +157,7 @@ def customiseDataRun2Common_withStage1(process): def customiseDataRun2Common_25ns(process): process = customiseDataRun2Common_withStage1(process) - import RecoLocalCalo.HcalRecAlgos.RemoveAddSevLevel as HcalRemoveAddSevLevel - HcalRemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HFDigiTime",8) - HcalRemoveAddSevLevel.AddFlag(process.hcalRecAlgos,"HBHEFlatNoise",8) + _hcalCustoms25ns(process) from SLHCUpgradeSimulations.Configuration.postLS1Customs import customise_DQM_25ns if hasattr(process,'dqmoffline_step'): From bb4456990b9550273b9f99dc2e8733cda33a2907 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:42:15 +0100 Subject: [PATCH 25/29] simplify --- .../DataProcessing/python/Impl/HeavyIons.py | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIons.py b/Configuration/DataProcessing/python/Impl/HeavyIons.py index 52c1d22b41eb3..7ef44e8854657 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIons.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIons.py @@ -52,11 +52,10 @@ def promptReco(self, globalTag, **args): if not 'skims' in args: args['skims']=['@allForPrompt'] - customsFunction = self.promptCustoms if not 'customs' in args: - args['customs']=[ customsFunction ] - else: - args['customs'].append(customsFunction) + args['customs']=[ ] + + args['customs'].append(self.promptCustoms) process = Reco.promptReco(self,globalTag, **args) @@ -76,11 +75,10 @@ def expressProcessing(self, globalTag, **args): if not 'skims' in args: args['skims']=['@allForExpress'] - customsFunction = self.expressCustoms if not 'customs' in args: - args['customs']=[ customsFunction ] - else: - args['customs'].append( customsFunction ) + args['customs']=[ ] + + args['customs'].append( self.expressCustoms ) process = Reco.expressProcessing(self,globalTag, **args) @@ -96,11 +94,10 @@ def visualizationProcessing(self, globalTag, **args): self._checkMINIAOD(**args) self._setRepackedFlag(args) - customsFunction = self.visCustoms if not 'customs' in args: - args['customs']=[ customsFunction ] - else: - args['customs'].append( customsFunction ) + args['customs']=[ ] + + args['customs'].append( self.visCustoms ) process = Reco.visualizationProcessing(self,globalTag, **args) From f751241bb861405bf1232ef43dc57e6ab4109aac Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:43:00 +0100 Subject: [PATCH 26/29] make customs known at class level --- .../DataProcessing/python/Impl/pp.py | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/pp.py b/Configuration/DataProcessing/python/Impl/pp.py index a846c02511ee7..96e907d9d2c44 100644 --- a/Configuration/DataProcessing/python/Impl/pp.py +++ b/Configuration/DataProcessing/python/Impl/pp.py @@ -17,6 +17,9 @@ def __init__(self): Reco.__init__(self) self.recoSeq='' self.cbSc='pp' + self.promptCustoms= [ 'Configuration/DataProcessing/RecoTLR.customisePrompt' ] + self.expressCustoms=[ 'Configuration/DataProcessing/RecoTLR.customiseExpress' ] + self.visCustoms=[ 'Configuration/DataProcessing/RecoTLR.customiseExpress' ] """ _pp_ @@ -37,9 +40,10 @@ def promptReco(self, globalTag, **args): args['skims']=['@allForPrompt'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customisePrompt'] - else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customisePrompt') + args['customs']= [ ] + + for c in self.promptCustoms: + args['customs'].append(c) process = Reco.promptReco(self,globalTag, **args) @@ -57,9 +61,10 @@ def expressProcessing(self, globalTag, **args): args['skims']=['@allForExpress'] if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] - else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') + args['customs']=[ ] + + for c in self.expressCustoms: + args['customs'].append(c) process = Reco.expressProcessing(self,globalTag, **args) @@ -73,9 +78,10 @@ def visualizationProcessing(self, globalTag, **args): """ if not 'customs' in args: - args['customs']=['Configuration/DataProcessing/RecoTLR.customiseExpress'] - else: - args['customs'].append('Configuration/DataProcessing/RecoTLR.customiseExpress') + args['customs']=[ ] + + for c in self.visCustoms: + args['customs'].append(c) process = Reco.visualizationProcessing(self,globalTag, **args) From dedf1f01a43e7bf8b015112d3e59cd600c5f7eaf Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:47:01 +0100 Subject: [PATCH 27/29] post-era customizations --- .../DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py index bae03ea898a4f..2dc842af5faa7 100644 --- a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py +++ b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_25ns.py @@ -18,6 +18,10 @@ def __init__(self): self.recoSeq=':reconstruction_HcalNZS' self.cbSc='pp' self.eras = eras.eras.Run2_25ns + self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + """ _hcalnzsEra_Run2_25ns_ From 3c9eff94f34961f9ff802e6ea4ab5e8f8ce158b5 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 16:49:46 +0100 Subject: [PATCH 28/29] post-era customizations --- .../DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py | 3 +++ Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py index eb74ee74de552..3bab8205260c8 100644 --- a/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py +++ b/Configuration/DataProcessing/python/Impl/hcalnzsEra_Run2_2016.py @@ -18,6 +18,9 @@ def __init__(self): self.recoSeq=':reconstruction_HcalNZS' self.cbSc='pp' self.eras = eras.eras.Run2_2016 + self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] + self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] + self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] """ _hcalnzsEra_Run2_2016_ diff --git a/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py index d2b0efa226ac1..3fcbb7101bae3 100644 --- a/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py +++ b/Configuration/DataProcessing/python/Impl/ppEra_Run2_2016.py @@ -21,9 +21,9 @@ def __init__(self): self.recoSeq='' self.cbSc='pp' self.eras=eras.eras.Run2_2016 - self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] - self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] - self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_25ns' ] + self.promptCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] + self.expressCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] + self.visCustoms += [ 'Configuration/DataProcessing/RecoTLR.customisePostEra_Run2_2016' ] """ _ppEra_Run2_2016_ From 0a11e49645ba1bdd40143d81c99d0227ce2bc67f Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Sun, 21 Feb 2016 22:27:27 +0100 Subject: [PATCH 29/29] remove stableBeam filter based on gtEvmDigis, since it is no longer available --- DPGAnalysis/Skims/python/logErrorSkim_cff.py | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/DPGAnalysis/Skims/python/logErrorSkim_cff.py b/DPGAnalysis/Skims/python/logErrorSkim_cff.py index 7cb718c0a2a5b..c31201a01f4df 100644 --- a/DPGAnalysis/Skims/python/logErrorSkim_cff.py +++ b/DPGAnalysis/Skims/python/logErrorSkim_cff.py @@ -1,17 +1,4 @@ from FWCore.Modules.logErrorFilter_cfi import * -stableBeam = cms.EDFilter("HLTBeamModeFilter", - L1GtEvmReadoutRecordTag = cms.InputTag("gtEvmDigis"), - AllowedBeamMode = cms.vuint32(11), - saveTags = cms.bool(False) - ) -from L1Trigger.Configuration.L1TRawToDigi_cff import L1TRawToDigi -if not "gtEvmDigis" in L1TRawToDigi.moduleNames(): - import EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmUnpack_cfi - gtEvmDigis = EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmUnpack_cfi.l1GtEvmUnpack.clone() - gtEvmDigis.EvmGtInputTag = 'rawDataCollector' -else: - from L1Trigger.Configuration.L1TRawToDigi_cff import gtEvmDigis - -logerrorseq=cms.Sequence(gtEvmDigis+stableBeam+logErrorSkimFilter) -logerrormonitorseq=cms.Sequence(gtEvmDigis+stableBeam+logErrorFilter) +logerrorseq=cms.Sequence(logErrorSkimFilter) +logerrormonitorseq=cms.Sequence(logErrorFilter)