From a97741f25daa742b98a43e1bdc6d0c087e386212 Mon Sep 17 00:00:00 2001 From: Christian Nass <christian.nass@cern.ch> Date: Sat, 27 Jun 2020 17:56:04 +0200 Subject: [PATCH] Adding ConfigFlags in runHLT_standalone to prevent self configuration from inputfile --- .../python/JetTagCalibConfig.py | 75 +++++++++---------- .../test_trig_mc_v1Dev_slice_bjet_build.py | 3 +- .../TriggerJobOpts/share/runHLT_standalone.py | 8 +- .../Bjet/BjetFlavourTaggingConfiguration.py | 7 +- .../HLTMenuConfig/Bjet/BjetSequenceSetup.py | 21 +----- 5 files changed, 48 insertions(+), 66 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagCalibration/python/JetTagCalibConfig.py b/PhysicsAnalysis/JetTagging/JetTagCalibration/python/JetTagCalibConfig.py index 88cfbf63265b..f291c9aa18d0 100644 --- a/PhysicsAnalysis/JetTagging/JetTagCalibration/python/JetTagCalibConfig.py +++ b/PhysicsAnalysis/JetTagging/JetTagCalibration/python/JetTagCalibConfig.py @@ -1,7 +1,6 @@ # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentFactory import CompFactory from BTagging.BTaggingFlags import BTaggingFlags -from IOVDbSvc.IOVDbSvcConfig import addFolders def JetTagCalibCfg(ConfigFlags, scheme="", TaggerList = [], ChannelAlias = ""): @@ -40,70 +39,64 @@ def JetTagCalibCfg(ConfigFlags, scheme="", TaggerList = [], ChannelAlias = ""): CalibrationChannelAliases += ChannelAlias - - from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator - result=ComponentAccumulator() - JetTagCalibCondAlg = CompFactory.Analysis.JetTagCalibCondAlg - jettagcalibcondalg = "JetTagCalibCondAlg" - connSchema = "GLOBAL_OFL" if scheme == "Trig": + JetTagCalibCondAlg,=CompFactory.getComps("Analysis__JetTagCalibCondAlg",) + jettagcalibcondalg = "JetTagCalibCondAlg" histoskey = "JetTagTrigCalibHistosKey" readkeycalibpath = "/GLOBAL/TrigBTagCalib/RUN12" + connSchema = "GLOBAL_OFL" if not ConfigFlags.Input.isMC: readkeycalibpath = readkeycalibpath.replace("/GLOBAL/","/GLOBAL/Onl/") connSchema = connSchema.replace("OFL","ONL") + from IOVDbSvc.CondDB import conddb + conddb.addFolder(connSchema, readkeycalibpath, className='CondAttrListCollection') + + JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = TaggerList, channelAliases = CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) + return JetTagCalib + else: + from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator + result=ComponentAccumulator() + JetTagCalibCondAlg = CompFactory.Analysis.JetTagCalibCondAlg + jettagcalibcondalg = "JetTagCalibCondAlg" histoskey = "JetTagCalibHistosKey" readkeycalibpath = "/GLOBAL/BTagCalib/RUN12" + connSchema = "GLOBAL_OFL" if not ConfigFlags.Input.isMC: readkeycalibpath = readkeycalibpath.replace("/GLOBAL/","/GLOBAL/Onl/") connSchema = connSchema.replace("_OFL","") + from IOVDbSvc.IOVDbSvcConfig import addFolders + result.merge(addFolders(ConfigFlags,[readkeycalibpath], connSchema, className='CondAttrListCollection')) - result.merge(addFolders(ConfigFlags,[readkeycalibpath], connSchema, className='CondAttrListCollection')) - JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = TaggerList, channelAliases = BTaggingFlags.CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) - result.addCondAlgo(JetTagCalib) - return result - + JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = TaggerList, channelAliases = CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) + result.addCondAlgo(JetTagCalib) + return result +# #conf2toConfigurable is not working for this at the moment, thats why we need old-config style for trigger +# #if this option would be working, need the following line in runHLT_standalone.py +# #CAtoGlobalWrapper(JetTagCalibCfg, ConfigFlags, scheme="Trig", TaggerList=ConfigFlags.BTagging.TrigTaggersList, ChannelAlias = alias) +# +# from IOVDbSvc.IOVDbSvcConfig import addFolders +# from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +# result=ComponentAccumulator() +# JetTagCalibCondAlg = CompFactory.Analysis.JetTagCalibCondAlg +# jettagcalibcondalg = "JetTagCalibCondAlg" +# connSchema = "GLOBAL_OFL" # if scheme == "Trig": -# JetTagCalibCondAlg,=CompFactory.getComps("Analysis__JetTagCalibCondAlg",) -# jettagcalibcondalg = "JetTagCalibCondAlg" # histoskey = "JetTagTrigCalibHistosKey" # readkeycalibpath = "/GLOBAL/TrigBTagCalib/RUN12" -# connSchema = "GLOBAL_OFL" # if not ConfigFlags.Input.isMC: # readkeycalibpath = readkeycalibpath.replace("/GLOBAL/","/GLOBAL/Onl/") # connSchema = connSchema.replace("OFL","ONL") -# from IOVDbSvc.CondDB import conddb -# conddb.addFolder(connSchema, readkeycalibpath, className='CondAttrListCollection') - #if conddb.dbdata == 'COMP200': - # conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/BTagCalib/RUN12", className='CondAttrListCollection') - # if globalflags.DataSource()!='data': - # conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/TrigBTagCalib/RUN12", className='CondAttrListCollection') - #elif conddb.isMC: - # conddb.addFolder("GLOBAL_OFL", "/GLOBAL/BTagCalib/RUN12", className='CondAttrListCollection') - # conddb.addFolder("GLOBAL_OFL", "/GLOBAL/TrigBTagCalib/RUN12", className='CondAttrListCollection') - -# JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = ConfigFlags.BTagging.TrigTaggersList, channelAliases = CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) -# return JetTagCalib - # else: -# from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator -# result=ComponentAccumulator() -# JetTagCalibCondAlg = CompFactory.Analysis.JetTagCalibCondAlg -# jettagcalibcondalg = "JetTagCalibCondAlg" # histoskey = "JetTagCalibHistosKey" # readkeycalibpath = "/GLOBAL/BTagCalib/RUN12" -# connSchema = "GLOBAL_OFL" # if not ConfigFlags.Input.isMC: # readkeycalibpath = readkeycalibpath.replace("/GLOBAL/","/GLOBAL/Onl/") # connSchema = connSchema.replace("_OFL","") -# from IOVDbSvc.IOVDbSvcConfig import addFolders -# result.merge(addFolders(ConfigFlags,[readkeycalibpath], connSchema, className='CondAttrListCollection')) - -# JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = TaggerList, channelAliases = BTaggingFlags.CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) -# result.addCondAlgo(JetTagCalib) -# return result - - +# +# result.merge(addFolders(ConfigFlags,[readkeycalibpath], connSchema, className='CondAttrListCollection')) +# JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = TaggerList, channelAliases = BTaggingFlags.CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) +# result.addCondAlgo(JetTagCalib) +# return result diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_bjet_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_bjet_build.py index a616193f4690..42aeda6d7c68 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_bjet_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_bjet_build.py @@ -14,7 +14,8 @@ ex.job_options = 'TriggerJobOpts/runHLT_standalone.py' ex.input = 'ttbar' ex.threads = 1 # LS2_v1 soon to be renamed to Dev_pp_run3_v1 -ex.args = '-c "setMenu=\'LS2_v1\';doEmptyMenu=True;doBjetSlice=True;doWriteBS=False;doWriteRDOTrigger=True;" -l DEBUG' +ex.args = '-c "setMenu=\'LS2_v1\';doEmptyMenu=True;doBjetSlice=True;doWriteBS=False;doWriteRDOTrigger=True;"' +#ex.args = '-c "setMenu=\'LS2_v1\';doEmptyMenu=True;doBjetSlice=True;doWriteBS=False;doWriteRDOTrigger=True;" -l DEBUG' test = Test.Test() test.art_type = 'build' diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py index 7c4dc4e00d77..7be946a361b3 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py @@ -130,6 +130,7 @@ if len(athenaCommonFlags.FilesInput())>0: af = athFile.fopen(athenaCommonFlags.FilesInput()[0]) globalflags.InputFormat = 'bytestream' if af.fileinfos['file_type']=='bs' else 'pool' globalflags.DataSource = 'data' if af.fileinfos['evt_type'][0]=='IS_DATA' else 'geant4' + ConfigFlags.Input.isMC = False if globalflags.DataSource=='data' else True # Set isOnline=False for MC inputs unless specified in the options if globalflags.DataSource() != 'data' and 'isOnline' not in globals(): log.info("Setting isOnline = False for MC input") @@ -145,6 +146,7 @@ if len(athenaCommonFlags.FilesInput())>0: else: # athenaHLT globalflags.InputFormat = 'bytestream' globalflags.DataSource = 'data' if not opt.setupForMC else 'data' + ConfigFlags.Input.isMC = False if '_run_number' not in dir(): import PyUtils.AthFile as athFile from AthenaCommon.AthenaCommonFlags import athenaCommonFlags @@ -161,11 +163,15 @@ else: # athenaHLT # Set final Cond/Geo tag based on input file, command line or default globalflags.DetDescrVersion = opt.setDetDescr or TriggerFlags.OnlineGeoTag() globalflags.ConditionsTag = opt.setGlobalTag or TriggerFlags.OnlineCondTag() +ConfigFlags.GeoModel.AtlasVersion = opt.setDetDescr or TriggerFlags.OnlineGeoTag() +ConfigFlags.IOVDb.GlobalTag = opt.setGlobalTag or TriggerFlags.OnlineCondTag() # Other defaults jobproperties.Beam.beamType = 'collisions' +ConfigFlags.Beam.Type = 'collisions' jobproperties.Beam.bunchSpacing = 25 globalflags.DatabaseInstance='CONDBR2' if opt.useCONDBR2 else 'COMP200' +ConfigFlags.IOVDb.DatabaseInstance='CONDBR2' if opt.useCONDBR2 else 'COMP200' athenaCommonFlags.isOnline.set_Value_and_Lock(opt.isOnline) log.info('Configured the following global flags:') @@ -588,7 +594,7 @@ if opt.doBjetSlice or opt.forceEnableAllChains: print("In JetTagCalibCfg") from JetTagCalibration.JetTagCalibConfig import JetTagCalibCfg alias = ["HLT_b->HLT_b,AntiKt4EMTopo"] #"HLT_bJets" is the name of the b-jet JetContainer - CAtoGlobalWrapper(JetTagCalibCfg, ConfigFlags, scheme="Trig", TaggerList=ConfigFlags.BTagging.TrigTaggersList, ChannelAlias = alias) + topSequence += JetTagCalibCfg(ConfigFlags, scheme="Trig", TaggerList=ConfigFlags.BTagging.TrigTaggersList, ChannelAlias = alias) # Trigger output if opt.doWriteBS or opt.doWriteRDOTrigger: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py index 2f02109e3ffc..9219b742c39c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py @@ -2,19 +2,14 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from TrigEDMConfig.TriggerEDMRun3 import recordable -#from AthenaCommon.Constants import DEBUG +from AthenaConfiguration.AllConfigFlags import ConfigFlags def getFlavourTagging( inputJets, inputVertex, inputTracks ): acc = ComponentAccumulator() - #filesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.merge.RAW._lb0151._SFO-1._0001.1" kwargs = {} - from AthenaConfiguration.AllConfigFlags import ConfigFlags - #ConfigFlags.Input.isMC=False - #ConfigFlags.Input.Files=filesInput.split(",") - #from BTagging.BTaggingConf import Analysis__BTagTrackAugmenterAlg from AthenaConfiguration.ComponentFactory import CompFactory Analysis__BTagTrackAugmenterAlg=CompFactory.Analysis.BTagTrackAugmenterAlg bTagTrackAugmenter = Analysis__BTagTrackAugmenterAlg( "Analysis__BTagTrackAugmenterAlg" ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py index 1283c77fe951..2a6df3d1356a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py @@ -3,9 +3,8 @@ # menu components from AthenaCommon.CFElements import seqAND -from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, InViewReco +from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence from TrigEDMConfig.TriggerEDMRun3 import recordable -from AthenaConfiguration.ComponentFactory import CompFactory #from AthenaCommon.Constants import DEBUG @@ -69,31 +68,21 @@ def bJetStep2Sequence(): from TriggerMenuMT.HLTMenuConfig.Bjet.BjetFlavourTaggingConfiguration import getFlavourTagging acc_flavourTaggingAlgs,bTaggingContainerName = getFlavourTagging( inputJets=InputMakerAlg.InViewJets, inputVertex=prmVtxKey, inputTracks=PTTrackParticles[0] ) -#======================This is running on Release 22.0.11, but not after Gaudi2 updates=================== -# inViewReco = InViewReco("bJetBtagSequence", viewMaker=InputMakerAlg) -# inViewReco.addRecoAlg(secondStageAlgs) -# inViewReco.mergeReco(acc_flavourTaggingAlgs) -# acc_flavourTaggingAlgs.wasMerged() -# inViewReco.wasMerged() - -# Configurable.configurableRun3Behavior=0 - -#======================This is a new idea, since the function "conf2toConfigurable" was added recently, but is crashing when converting ATLASExtrapolator===== Configurable.configurableRun3Behavior=0 + #Conversion of flavour-tagging algorithms from new to old-style from AthenaCommon.CFElements import findAllAlgorithms from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable AllFlavourTaggingAlgs = [] for alg in findAllAlgorithms(acc_flavourTaggingAlgs.getSequence("AthAlgSeq")): AllFlavourTaggingAlgs.append(conf2toConfigurable(alg)) - acc_flavourTaggingAlgs.wasMerged() + acc_flavourTaggingAlgs.wasMerged() #Needed to remove error message; Next we add all algorithms to sequence so this is kind of an old-style merge bJetBtagSequence = seqAND( "bJetBtagSequence", secondStageAlgs + AllFlavourTaggingAlgs ) InputMakerAlg.ViewNodeName = "bJetBtagSequence" - + # Sequence BjetAthSequence = seqAND( "BjetAthSequence_step2",[InputMakerAlg,bJetBtagSequence] ) -#============================================================================================================= from TrigBjetHypo.TrigBjetHypoConf import TrigBjetBtagHypoAlgMT hypo = TrigBjetBtagHypoAlgMT( "TrigBjetBtagHypoAlg" ) @@ -110,8 +99,6 @@ def bJetStep2Sequence(): hypo.MonTool = TrigBjetOnlineMonitoring() from TrigBjetHypo.TrigBjetBtagHypoTool import TrigBjetBtagHypoToolFromDict -# return MenuSequence( Sequence = inViewReco.sequence(), -# Maker = inViewReco.inputMaker(), return MenuSequence( Sequence = BjetAthSequence, Maker = InputMakerAlg, Hypo = hypo, -- GitLab