ATLAS Offline Software
Loading...
Searching...
No Matches
run_Egamma1eRatio.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3if __name__ == '__main__':
4
5 from AthenaCommon.Logging import logging
6 from AthenaCommon.Constants import DEBUG
7
8 from add_subsystems import add_subsystems
9
10 logger = logging.getLogger('run_Egamma1eRatio_only')
11 logger.setLevel(DEBUG)
12
13 from AthenaConfiguration.AllConfigFlags import initConfigFlags
14 flags = initConfigFlags()
15 parser = flags.getArgumentParser()
16
17 parser.add_argument(
18 "-ifex",
19 "--doCaloInput",
20 action="store_true",
21 dest="doCaloInput",
22 help="Decoding L1Calo inputs",
23 default=False,
24 required=False)
25
26 args, _ = parser.parse_known_args()
27
28 from AthenaConfiguration.TestDefaults import defaultTestFiles, defaultGeometryTags, defaultConditionsTags
29 # if --filesInput was specified as well (!) this will override
30 # This does not work, I get an
31 if not args.filesInput:
32 flags.Input.Files = defaultTestFiles.RAW_RUN3_DATA24
33 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
34 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_DATA24
35
36
37 flags.Output.AODFileName = 'AOD.pool.root'
38 flags.Concurrency.NumThreads = 1
39 flags.Concurrency.NumConcurrentEvents = 1
40 flags.Trigger.doLVL1 = True
41
42 flags.Scheduler.ShowDataDeps = True
43 flags.Scheduler.CheckDependencies = True
44 flags.Scheduler.ShowDataFlow = True
45 flags.Trigger.EDMVersion = 3
46 flags.Trigger.enableL1CaloPhase1 = True
47
48 flags.fillFromArgs(parser=parser)
49
50 # Enable only calo for this test
51 from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
52
53 setupDetectorFlags(flags, ['LAr','Tile','MBTS'], toggle_geometry=True)
54
55 flags.lock()
56 flags.dump()
57
58 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
59 acc = MainServicesCfg(flags)
60
61
62 # Generate run3 L1 menu
63 #from TrigConfigSvc.TrigConfigSvcCfg import L1ConfigSvcCfg, generateL1Menu
64 #acc.merge(L1ConfigSvcCfg(flags))
65 #generateL1Menu(flags)
66
67 from AthenaConfiguration.Enums import Format
68 if flags.Input.Format == Format.POOL:
69 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
70 acc.merge(PoolReadCfg(flags))
71
72 from TrigCaloRec.TrigCaloRecConfig import hltCaloCellSeedlessMakerCfg
73 acc.merge(hltCaloCellSeedlessMakerCfg(flags, roisKey=''))
74
75 else:
76 subsystems = ('eFex',)
77 acc.merge(add_subsystems(flags, subsystems, args, OutputLevel=DEBUG))
78
79 from TriggerJobOpts.TriggerByteStreamConfig import ByteStreamReadCfg
80 acc.merge(ByteStreamReadCfg(flags))
81
82 from TrigCaloRec.TrigCaloRecConfig import hltCaloCellSeedlessMakerCfg
83 acc.merge(hltCaloCellSeedlessMakerCfg(flags, roisKey=''))
84
85 # add in the Algortihm to build a LArStrip Neighborhood container
86 from GlobalSimulation.Egamma1_LArStrip_Fex_RowAwareCfg import (
87 Egamma1_LArStrip_Fex_RowAwareCfg,
88 )
90 OutputLevel=DEBUG,
91 makeCaloCellContainerChecks=False,
92 dump=False,
93 dumpTerse=False))
94
95 # add in the EgammaeRatio Algorithm to be run
96 from GlobalSimulation.GlobalSimAlgCfg_Egamma1eRatio import GlobalSimulationAlgCfg
97 acc.merge(GlobalSimulationAlgCfg(flags,
98 OutputLevel=DEBUG,
99 dump=True))
100
101 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
102 acc.merge(OutputStreamCfg(flags, 'AOD', ["std::vector<int>#phimax"]))
103 acc.merge(OutputStreamCfg(flags, 'AOD', ["std::vector<int>#eRatio"]))
104 acc.merge(OutputStreamCfg(flags, 'AOD', ["std::vector<float>#eRatioSimple"]))
105 acc.merge(OutputStreamCfg(flags, 'AOD', ["std::vector<float>#eRatioResult"]))
106
107 if acc.run().isFailure():
108 import sys
109 sys.exit(1)
110
111