diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py index 3871791e34d397afb9fa835d2977f644d2af4a80..42ce30896a48ab3ee86257855951e1e34f86095f 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py @@ -210,8 +210,13 @@ class TrigDecisionGetter(Configured): if ( rec.doWriteESD() or rec.doWriteAOD() or rec.doESD() or rec.doAOD() ) and \ ( not ( rec.readAOD() or rec.readESD() or rec.doWriteBS()) ): log.info("Will write TrigDecision object to storegate") + from TrigDecisionMaker.TrigDecisionMakerConfig import WriteTrigDecision trigDecWriter = WriteTrigDecision() + +# from TrigDecisionMaker.TrigDecisionMakerConfig import WritexAODTrigDecision +# trigDecWriter = WritexAODTrigDecision() + # inform TD maker that some parts may be missing if TriggerFlags.dataTakingConditions()=='Lvl1Only': topSequence.TrigDecMaker.doL2=False @@ -350,7 +355,7 @@ class HLTTriggerResultGetter(Configured): def _addSlimming(stream, thinningSvc, edm): from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() - from TrigNavTools.TrigNavToolsConf import HLT__StreamTrigNavSlimming + from TrigNavTools.TrigNavToolsConf import HLT__StreamTrigNavSlimming, HLT__TrigNavigationSlimming from TrigNavTools.TrigNavToolsConfig import navigationSlimming edmlist = list(y for x in edm.values() for y in x) #flatten names @@ -372,13 +377,16 @@ class HLTTriggerResultGetter(Configured): # from HLT result drop unrecorded features - slimmerHLT = HLT__StreamTrigNavSlimming('HLTNavSlimmer_%s'%stream) - tHLT = navigationSlimming({'name':'HLTNav_%s'%stream, 'mode':'trigger', + # slimmerHLT = HLT__StreamTrigNavSlimming('HLTNavSlimmer_%s'%stream) + slimmerHLT = HLT__TrigNavigationSlimming('TrigNavigationSlimmer_%s'%stream) + tHLT = navigationSlimming({'name':'HLTNav_%s'%stream, 'mode':'cleanup', 'ThinningSvc':thinningSvc, 'result':'HLTResult_HLT', 'features':edmlist}) #tHLT.SlimmingTool.OutputLevel=DEBUG + tHLT.ActInPlace=True + print "HHHTB" slimmerHLT.ThinningTool = tHLT - + print slimmerHLT.ThinningTool topSequence += slimmerHLT log.info("Configured slimming of HLT results L2, EF and HLT") del edmlist @@ -389,25 +397,23 @@ class HLTTriggerResultGetter(Configured): _doSlimming = True if _doSlimming and rec.doWriteAOD(): # and not rec.readAOD(): why not to run it when we read AOD?? - try: - if not hasattr(svcMgr, 'ThinningSvc'): # if the default is there it is configured for AODs - svcMgr += ThinningSvc(name='ThinningSvc', Streams=['StreamAOD']) - _addSlimming('StreamAOD', svcMgr.ThinningSvc, _TriggerAODList ) - log.info("configures navigation slimming for AOD output") - except Exception: - log.info("could not configure navigation slimming for AOD output") + if not hasattr(svcMgr, 'ThinningSvc'): # if the default is there it is configured for AODs + svcMgr += ThinningSvc(name='ThinningSvc', Streams=['StreamAOD']) + _addSlimming('StreamAOD', svcMgr.ThinningSvc, _TriggerAODList ) + log.info("configured navigation slimming for AOD output") + if _doSlimming and rec.doWriteESD(): # and not rec.readESD(): why not to run it when ESD is a source svcMgr += ThinningSvc(name='ESDThinningSvc', Streams=['StreamESD']) # the default is configured for AODs # this was recommended but does not work # from OutputStreamAthenaPool.MultipleStreamManager import MSMgr # svcMgr += createThinningSvc(svcName="ESDThinningSvc", outStreams=[MSMgr.GetStream('StreamESD').GetEventStream()]) - try: - _addSlimming('StreamESD', svcMgr.ESDThinningSvc, _TriggerESDList ) - log.info("configured navigation slimming for ESD output") - except Exception: - log.info("could not configure navigation slimming for ESD output") - + _addSlimming('StreamESD', svcMgr.ESDThinningSvc, _TriggerESDList ) + log.info("configured navigation slimming for ESD output") + + + + objKeyStore.addManyTypesStreamESD( _TriggerESDList ) objKeyStore.addManyTypesStreamAOD( _TriggerAODList ) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py index 4c2ab99fa80cccb7778660a5c5fcc2e5e0373a7c..589b7854a0d7c3ded148ad05751fde780da11c22 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py @@ -57,6 +57,14 @@ class T0TriggerGetter(Configured): from TrigConfigSvc.TrigConf2COOL import theConfCOOLWriter theConfCOOLWriter.writeConf2COOL() + # preconfigure TrigDecisionTool + from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool + from AthenaCommon.AppMgr import ToolSvc + ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" ) + + from TrigEDMConfig.TriggerEDM import EDMLibraries + ToolSvc.TrigDecisionTool.Navigation.Dlls = [e for e in EDMLibraries if 'TPCnv' not in e] + if withLVL1(): # setup Lvl1 # initialize LVL1ConfigSvc diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py index 52995dbdc403cbc75aac21d52f0256157118d1ad..b727e3607963520bbc37595952d009b8eb20aae6 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py @@ -86,6 +86,7 @@ class TriggerConfigGetter(Configured): def setConfigSvcConnParams(self,connectionParameters): sl = [] + if hasattr(svcMgr,'L1TopoConfigSvc'): sl += [svcMgr.L1TopoConfigSvc] if hasattr(svcMgr,'LVL1ConfigSvc'): sl += [svcMgr.LVL1ConfigSvc] if hasattr(svcMgr,'HLTConfigSvc'): sl += [svcMgr.HLTConfigSvc] @@ -96,8 +97,8 @@ class TriggerConfigGetter(Configured): svc.DBUser = "" else: technology = connectionParameters["techno"] - svcMgr.LVL1ConfigSvc.ConfigSource = technology - svcMgr.HLTConfigSvc.ConfigSource = technology + for svc in sl: + svc.ConfigSource = technology if technology == 'sqlite': for svc in sl: @@ -111,6 +112,9 @@ class TriggerConfigGetter(Configured): svc.DBUser = connectionParameters["user" ] svc.DBPass = connectionParameters["passwd"] + if hasattr(svcMgr,'L1TopoConfigSvc'): + svcMgr.L1TopoConfigSvc.DBSMKey = TriggerFlags.triggerDbKeys()[0] + svcMgr.L1TopoConfigSvc.UseFrontier = TriggerFlags.triggerUseFrontier() if hasattr(svcMgr,'LVL1ConfigSvc'): svcMgr.LVL1ConfigSvc.DBSMKey = TriggerFlags.triggerDbKeys()[0] svcMgr.LVL1ConfigSvc.DBLVL1PSKey = TriggerFlags.triggerDbKeys()[1] diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py index daef1eb3a2312e3176cb1b8874aaa4b248e15544..a417487b0523166997ce1755e882b280c4a757ad 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py @@ -95,6 +95,13 @@ class useL1CaloCalibration(JobProperty): _flags.append(useL1CaloCalibration) +class useRun1CaloEnergyScale(JobProperty): + statusOn=True + allowedType=['bool'] + StoredValue=False + +_flags.append(useRun1CaloEnergyScale) + class doCosmicSim(JobProperty): """ run the LVL1 simulation with special setup for cosmic simulation (set to FALSE by default, to do collisions simulation) """ statusOn=True @@ -1024,6 +1031,7 @@ class triggerMenuSetup(JobProperty): 'LS1_v1', # for P1 detector commissioning (cosmics, streamers) 'DC14', 'DC14_no_prescale', 'DC14_tight_mc_prescale', 'DC14_loose_mc_prescale', # for DC14 'Physics_HI_v3', 'Physics_HI_v3_no_prescale', # for 2015 lead-lead menu + 'BeamSplash_v1', ] _default_menu='MC_pp_v5_tight_mc_prescale' diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py index 099cc83f251c726d185385b4d623b923d32bd95f..d1225df62ff01010a5d70e7582de5a95f0b389ea 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py @@ -109,6 +109,17 @@ class TriggerGetter(Configured): from TrigConfigSvc.TrigConf2COOL import theConfCOOLWriter theConfCOOLWriter.writeConf2COOL() + + # preconfigure TrigDecisionTool + from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool + from AthenaCommon.AppMgr import ToolSvc + ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" ) + + from TrigEDMConfig.TriggerEDM import EDMLibraries + ToolSvc.TrigDecisionTool.Navigation.Dlls = [e for e in EDMLibraries if 'TPCnv' not in e] + + + # actuall trigger simulation running if recAlgs.doTrigger() and not TriggerFlags.doTriggerConfigOnly(): # setup Lvl1 @@ -158,10 +169,8 @@ class TriggerGetter(Configured): from AthenaCommon.AppMgr import ServiceMgr ServiceMgr += RegSelSvcDefault() ServiceMgr.RegSelSvc.enablePixel=False - ServiceMgr.RegSelSvc.enableSCT=False - - - + ServiceMgr.RegSelSvc.enableSCT=False + # prepare result making of L1 from TriggerJobOpts.Lvl1ResultBuilderGetter import Lvl1ResultBuilderGetter hltouput = Lvl1ResultBuilderGetter() @@ -170,15 +179,6 @@ class TriggerGetter(Configured): if TriggerFlags.doLVL2()==True or TriggerFlags.doEF()==True or TriggerFlags.doHLT() or (recAlgs.doTrigger() and TriggerFlags.readBS()): from TriggerJobOpts.HLTTriggerResultGetter import HLTTriggerResultGetter hltouput = HLTTriggerResultGetter() - - # preconfigure TrigDecisionTool - from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool - from AthenaCommon.AppMgr import ToolSvc - ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" ) - - from TrigEDMConfig.TriggerEDM import EDMLibraries - ToolSvc.TrigDecisionTool.Navigation.Dlls = [e for e in EDMLibraries if 'TPCnv' not in e] - return True