from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain menu = TriggerPythonConfig('pureSteering_menu.xml') from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo, PESA__dummyHypo, PESA__newDummyAlgo2To1, PESA__newDummyAlgoAllTEs, PESA__dummyAlgoHLTErrorCode, PESA__dummyMonitoredFex, PESA__dummyAlgoForCalibration # L2 # examples below show all the posibilities of configuring Sequences Egamma = PESA__dummyAlgo('Egamma_L2') # create configurable instance Egamma2 = PESA__dummyAlgo('Egamma2_L2') # create configurable another instance EgammaAdv3 = PESA__dummyAlgo("EgammaAdv3") EgammaAdv_L2 = PESA__dummyAlgo("EgammaAdv_L2") menu.addSequence("EM15i" , [ Egamma, Egamma2, EgammaAdv3 ] , "L2_em15i" ) # use bot here, mixing with old fassioned way menu.addSequence("L2_em15i" , EgammaAdv_L2, "L2_em15i'" ) # create configurable on the fly defalgo = PESA__dummyAlgo('Em25') # no arg given ...default name menu.addSequence("EM25i" , defalgo, "L2_em25i" ) EgammaAdv_g2 = PESA__dummyAlgo("EgammaAdv_g2") menu.addSequence("L2_em25i" ,EgammaAdv_g2 ,"L2_em25i'" ) # EF
TT.calo) thr = l1menu.registerThr('EM25i', 'EM').addThrValue(25) LVL1MenuItem('L1_EM25i').setLogic(ThrCondition(thr) & bgrp).setTriggerType( TT.calo) from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain menu = TriggerPythonConfig('pureSteering_menu.xml') from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo, PESA__dummyHypo, PESA__newDummyAlgo2To1, PESA__newDummyAlgoAllTEs, PESA__dummyAlgoHLTErrorCode, PESA__dummyMonitoredFex, PESA__dummyAlgoForCalibration Egamma = PESA__dummyAlgo('Egamma_L2') # create configurable instance Egamma2 = PESA__dummyAlgo('Egamma2_L2') # create configurable another instance EgammaAdv3 = PESA__dummyAlgo("EgammaAdv3") EgammaAdv_L2 = PESA__dummyAlgo("EgammaAdv_L2") menu.addSequence("EM15i", [Egamma, Egamma2, EgammaAdv3], "em15i") # use bot here, mixing with old fassioned way menu.addSequence("em15i", EgammaAdv_L2, "em15i'") # create configurable on the fly # chains # passage based on EM3 chain = HLTChain(chain_name="L2_Ored", chain_counter="100", lower_chain_name="L1_MU6,L1_EM25i", level="HLT", prescale="1", pass_through="0") chain.addStreamTag('electrons', prescale='1', obeyLB="0") chain.addGroup("electrons") menu.addHLTChain(chain)
from TriggerMenu.menu.HLTObjects import HLTChain menu = TriggerPythonConfig('pureSteering_menu.xml') from TrigSteeringTest.TrigSteeringTestConf import DummyFexWithAcceptInput ac_all = DummyFexWithAcceptInput("ac_all") ac_half = DummyFexWithAcceptInput("ac_half") ac_half.prescale = 2 ac_half.OutputLevel = DEBUG ac_all.prescale = 1 ac_all.OutputLevel = DEBUG # build 4 sequences menu.addSequence("EM15i", [ac_half], "em15_half") menu.addSequence("EM25i", [ac_half], "em25_half") menu.addSequence("EM15i", [ac_all], "em15_all") menu.addSequence("EM25i", [ac_all], "em25_all") chain = HLTChain(chain_name="L2_em15_half", chain_counter="1", lower_chain_name="L1_EM15i", level="HLT", prescale="1", pass_through="0") chain.addTriggerTypeBit('1') chain.addHLTSignature('em15_half') chain.addStreamTag('blaStream', prescale='1') chain.addGroup("fakes")
LVL1MenuItem('L1_EM3' ).setLogic( ThrCondition(EM3) & bgrp ).setTriggerType( TT.calo ) MU4 = l1menu.registerThr('MU4','MUON').addThrValue(4) LVL1MenuItem('L1_MU4' ).setLogic( ThrCondition(MU4) & bgrp ).setTriggerType( TT.muon ) # Generate and write L1 menu l1menu.generateMenu() l1menu.writeXML() from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain hltmenu = TriggerPythonConfig('hltmenu.xml') from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo defalgo = PESA__dummyAlgo('Em3') hltmenu.addSequence("EM3" , defalgo, "em3" ) chain = HLTChain( chain_name="HLT_e3", chain_counter="1", lower_chain_name="EM3", level = "HLT", prescale="1", pass_through="1") chain.addHLTSignature( "em3" ).addHLTSignature( "em3" ) chain.addTriggerTypeBit('4') chain.addStreamTag('electrons', prescale='1', obeyLB="yes") chain.addStreamTag('IDCalibration', prescale='1', obeyLB="no", type="calibration") chain.addGroup("electrons") hltmenu.addHLTChain(chain) hltmenu.writeConfigFiles(); import sys sys.exit(0)
# HLT menu from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo, PESA__dummyHypo, PESA__newDummyAlgo2To1, PESA__newDummyAlgoAllTEs, PESA__dummyAlgoHLTErrorCode, PESA__dummyMonitoredFex, PESA__dummyAlgoForCalibration, dummyFexWithRobReqPrep menu = TriggerPythonConfig('pureSteering_menu.xml') # L2 # examples below show all the posibilities of configuring Sequences Egamma = PESA__dummyAlgo('Egamma_L2') # create configurable instance Egamma2 = PESA__dummyAlgo('Egamma2_L2') # create configurable another instance EgammaAdv3 = PESA__dummyAlgo("EgammaAdv3") EgammaAdv_L2 = PESA__dummyAlgo("EgammaAdv_L2") menu.addSequence("EM15i", [Egamma, Egamma2, EgammaAdv3], "em15i") # use bot here, mixing with old fassioned way menu.addSequence("em15i", EgammaAdv_L2, "em15i'") # create configurable on the fly defalgo = PESA__dummyAlgo('Em25') # no arg given ...default name menu.addSequence("EM25i", defalgo, "em25i") EgammaAdv_g2 = PESA__dummyAlgo("EgammaAdv_g2") menu.addSequence("em25i", EgammaAdv_g2, "em25i'") Muon = PESA__dummyAlgo('Muon') Muon2 = PESA__dummyAlgo('Muon2') moniMuon = PESA__dummyMonitoredFex("moniMuon") moniMuon.doTiming = True moniMuon.OutputLevel = VERBOSE
eg5.HLTErrorCode = "CONTINUE ALGO_ERROR NAV_ERROR" eg5.OutputLevel = defaultOutputLevel # this error shoudl be masked at the steering level eg6 = PESA__dummyAlgoHLTErrorCode('eg6') eg6.HLTErrorCode = "ABORT_CHAIN ALGO_ERROR GAUDI_EXCEPTION" eg6.OutputLevel = defaultOutputLevel # timeout test from AthenaCommon.SystemOfUnits import * eg7 = PESA__dummyAlgoHLTErrorCode('eg7') eg7.HLTErrorCode = "CONTINUE UNKNOWN UNKNOWN" eg7.BurnTimeAndCheckTimeout = 1. * Units.second eg7.OutputLevel = defaultOutputLevel menu.addSequence("EM15i" , [Fex1, eg1], "em25unmapped" ) menu.addSequence("EM15i" , [Fex1, eg1], "em25unmapped2" ) menu.addSequence("EM25i" , [Fex1, eg2], "em25mapped" ) menu.addSequence("EM15i" , [Fex1, eg3, eg4], "em25badmap" ) menu.addSequence("em25mapped" , [eg4], "em25second" ) menu.addSequence("EM12i", [eg5], "em25small_problem") menu.addSequence("EM12i" , [Fex1, eg6], "em25steeringmasked" ) menu.addSequence("EM12i" , [Fex1, eg7], "em25timeout" ) from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig, ErrorCodeMonitoringToolConfig ecmon = ErrorCodeMonitoringToolConfig("ECmon") ecmon.monitorUnmappedCode() ecmon.monitorActionFixups() ecmon.renameUserCodes(u1="WrongPhiRange", u4="PTunphysiacl")
include('TrigSteering/pureSteering_l1menu.py') from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain menu = TriggerPythonConfig('pureSteering_menu.xml') from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo, PESA__dummyHypo, PESA__newDummyAlgo2To1, PESA__newDummyAlgoAllTEs, PESA__dummyAlgoHLTErrorCode, PESA__dummyMonitoredFex, PESA__dummyAlgoForCalibration, dummyFexWithRobReqPrep # L2 # examples below show all the posibilities of configuring Sequences Egamma = PESA__dummyAlgo('Egamma_L2') # create configurable instance Egamma2 = PESA__dummyAlgo('Egamma2_L2') # create configurable another instance EgammaAdv3 = PESA__dummyAlgo("EgammaAdv3") EgammaAdv_L2 = PESA__dummyAlgo("EgammaAdv_L2") menu.addSequence("EM15i", [Egamma, Egamma2, EgammaAdv3], "em15i") # use bot here, mixing with old fassioned way menu.addSequence("em15i", EgammaAdv_L2, "em15i'") # create configurable on the fly Topo1 = PESA__dummyAlgo('L2_Topo1') menu.addSequence("TOPO0", [Topo1], "topo0") # topo with seeding constraints roughDiElectronMass = PESA__newDummyAlgo2To1("RoughEMassCutOnL1Objects") killSomeCombinations = PESA__dummyHypo('KillSomeCombinations', PreScale=2) fineDiElectronMass = PESA__newDummyAlgo2To1("FineEMassCutOnHLTObjects") perfectDiElectronMass = PESA__newDummyAlgo2To1("PerfectEMassCutOnHLTObjects") menu.addSequence("EM15i EM15i", [roughDiElectronMass, killSomeCombinations], "RoughECut") menu.addSequence("em15i em15i", fineDiElectronMass,
# L1 menu include('TrigSteering/pureSteering_l1menu.py') from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig from TriggerMenu.menu.HLTObjects import HLTChain menu = TriggerPythonConfig('pureSteering_menu.xml') from TrigSteeringTest.TrigSteeringTestConf import PESA__dummyAlgo, PESA__dummyHypo, PESA__newDummyAlgo2To1, PESA__newDummyAlgoAllTEs, PESA__dummyAlgoHLTErrorCode, PESA__dummyMonitoredFex, PESA__dummyAlgoForCalibration # L2 # examples below show all the posibilities of configuring Sequences defalgo = PESA__dummyAlgo('Em25') # no arg given ...default name menu.addSequence("EM25i", defalgo, "em25i") EgammaAdv_g2 = PESA__dummyAlgo("EgammaAdv_g2") menu.addSequence("em25i", EgammaAdv_g2, "em25i'") EgammaAdv_g3 = PESA__dummyAlgo("EgammaAdv_g3") EverRecjectingHypo = PESA__dummyHypo("g25fail") EverRecjectingHypo.PreScale = 1000000 menu.addSequence("em25i", [EgammaAdv_g3, EverRecjectingHypo], "L2_e25fail") # EF EFeg1 = PESA__dummyAlgo("EFeg1") EFeg2 = PESA__dummyAlgo("EFeg2") menu.addSequence("em25i'", EFeg1, "EF_e25i") menu.addSequence("EF_e25i", EFeg2, "EF_e25i'") EverRecjectingEFHypo = PESA__dummyHypo("efg25fail") EverRecjectingEFHypo.PreScale = 1000000 menu.addSequence("EF_e25i", [EFeg2, EverRecjectingEFHypo], "EF_e25fail")