From 8235b5288b8d8f9a1787908372d0048e9e6da402 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Mon, 9 Nov 2015 18:30:04 +0100 Subject: [PATCH 1/3] pass isRepacked flag to the config builder: HeavyIonsRun2 has it set to true (unless an override is provided) --- .../DataProcessing/python/Impl/HeavyIonsRun2.py | 7 +++++++ Configuration/DataProcessing/python/Reco.py | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py index 33997347e29d2..cb8da91627a8b 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'] diff --git a/Configuration/DataProcessing/python/Reco.py b/Configuration/DataProcessing/python/Reco.py index 0b307d9b263d2..33da1e98c2a9c 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'] @@ -116,6 +127,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() From a8875ad361ed6033c3f362efa818f24774f96315 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Mon, 9 Nov 2015 18:31:37 +0100 Subject: [PATCH 2/3] allow to override the isRepacked flag; this is not very useful at T0 (more parameters and changes need to be made in WMCore and in T0 projects), only for local tests --- .../DataProcessing/test/RunPromptReco.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Configuration/DataProcessing/test/RunPromptReco.py b/Configuration/DataProcessing/test/RunPromptReco.py index 86d1a93f64cd5..4415deee71faa 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, 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 e91576ae722b1a2ee9c92f2371bf20be61e5e068 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Mon, 9 Nov 2015 20:45:37 +0100 Subject: [PATCH 3/3] pass args by reference --- Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py index cb8da91627a8b..3310629229d36 100644 --- a/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py +++ b/Configuration/DataProcessing/python/Impl/HeavyIonsRun2.py @@ -70,7 +70,7 @@ def expressProcessing(self, globalTag, **args): """ self._checkMINIAOD(**args) - self._setRepackedFlag(**args) + self._setRepackedFlag(args) if not 'skims' in args: args['skims']=['@allForExpress']