ATLAS Offline Software
Lvl1SimulationConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 
6 
7 
8 def Lvl1SimulationCfg(flags, seqName = None):
9  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
10  from AthenaCommon.CFElements import parOR
11  if seqName:
12  acc = ComponentAccumulator(sequence=parOR(seqName))
13  else:
14  acc = ComponentAccumulator()
15 
16  from AthenaCommon.CFElements import seqAND
17  acc.addSequence(seqAND('L1SimSeq'))
18 
19  if flags.Trigger.enableL1CaloLegacy:
20  acc.addSequence(seqAND('L1CaloLegacySimSeq'), parentName='L1SimSeq')
21  from TrigT1CaloSim.TrigT1CaloSimRun2Config import L1CaloLegacySimCfg
22  acc.merge(L1CaloLegacySimCfg(flags), sequenceName='L1CaloLegacySimSeq')
23 
24  acc.addSequence(seqAND('L1CaloSimSeq'), parentName='L1SimSeq')
25 
26  if flags.Trigger.enableL1CaloPhase1:
27  from L1CaloFEXSim.L1CaloFEXSimCfg import L1CaloFEXSimCfg
28  acc.merge(L1CaloFEXSimCfg(flags), sequenceName = 'L1CaloSimSeq')
29 
30 
31  if flags.Trigger.enableL1MuonPhase1:
32  acc.addSequence(seqAND('L1MuonSimSeq'), parentName='L1SimSeq')
33  from TriggerJobOpts.Lvl1MuonSimulationConfig import Lvl1MuonSimulationCfg
34  acc.merge(Lvl1MuonSimulationCfg(flags), sequenceName='L1MuonSimSeq')
35 
36  if flags.Trigger.L1.doTopo:
37  acc.addSequence(seqAND('L1TopoSimSeq'), parentName='L1SimSeq')
38  from L1TopoSimulation.L1TopoSimulationConfig import L1TopoSimulationCfg
39  acc.merge(L1TopoSimulationCfg(flags), sequenceName='L1TopoSimSeq')
40 
41  if flags.Trigger.L1.doGlobal:
42  globalSimSeqName = 'L0GlobalSimSeq'
43  acc.addSequence(parOR(globalSimSeqName), parentName='L1SimSeq')
44  from GlobalSimulation.GlobalL1TopoSimulation import GlobalL1TopoSimulationCfg
45  acc.merge(GlobalL1TopoSimulationCfg(flags), sequenceName=globalSimSeqName)
46 
47  if flags.Trigger.doZDC:
48  acc.addSequence(seqAND('L1ZDCSimSeq'),parentName='L1SimSeq')
49  from TrigT1ZDC.TrigT1ZDCConfig import L1ZDCSimCfg
50  acc.merge(L1ZDCSimCfg(flags), sequenceName = 'L1ZDCSimSeq')
51 
52  if flags.Trigger.doTRT:
53  acc.addSequence(seqAND('L1TRTSimSeq'),parentName='L1SimSeq')
54  from TrigT1TRT.TrigT1TRTConfig import L1TRTSimCfg
55  acc.merge(L1TRTSimCfg(flags), sequenceName = 'L1TRTSimSeq')
56 
57 
58  acc.addSequence(seqAND('L1CTPSimSeq'), parentName='L1SimSeq')
59  from TrigT1CTP.CTPSimulationConfig import CTPSimulationCfg
60  acc.merge(CTPSimulationCfg(flags), sequenceName="L1CTPSimSeq")
61 
62 
63  return acc
64 
65 if __name__ == '__main__':
66  import sys
67  from AthenaConfiguration.AllConfigFlags import initConfigFlags
68 
69  flags = initConfigFlags()
70  flags.Input.Files = ['/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8514_e8528_s4159_s4114_r14799_tid34171421_00/RDO.34171421._000011.pool.root.1']
71  flags.Exec.MaxEvents = 5
72  flags.Concurrency.NumThreads = 1
73  flags.Trigger.triggerMenuSetup = 'Dev_pp_run3_v1'
74  flags.IOVDb.GlobalTag="OFLCOND-MC23-SDR-RUN3-05" # temporary override until the input RDO is updated to a MC23e setup
75  flags.Trigger.doHLT = True # this is necessary so that the simulation of L1Calo (if running on MC) gets output with keys that Topo sim expects
76  flags.fillFromArgs()
77  flags.lock()
78 
79  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
80  acc = MainServicesCfg(flags)
81 
82  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
83  acc.merge(PoolReadCfg(flags))
84 
85  from TrigConfigSvc.TrigConfigSvcCfg import generateL1Menu
86  generateL1Menu(flags)
87 
88  acc.merge(Lvl1SimulationCfg(flags))
89 
90  acc.printConfig(withDetails=True, summariseProps=True, printDefaults=True)
91  sys.exit(acc.run().isFailure())
TrigT1ZDCConfig.L1ZDCSimCfg
def L1ZDCSimCfg(flags)
this function sets up the L1 simulation sequence with the ZDC it covers the case of rerunning the L1 ...
Definition: TrigT1ZDCConfig.py:6
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
L1TopoSimulationConfig.L1TopoSimulationCfg
def L1TopoSimulationCfg(flags, doMonitoring=True, readMuCTPI=False, name="L1TopoSimulation")
Definition: L1TopoSimulationConfig.py:46
python.Lvl1SimulationConfig.Lvl1SimulationCfg
def Lvl1SimulationCfg(flags, seqName=None)
this function sets up the top L1 simulation sequence
Definition: Lvl1SimulationConfig.py:8
python.TrigConfigSvcCfg.generateL1Menu
def generateL1Menu(flags)
Definition: TrigConfigSvcCfg.py:184
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
TrigT1CaloSimRun2Config.L1CaloLegacySimCfg
def L1CaloLegacySimCfg(flags)
Definition: TrigT1CaloSimRun2Config.py:74
python.JetAnalysisCommon.parOR
parOR
Definition: JetAnalysisCommon.py:271
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
TrigT1TRTConfig.L1TRTSimCfg
def L1TRTSimCfg(flags, name="TrigT1TRT")
Definition: TrigT1TRTConfig.py:7
python.Lvl1MuonSimulationConfig.Lvl1MuonSimulationCfg
def Lvl1MuonSimulationCfg(flags)
Definition: Lvl1MuonSimulationConfig.py:397
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.CTPSimulationConfig.CTPSimulationCfg
def CTPSimulationCfg(flags)
Definition: CTPSimulationConfig.py:6
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69
L1CaloFEXSimCfg
Definition: L1CaloFEXSimCfg.py:1
GlobalL1TopoSimulation.GlobalL1TopoSimulationCfg
def GlobalL1TopoSimulationCfg(flags, algLogLevel=None)
Definition: GlobalL1TopoSimulation.py:18