ATLAS Offline Software
Loading...
Searching...
No Matches
TrigT1ZDCConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
4
5from AthenaCommon.Logging import logging
6
7log = logging.getLogger("ZdcRecConfig")
8
9def L1ZDCSimCfg(flags):
10 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
11 acc = ComponentAccumulator()
12
13 from ZdcRec.ZdcRecConfig import ZdcRecRun2Cfg, ZdcRecRun3Cfg, ZdcRecOutputCfg
14 from AthenaConfiguration.ComponentFactory import CompFactory
15 from AthenaConfiguration.Enums import LHCPeriod
16
17 if flags.GeoModel.Run is LHCPeriod.Run2:
18 acc.merge(ZdcRecRun2Cfg(flags))
19 acc.addEventAlgo(CompFactory.LVL1.TrigT1Run2ZDC(filepath_LUT = flags.Trigger.ZdcLUT, EnergyADCScale = 0.4))
20 elif flags.GeoModel.Run is LHCPeriod.Run3:
21 acc.merge(ZdcRecRun3Cfg(flags))
22 acc.addEventAlgo(CompFactory.LVL1.TrigT1Run3ZDC(filepath_LUT = 'TrigT1ZDC/zdc_json_PbPb5.36TeV_2024_TriggerSim.json',
23 MinSampleAna = 7,
24 MaxSampleAna = 15,
25 NegHG2ndDerivThresh = 45,
26 NegLG2ndDerivThresh = 15,
27 BaselineDelta = 3
28 )) #all EB runs > 462494 --> all use this LUT
29 else:
30 log.error(f'L1ZDCSimCfg: Unsupported LHCPeriod: {flags.GeoModel.Run}')
31
32 if flags.Output.doWriteESD or flags.Output.doWriteAOD:
33 acc.merge(ZdcRecOutputCfg(flags))
34
35 return acc
36
37if __name__ == '__main__':
38 import sys
39 from AthenaConfiguration.AllConfigFlags import initConfigFlags
40 from AthenaConfiguration.TestDefaults import defaultGeometryTags
41
42 flags = initConfigFlags()
43 #flags.Input.Files = ['/eos/user/m/mhoppesc/datasets/data23_hi/data23_hi.00462533.physics_EnhancedBias.merge.RAW._lb0680._SFO-17._0001.1']
44 flags.Input.Files = ['/eos/atlas/atlascerngroupdisk/phys-hi/trig-heavyion/data18_hi.00367273.physics_EnhancedBias.merge.RAW/data18_hi.00367273.physics_EnhancedBias.merge.RAW._lb0251._SFO-7._0002.1']
45 flags.Common.isOnline=False
46 flags.Exec.MaxEvents=100
47 flags.Concurrency.NumThreads = 1
48 flags.Concurrency.NumConcurrentEvents=1
49 flags.Scheduler.ShowDataDeps=True
50 flags.Scheduler.CheckDependencies=True
51 flags.Scheduler.ShowDataFlow=True
52 flags.Trigger.enableL1MuonPhase1=True
53 flags.Trigger.triggerMenuSetup='PhysicsP1_HI_run3_v1'
54 flags.Trigger.EDMVersion=3
55 flags.Trigger.doZDC=True
56 flags.Trigger.enableL1CaloPhase1 = False # FIXME: ATR-27095
57 flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN2
58 flags.fillFromArgs()
59 flags.lock()
60
61
62
63 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
64 acc = MainServicesCfg(flags)
65
66 from TriggerJobOpts.TriggerByteStreamConfig import ByteStreamReadCfg
67 acc.merge(ByteStreamReadCfg(flags))
68
69 from TrigConfigSvc.TrigConfigSvcCfg import generateL1Menu
70 generateL1Menu(flags)
71
72 from TriggerJobOpts.Lvl1SimulationConfig import Lvl1SimulationCfg
73 acc.merge(Lvl1SimulationCfg(flags))
74
75 acc.printConfig(withDetails=True, summariseProps=True, printDefaults=True)
76 with open("L1Sim.pkl", "wb") as p:
77 acc.store(p)
78 p.close()
79
80 sys.exit(acc.run().isFailure())