ATLAS Offline Software
Loading...
Searching...
No Matches
JiveXMLConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.Enums import Format
6
7
9 import os
10
11 if "AtlasVersion" in os.environ:
12 return os.environ["AtlasVersion"]
13 if "AtlasBaseVersion" in os.environ:
14 return os.environ["AtlasBaseVersion"]
15 return "Unknown"
16
17
18def AlgoJiveXMLCfg(flags, name="AlgoJiveXML", **kwargs):
19 # This is based on a few old-style configuation files:
20 # JiveXML_RecEx_config.py
21 # JiveXML_jobOptionBase.py
22 result = ComponentAccumulator()
23
24 kwargs.setdefault("AtlasRelease", getATLASVersion())
25 kwargs.setdefault("WriteToFile", True)
26
27 kwargs.setdefault("WriteGeometry", False)
28 kwargs.setdefault("StreamToServerTool", None)
29 kwargs.setdefault("Ready4PhysicsAtStart", flags.OnlineEventDisplays.Ready4PhysicsAtStart)
30
31 # This next bit sets the data types, then we set the associated public tools
32 readAOD = False # FIXME - set this properly
33 readESD = False # FIXME - set this properly
34 haveRDO = (
35 flags.Input.Format is Format.BS or "StreamRDO" in flags.Input.ProcessingTags
36 )
37
38 tools = []
39
40 if not readAOD:
41 from JiveXML.TruthTrackRetrieverConfig import TruthTrackRetrieverCfg
42 tools += [result.getPrimaryAndMerge(TruthTrackRetrieverCfg(flags))]
43
44 if haveRDO or readESD:
45 if flags.Detector.EnableID and flags.Detector.GeometryID:
46 from JiveXML.InDetRetrieversConfig import InDetRetrieversCfg
47 cfg_ID, tools_ID = InDetRetrieversCfg(flags)
48 result.merge(cfg_ID)
49 tools += tools_ID
50
51 if flags.Detector.EnableCalo and flags.Detector.GeometryCalo:
52 from JiveXML.CaloRetrieversConfig import CaloRetrieversCfg
53 cfg_Calo, tools_Calo = CaloRetrieversCfg(flags)
54 result.merge(cfg_Calo)
55 tools += tools_Calo
56
57 if flags.Detector.EnableMuon and flags.Detector.GeometryMuon:
58 from JiveXML.MuonRetrieversConfig import MuonRetrieversCfg
59 cfg_Muon, tools_Muon = MuonRetrieversCfg(flags)
60 result.merge(cfg_Muon)
61 tools += tools_Muon
62
63 from JiveXML.xAODRetrieversConfig import xAODRetrieversCfg
64 cfg_xAOD, tools_xAOD = xAODRetrieversCfg(flags)
65 result.merge(cfg_xAOD)
66 tools += tools_xAOD
67
68 from JiveXML.TriggerRetrieversConfig import TriggerRetrieversCfg
69 cfg_Trigger, tools_Trigger = TriggerRetrieversCfg(flags)
70 result.merge(cfg_Trigger)
71 tools += tools_Trigger
72
73 kwargs.setdefault("DataRetrieverTools", tools)
74 the_alg = CompFactory.JiveXML.AlgoJiveXML(name="AlgoJiveXML", **kwargs)
75 result.addEventAlgo(the_alg, primary=True)
76
77
78 return result
AlgoJiveXMLCfg(flags, name="AlgoJiveXML", **kwargs)