From de50d76018f9fb0d1d66fb7d7dfbac7836d3da94 Mon Sep 17 00:00:00 2001 From: Aleksandra Poreba <aleksandra.poreba@cern.ch> Date: Tue, 16 Feb 2021 16:07:25 +0000 Subject: [PATCH] Debug recovery minor updates --- .../TrigTransform/python/dbgAnalysis.py | 11 ++++++++++- .../TrigTransform/python/dbgEventInfo.py | 8 -------- .../TrigTransform/python/trigRecoExe.py | 2 +- .../test/test_trigP1_v1PhysP1_trfDbgStream_build.py | 11 ++++++++--- .../TrigValTools/share/TrigValInputs.json | 7 +++++++ 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py index ab09a8f4cb3..6df90a7aac0 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py @@ -31,7 +31,13 @@ def dbgPreRun(inputFileList, outputFileList, argdict = None): outFile = outputFileList[0] hfile = TFile(outFile, 'RECREATE') - # Inicialize dbgEventInfo, this is the main event analysis class + maxEvents = argdict.get('maxEvents') + maxEvents = maxEvents.value.get('first') if maxEvents else -1 + + skipEvents = argdict.get('skipEvents') + skipEvents = skipEvents.value.get('first') if skipEvents else 0 + + # Initialize dbgEventInfo, this is the main event analysis class eventInfo = dbgEventInfo('_Pre', inputFileList.value[0]) data = [] l1Info = [] @@ -42,7 +48,10 @@ def dbgPreRun(inputFileList, outputFileList, argdict = None): n = 0 isFirstEvent = True + bsfile = bsfile[skipEvents:skipEvents+maxEvents] if maxEvents > -1 else bsfile[skipEvents:] + for event in bsfile: + if isFirstEvent: runNumber = event.run_no() if event.run_no() else int(inputFile.split(".")[1]) configKeys = getHLTConfigKeys(runNumber, argdict) diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py index ed1bde846a3..8e9af0e2a5e 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py @@ -22,8 +22,6 @@ class dbgEventInfo: self.Stream_Tag_Name = 'None' self.Stream_Tag_Type = 'None' self.Lvl1_ID = 0 - self.Event_Counter_Lvl1_ID = 0 - self.Event_Counter_Reset_Counter_Lvl1_ID = 0 self.Global_ID = 0 self.Lumiblock = 0 self.Node_ID = 0 @@ -293,8 +291,6 @@ class dbgEventInfo: self.Event_Info.Stream_Tag_Name = self.Stream_Tag_Name self.Event_Info.Stream_Tag_Type = self.Stream_Tag_Type self.Event_Info.Lvl1_ID = self.Lvl1_ID - self.Event_Info.Event_Counter_Lvl1_ID = self.Event_Counter_Lvl1_ID - self.Event_Info.Event_Counter_Reset_Counter_Lvl1_ID = self.Event_Counter_Reset_Counter_Lvl1_ID self.Event_Info.Global_ID = self.Global_ID self.Event_Info.Node_ID = self.Node_ID self.Event_Info.Lumiblock = self.Lumiblock @@ -320,8 +316,6 @@ class dbgEventInfo: Char_t Stream_Tag_Name[80];\ Char_t Stream_Tag_Type[80];\ UInt_t Lvl1_ID;\ - Int_t Event_Counter_Lvl1_ID;\ - Int_t Event_Counter_Reset_Counter_Lvl1_ID;\ Int_t Global_ID;\ Int_t Lumiblock;\ Int_t Node_ID;\ @@ -341,8 +335,6 @@ class dbgEventInfo: self.event_info_tree.Branch('Stream_Tag_Name', addressof(self.Event_Info, 'Stream_Tag_Name'), 'stream_Tag_Name/C') self.event_info_tree.Branch('Stream_Tag_Type', addressof(self.Event_Info, 'Stream_Tag_Type'), 'stream_Tag_Type/C') self.event_info_tree.Branch('Lvl1_ID', addressof(self.Event_Info, 'Lvl1_ID'), 'lvl1_ID/I') - self.event_info_tree.Branch('Event_Counter_Lvl1_ID', addressof(self.Event_Info, 'Event_Counter_Lvl1_ID'), 'event_Counter_Lvl1_ID/I') - self.event_info_tree.Branch('Event_Counter_Reset_Counter_Lvl1_ID', addressof(self.Event_Info, 'Event_Counter_Reset_Counter_Lvl1_ID'), 'event_Counter_Reset_Counter_Lvl1_ID/I') self.event_info_tree.Branch('Global_ID', addressof(self.Event_Info, 'Global_ID'), 'global_ID/I') self.event_info_tree.Branch('Lumiblock', addressof(self.Event_Info, 'Lumiblock'), 'lumiblock/I') self.event_info_tree.Branch('Node_ID', addressof(self.Event_Info, 'Node_ID'), 'node_ID/I') diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py index 8525dd0cda4..baac6c242b6 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py @@ -142,7 +142,7 @@ class trigRecoExecutor(athenaExecutor): msg.info('Will use asetup string for debug stream analysis %s', dbgAsetupString) # Set database in command line if it was missing - if 'DBserver' not in self.conf.argdict and dbAlias: + if 'useDB' in self.conf.argdict and 'DBserver' not in self.conf.argdict and dbAlias: msg.warn("Database alias will be set to %s", dbAlias) self._cmd.append("--db-server " + dbAlias) else: diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_trfDbgStream_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_trfDbgStream_build.py index fa2a443580c..7d92cf50c7a 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_trfDbgStream_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_trfDbgStream_build.py @@ -1,12 +1,13 @@ #!/usr/bin/env python # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration -# art-description: transform test of BSRDOtoRAW (including debug recovery) , using v1PhysP1 menu +# art-description: perform debug recovery from PU crash, using v1PhysP1 menule # art-type: build # art-include: master/Athena from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps + #==================================================================================================== # HLT BS_RDO->RAW hlt = ExecStep.ExecStep('BSRDOtoRAW') @@ -16,11 +17,12 @@ hlt.threads = 1 hlt.concurrent_events = 1 hlt.max_events = -1 # Debug recovery does not handle maxEvents/skipEvents flag hlt.args = '--precommand=\\\"setMenu=\\\'PhysicsP1_pp_run3_v1\\\'\\\"' +hlt.args += ' --maxEvents=50' hlt.args += ' --streamSelection=All' hlt.args += ' --prodSysBSRDO True' hlt.args += ' --outputBSFile=RAW.pool.root' hlt.args += ' --outputHIST_DEBUGSTREAMMONFile=HIST_DEBUGSTREAMMON.testing.data' # Turn on debug recovery step -hlt.input = 'data_run3' +hlt.input = 'data_dbg_stream' #==================================================================================================== @@ -33,8 +35,11 @@ test.check_steps = CheckSteps.default_check_steps(test) # Overwrite default MessageCount settings msgcount = test.get_step("MessageCount") msgcount.thresholds = { - 'INFO': 300 + 'INFO': 300, + 'WARNING': 3, # LBAvInstLumi is zero or negative in updatePerBunchLumi() - the file is from TR so lumi = 0 + 'other': 10 } + msgcount.required = True test.check_steps.remove(test.get_step("ZeroCounts")) diff --git a/Trigger/TrigValidation/TrigValTools/share/TrigValInputs.json b/Trigger/TrigValidation/TrigValTools/share/TrigValInputs.json index 15fb0abc352..c5f1307d05d 100644 --- a/Trigger/TrigValidation/TrigValTools/share/TrigValInputs.json +++ b/Trigger/TrigValidation/TrigValTools/share/TrigValInputs.json @@ -27,6 +27,13 @@ "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data_test.00386211.physics_Main.daq.RAW._lb0003._SFO-5._0001.data" ] }, + "data_dbg_stream": { + "source": "data", + "format": "BS", + "paths": [ + "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data_test.00388197.debug_PUCrash.daq.RAW._lb0000._SFO-1._0001.data" + ] + }, "data_cos": { "source": "data", "format": "BS", -- GitLab