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