ATLAS Offline Software
DataPrepConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaCommon.Constants import DEBUG
6 
7 def xAODContainerMakerCfg(flags, name = 'xAODContainerMaker', **kwarg):
8 
10 
11  kwarg.setdefault('name', name)
12  kwarg.setdefault('OutputStripName', 'ITkStripClusters')
13  kwarg.setdefault('OutputPixelName', 'ITkPixelClusters')
14  kwarg.setdefault('OutputStripSpacePointName', 'ITkStripSpacePoints')
15  kwarg.setdefault('OutputPixelSpacePointName', 'ITkPixelSpacePoints')
16 
17  acc.setPrivateTools(CompFactory.xAODContainerMaker(**kwarg))
18  return acc
19 
20 def DataPrepCfg(flags, name = "DataPreparationPipeline", **kwarg):
21 
22  acc = ComponentAccumulator()
23 
24  tool = acc.popToolsAndMerge(xAODContainerMakerCfg(flags))
25 
26  kwarg.setdefault('name', name)
27  kwarg.setdefault('xclbin', './xAODTransfer.xclbin')
28  kwarg.setdefault('KernelName', 'xAODTransfer')
29  kwarg.setdefault('xAODMaker', tool)
30  kwarg.setdefault('StripClusterContainerKey', 'FPGAITkStripClusters')
31  kwarg.setdefault('PixelClusterContainerKey', 'FPGAITkPixelClusters')
32 
33  acc.addEventAlgo(CompFactory.DataPreparationPipeline(**kwarg))
34  return acc
35 
36 if __name__=="__main__":
37  from AthenaConfiguration.AllConfigFlags import initConfigFlags
38 
39  flags = initConfigFlags()
40  flags.Concurrency.NumThreads = 1
41  # Use a dummy input file for the EventInfo
42  flags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8481_s4149_r14700/RDO.33629020._000047.pool.root.1"]
43  flags.Output.AODFileName = "DataPrepAOD.pool.root"
44 
45  flags.lock()
46 
47  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
48  cfg = MainServicesCfg(flags)
49 
50  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
51  cfg.merge(PoolReadCfg(flags))
52 
53  kwarg = {}
54  kwarg["OutputLevel"] = DEBUG
55 
56  acc = DataPrepCfg(flags, **kwarg)
57  cfg.merge(acc)
58 
59  # Add the AOD output stream
60  # This is only for temporary development purposes
61  from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
62  OutputItemList = ["xAOD::StripClusterContainer#ITkStripClusters",
63  "xAOD::StripClusterAuxContainer#ITkStripClustersAux.",
64  "xAOD::PixelClusterContainer#ITkPixelClusters",
65  "xAOD::PixelClusterAuxContainer#ITkPixelClustersAux."
66  ]
67 
68  cfg.merge(addToAOD(flags, OutputItemList))
69 
70  cfg.run(1)
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
DataPrepConfig.xAODContainerMakerCfg
def xAODContainerMakerCfg(flags, name='xAODContainerMaker', **kwarg)
Definition: DataPrepConfig.py:7
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:259
Constants
some useful constants -------------------------------------------------—
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.OutputStreamConfig.addToAOD
def addToAOD(flags, itemOrList, **kwargs)
Definition: OutputStreamConfig.py:142
DataPrepConfig.DataPrepCfg
def DataPrepCfg(flags, name="DataPreparationPipeline", **kwarg)
Definition: DataPrepConfig.py:20
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69