Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
runTauOnly_EMPFlow.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 # Simple script to run a
4 # Tau job
5 #
6 # Usefull for quick testing using EMPFlow jets for tau seeding
7 # run with
8 #
9 # athena --CA runTauOnly_EMPFlow.py
10 # or
11 # python runTauOnly_EMPFlow.py
12 
13 import sys
14 
15 def 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 
21  StreamESD = cfg.getEventAlgo(outputStreamName("ESD"))
22  newList = [x for x in StreamESD.ItemList if "Tau" in x]
23  StreamESD.ItemList = newList
24 
25 def _run():
26  from AthenaConfiguration.AllConfigFlags import initConfigFlags
27  flags = initConfigFlags()
28  # input
29  from AthenaConfiguration.TestDefaults import defaultTestFiles, defaultConditionsTags
30  flags.Exec.MaxEvents = 20
31  flags.Input.Files = defaultTestFiles.RDO_RUN3
32  flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_MC
33  from AthenaConfiguration.Enums import ProductionStep
34  flags.Common.ProductionStep = ProductionStep.Reconstruction
35 
36  # output
37  flags.Output.ESDFileName = "myESD.pool.root"
38  flags.Output.AODFileName = "myAOD.pool.root"
39 
40  # uncomment given something like export ATHENA_CORE_NUMBER=2
41  # flags.Concurrency.NumThreads = 2
42 
43  # Setup detector flags
44  from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
45  setupDetectorFlags(flags, None, use_metadata=True,
46  toggle_geometry=True, keep_beampipe=True)
47 
48  # Schedule Tau Reco
49  from tauRec.ConfigurationHelpers import StandaloneTauRecoFlags
51  flags.Tau.TauRec.SeedJetCollection = "AntiKt4EMPFlowJets"
52  flags.lock()
53 
54  from RecJobTransforms.RecoSteering import RecoSteering
55  acc = RecoSteering(flags)
56 
57  # keep only tau containers
58  tauSpecialContent(flags,acc)
59 
60  # Special message service configuration
61  from DigitizationConfig.DigitizationSteering import DigitizationMessageSvcCfg
62  acc.merge(DigitizationMessageSvcCfg(flags))
63 
64  from AthenaConfiguration.Utils import setupLoggingLevels
65  setupLoggingLevels(flags, acc)
66 
67  # Print reco domain status
68  from RecJobTransforms.RecoConfigFlags import printRecoFlags
69  printRecoFlags(flags)
70 
71  # running
72  statusCode = acc.run()
73 
74  return statusCode
75 
76 
77 if __name__ == "__main__":
78  statusCode = None
79  statusCode = _run()
80  assert statusCode is not None, "Issue while running"
81  sys.exit(not statusCode.isSuccess())
82 
83 
AthenaPoolExample_WriteCond.outputStreamName
string outputStreamName
Definition: AthenaPoolExample_WriteCond.py:21
python.RecoSteering.RecoSteering
def RecoSteering(flags)
Definition: RecoSteering.py:6
ConfigurationHelpers.StandaloneTauRecoFlags
def StandaloneTauRecoFlags(flags)
Definition: Reconstruction/tauRec/python/ConfigurationHelpers.py:6
python.RecoConfigFlags.printRecoFlags
def printRecoFlags(flags)
Definition: RecoConfigFlags.py:155
python.DigitizationSteering.DigitizationMessageSvcCfg
def DigitizationMessageSvcCfg(flags)
Definition: DigitizationSteering.py:217
python.Utils.setupLoggingLevels
def setupLoggingLevels(flags, ca)
Definition: Control/AthenaConfiguration/python/Utils.py:50
python.DetectorConfigFlags.setupDetectorFlags
def setupDetectorFlags(flags, custom_list=None, use_metadata=False, toggle_geometry=False, validate_only=False, keep_beampipe=False)
Definition: DetectorConfigFlags.py:291
runTauOnly_EMPFlow.tauSpecialContent
def tauSpecialContent(flags, cfg)
Definition: runTauOnly_EMPFlow.py:15
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
runTauOnly_EMPFlow._run
def _run()
Definition: runTauOnly_EMPFlow.py:25