3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
7 name: str =
"ActsTruthGuidedProtoTrackCreatorTool",
8 **kwargs) -> ComponentAccumulator:
9 acc = ComponentAccumulator()
10 kwargs.setdefault(
'PRD_MultiTruthCollections', [
"PRD_MultiTruthITkPixel",
"PRD_MultiTruthITkStrip"])
11 acc.setPrivateTools(CompFactory.ActsTrk.TruthGuidedProtoTrackCreatorTool(name, **kwargs))
15 name: str =
"ActsProtoTrackCreationAndFitAlg",
16 **kwargs) -> ComponentAccumulator:
17 acc = ComponentAccumulator()
19 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
20 acc.merge(ITkPixelReadoutGeometryCfg(flags))
22 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
23 acc.merge(ITkStripReadoutGeometryCfg(flags))
25 kwargs.setdefault(
'PixelClusterContainer',
'ITkPixelClusters')
26 kwargs.setdefault(
'StripClusterContainer',
'ITkStripClusters')
27 kwargs.setdefault(
'ACTSTracksLocation',
'EFTestTracks')
29 if 'ActsFitter' not in kwargs:
30 from ActsConfig.ActsTrackFittingConfig
import ActsFitterCfg
31 kwargs.setdefault(
"ActsFitter", acc.popToolsAndMerge(ActsFitterCfg(flags,
35 if 'PatternBuilder' not in kwargs:
38 acc.addEventAlgo(CompFactory.ActsTrk.ProtoTrackCreationAndFitAlg(name,**kwargs),
43 name: str =
"ActsProtoTrackReportingAlg",
44 **kwargs) -> ComponentAccumulator:
45 acc = ComponentAccumulator()
46 kwargs.setdefault(
"ProtoTracksLocation",
"ProtoTracksCollection")
47 kwargs.setdefault(
"copyParametersFromFit",
True)
48 acc.addEventAlgo(CompFactory.ActsTrk.ProtoTrackReportingAlg(name,**kwargs),
52if __name__ ==
"__main__":
55 acc = ComponentAccumulator()
56 histSvc = CompFactory.THistSvc(Output= [
"{streamName} DATAFILE='{data_file}', OPT='RECREATE'".format(streamName=streamName, data_file = dataFile )])
57 acc.addService(histSvc, primary=
True)
61 ACTSProtoTrackChainTrackKey =
"ACTSProtoTrackChainTestTracks"
62 FinalProtoTrackChainTracksKey=
"TrkProtoTrackChainTestTracks"
63 FinalProtoTrackChainxAODTracksKey=
"xAODProtoTrackChainTestTracks"
65 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
66 flags = initConfigFlags()
69 flags.addFlag(
"outputNTupleFile",
"refits.root")
72 flags.Detector.EnableCalo =
False
73 flags.Detector.EnableHGTD =
False
75 flags.Acts.doRotCorrection =
False
78 from ActsConfig.ActsCIFlags
import athenaLegacyTrackingFlags
79 athenaLegacyTrackingFlags(flags)
81 flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=
True
82 flags.Tracking.ITkMainPass.doAthenaToActsCluster=
True
85 from InDetTrackPerfMon.InDetTrackPerfMonFlags
import initializeIDTPMConfigFlags, initializeIDTPMTrkAnaConfigFlags
86 flags = initializeIDTPMConfigFlags(flags)
88 flags.PhysVal.IDTPM.plotsDefFileList =
"InDetTrackPerfMon/PlotsDefFileList_default.txt"
89 flags.PhysVal.IDTPM.plotsCommonValuesFile =
"InDetTrackPerfMon/PlotsDefCommonValues.json"
90 flags.PhysVal.OutputFileName = flags.PhysVal.IDTPM.outputFilePrefix +
'.HIST.root'
91 flags.Output.doWriteAOD_IDTPM =
True
92 flags.PhysVal.IDTPM.trkAnaCfgFile =
"InDetTrackPerfMon/EFTrkAnaConfig_example.json"
93 flags = initializeIDTPMTrkAnaConfigFlags(flags)
95 flags.PhysVal.IDTPM.TrkAnaEF.TrigTrkKey = f
"{FinalProtoTrackChainxAODTracksKey}TrackParticles"
96 flags.PhysVal.IDTPM.TrkAnaDoubleRatio.TrigTrkKey = f
"{FinalProtoTrackChainxAODTracksKey}TrackParticles"
98 flags.PhysVal.doExample =
False
101 if flags.Input.Files == [
'_ATHENA_GENERIC_INPUTFILE_NAME_']:
102 flags.Input.Files = [
"/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-04-00-00/mc21_14TeV.900498.PG_single_muonpm_Pt100_etaFlatnp0_43.recon.RDO.e8481_s4494_r16632/RDO.45451592._000021.pool.root.1"]
104 from AthenaConfiguration.TestDefaults
import defaultConditionsTags
105 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN4_MC
107 flags.Debug.DumpEvtStore =
True
111 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
112 top_acc = MainServicesCfg(flags)
114 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
115 top_acc.merge(PoolReadCfg(flags))
119 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
120 top_acc.merge(GEN_AOD2xAODCfg(flags))
123 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
124 top_acc.merge(ITkTrackRecoCfg(flags))
127 top_acc.merge(
SetupHistSvc(flags,streamName=
"HmmRefits",dataFile=flags.outputNTupleFile))
131 from ActsConfig.ActsTruthConfig
import ActsTruthAssociationAlgCfg, ActsTruthParticleHitCountAlgCfg
132 top_acc.merge(ActsTruthAssociationAlgCfg(flags))
133 top_acc.merge(ActsTruthParticleHitCountAlgCfg(flags))
135 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
136 acts_tracks=
"ActsTracks" if not flags.Acts.doAmbiguityResolution
else "ActsResolvedTracks"
137 top_acc.merge(ActsTrackToTruthAssociationAlgCfg(
139 name=f
"{acts_tracks}ProtoTrackToTruthAssociationAlg",
140 ACTSTracksLocation=ACTSProtoTrackChainTrackKey,
141 AssociationMapOut=acts_tracks+
"ToTruthParticleAssociation"))
143 top_acc.merge(ActsTrackFindingValidationAlgCfg(
145 name=f
"{acts_tracks}TrackFindingValidationAlg",
146 TrackToTruthAssociationMap=acts_tracks+
"ToTruthParticleAssociation"))
149 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
150 top_acc.merge(ActsTrackToTrackParticleCnvAlgCfg(
151 flags,
"ActsResolvedProtoTrackToAltTrackParticleCnvAlg",
152 ACTSTracksLocation=[ACTSProtoTrackChainTrackKey,],
153 TrackParticlesOutKey=f
"{FinalProtoTrackChainxAODTracksKey}TrackParticles"))
155 from ActsConfig.ActsTruthConfig
import ActsTrackParticleTruthDecorationAlgCfg
156 top_acc.merge(ActsTrackParticleTruthDecorationAlgCfg(
158 "ActsSandboxTrackParticleTruthDecorationAlg",
159 TrackToTruthAssociationMaps=[acts_tracks+
"ToTruthParticleAssociation"],
160 TrackParticleContainerName=f
"{FinalProtoTrackChainxAODTracksKey}TrackParticles"))
163 from InDetPhysValMonitoring.InDetPhysValDecorationConfig
import AddDecoratorCfg
164 top_acc.merge(AddDecoratorCfg(flags))
167 from InDetTrackPerfMon.InDetTrackPerfMonConfig
import InDetTrackPerfMonCfg
168 top_acc.merge( InDetTrackPerfMonCfg(flags) )
170 top_acc.printConfig(withDetails=
True, summariseProps=
True)
175 top_acc.foreach_component(
"AthEventSeq/*").OutputLevel = DEBUG
176 top_acc.printConfig(withDetails=
True, summariseProps=
True)
177 top_acc.store(open(
"ITkTrackRecoWithProtoTracks.pkl",
"wb"))
178 sc = top_acc.run(flags.Exec.MaxEvents)
ComponentAccumulator ActsProtoTrackReportingAlgCfg(flags, str name="ActsProtoTrackReportingAlg", **kwargs)
ComponentAccumulator ActsTruthGuidedProtoTrackCreatorToolCfg(flags, str name="ActsTruthGuidedProtoTrackCreatorTool", **kwargs)
SetupHistSvc(flags, streamName, dataFile)
ComponentAccumulator ActsProtoTackCreationAndFitAlgCfg(flags, str name="ActsProtoTrackCreationAndFitAlg", **kwargs)