3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaCommon.Logging
import AthenaLogger
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
8 def getRegionNumber(nPiOver16Min, minAbsEta, isPositiveEta, verbosePrint=True):
12 if (nPiOver16Min >= 32
or nPiOver16Min < 0):
13 print(
"You are asking for nPiOver16 = ",nPiOver16Min,
" but we only have 32 phi bins! Returning -1")
15 if (minAbsEta > 3.8
or minAbsEta < 0):
16 print(
"You are asking for minAbsEta = ",minAbsEta,
" but we only have 20 abs eta bins! Returning -1")
18 if not (isPositiveEta == 0
or isPositiveEta == 1):
19 print(
"You are asking for isPositiveEta = ",isPositiveEta,
" but this should only be 0 or 1! Returning -1")
22 etanum =
round(minAbsEta / binSizeEta)
23 mineta = binSizeEta*etanum
24 maxeta = binSizeEta*(etanum+1)
25 if (
not isPositiveEta):
26 mineta = -binSizeEta*(etanum+1)
27 maxeta = -binSizeEta*etanum
29 region = region | ((isPositiveEta & 0x1) << 5)
30 region = region | (etanum << 6)
32 print(
"I am returning the region number for minphi =",nPiOver16Min,
"*pi/16, which is equal to",binSizePhi*nPiOver16Min)
33 print(
" and maxphi =",nPiOver16Min+1,
"*pi/16, which is equal to",binSizePhi*(nPiOver16Min+1))
34 print(
" and mineta =",mineta,
"and max eta =", maxeta)
40 if (flags.Trigger.FPGATrackSim.oldRegionDefs):
41 if (
not (flags.Trigger.FPGATrackSim.baseName ==
'')):
42 return flags.Trigger.FPGATrackSim.baseName
43 elif (flags.Trigger.FPGATrackSim.region == 0):
44 return 'eta0103phi0305'
45 elif (flags.Trigger.FPGATrackSim.region == 1):
46 return 'eta0709phi0305'
47 elif (flags.Trigger.FPGATrackSim.region == 2):
48 return 'eta1214phi0305'
49 elif (flags.Trigger.FPGATrackSim.region == 3):
50 return 'eta2022phi0305'
51 elif (flags.Trigger.FPGATrackSim.region == 4):
52 return 'eta3234phi0305'
53 elif (flags.Trigger.FPGATrackSim.region == 5):
54 return 'eta0103phi1113'
55 elif (flags.Trigger.FPGATrackSim.region == 6):
56 return 'eta0103phi1921'
57 elif (flags.Trigger.FPGATrackSim.region == 7):
58 return 'eta0103phi3436'
62 if (flags.Trigger.FPGATrackSim.region >= 1280
or flags.Trigger.FPGATrackSim.region < 0):
return 'default'
64 return str(flags.Trigger.FPGATrackSim.region)
67 if (flags.Trigger.FPGATrackSim.oldRegionDefs):
68 if (
not (flags.Trigger.FPGATrackSim.baseName ==
'')):
70 elif (flags.Trigger.FPGATrackSim.region == 0):
72 elif (flags.Trigger.FPGATrackSim.region == 1):
74 elif (flags.Trigger.FPGATrackSim.region == 2):
76 elif (flags.Trigger.FPGATrackSim.region == 3):
78 elif (flags.Trigger.FPGATrackSim.region == 4):
80 elif (flags.Trigger.FPGATrackSim.region == 5):
82 elif (flags.Trigger.FPGATrackSim.region == 6):
84 elif (flags.Trigger.FPGATrackSim.region == 7):
90 phiBin=flags.Trigger.FPGATrackSim.region & 0x1f
91 if (flags.Trigger.FPGATrackSim.region >= 1280
or flags.Trigger.FPGATrackSim.region < 0):
return [binSize*2,binSize*3]
93 return [binSize*phiBin,binSize*(phiBin+1)]
96 if (flags.Trigger.FPGATrackSim.oldRegionDefs):
97 if (
not (flags.Trigger.FPGATrackSim.baseName ==
'')):
99 elif (flags.Trigger.FPGATrackSim.region == 0):
101 elif (flags.Trigger.FPGATrackSim.region == 1):
103 elif (flags.Trigger.FPGATrackSim.region == 2):
105 elif (flags.Trigger.FPGATrackSim.region == 3):
107 elif (flags.Trigger.FPGATrackSim.region == 4):
109 elif (flags.Trigger.FPGATrackSim.region == 5):
111 elif (flags.Trigger.FPGATrackSim.region == 6):
113 elif (flags.Trigger.FPGATrackSim.region == 7):
118 if (flags.Trigger.FPGATrackSim.region >= 1280
or flags.Trigger.FPGATrackSim.region < 0):
return [0.2,0.4]
121 side = (flags.Trigger.FPGATrackSim.region >> 5) & 0x1
122 etaBin = (flags.Trigger.FPGATrackSim.region >> 6) & 0x1f
123 if (side):
return [binSize*etaBin,binSize*(etaBin+1)]
124 else:
return [-binSize*(etaBin+1),-binSize*etaBin]
130 FPGATrackSimRawLogic = CompFactory.FPGATrackSimRawToLogicalHitsTool()
131 FPGATrackSimRawLogic.SaveOptional = 2
132 if (flags.Trigger.FPGATrackSim.ActiveConfig.sampleType ==
'skipTruth'):
133 FPGATrackSimRawLogic.SaveOptional = 1
134 FPGATrackSimRawLogic.TowersToMap = [0]
137 result.addPublicTool(FPGATrackSimRawLogic, primary=
True)
142 SpacePointTool = CompFactory.FPGATrackSimSpacePointsTool()
143 SpacePointTool.Filtering = flags.Trigger.FPGATrackSim.ActiveConfig.spacePointFiltering
144 SpacePointTool.FilteringClosePoints =
False
145 SpacePointTool.PhiWindow = 0.004
146 SpacePointTool.Duplication =
True
147 result.addPublicTool(SpacePointTool, primary=
True)
152 newFlags = flags.cloneAndReplace(
"Trigger.FPGATrackSim.ActiveConfig",
"Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag)
158 FPGATrackSimWriteOutput = CompFactory.FPGATrackSimOutputHeaderTool(
"FPGATrackSimWriteOutputDataPrep")
159 FPGATrackSimWriteOutput.InFileName = [
"test.root"]
160 FPGATrackSimWriteOutput.OutputTreeName =
"FPGATrackSimDataPrepTree"
163 FPGATrackSimWriteOutput.RWstatus =
"HEADER"
164 FPGATrackSimWriteOutput.THistSvc = CompFactory.THistSvc()
165 result.addPublicTool(FPGATrackSimWriteOutput, primary=
True)
173 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
176 kwargs.setdefault(
"FPGATrackSimClusterKey",
"FPGAClusters_1st")
177 kwargs.setdefault(
"FPGATrackSimHitKey",
"FPGAHits%s" %(stage))
178 kwargs.setdefault(
"FPGATrackSimHitInRoadsKey",
"FPGAHitsInRoads%s" %(stage))
179 kwargs.setdefault(
"FPGATrackSimRoadKey",
"FPGARoads%s" %(stage))
180 kwargs.setdefault(
"FPGATrackSimTrackKey",
"FPGATracks%s" %(stage))
181 kwargs.setdefault(
"xAODPixelClusterFromFPGAClusterKey",
"xAODPixelClusters%sFromFPGACluster" %(stage))
182 kwargs.setdefault(
"xAODStripClusterFromFPGAClusterKey",
"xAODStripClusters%sFromFPGACluster" %(stage))
183 kwargs.setdefault(
"xAODStripSpacePointFromFPGAKey",
"xAODStripSpacePoints%sFromFPGA" %(stage))
184 kwargs.setdefault(
"xAODPixelSpacePointFromFPGAKey",
"xAODPixelSpacePoints%sFromFPGA" %(stage))
185 kwargs.setdefault(
"xAODPixelClusterFromFPGAHitKey",
"xAODPixelClusters%sFromFPGAHit" %(stage))
186 kwargs.setdefault(
"xAODStripClusterFromFPGAHitKey",
"xAODStripClusters%sFromFPGAHit" %(stage))
187 kwargs.setdefault(
"ActsProtoTrackFromFPGARoadKey",
"ActsProtoTracks%sFromFPGARoad" %(stage))
188 kwargs.setdefault(
"ActsProtoTrackFromFPGATrackKey",
"ActsProtoTracks%sFromFPGATrack" %(stage))
189 kwargs.setdefault(
"doHits",
True)
190 kwargs.setdefault(
"doClusters",
True)
191 kwargs.setdefault(
"doActsTrk",
False)
192 kwargs.setdefault(
"useRoads",
False)
196 result.addEventAlgo(CompFactory.FPGAConversionAlgorithm(name, **kwargs))
202 from SiLorentzAngleTool.ITkStripLorentzAngleConfig
import ITkStripLorentzAngleToolCfg
203 FPGAClusterConverter = CompFactory.FPGAClusterConverter(LorentzAngleTool=result.popToolsAndMerge(
ITkStripLorentzAngleToolCfg(flags)))
204 result.setPrivateTools(FPGAClusterConverter)
210 FPGAActsTrkConverter = CompFactory.FPGAActsTrkConverter()
211 result.setPrivateTools(FPGAActsTrkConverter)
218 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
219 from OutputStreamAthenaPool.OutputStreamConfig
import outputStreamName
220 from AthenaConfiguration.Enums
import MetadataCategory
224 MetadataCategory.ByteStreamMetaData,
225 MetadataCategory.LumiBlockMetaData,
226 MetadataCategory.TruthMetaData,
227 MetadataCategory.IOVMetaData,],)
229 log.info(
"AOD ItemList: %s", result.getEventAlgo(
outputStreamName(
"AOD")).ItemList)
230 log.info(
"AOD MetadataItemList: %s", result.getEventAlgo(
outputStreamName(
"AOD")).MetadataItemList)
231 log.info(
"---------- Configured AOD writing")
233 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD
235 toAOD = [f
"xAOD::TrackParticleContainer#{finalTrackParticles}",f
"xAOD::TrackParticleAuxContainer#{finalTrackParticles}Aux."]
236 if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
237 toAOD += [f
"xAOD::PixelClusterContainer#xAODPixelClusters{stage}FromFPGACluster",f
"xAOD::PixelClusterAuxContainer#xAODPixelClusters{stage}FromFPGAClusterAux.",
238 f
"xAOD::StripClusterContainer#xAODStripClusters{stage}FromFPGACluster",f
"xAOD::StripClusterAuxContainer#xAODStripClusters{stage}FromFPGAClusterAux.",
239 f
"xAOD::SpacePointContainer#xAODPixelSpacePoints{stage}FromFPGA",f
"xAOD::SpacePointAuxContainer#xAODPixelSpacePoints{stage}FromFPGAAux.-measurements",
240 f
"xAOD::SpacePointContainer#xAODStripSpacePoints{stage}FromFPGA",f
"xAOD::SpacePointAuxContainer#xAODStripSpacePoints{stage}FromFPGAAux.-measurements.-sctSpacePointLink",
243 result.merge(
addToAOD(flags, toAOD))
250 eventSelector = CompFactory.FPGATrackSimEventSelectionSvc()
251 eventSelector.regions = flags.Trigger.FPGATrackSim.slicesFile
252 eventSelector.regionID = flags.Trigger.FPGATrackSim.region
253 eventSelector.sampleType = flags.Trigger.FPGATrackSim.sampleType
254 eventSelector.skipRegionCheck = flags.Trigger.FPGATrackSim.pipeline.startswith(
'F-1')
255 eventSelector.withPU =
False
256 eventSelector.oldRegionDefs = flags.Trigger.FPGATrackSim.oldRegionDefs
259 eventSelector.mind0 = flags.Trigger.FPGATrackSim.d0min
260 eventSelector.maxd0 = flags.Trigger.FPGATrackSim.d0max
261 eventSelector.minz0 = flags.Trigger.FPGATrackSim.z0min
262 eventSelector.maxz0 = flags.Trigger.FPGATrackSim.z0max
263 eventSelector.minqOverPt = flags.Trigger.FPGATrackSim.qOverPtmin
264 eventSelector.maxqOverPt = flags.Trigger.FPGATrackSim.qOverPtmax
266 result.addService(eventSelector, create=
True, primary=
True)
272 mappingSvc = CompFactory.FPGATrackSimMappingSvc()
273 mappingSvc.mappingType =
"FILE"
274 mappingSvc.rmap = flags.Trigger.FPGATrackSim.mapsDir+
"/"+
getBaseName(flags)+
".rmap"
275 mappingSvc.subrmap = flags.Trigger.FPGATrackSim.mapsDir+
"/"+
getBaseName(flags)+
".subrmap"
276 mappingSvc.pmap = flags.Trigger.FPGATrackSim.mapsDir+
"/"+
getBaseName(flags)+
".pmap"
277 mappingSvc.modulemap = flags.Trigger.FPGATrackSim.mapsDir+
"/moduleidmap"
278 mappingSvc.radiiFile = flags.Trigger.FPGATrackSim.mapsDir +
"/"+
getBaseName(flags)+
"_radii.txt"
279 mappingSvc.FakeNNonnx = flags.Trigger.FPGATrackSim.FakeNNonnxFile
280 mappingSvc.ParamNNonnx = flags.Trigger.FPGATrackSim.ParamNNonnxFile
281 mappingSvc.ExtensionNNVolonnx = flags.Trigger.FPGATrackSim.ExtensionNNVolonnxFile
282 mappingSvc.ExtensionNNHitonnx = flags.Trigger.FPGATrackSim.ExtensionNNHitonnxFile
283 mappingSvc.layerOverride = []
284 mappingSvc.OutputLevel=2
285 result.addService(mappingSvc, create=
True, primary=
True)
291 InputTool = CompFactory.FPGATrackSimInputHeaderTool(name=
"FPGATrackSimReadInput",
292 InFileName = flags.Trigger.FPGATrackSim.wrapperFileName)
293 result.addPublicTool(InputTool, primary=
True)
298 InputTool2 = CompFactory.FPGATrackSimReadRawRandomHitsTool(name=
"FPGATrackSimReadInput2", InFileName = flags.Trigger.FPGATrackSim.wrapperFileName2)
299 result.addPublicTool(InputTool2, primary=
True)
304 HitFilteringTool = CompFactory.FPGATrackSimHitFilteringTool()
305 HitFilteringTool.barrelStubDphiCut = 3.0
306 HitFilteringTool.doRandomRemoval =
False
307 HitFilteringTool.doStubs =
False
308 HitFilteringTool.endcapStubDphiCut = 1.5
309 HitFilteringTool.pixelClusRmFrac = 0
310 HitFilteringTool.pixelHitRmFrac = 0
311 HitFilteringTool.stripClusRmFrac = 0
312 HitFilteringTool.stripHitRmFrac = 0
313 HitFilteringTool.useNstrips =
False
314 result.addPublicTool(HitFilteringTool, primary=
True)
325 theFPGATrackSimDataPrepAlg=CompFactory.FPGATrackSimDataPrepAlg()
326 theFPGATrackSimDataPrepAlg.HitFiltering = flags.Trigger.FPGATrackSim.ActiveConfig.hitFiltering
327 theFPGATrackSimDataPrepAlg.writeOutputData = flags.Trigger.FPGATrackSim.writeAdditionalOutputData
328 theFPGATrackSimDataPrepAlg.Clustering = flags.Trigger.FPGATrackSim.clustering
330 theFPGATrackSimDataPrepAlg.useInternalTruthTracks = flags.Trigger.FPGATrackSim.useFPGATruthTrackMatching
333 theFPGATrackSimDataPrepAlg.FPGATrackSimMapping = FPGATrackSimMaping
337 if flags.Trigger.FPGATrackSim.wrapperFileName
and flags.Trigger.FPGATrackSim.wrapperFileName
is not None:
339 if flags.Trigger.FPGATrackSim.wrapperFileName2
and flags.Trigger.FPGATrackSim.wrapperFileName2
is not None:
341 theFPGATrackSimDataPrepAlg.SecondInputToolN = flags.Trigger.FPGATrackSim.secondInputToolN
342 theFPGATrackSimDataPrepAlg.SGInputTool =
""
344 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
346 theFPGATrackSimDataPrepAlg.InputTool =
""
347 theFPGATrackSimDataPrepAlg.InputTool2 =
""
348 from FPGATrackSimSGInput.FPGATrackSimSGInputConfig
import FPGATrackSimSGInputToolCfg
355 theFPGATrackSimDataPrepAlg.ClusteringTool = CompFactory.FPGATrackSimClusteringTool()
359 if flags.Trigger.FPGATrackSim.spacePoints:
360 theFPGATrackSimDataPrepAlg.Spacepoints =
True
362 from FPGATrackSimAlgorithms.FPGATrackSimAlgorithmConfig
import FPGATrackSimLogicalHitsProcessAlgMonitoringCfg
365 result.addEventAlgo(theFPGATrackSimDataPrepAlg)
370 log = AthenaLogger(__name__)
374 flags = flagsIn.clone()
377 from ActsConfig.ActsCIFlags
import actsFastWorkflowFlags
380 flags.Tracking.ActiveConfig.extension=FinalTracks
381 flags.Tracking.writeExtendedSi_PRDInfo=
True
384 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass")
385 prefix=flags.Tracking.ActiveConfig.extension
389 from ActsConfig.ActsUtilities
import extractChildKwargs
394 kwargs.setdefault(
'PixelSeedingAlg.InputSpacePoints',[
'ITkPixelSpacePoints'])
395 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints',[
'ITkStripSpacePoints'])
398 kwargs.setdefault(
'TrackFindingAlg.UncalibratedMeasurementContainerKeys',[
'ITkPixelClusters',
'ITkStripClusters'])
401 kwargs.setdefault(
'PixelClusterToTruthAssociationAlg.Measurements',
'ITkPixelClusters')
402 kwargs.setdefault(
'StripClusterToTruthAssociationAlg.Measurements',
'ITkStripClusters')
407 from ActsConfig.ActsSeedingConfig
import ActsSeedingCfg
411 from ActsConfig.ActsTrackFindingConfig
import ActsTrackFindingCfg,ActsAmbiguityResolutionCfg
415 if flags.Acts.doAmbiguityResolution:
419 acts_tracks=f
"{prefix}Tracks" if not flags.Acts.doAmbiguityResolution
else f
"{prefix}ResolvedTracks"
423 from ActsConfig.ActsTruthConfig
import ActsTruthParticleHitCountAlgCfg, ActsPixelClusterToTruthAssociationAlgCfg,ActsStripClusterToTruthAssociationAlgCfg
425 name=f
"{prefix}PixelClusterToTruthAssociationAlg",
426 InputTruthParticleLinks=
"xAODTruthLinks",
427 AssociationMapOut=f
"{prefix}ITkPixelClustersToTruthParticles",
428 Measurements=kwargs.get(
'PixelClusterToTruthAssociationAlg.Measurements')))
431 name=f
"{prefix}StripClusterToTruthAssociationAlg",
432 InputTruthParticleLinks=
"xAODTruthLinks",
433 AssociationMapOut=f
"{prefix}ITkStripClustersToTruthParticles",
434 Measurements=kwargs.get(
'StripClusterToTruthAssociationAlg.Measurements')))
437 name=f
"{prefix}TruthParticleHitCountAlg",
438 PixelClustersToTruthAssociationMap=f
"{prefix}ITkPixelClustersToTruthParticles",
439 StripClustersToTruthAssociationMap=f
"{prefix}ITkStripClustersToTruthParticles",
440 TruthParticleHitCountsOut=f
"{prefix}TruthParticleHitCounts"))
442 from ActsConfig.ActsTruthConfig
import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
444 name=f
"{prefix}TrackToTruthAssociationAlg",
445 PixelClustersToTruthAssociationMap=f
"{prefix}ITkPixelClustersToTruthParticles",
446 StripClustersToTruthAssociationMap=f
"{prefix}ITkStripClustersToTruthParticles",
447 ACTSTracksLocation=acts_tracks,
448 AssociationMapOut=f
"{acts_tracks}ToTruthParticleAssociation"))
451 name=f
"{prefix}TrackFindingValidationAlg",
452 TrackToTruthAssociationMap=f
"{acts_tracks}ToTruthParticleAssociation",
453 TruthParticleHitCounts=f
"{prefix}TruthParticleHitCounts"
458 from ActsConfig.ActsTrackFindingConfig
import ActsTrackToTrackParticleCnvAlgCfg
460 ACTSTracksLocation=[acts_tracks],
461 TrackParticlesOutKey=f
"{prefix}TrackParticles"))
463 from ActsConfig.ActsTruthConfig
import ActsTrackParticleTruthDecorationAlgCfg
465 TrackToTruthAssociationMaps=[f
"{acts_tracks}ToTruthParticleAssociation"],
466 TrackParticleContainerName=f
"{FinalTracks}TrackParticles",
467 TruthParticleHitCounts=f
"{prefix}TruthParticleHitCounts",
468 ComputeTrackRecoEfficiency=
True))
470 if flags.Tracking.writeExtendedSi_PRDInfo:
471 from InDetConfig.InDetPrepRawDataToxAODConfig
import ITkActsPrepDataToxAODCfg
477 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
478 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
480 FinalDataPrepTrackChainxAODTracksKeyPrefix=
"FPGA"
483 from InDetConfig.ConfigurationHelpers
import OnlyTrackingPreInclude
489 flags.Tracking.ITkMainPass.doAthenaToActsCluster=
True
490 flags.Tracking.ITkMainPass.doAthenaSpacePoint=
True
491 flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=
True
494 flags.Concurrency.NumThreads=1
495 flags.Scheduler.ShowDataDeps=
False
496 flags.Scheduler.CheckDependencies=
True
497 flags.Debug.DumpEvtStore=
False
500 if isinstance(flags.Trigger.FPGATrackSim.wrapperFileName, str):
501 log.info(
"wrapperFile is string, converting to list")
502 flags.Trigger.FPGATrackSim.wrapperFileName = [flags.Trigger.FPGATrackSim.wrapperFileName]
503 flags.Input.Files =
lambda f: [f.Trigger.FPGATrackSim.wrapperFileName]
506 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkMainPass", keepOriginal=
True)
510 if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
511 acc.addService(CompFactory.THistSvc(Output = [f
"EXPERT DATAFILE='{flags.Trigger.FPGATrackSim.outputMonitorFile}', OPT='RECREATE'"]))
512 acc.addService(CompFactory.THistSvc(Output = [
"FPGATRACKSIMOUTPUT DATAFILE='dataprep.root', OPT='RECREATE'"]))
515 if not flags.Trigger.FPGATrackSim.wrapperFileName:
516 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
520 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
523 from JetRecConfig.JetRecoSteering
import addTruthPileupJetsToOutputCfg
526 if flags.Detector.EnableCalo:
527 from CaloRec.CaloRecoConfig
import CaloRecoCfg
530 if not flags.Reco.EnableTrackOverlay:
531 from InDetConfig.TrackRecoConfig
import InDetTrackRecoCfg
533 from InDetConfig.InDetPrepRawDataToxAODConfig
import TruthParticleIndexDecoratorAlgCfg
540 if flags.Trigger.FPGATrackSim.doEDMConversion:
541 acc.merge(
FPGAConversionAlgCfg(flags, name =
'FPGAConversionAlg', stage =
'_1st', doActsTrk=
False, doSP =
True))
543 if flags.Trigger.FPGATrackSim.connectToToITkTracking:
550 **{
'PixelSeedingAlg.InputSpacePoints' : [
'xAODPixelSpacePoints_1stFromFPGA'],
551 'StripSeedingAlg.InputSpacePoints' : [
'xAODStripSpacePoints_1stFromFPGA'],
552 'TrackFindingAlg.UncalibratedMeasurementContainerKeys' : [
"xAODPixelClusters_1stFromFPGACluster",
"xAODStripClusters_1stFromFPGACluster"],
553 'PixelClusterToTruthAssociationAlg.Measurements' :
'xAODPixelClusters_1stFromFPGACluster',
554 'StripClusterToTruthAssociationAlg.Measurements' :
'xAODStripClusters_1stFromFPGACluster'}))
556 if flags.Trigger.FPGATrackSim.writeToAOD:
558 if flags.Trigger.FPGATrackSim.spacePoints : acc.merge(
WriteToAOD(flags,
560 finalTrackParticles=f
"{FinalDataPrepTrackChainxAODTracksKeyPrefix}TrackParticles"))
563 from FPGATrackSimReporting.FPGATrackSimReportingConfig
import FPGATrackSimReportingCfg
565 perEventReports = (flags.Trigger.FPGATrackSim.sampleType !=
'skipTruth'),
568 acc.store(
open(
'AnalysisConfig.pkl',
'wb'))
570 statusCode = acc.run(flags.Exec.MaxEvents)
571 assert statusCode.isSuccess()
is True,
"Application execution did not succeed"
574 if __name__ ==
"__main__":