ATLAS Offline Software
Loading...
Searching...
No Matches
runTauOnly_run4.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3# Simple script to run a
4# Tau job
5#
6# Usefull for quick testing of run4 reconstruction using LCTopo jets for tau seeding
7# run with
8#
9# athena --CA runTauOnly_run4.py
10# or
11# python runTauOnly_run4.py
12
13import sys
14
15def tauSpecialContent(flags,cfg):
16 from OutputStreamAthenaPool.OutputStreamConfig import outputStreamName
17 StreamAOD = cfg.getEventAlgo(outputStreamName("AOD"))
18 newList = [x for x in StreamAOD.ItemList if "Tau" in x]
19 StreamAOD.ItemList = newList
20
21def _run():
22 from AthenaConfiguration.AllConfigFlags import initConfigFlags
23 flags = initConfigFlags()
24 # input
25 from AthenaConfiguration.TestDefaults import defaultTestFiles, defaultConditionsTags
26 flags.Exec.MaxEvents = 20
27 flags.Input.Files = defaultTestFiles.RDO_RUN4
28 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN4_MC
29 from AthenaConfiguration.Enums import ProductionStep
30 flags.Common.ProductionStep = ProductionStep.Reconstruction
31
32 # output
33 flags.Output.AODFileName = "myAOD.pool.root"
34
35 # uncomment given something like export ATHENA_CORE_NUMBER=2
36 # flags.Concurrency.NumThreads = 2
37
38 # Setup detector flags
39 from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
40 setupDetectorFlags(flags, None, use_metadata=True,
41 toggle_geometry=True, keep_beampipe=True)
42
43 # Schedule Tau Reco
44 from tauRec.ConfigurationHelpers import StandaloneTauRecoFlags
45 StandaloneTauRecoFlags(flags)
46 flags.lock()
47
48 from RecJobTransforms.RecoSteering import RecoSteering
49 acc = RecoSteering(flags)
50
51 # keep only tau containers
52 tauSpecialContent(flags,acc)
53
54 # Special message service configuration
55 from DigitizationConfig.DigitizationSteering import DigitizationMessageSvcCfg
56 acc.merge(DigitizationMessageSvcCfg(flags))
57
58 from AthenaConfiguration.Utils import setupLoggingLevels
59 setupLoggingLevels(flags, acc)
60
61 # Print reco domain status
62 from RecJobTransforms.RecoConfigFlags import printRecoFlags
63 printRecoFlags(flags)
64
65 # running
66 statusCode = acc.run()
67
68 return statusCode
69
70
71if __name__ == "__main__":
72 statusCode = None
73 statusCode = _run()
74 assert statusCode is not None, "Issue while running"
75 sys.exit(not statusCode.isSuccess())
76
77
tauSpecialContent(flags, cfg)