8from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11from ActsGPUDataPreparation.ActsGPUDataPreparationConfig
import DeviceClusterizationAlgCfg
12from ActsGPUEventCnv.ActsGPUEventCnvConfig
import TracccMeasurementConverterAlgCfg
13from ActsGPUGeometry.ActsGPUGeometryConfig
import DeviceDetectorDescriptionCondAlgCfg
16 acc = ComponentAccumulator()
19 acc.merge(DeviceDetectorDescriptionCondAlgCfg(flags))
21 if flags.Acts.EDM.PhaseII :
22 print(
"Running PhaseII RDO to TracccCell conversion")
23 from ActsConfig.ActsPhaseIIRawDataEdmConfig
import (
24 PhaseIIPixelRawDataContainerCfg,
25 PhaseIIStripRawDataContainerCfg,
27 acc.merge(PhaseIIPixelRawDataContainerCfg(flags))
28 acc.merge(PhaseIIStripRawDataContainerCfg(flags))
29 from ActsGPUEventCnv.ActsGPUEventCnvConfig
import PhaseIIRDOtoTracccCellConverterAlgCfg
30 acc.merge(PhaseIIRDOtoTracccCellConverterAlgCfg(flags,
31 TracccCells =
"TracccCellCollection",
35 from ActsGPUEventCnv.ActsGPUEventCnvConfig
import RDOtoTracccCellConverterAlgCfg
36 acc.merge(RDOtoTracccCellConverterAlgCfg(flags,
37 TracccCells =
"TracccCellCollection",
41 acc.merge(DeviceClusterizationAlgCfg(flags,
42 InputTracccCells=
"TracccCellCollection",
43 OutputTracccMeasurements=
"TracccMeasurementCollection",
44 OutputTracccClusters=
"TracccClusterCollection",
45 RetrieveClusterCells=flags.Tracking.doTruth,
50 acc.merge(TracccMeasurementConverterAlgCfg(flags,
51 InputMeasurements=
"TracccMeasurementCollection",
52 InputClusters=
"TracccClusterCollection",
53 InputCells=
"TracccCellCollection",
54 ConvertClustersWithCells = flags.Tracking.doTruth,
55 OutputPixelClusters=
"ITkTracccPixelClusters",
56 OutputStripClusters=
"ITkTracccStripClusters",
60 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig
import ITkPixelLorentzAngleToolCfg
61 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
62 from AthenaConfiguration.ComponentFactory
import CompFactory
63 acc.addEventAlgo(CompFactory.ActsTrk.ActsClusterComparisonAlg(
64 "GPU_ActsClusterComparisonAlg",
65 TracccCondKey=
"TracccHostCondConfig",
66 checkSpacepoints=
False,
67 monitoredSpacepointsKey=
"ITkTracccPixelSpacepoints",
68 referenceSpacepointsKey=
"ITkPixelSpacePoints",
69 monitoredPixelClustersKey=
"ITkTracccPixelClusters",
70 referencePixelClustersKey=
"ITkPixelClusters",
71 monitoredStripClustersKey=
"ITkTracccStripClusters",
72 referenceStripClustersKey=
"ITkStripClusters",
73 PixelLorentzAngleTool = acc.popToolsAndMerge(ITkPixelLorentzAngleToolCfg(flags)),
74 StripLorentzAngleTool = acc.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags)),
81if __name__ ==
"__main__":
82 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
83 from AthenaConfiguration.TestDefaults
import defaultTestFiles
85 flags = initConfigFlags()
87 flags.Input.Files = defaultTestFiles.RDO_RUN4
88 flags.Exec.MaxEvents = 1
91 flags = flags.cloneAndReplace(
92 "Tracking.ActiveConfig",
93 "Tracking.ITkActsPass")
95 flags.Acts.TrackingGeometry.UseBlueprint =
True
96 flags.Acts.TrackingGeometry.BuildDetrayGeometry =
True
100 from InDetConfig.ConfigurationHelpers
import OnlyTrackingPreInclude
101 OnlyTrackingPreInclude(flags)
107 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
108 acc = MainServicesCfg(flags)
109 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
110 acc.merge(PoolReadCfg(flags))
113 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
114 acc.merge(ITkPixelReadoutGeometryCfg(flags))
115 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
116 acc.merge(ITkStripReadoutGeometryCfg(flags))
119 from ActsConfig.ActsRegionsOfInterestConfig
import ActsMainRegionsOfInterestCreatorAlgCfg
120 acc.merge(ActsMainRegionsOfInterestCreatorAlgCfg(flags))
123 from ActsConfig.ActsClusterizationConfig
import ActsPixelClusterizationAlgCfg
124 acc.merge(ActsPixelClusterizationAlgCfg(flags,OutputLevel = DEBUG))
126 from ActsConfig.ActsClusterizationConfig
import ActsStripClusterizationAlgCfg
127 acc.merge(ActsStripClusterizationAlgCfg(flags,OutputLevel = DEBUG))
131 acc.printConfig(withDetails=
True, summariseProps=
True)
133 statusCode = acc.run(flags.Exec.MaxEvents)
134 assert statusCode.isSuccess(),
"Application execution did not succeed"
void print(char *figname, TCanvas *c1)
ComponentAccumulator GPUClusterizationCfg(flags)