ATLAS Offline Software
C100Config.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 def WriteToAOD(flags, finalTrackParticles = ''): # store xAOD containers in AOD file
3  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4  result = ComponentAccumulator()
5  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
6  from AthenaConfiguration.Enums import MetadataCategory
7 
8  result.merge( SetupMetaDataForStreamCfg( flags,"AOD",
9  createMetadata=[
10  MetadataCategory.ByteStreamMetaData,
11  MetadataCategory.LumiBlockMetaData,
12  MetadataCategory.TruthMetaData,
13  MetadataCategory.IOVMetaData,],)
14  )
15 
16  from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
17  toAOD = [f"xAOD::TrackParticleContainer#{finalTrackParticles}",f"xAOD::TrackParticleAuxContainer#{finalTrackParticles}Aux."]
18  if flags.Trigger.FPGATrackSim.writeClustersToAOD:
19  toAOD += ["xAOD::PixelClusterContainer#ITkPixelClusters","xAOD::PixelClusterAuxContainer#ITkPixelClustersAux.",
20  "xAOD::StripClusterContainer#ITkStripClusters","xAOD::StripClusterAuxContainer#ITkStripClustersAux."]
21  result.merge(addToAOD(flags, toAOD))
22 
23  return result
24 
25 if __name__ == "__main__":
26  from AthenaConfiguration.AllConfigFlags import initConfigFlags
27  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
28 
29  TrackParticlePrefix="ActsFast"
30 
31  flags = initConfigFlags()
32  from ActsConfig.ActsCIFlags import actsLegacyWorkflowFlags
34 
35  # IDTPM flags
36  from InDetTrackPerfMon.InDetTrackPerfMonFlags import initializeIDTPMConfigFlags, initializeIDTPMTrkAnaConfigFlags
37  flags = initializeIDTPMConfigFlags(flags)
38 
39  flags.fillFromArgs()
40  flags = initializeIDTPMTrkAnaConfigFlags(flags) # should run after `fillFromArgs`
41 
42 
43  flags.PhysVal.IDTPM.TrkAnaEF.TrigTrkKey = f"{TrackParticlePrefix}TrackParticles"
44  if not flags.Trigger.FPGATrackSim.writeClustersToAOD:
45  flags.PhysVal.IDTPM.TrkAnaDoubleRatio.TrigTrkKey = f"{TrackParticlePrefix}TrackParticles"
46 
47  flags.Debug.DumpEvtStore=True
48  flags.Concurrency.NumThreads=0
49  flags.Concurrency.NumConcurrentEvents=0
50  flags.Concurrency.NumProcs=0
51 
52  flags.lock()
53  flags = flags.cloneAndReplace("Tracking.ActiveConfig", "Tracking.ITkMainPass", keepOriginal=True)
54  flags.dump()
55 
56  acc=MainServicesCfg(flags)
57 
58 
59  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
60  acc.merge(PoolReadCfg(flags))
61 
62  if flags.Input.isMC:
63  from xAODTruthCnv.xAODTruthCnvConfig import GEN_AOD2xAODCfg
64  acc.merge(GEN_AOD2xAODCfg(flags))
65 
66  from JetRecConfig.JetRecoSteering import addTruthPileupJetsToOutputCfg # TO DO: check if this is indeed necessary for pileup samples
67  acc.merge(addTruthPileupJetsToOutputCfg(flags))
68 
69  if flags.Detector.EnableCalo:
70  from CaloRec.CaloRecoConfig import CaloRecoCfg
71  acc.merge(CaloRecoCfg(flags))
72 
73  if not flags.Reco.EnableTrackOverlay:
74  from InDetConfig.TrackRecoConfig import InDetTrackRecoCfg
75  acc.merge(InDetTrackRecoCfg(flags))
76  from InDetConfig.InDetPrepRawDataToxAODConfig import TruthParticleIndexDecoratorAlgCfg
77  acc.merge( TruthParticleIndexDecoratorAlgCfg(flags) )
78 
79  from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig import FPGATrackSimDataPrepConnectToFastTracking
80  acc.merge(FPGATrackSimDataPrepConnectToFastTracking(flags, FinalTracks=f"{TrackParticlePrefix}"))
81 
82  if flags.Trigger.FPGATrackSim.writeClustersToAOD:
83  acc.merge(WriteToAOD(flags, finalTrackParticles=f"{TrackParticlePrefix}TrackParticles"))
84  else:
85  # IDTPM running
86  from InDetTrackPerfMon.InDetTrackPerfMonConfig import InDetTrackPerfMonCfg
87  acc.merge( InDetTrackPerfMonCfg(flags) )
88 
89  acc.store(open('AnalysisConfig.pkl','wb'))
90  statusCode = acc.run(flags.Exec.MaxEvents)
91  assert statusCode.isSuccess() is True, "Application execution did not succeed"
python.CaloRecoConfig.CaloRecoCfg
def CaloRecoCfg(flags, clustersname=None)
Definition: CaloRecoConfig.py:9
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
xAODTruthCnvConfig.GEN_AOD2xAODCfg
def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:22
python.InDetPrepRawDataToxAODConfig.TruthParticleIndexDecoratorAlgCfg
def TruthParticleIndexDecoratorAlgCfg(flags, name='TruthParticleIndexDecoratorAlg', **kwargs)
Definition: InDetPrepRawDataToxAODConfig.py:6
python.C100Config.WriteToAOD
def WriteToAOD(flags, finalTrackParticles='')
Definition: C100Config.py:2
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
python.JetRecoSteering.addTruthPileupJetsToOutputCfg
def addTruthPileupJetsToOutputCfg(flags, toAOD=True, toESD=True)
Definition: JetRecoSteering.py:7
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepConnectToFastTracking
def FPGATrackSimDataPrepConnectToFastTracking(flagsIn, FinalTracks="F100-", **kwargs)
Definition: FPGATrackSimDataPrepConfig.py:433
python.TrackRecoConfig.InDetTrackRecoCfg
def InDetTrackRecoCfg(flags)
Main ID tracking config #####################.
Definition: TrackRecoConfig.py:804
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
InDetTrackPerfMonFlags.initializeIDTPMConfigFlags
def initializeIDTPMConfigFlags(flags)
General config flag category for IDTPM tool job configuration.
Definition: InDetTrackPerfMonFlags.py:172
python.OutputStreamConfig.addToAOD
def addToAOD(flags, itemOrList, **kwargs)
Definition: OutputStreamConfig.py:188
ActsCIFlags.actsLegacyWorkflowFlags
None actsLegacyWorkflowFlags(flags)
Definition: ActsCIFlags.py:6
InDetTrackPerfMonFlags.initializeIDTPMTrkAnaConfigFlags
def initializeIDTPMTrkAnaConfigFlags(flags)
Create flags category and corresponding set of flags.
Definition: InDetTrackPerfMonFlags.py:182
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:71
InDetTrackPerfMonConfig.InDetTrackPerfMonCfg
def InDetTrackPerfMonCfg(flags)
Definition: InDetTrackPerfMonConfig.py:316