def convert_trigdec(seq, xaod_key, key): from AthenaCommon.AppMgr import ToolSvc from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool tdt = Trig__TrigDecisionTool('TrigDecisionToolCnv', TrigDecisionKey='TrigDecision', UseAODDecision=True) ToolSvc += tdt from xAODTriggerCnv.xAODTriggerCnvConf import \ xAODMaker__TrigDecisionCnvAlg, \ xAODMaker__TrigDecisionCnvTool tdct = xAODMaker__TrigDecisionCnvTool(xaod_key + 'CnvTool', TrigDecisionTool=tdt) alg = xAODMaker__TrigDecisionCnvAlg(xaod_key + 'Cnv', AODKey=key, xAODKey=xaod_key, CnvTool=tdct) seq += alg return
def __init__(self): from AthenaCommon.AlgSequence import AlgSequence TopAlg = AlgSequence() from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigDecisionCnvAlg alg = xAODMaker__TrigDecisionCnvAlg() # In order for the conversion to work we need to setup the TrigDecisionTool such that it uses the old decision ToolSvc.TrigDecisionTool.UseAODDecision = True ToolSvc.TrigDecisionTool.TrigDecisionKey = "TrigDecision" from AthenaCommon.Logging import logging # loads logger log = logging.getLogger('WritexAODTrigDecision') log.info('TrigDecisionTool setup to use old decision') alg.xAODKey = "xTrigDecision" TopAlg += alg from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigNavigationCnvAlg TopAlg += xAODMaker__TrigNavigationCnvAlg() log.info('TrigDecision writing to xAOD enabled')
from AnalysisTriggerAlgs.AnalysisTriggerAlgsConfig import \ RoIBResultToAOD idx=0 for i in topSequence.getAllChildren(): idx += 1 if "TrigSteer_HLT" in i.getName(): if not hasattr(i,'RoIBResultToxAOD'): topSequence.insert(idx+1, RoIBResultToAOD("RoIBResultToxAOD")) if "StreamRDO" in i.getName(): from TrigDecisionMaker.TrigDecisionMakerConfig import TrigDecisionMaker,WritexAODTrigDecision topSequence.insert(idx, TrigDecisionMaker('TrigDecMaker')) from AthenaCommon.Logging import logging log = logging.getLogger( 'WriteTrigDecisionToAOD' ) log.info('TrigDecision writing enabled') from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigDecisionCnvAlg alg = xAODMaker__TrigDecisionCnvAlg() alg.AODKey = "TrigDecision" alg.xAODKey = "xTrigDecision" topSequence.insert(idx+1, alg) from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigNavigationCnvAlg topSequence.insert(idx+2, xAODMaker__TrigNavigationCnvAlg()) from AthenaCommon.AppMgr import ServiceMgr, ToolSvc from TrigDecisionTool.TrigDecisionToolConf import * if hasattr(ToolSvc, 'TrigDecisionTool'): ToolSvc.TrigDecisionTool.TrigDecisionKey = "TrigDecision" ToolSvc.TrigDecisionTool.UseAODDecision = True # inform TD maker that some parts may be missing if TriggerFlags.dataTakingConditions()=='Lvl1Only':
from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() #fix xAOD trigger object by scheduling cnv alg again include("RecExCond/RecExCommon_flags.py") from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigDecisionCnvAlg topSequence += xAODMaker__TrigDecisionCnvAlg("TrigDecisionCnvAlg") topSequence.TrigDecisionCnvAlg.xAODKey = 'xTrigDecision' from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool ToolSvc += Trig__TrigDecisionTool("TrigDecisionTool")