3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 result = ComponentAccumulator()
5 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
6 from AthenaConfiguration.Enums
import MetadataCategory
8 result.merge( SetupMetaDataForStreamCfg( flags,
"AOD",
10 MetadataCategory.ByteStreamMetaData,
11 MetadataCategory.LumiBlockMetaData,
12 MetadataCategory.TruthMetaData,
13 MetadataCategory.IOVMetaData,],)
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))
25if __name__ ==
"__main__":
26 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
27 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
29 TrackParticlePrefix=
"ActsFast"
31 flags = initConfigFlags()
32 from ActsConfig.ActsCIFlags
import actsLegacyWorkflowFlags
33 actsLegacyWorkflowFlags(flags)
36 from InDetTrackPerfMon.InDetTrackPerfMonFlags
import initializeIDTPMConfigFlags, initializeIDTPMTrkAnaConfigFlags
37 flags = initializeIDTPMConfigFlags(flags)
40 flags = initializeIDTPMTrkAnaConfigFlags(flags)
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"
47 flags.Debug.DumpEvtStore=
True
48 flags.Concurrency.NumThreads=0
49 flags.Concurrency.NumConcurrentEvents=0
50 flags.Concurrency.NumProcs=0
53 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass", keepOriginal=
True)
56 acc=MainServicesCfg(flags)
59 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
60 acc.merge(PoolReadCfg(flags))
63 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
64 acc.merge(GEN_AOD2xAODCfg(flags))
66 from JetRecConfig.JetRecoSteering
import addTruthPileupJetsToOutputCfg
67 acc.merge(addTruthPileupJetsToOutputCfg(flags))
69 if flags.Detector.EnableCalo:
70 from CaloRec.CaloRecoConfig
import CaloRecoCfg
71 acc.merge(CaloRecoCfg(flags))
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) )
79 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig
import FPGATrackSimDataPrepConnectToFastTracking
80 acc.merge(FPGATrackSimDataPrepConnectToFastTracking(flags, FinalTracks=f
"{TrackParticlePrefix}"))
82 if flags.Trigger.FPGATrackSim.writeClustersToAOD:
83 acc.merge(
WriteToAOD(flags, finalTrackParticles=f
"{TrackParticlePrefix}TrackParticles"))
86 from InDetTrackPerfMon.InDetTrackPerfMonConfig
import InDetTrackPerfMonCfg
87 acc.merge( InDetTrackPerfMonCfg(flags) )
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"
WriteToAOD(flags, finalTrackParticles='')