ATLAS Offline Software
Functions | Variables
python.FPGATrackSimDataPrepConfig Namespace Reference

Functions

def nameWithRegionSuffix (flags, basename)
 
def getRegionNumber (nPiOver16Min, minAbsEta, isPositiveEta, verbosePrint=True)
 
def getBaseName (flags)
 
def getPhiRange (flags)
 
def getEtaRange (flags)
 
def getEtaSideBits (flags)
 
def FPGATrackSimRawLogicCfg (flags, name="FPGATrackSimRawLogicTool")
 
def FPGATrackSimSpacePointsToolCfg (flags)
 
def prepareFlagsForFPGATrackSimDataPrepAlg (flags)
 
def FPGATrackSimDataPrepOutputCfg (flags)
 
def FPGAConversionAlgCfg (inputFlags, name='FPGAConversionAlg', stage='', **kwargs)
 
def FPGAClusterConverterCfg (flags)
 
def FPGAActsTrkConverterCfg (flags)
 
def WriteToAOD (flags, stage='', finalTrackParticles='')
 
def FPGATrackSimEventSelectionSvcCfg (flags, name="FPGATrackSimEventSelectionSvc")
 
def FPGATrackSimEventSelectionToolCfg (flags, name="FPGATrackSimEventSelectionTool")
 
def FPGATrackSimMappingCfg (flags, name="FPGATrackSimMappingSvc")
 
def FPGATrackSimReadInputCfg (flags)
 
def FPGATrackSimReadInput2Cfg (flags)
 
def FPGATrackSimHitFilteringToolCfg (flags)
 
def FPGATrackSimLorentzAngleToolCfg (flags)
 
def FPGATrackSimDataPrepAlgCfg (inputFlags)
 
def FPGATrackSimDataPrepConnectToFastTracking (flagsIn, FinalTracks="F100-", **kwargs)
 
def FPGATrackSimRegionFlagCfg (flags)
 
def FPGATrackSimClusteringCfg (flags)
 
def FPGATrackSimDataPrepFlagCfg (flags)
 
def FixITkMainPassFlags (flags)
 
def FPGATrackSimDataPrepSetup (flags, runReco=True)
 
def runDataPrepChain ()
 

Variables

 log
 

Function Documentation

◆ FixITkMainPassFlags()

def python.FPGATrackSimDataPrepConfig.FixITkMainPassFlags (   flags)

Definition at line 640 of file FPGATrackSimDataPrepConfig.py.

640 def FixITkMainPassFlags(flags):
641  flags.Tracking.ITkMainPass.doAthenaToActsSpacePoint=True
642  flags.Tracking.ITkMainPass.doAthenaToActsCluster=True
643  from ActsConfig.ActsCIFlags import actsLegacyWorkflowFlags
645  flags.Acts.doRotCorrection = False
646  return flags
647 
648 

◆ FPGAActsTrkConverterCfg()

def python.FPGATrackSimDataPrepConfig.FPGAActsTrkConverterCfg (   flags)

Definition at line 234 of file FPGATrackSimDataPrepConfig.py.

234 def FPGAActsTrkConverterCfg(flags):
235  result=ComponentAccumulator()
236  FPGAActsTrkConverter = CompFactory.FPGAActsTrkConverter()
237  result.setPrivateTools(FPGAActsTrkConverter)
238 
239  return result
240 
241 

◆ FPGAClusterConverterCfg()

def python.FPGATrackSimDataPrepConfig.FPGAClusterConverterCfg (   flags)

Definition at line 218 of file FPGATrackSimDataPrepConfig.py.

218 def FPGAClusterConverterCfg(flags):
219  result=ComponentAccumulator()
220  FPGAClusterConverter = CompFactory.FPGAClusterConverter()
221  FPGAClusterConverter.doLorentzShift=True
222 
223  from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import ITkPixelLorentzAngleToolCfg
224  FPGAClusterConverter.LorentzAngleToolPixel = result.popToolsAndMerge(ITkPixelLorentzAngleToolCfg(flags))
225 
226  from SiLorentzAngleTool.ITkStripLorentzAngleConfig import ITkStripLorentzAngleToolCfg
227  FPGAClusterConverter.LorentzAngleToolStrip = result.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags))
228 
229  result.setPrivateTools(FPGAClusterConverter)
230 
231  return result
232 
233 

◆ FPGAConversionAlgCfg()

def python.FPGATrackSimDataPrepConfig.FPGAConversionAlgCfg (   inputFlags,
  name = 'FPGAConversionAlg',
  stage = '',
**  kwargs 
)

Definition at line 184 of file FPGATrackSimDataPrepConfig.py.

184 def FPGAConversionAlgCfg(inputFlags, name = 'FPGAConversionAlg', stage = '', **kwargs):
185 
186  flags = prepareFlagsForFPGATrackSimDataPrepAlg(inputFlags)
187 
188  result=ComponentAccumulator()
189  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
190  result.merge(ITkStripReadoutGeometryCfg(flags))
191 
192  kwargs.setdefault("FPGATrackSimClusterKey", "FPGAClusters_1st")
193  kwargs.setdefault("FPGATrackSimHitKey", "FPGAHits%s" %(stage))
194  kwargs.setdefault("FPGATrackSimHitInRoadsKey", "FPGAHitsInRoads")
195  kwargs.setdefault("FPGATrackSimRoadKey", "FPGARoads")
196  kwargs.setdefault("FPGATrackSimTrackKey", "FPGATracks")
197  kwargs.setdefault("xAODPixelClusterFromFPGAClusterKey", "xAODPixelClustersFromFPGACluster")
198  kwargs.setdefault("xAODStripClusterFromFPGAClusterKey", "xAODStripClustersFromFPGACluster")
199  kwargs.setdefault("xAODStripSpacePointFromFPGAKey", "xAODStripSpacePoints%sFromFPGA" %(stage))
200  kwargs.setdefault("xAODPixelSpacePointFromFPGAKey", "xAODPixelSpacePoints%sFromFPGA" %(stage))
201  kwargs.setdefault("xAODPixelClusterFromFPGAHitKey", "xAODPixelClusters%sFromFPGAHit" %(stage))
202  kwargs.setdefault("xAODStripClusterFromFPGAHitKey", "xAODStripClusters%sFromFPGAHit" %(stage))
203  kwargs.setdefault("ActsProtoTrackFromFPGARoadKey", "ActsProtoTracks%sFromFPGARoad" %(stage))
204  kwargs.setdefault("ActsProtoTrackFromFPGATrackKey", "ActsProtoTracks%sFromFPGATrack" %(stage))
205  kwargs.setdefault("doHits", False)
206  kwargs.setdefault("doClusters", True)
207  kwargs.setdefault("doActsTrk", False)
208  kwargs.setdefault("useRoads", False)
209  kwargs.setdefault("ClusterConverter", result.popToolsAndMerge(FPGAClusterConverterCfg(flags)))
210  kwargs.setdefault("ActsTrkConverter", result.popToolsAndMerge(FPGAActsTrkConverterCfg(flags)))
211 
212  ConvertionAlgorithm = CompFactory.FPGAConversionAlgorithm(name, **kwargs)
213  ConvertionAlgorithm.ClusterConverter.doLorentzShift=False # this should not be turned on unless needed for validation purposes
214 
215  result.addEventAlgo(ConvertionAlgorithm)
216  return result
217 

◆ FPGATrackSimClusteringCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimClusteringCfg (   flags)

Definition at line 560 of file FPGATrackSimDataPrepConfig.py.

560 def FPGATrackSimClusteringCfg(flags): # to be used in the Reco_tf configuration
562  if not flags.Trigger.FPGATrackSim.runOnPreProducedHeaderFiles:
563  acc.merge(FPGATrackSimDataPrepAlgCfg(flags))
564  acc.merge(FPGAConversionAlgCfg(flags, name = 'FPGAConversionAlg', stage = '_1st',**{
565  'FPGATrackSimSPKey': 'FPGAClusters_1st',
566  'xAODPixelClusterFromFPGAClusterKey': 'FPGAPixelClusters',
567  'xAODStripClusterFromFPGAClusterKey': 'FPGAStripClusters',
568  'xAODPixelSpacePointFromFPGAKey': 'ITkPixelSpacePoints',
569  'doActsTrk': False,
570  'useRoads': False,
571  'doSP': flags.Trigger.FPGATrackSim.convertSPs,
572  }))
573  else:
574  from FPGATrackSimConfTools.FPGATrackSimMergeOutputsConfig import FPGATrackSimMergeOutputsAlgCfg
575  acc.merge(FPGATrackSimMergeOutputsAlgCfg(flags))
576  acc.merge(FPGAConversionAlgCfg(flags, name = 'FPGAConversionAlg', stage = '_1st',**{
577  'FPGATrackSimHitKey': 'FPGAHits',
578  'xAODPixelClusterFromFPGAHitKey': 'FPGAPixelClusters',
579  'xAODStripClusterFromFPGAHitKey': 'FPGAStripClusters',
580  'xAODPixelSpacePointFromFPGAKey': 'ITkPixelSpacePoints',
581  'doActsTrk': True,
582  'useRoads': False,
583  'doClusters': False,
584  'doHits': True,
585  'doSP': flags.Trigger.FPGATrackSim.convertSPs,
586  }))
587 
588  from FPGAClusterSorting.FPGAClusterSortingConfig import FPGAClusterSortingAlgCfg
589  ClusterSorting = FPGAClusterSortingAlgCfg(flags,**{'xAODPixelClusterContainer': 'FPGAPixelClusters',
590  'xAODStripClusterContainer': 'FPGAStripClusters',
591  'sortedxAODPixelClusterContainer': 'ITkPixelClusters',
592  'sortedxAODStripClusterContainer': 'ITkStripClusters'})
593 
594  acc.merge(ClusterSorting)
595 
596  from PixelConditionsAlgorithms.ITkPixelConditionsConfig import ITkPixelDetectorElementStatusAlgCfg
597  acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
598 
599  from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import ITkStripDetectorElementStatusAlgCfg
600  acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
601 
602  if flags.Acts.EDM.PersistifyClusters or flags.Acts.EDM.PersistifySpacePoints:
603  toAOD = []
604 
605  pixel_cluster_shortlist = ['-pixelClusterLink']
606  strip_cluster_shortlist = ['-sctClusterLink']
607 
608  pixel_cluster_variables = '.'.join(pixel_cluster_shortlist)
609  strip_cluster_variables = '.'.join(strip_cluster_shortlist)
610 
611  toAOD += ['xAOD::PixelClusterContainer#ITkPixelClusters',
612  'xAOD::PixelClusterAuxContainer#ITkPixelClustersAux.' + pixel_cluster_variables,
613  'xAOD::StripClusterContainer#ITkStripClusters',
614  'xAOD::StripClusterAuxContainer#ITkStripClustersAux.' + strip_cluster_variables]
615  from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
616  acc.merge(addToAOD(flags, toAOD))
617 
618 
619  from FPGATrackSimReporting.FPGATrackSimReportingConfig import FPGATrackSimReportingCfg
620  acc.merge(FPGATrackSimReportingCfg(flags,
621  perEventReports = False, # set to True if per-event information is needed for debugging (e.g. cluster, tracks). Otherwise it produces a lot of output
622  **{'xAODPixelClusterContainers' : ['ITkPixelClusters'],
623  'xAODStripClusterContainers' : ['ITkStripClusters'],
624  'FPGAActsTracks' : [f'{flags.Tracking.ActiveConfig.extension}Tracks',f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'],
625  'isDataPrep': True} ))
626 
627  return acc
628 

◆ FPGATrackSimDataPrepAlgCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepAlgCfg (   inputFlags)

Definition at line 376 of file FPGATrackSimDataPrepConfig.py.

376 def FPGATrackSimDataPrepAlgCfg(inputFlags):
377 
378  flags = prepareFlagsForFPGATrackSimDataPrepAlg(inputFlags)
379 
380  result=ComponentAccumulator()
381 
382 
383  theFPGATrackSimDataPrepAlg=CompFactory.FPGATrackSimDataPrepAlg()
384  theFPGATrackSimDataPrepAlg.HitFiltering = flags.Trigger.FPGATrackSim.ActiveConfig.hitFiltering
385  theFPGATrackSimDataPrepAlg.writeOutputData = flags.Trigger.FPGATrackSim.writeAdditionalOutputData
386  writePreClusterBranch=flags.Trigger.FPGATrackSim.writeAdditionalOutputData and (flags.Trigger.FPGATrackSim.regionToWriteDPTree < 0)
387  theFPGATrackSimDataPrepAlg.writePreClusterBranch=writePreClusterBranch
388 
389  theFPGATrackSimDataPrepAlg.Clustering = flags.Trigger.FPGATrackSim.clustering
390  theFPGATrackSimDataPrepAlg.doEvtSel= False if flags.Trigger.FPGATrackSim.pipeline.startswith('F-1') or flags.Trigger.FPGATrackSim.sampleType == 'skipTruth' else True
391  theFPGATrackSimDataPrepAlg.useInternalTruthTracks = flags.Trigger.FPGATrackSim.useFPGATruthTrackMatching
392  theFPGATrackSimDataPrepAlg.recordHits = not flags.Trigger.FPGATrackSim.pipeline.startswith('F-1')
393  theFPGATrackSimDataPrepAlg.writeRegion = flags.Trigger.FPGATrackSim.writeRegion
394 
395 
396  theFPGATrackSimDataPrepAlg.RawToLogicalHitsTools = []
397  for region in flags.Trigger.FPGATrackSim.regionList:
398  flagsForEachRegion = inputFlags.clone()
399  flagsForEachRegion = flagsForEachRegion.cloneAndReplace("Trigger.FPGATrackSim.ActiveConfig", "Trigger.FPGATrackSim." + inputFlags.Trigger.FPGATrackSim.algoTag,keepOriginal=True)
400  flagsForEachRegion.Trigger.FPGATrackSim.region = region
401  flagsForEachRegion.lock()
402 
403  theFPGATrackSimDataPrepAlg.RawToLogicalHitsTools.append(result.getPrimaryAndMerge(FPGATrackSimRawLogicCfg(flagsForEachRegion)))
404  theFPGATrackSimDataPrepAlg.eventSelectors.append(result.getPrimaryAndMerge(FPGATrackSimEventSelectionToolCfg(flagsForEachRegion)))
405 
406  if flags.Trigger.FPGATrackSim.wrapperFileName and flags.Trigger.FPGATrackSim.wrapperFileName is not None:
407  theFPGATrackSimDataPrepAlg.InputTool = result.getPrimaryAndMerge(FPGATrackSimReadInputCfg(flags))
408  if flags.Trigger.FPGATrackSim.wrapperFileName2 and flags.Trigger.FPGATrackSim.wrapperFileName2 is not None:
409  theFPGATrackSimDataPrepAlg.InputTool2 = result.getPrimaryAndMerge(FPGATrackSimReadInput2Cfg(flags))
410  theFPGATrackSimDataPrepAlg.SecondInputToolN = flags.Trigger.FPGATrackSim.secondInputToolN
411  theFPGATrackSimDataPrepAlg.SGInputTool = ""
412  else:
413  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
414  result.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags))
415  theFPGATrackSimDataPrepAlg.InputTool = ""
416  theFPGATrackSimDataPrepAlg.InputTool2 = ""
417  from FPGATrackSimSGInput.FPGATrackSimSGInputConfig import FPGATrackSimSGInputToolCfg
418  theFPGATrackSimDataPrepAlg.SGInputTool = result.getPrimaryAndMerge(FPGATrackSimSGInputToolCfg(flags))
419  theFPGATrackSimDataPrepAlg.SGInputTool.ReadOfflineClusters=False
420  theFPGATrackSimDataPrepAlg.SGInputTool.ReadOfflineTracks=False
421 
422  theFPGATrackSimDataPrepAlg.HitFilteringTool = result.getPrimaryAndMerge(FPGATrackSimHitFilteringToolCfg(flags))
423 
424  theFPGATrackSimDataPrepAlg.ClusteringTool = CompFactory.FPGATrackSimClusteringTool()
425  if not flags.Trigger.FPGATrackSim.wrapperFileName:
426  theFPGATrackSimDataPrepAlg.ClusteringTool.LorentzAngleTool = result.getPrimaryAndMerge(FPGATrackSimLorentzAngleToolCfg(flags))
427  theFPGATrackSimDataPrepAlg.ClusteringTool.LorentzAngleShift = flags.Trigger.FPGATrackSim.LorentzAngleShift
428  else:
429  theFPGATrackSimDataPrepAlg.ClusteringTool.LorentzAngleShift = -1 # should be set to False by default in the tool class but just in case...
430 
431 
432 
433  theFPGATrackSimDataPrepAlg.OutputTool = result.getPrimaryAndMerge(FPGATrackSimDataPrepOutputCfg(flags))
434 
435  from FPGATrackSimAlgorithms.FPGATrackSimAlgorithmConfig import FPGATrackSimDataPrepMonitoringCfg
436  theFPGATrackSimDataPrepAlg.MonTool = result.getPrimaryAndMerge(FPGATrackSimDataPrepMonitoringCfg(flags))
437 
438  result.addEventAlgo(theFPGATrackSimDataPrepAlg)
439 
440  return result
441 
442 

◆ FPGATrackSimDataPrepConnectToFastTracking()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepConnectToFastTracking (   flagsIn,
  FinalTracks = "F100-",
**  kwargs 
)

Definition at line 445 of file FPGATrackSimDataPrepConfig.py.

445 def FPGATrackSimDataPrepConnectToFastTracking(flagsIn,FinalTracks="F100-", **kwargs):
446 
447  flags = flagsIn.clone()
448 
449  # configure FastTracking based on C-100 flags
450  from ActsConfig.ActsCIFlags import actsWorkflowFlags
451  actsWorkflowFlags(flags)
452 
453  flags.Tracking.ActiveConfig.extension=FinalTracks
454  flags.lock()
455 
456  flags = flags.cloneAndReplace("Tracking.ActiveConfig", "Tracking.ITkMainPass") # TODO: Check if it's really necessary
457  prefix=flags.Tracking.ActiveConfig.extension # prefix for the name of final tracks (this is what IDTPM reads)
458 
459  result = ComponentAccumulator()
460 
461 
462 
463  from ActsConfig.ActsUtilities import extractChildKwargs
464 
465 
468  kwargs.setdefault('PixelSeedingAlg.InputSpacePoints',['ITkPixelSpacePoints'])
469  kwargs.setdefault('StripSeedingAlg.InputSpacePoints',['ITkStripSpacePoints']) # possibly will never be used but in case it's needed, the strip SP conversion should be enabled for this container to be available in F100 (off by default)
470 
471  # -- Track Finding args --
472  kwargs.setdefault('TrackFindingAlg.UncalibratedMeasurementContainerKeys',['ITkPixelClusters','ITkStripClusters'])
473 
474  # -- Truth Matching args --
475  kwargs.setdefault('PixelClusterToTruthAssociationAlg.Measurements','ITkPixelClusters')
476  kwargs.setdefault('StripClusterToTruthAssociationAlg.Measurements','ITkStripClusters')
477 
478 
480  from ActsConfig.ActsSeedingConfig import ActsSeedingCfg
481  result.merge(ActsSeedingCfg(flags, **kwargs))
482 
483  # ACTS Track Finding
484  from ActsConfig.ActsTrackFindingConfig import ActsTrackFindingCfg,ActsAmbiguityResolutionCfg
485  result.merge(ActsTrackFindingCfg(flags,**extractChildKwargs(prefix='TrackFindingAlg.', **kwargs)))
486 
487  # if ambiguity is enabled for FastTracking run here as well
488  if flags.Acts.doAmbiguityResolution:
489  result.merge(ActsAmbiguityResolutionCfg(flags,**extractChildKwargs(prefix='AmbiguityResolutionAlg.',**kwargs)))
490 
491  # modify the tracks' name (not the final one) accordingly in case ambiguity resolution runs
492  acts_tracks=f"{prefix}Tracks" if not flags.Acts.doAmbiguityResolution else f"{prefix}ResolvedTracks"
493 
494 
496  if(flags.ITk.doTruth):
497  from ActsConfig.ActsTruthConfig import ActsTruthParticleHitCountAlgCfg, ActsPixelClusterToTruthAssociationAlgCfg,ActsStripClusterToTruthAssociationAlgCfg
498  result.merge(ActsPixelClusterToTruthAssociationAlgCfg(flags,
499  name=f"{prefix}PixelClusterToTruthAssociationAlg",
500  InputTruthParticleLinks="xAODTruthLinks",
501  AssociationMapOut=f"{prefix}ITkPixelClustersToTruthParticles",
502  Measurements=kwargs.get('PixelClusterToTruthAssociationAlg.Measurements')))
503 
504  result.merge(ActsStripClusterToTruthAssociationAlgCfg(flags,
505  name=f"{prefix}StripClusterToTruthAssociationAlg",
506  InputTruthParticleLinks="xAODTruthLinks",
507  AssociationMapOut=f"{prefix}ITkStripClustersToTruthParticles",
508  Measurements=kwargs.get('StripClusterToTruthAssociationAlg.Measurements')))
509 
510  result.merge(ActsTruthParticleHitCountAlgCfg(flags,
511  name=f"{prefix}TruthParticleHitCountAlg",
512  PixelClustersToTruthAssociationMap=f"{prefix}ITkPixelClustersToTruthParticles",
513  StripClustersToTruthAssociationMap=f"{prefix}ITkStripClustersToTruthParticles",
514  TruthParticleHitCountsOut=f"{prefix}TruthParticleHitCounts"))
515 
516  from ActsConfig.ActsTruthConfig import ActsTrackToTruthAssociationAlgCfg, ActsTrackFindingValidationAlgCfg
517  result.merge(ActsTrackToTruthAssociationAlgCfg(flags,
518  name=f"{prefix}TrackToTruthAssociationAlg",
519  PixelClustersToTruthAssociationMap=f"{prefix}ITkPixelClustersToTruthParticles",
520  StripClustersToTruthAssociationMap=f"{prefix}ITkStripClustersToTruthParticles",
521  ACTSTracksLocation=acts_tracks,
522  AssociationMapOut=f"{acts_tracks}ToTruthParticleAssociation"))
523 
524  result.merge(ActsTrackFindingValidationAlgCfg(flags,
525  name=f"{prefix}TrackFindingValidationAlg",
526  TrackToTruthAssociationMap=f"{acts_tracks}ToTruthParticleAssociation",
527  TruthParticleHitCounts=f"{prefix}TruthParticleHitCounts"
528  ))
529 
531  from ActsConfig.ActsTrackFindingConfig import ActsTrackToTrackParticleCnvAlgCfg
532  result.merge(ActsTrackToTrackParticleCnvAlgCfg(flags, name=f"{prefix}TrackToTrackParticleCnvAlg",
533  ACTSTracksLocation=[acts_tracks],
534  TrackParticlesOutKey=f"{prefix}TrackParticles"))
535  if(flags.ITk.doTruth):
536  from ActsConfig.ActsTruthConfig import ActsTrackParticleTruthDecorationAlgCfg
537  result.merge(ActsTrackParticleTruthDecorationAlgCfg(flags, name=f"{prefix}TrackParticleTruthDecorationAlg",
538  TrackToTruthAssociationMaps=[f"{acts_tracks}ToTruthParticleAssociation"],
539  TrackParticleContainerName=f"{FinalTracks}TrackParticles",
540  TruthParticleHitCounts=f"{prefix}TruthParticleHitCounts",
541  ComputeTrackRecoEfficiency=True))
542 
543 
544  if flags.Trigger.FPGATrackSim.writeOfflPRDInfo:
545  from InDetConfig.InDetPrepRawDataToxAODConfig import ITkActsPrepDataToxAODCfg
546  result.merge( ITkActsPrepDataToxAODCfg( flags,
547  PixelMeasurementContainer = "ITkPixelMeasurements_offl",
548  StripMeasurementContainer = "ITkStripMeasurements_offl" ) )
549 
550  return result
551 

◆ FPGATrackSimDataPrepFlagCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepFlagCfg (   flags)

Definition at line 629 of file FPGATrackSimDataPrepConfig.py.

629 def FPGATrackSimDataPrepFlagCfg(flags): # to be used in the Reco_tf configuration
630  flags.Scheduler.ShowDataDeps=True
631  flags.Scheduler.CheckDependencies=True
632 
633  flags.Trigger.FPGATrackSim.readOfflineObjects=False
634  flags.Trigger.FPGATrackSim.doMultiTruth=False
635 
636  flags = FPGATrackSimRegionFlagCfg(flags)
637 
638  return flags
639 

◆ FPGATrackSimDataPrepOutputCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepOutputCfg (   flags)

Definition at line 163 of file FPGATrackSimDataPrepConfig.py.

164  result=ComponentAccumulator()
165 
166  FPGATrackSimWriteOutput = CompFactory.FPGATrackSimOutputHeaderTool("FPGATrackSimWriteOutputDataPrep")
167  FPGATrackSimWriteOutput.InFileName = ["test.root"]
168  FPGATrackSimWriteOutput.OutputTreeName = "FPGATrackSimDataPrepTree"
169  writeThis=flags.Trigger.FPGATrackSim.writeAdditionalOutputData and ((flags.Trigger.FPGATrackSim.regionToWriteDPTree in flags.Trigger.FPGATrackSim.regionList) or (flags.Trigger.FPGATrackSim.regionToWriteDPTree < 0))
170 
171  if not writeThis:
172  FPGATrackSimWriteOutput.EventLimit = 0
173  else:
174  FPGATrackSimWriteOutput.EventLimit = flags.Trigger.FPGATrackSim.writeOutputEventLimit
175  if flags.Trigger.FPGATrackSim.writeRegion>=0: # negative is off
176  FPGATrackSimWriteOutput.RequireActivation=True
177  # RECREATE means that that this tool opens the file.
178  # HEADER would mean that something else (e.g. THistSvc) opens it and we just add the object.
179  FPGATrackSimWriteOutput.RWstatus = "HEADER"
180  FPGATrackSimWriteOutput.THistSvc = CompFactory.THistSvc()
181  result.addPublicTool(FPGATrackSimWriteOutput, primary=True)
182  return result
183 

◆ FPGATrackSimDataPrepSetup()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepSetup (   flags,
  runReco = True 
)

Definition at line 649 of file FPGATrackSimDataPrepConfig.py.

649 def FPGATrackSimDataPrepSetup(flags,runReco=True):
650  acc = ComponentAccumulator()
651  if flags.Trigger.FPGATrackSim.wrapperFileName and flags.Trigger.FPGATrackSim.wrapperFileName is not None:
652  return acc
653 
654  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
655  acc.merge(PoolReadCfg(flags))
656 
657  if not runReco:
658  from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
659  acc.merge(EventInfoCnvAlgCfg(flags))
660  else:
661  if flags.Input.isMC:
662  from xAODTruthCnv.xAODTruthCnvConfig import GEN_AOD2xAODCfg
663  acc.merge(GEN_AOD2xAODCfg(flags))
664 
665  from JetRecConfig.JetRecoSteering import addTruthPileupJetsToOutputCfg # TO DO: check if this is indeed necessary for pileup samples
666  acc.merge(addTruthPileupJetsToOutputCfg(flags))
667 
668  if flags.Detector.EnableCalo:
669  from CaloRec.CaloRecoConfig import CaloRecoCfg
670  acc.merge(CaloRecoCfg(flags))
671 
672  if not flags.Reco.EnableTrackOverlay:
673 
674  from InDetConfig.TrackRecoConfig import InDetTrackRecoCfg
675  acc.merge(InDetTrackRecoCfg(flags))
676  from InDetConfig.InDetPrepRawDataFormationConfig import ITkXAODToInDetClusterConversionCfg
677  acc.merge(ITkXAODToInDetClusterConversionCfg(flags))
678  from InDetConfig.InDetPrepRawDataToxAODConfig import TruthParticleIndexDecoratorAlgCfg
679  acc.merge( TruthParticleIndexDecoratorAlgCfg(flags) )
680 
681  return acc
682 
683 

◆ FPGATrackSimEventSelectionSvcCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg (   flags,
  name = "FPGATrackSimEventSelectionSvc" 
)

Definition at line 276 of file FPGATrackSimDataPrepConfig.py.

276 def FPGATrackSimEventSelectionSvcCfg(flags,name="FPGATrackSimEventSelectionSvc"):
277 
278  result=ComponentAccumulator()
279  eventSelector = CompFactory.FPGATrackSimEventSelectionSvc(nameWithRegionSuffix(flags,name))
280  eventSelector.regions = flags.Trigger.FPGATrackSim.slicesFile
281  eventSelector.regionID = flags.Trigger.FPGATrackSim.region
282  eventSelector.sampleType = flags.Trigger.FPGATrackSim.sampleType
283  eventSelector.skipRegionCheck = flags.Trigger.FPGATrackSim.pipeline.startswith('F-1') # if set to True, it will essentially run for the whole detector
284  eventSelector.withPU = False
285  eventSelector.oldRegionDefs = flags.Trigger.FPGATrackSim.oldRegionDefs
286 
287 
288  eventSelector.mind0 = flags.Trigger.FPGATrackSim.d0min
289  eventSelector.maxd0 = flags.Trigger.FPGATrackSim.d0max
290  eventSelector.minz0 = flags.Trigger.FPGATrackSim.z0min
291  eventSelector.maxz0 = flags.Trigger.FPGATrackSim.z0max
292  eventSelector.minqOverPt = flags.Trigger.FPGATrackSim.qOverPtmin
293  eventSelector.maxqOverPt = flags.Trigger.FPGATrackSim.qOverPtmax
294 
295  result.addService(eventSelector, create=True, primary=True)
296  return result
297 

◆ FPGATrackSimEventSelectionToolCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionToolCfg (   flags,
  name = "FPGATrackSimEventSelectionTool" 
)

Definition at line 298 of file FPGATrackSimDataPrepConfig.py.

298 def FPGATrackSimEventSelectionToolCfg(flags,name="FPGATrackSimEventSelectionTool"):
299  result=ComponentAccumulator()
300  eventSelectionTool=CompFactory.FPGATrackSim.FPGATrackSimEventSelectionTool(nameWithRegionSuffix(flags,name))
301  eventSelectionTool.evtSelectionService = result.getPrimaryAndMerge(FPGATrackSimEventSelectionSvcCfg(flags))
302 
303  result.addPublicTool(eventSelectionTool, primary=True)
304  return result
305 

◆ FPGATrackSimHitFilteringToolCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimHitFilteringToolCfg (   flags)

Definition at line 346 of file FPGATrackSimDataPrepConfig.py.

347  result=ComponentAccumulator()
348  HitFilteringTool = CompFactory.FPGATrackSimHitFilteringTool()
349  HitFilteringTool.barrelStubDphiCut = 3.0
350  HitFilteringTool.doRandomRemoval = False
351  HitFilteringTool.doStubs = False
352  HitFilteringTool.endcapStubDphiCut = 1.5
353  HitFilteringTool.pixelClusRmFrac = 0
354  HitFilteringTool.pixelHitRmFrac = 0
355  HitFilteringTool.stripClusRmFrac = 0
356  HitFilteringTool.stripHitRmFrac = 0
357  HitFilteringTool.useNstrips = False
358  result.addPublicTool(HitFilteringTool, primary=True)
359  return result
360 

◆ FPGATrackSimLorentzAngleToolCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimLorentzAngleToolCfg (   flags)

Definition at line 361 of file FPGATrackSimDataPrepConfig.py.

362  result=ComponentAccumulator()
363  LorentzAngleTool = CompFactory.FPGATrackSim.LorentzAngleTool()
364  LorentzAngleTool.UseAthenaLorentzAngleTools=False
365  LorentzAngleTool.shiftGlobalPosition=True
366 
367  from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import ITkPixelLorentzAngleToolCfg
368  LorentzAngleTool.LorentzAngleToolPixel = result.popToolsAndMerge(ITkPixelLorentzAngleToolCfg(flags))
369 
370  from SiLorentzAngleTool.ITkStripLorentzAngleConfig import ITkStripLorentzAngleToolCfg
371  LorentzAngleTool.LorentzAngleToolStrip = result.popToolsAndMerge(ITkStripLorentzAngleToolCfg(flags))
372 
373  result.addPublicTool(LorentzAngleTool, primary=True)
374  return result
375 

◆ FPGATrackSimMappingCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg (   flags,
  name = "FPGATrackSimMappingSvc" 
)

Definition at line 306 of file FPGATrackSimDataPrepConfig.py.

306 def FPGATrackSimMappingCfg(flags,name="FPGATrackSimMappingSvc"):
307  result=ComponentAccumulator()
308  mappingSvc = CompFactory.FPGATrackSimMappingSvc(nameWithRegionSuffix(flags,name))
309  mappingSvc.regionID = flags.Trigger.FPGATrackSim.region
310  mappingSvc.mappingType = "FILE"
311  mappingSvc.rmap = flags.Trigger.FPGATrackSim.mapsDir+"/"+getBaseName(flags)+".rmap" # we need more configurability here i.e. file choice should depend on some flag
312  mappingSvc.subrmap = flags.Trigger.FPGATrackSim.mapsDir+"/"+getBaseName(flags)+".rmap" # At this point this is the same as the region map, so let's not have two files
313  mappingSvc.pmap = flags.Trigger.FPGATrackSim.mapsDir+"/"+getBaseName(flags)+".pmap"
314  mappingSvc.modulemap = flags.Trigger.FPGATrackSim.mapsDir+"/moduleidmap"
315  mappingSvc.radiiFile = flags.Trigger.FPGATrackSim.mapsDir + "/"+getBaseName(flags)+"_radii.txt"
316  mappingSvc.radiiFile2nd = flags.Trigger.FPGATrackSim.mapsDir + "/"+getBaseName(flags)+"_radii_2nd.txt"
317  mappingSvc.loadRadii = (not flags.Trigger.FPGATrackSim.ActiveConfig.GNN) and flags.Trigger.FPGATrackSim.loadRadii
318  mappingSvc.loadRegionMap = flags.Trigger.FPGATrackSim.loadRegionMap
319  mappingSvc.DoGNNTrack = flags.Trigger.FPGATrackSim.GNN.doGNNTracking
320 
321  mappingSvc.FakeNNonnx1st = flags.Trigger.FPGATrackSim.FakeNNonnxFile1st
322  mappingSvc.FakeNNonnx2nd = flags.Trigger.FPGATrackSim.FakeNNonnxFile2nd
323  mappingSvc.ParamNNonnx1st = flags.Trigger.FPGATrackSim.ParamNNonnxFile1st
324  mappingSvc.ParamNNonnx2nd = flags.Trigger.FPGATrackSim.ParamNNonnxFile2nd
325  mappingSvc.ExtensionNNVolonnx = flags.Trigger.FPGATrackSim.ExtensionNNVolonnxFile
326  mappingSvc.ExtensionNNHitonnx = flags.Trigger.FPGATrackSim.ExtensionNNHitonnxFile
327  mappingSvc.GNNModuleMap = flags.Trigger.FPGATrackSim.GNN.moduleMapPath
328  mappingSvc.layerOverride = []
329  result.addService(mappingSvc, create=True, primary=True)
330  return result
331 
332 

◆ FPGATrackSimRawLogicCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimRawLogicCfg (   flags,
  name = "FPGATrackSimRawLogicTool" 
)

Definition at line 135 of file FPGATrackSimDataPrepConfig.py.

135 def FPGATrackSimRawLogicCfg(flags,name="FPGATrackSimRawLogicTool"):
136  result=ComponentAccumulator()
137  FPGATrackSimRawLogic = CompFactory.FPGATrackSimRawToLogicalHitsTool(nameWithRegionSuffix(flags,name))
138  FPGATrackSimRawLogic.SaveOptional = 2
139  if (flags.Trigger.FPGATrackSim.ActiveConfig.sampleType == 'skipTruth'):
140  FPGATrackSimRawLogic.SaveOptional = 1
141  FPGATrackSimRawLogic.TowersToMap = [0] # TODO TODO why is this hardcoded?
142  FPGATrackSimRawLogic.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimEventSelectionSvcCfg(flags))
143  FPGATrackSimRawLogic.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimMappingCfg(flags))
144  result.addPublicTool(FPGATrackSimRawLogic,primary=True)
145  return result
146 

◆ FPGATrackSimReadInput2Cfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimReadInput2Cfg (   flags)

Definition at line 340 of file FPGATrackSimDataPrepConfig.py.

340 def FPGATrackSimReadInput2Cfg(flags):
341  result=ComponentAccumulator()
342  InputTool2 = CompFactory.FPGATrackSimReadRawRandomHitsTool(name="FPGATrackSimReadInput2", InFileName = flags.Trigger.FPGATrackSim.wrapperFileName2)
343  result.addPublicTool(InputTool2, primary=True)
344  return result
345 

◆ FPGATrackSimReadInputCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimReadInputCfg (   flags)

Definition at line 333 of file FPGATrackSimDataPrepConfig.py.

333 def FPGATrackSimReadInputCfg(flags):
334  result=ComponentAccumulator()
335  InputTool = CompFactory.FPGATrackSimInputHeaderTool(name="FPGATrackSimReadInput",
336  InFileName = flags.Trigger.FPGATrackSim.wrapperFileName)
337  result.addPublicTool(InputTool, primary=True)
338  return result
339 

◆ FPGATrackSimRegionFlagCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimRegionFlagCfg (   flags)

Definition at line 552 of file FPGATrackSimDataPrepConfig.py.

552 def FPGATrackSimRegionFlagCfg(flags):
553  if flags.Trigger.FPGATrackSim.regionList == "": # in case of empty list just use the region set to flags.Trigger.FPGATrackSim.region
554  flags.Trigger.FPGATrackSim.regionList = [flags.Trigger.FPGATrackSim.region]
555  else: # otherwise use the regionList (this overrides the region flag)
556  from FPGATrackSimConfTools.FPGATrackSimHelperFunctions import convertRegionsExpressionToArray
557  flags.Trigger.FPGATrackSim.regionList = convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList)
558  return flags
559 

◆ FPGATrackSimSpacePointsToolCfg()

def python.FPGATrackSimDataPrepConfig.FPGATrackSimSpacePointsToolCfg (   flags)

Definition at line 147 of file FPGATrackSimDataPrepConfig.py.

148  result=ComponentAccumulator()
149  SpacePointTool = CompFactory.FPGATrackSimSpacePointsTool()
150  SpacePointTool.Filtering = flags.Trigger.FPGATrackSim.ActiveConfig.spacePointFiltering
151  SpacePointTool.FilteringClosePoints = False
152  SpacePointTool.PhiWindow = 0.004
153  SpacePointTool.Duplication = True
154  result.addPublicTool(SpacePointTool, primary=True)
155  return result
156 
157 

◆ getBaseName()

def python.FPGATrackSimDataPrepConfig.getBaseName (   flags)

Definition at line 43 of file FPGATrackSimDataPrepConfig.py.

43 def getBaseName(flags):
44  if (flags.Trigger.FPGATrackSim.oldRegionDefs):
45  if (not (flags.Trigger.FPGATrackSim.baseName == '')):
46  return flags.Trigger.FPGATrackSim.baseName
47  elif (flags.Trigger.FPGATrackSim.region == 0):
48  return 'eta0103phi0305'
49  elif (flags.Trigger.FPGATrackSim.region == 1):
50  return 'eta0709phi0305'
51  elif (flags.Trigger.FPGATrackSim.region == 2):
52  return 'eta1214phi0305'
53  elif (flags.Trigger.FPGATrackSim.region == 3):
54  return 'eta2022phi0305'
55  elif (flags.Trigger.FPGATrackSim.region == 4):
56  return 'eta3234phi0305'
57  elif (flags.Trigger.FPGATrackSim.region == 5):
58  return 'eta0103phi1113'
59  elif (flags.Trigger.FPGATrackSim.region == 6):
60  return 'eta0103phi1921'
61  elif (flags.Trigger.FPGATrackSim.region == 7):
62  return 'eta0103phi3436'
63  else:
64  return 'default'
65  else:
66  if (flags.Trigger.FPGATrackSim.region >= 1280 or flags.Trigger.FPGATrackSim.region < 0): return 'default'
67  else:
68  return "region"+str(flags.Trigger.FPGATrackSim.region)
69 

◆ getEtaRange()

def python.FPGATrackSimDataPrepConfig.getEtaRange (   flags)

Definition at line 99 of file FPGATrackSimDataPrepConfig.py.

99 def getEtaRange(flags):
100  if (flags.Trigger.FPGATrackSim.oldRegionDefs):
101  if (not (flags.Trigger.FPGATrackSim.baseName == '')):
102  return [0.1,0.3]
103  elif (flags.Trigger.FPGATrackSim.region == 0):
104  return [0.1,0.3]
105  elif (flags.Trigger.FPGATrackSim.region == 1):
106  return [0.7,0.9]
107  elif (flags.Trigger.FPGATrackSim.region == 2):
108  return [1.2,1.4]
109  elif (flags.Trigger.FPGATrackSim.region == 3):
110  return [2.0,2.2]
111  elif (flags.Trigger.FPGATrackSim.region == 4):
112  return [3.2,3.4]
113  elif (flags.Trigger.FPGATrackSim.region == 5):
114  return [0.1,0.3]
115  elif (flags.Trigger.FPGATrackSim.region == 6):
116  return [0.1,0.3]
117  elif (flags.Trigger.FPGATrackSim.region == 7):
118  return [0.1,0.3]
119  else:
120  return [0.3,0.5]
121  else:
122  if (flags.Trigger.FPGATrackSim.region >= 1280 or flags.Trigger.FPGATrackSim.region < 0): return [0.2,0.4]
123  else:
124  binSize = 0.2
125  side = (flags.Trigger.FPGATrackSim.region >> 5) & 0x1
126  etaBin = (flags.Trigger.FPGATrackSim.region >> 6) & 0x1f
127  if (side): return [binSize*etaBin,binSize*(etaBin+1)]
128  else: return [-binSize*(etaBin+1),-binSize*etaBin]
129 
130 

◆ getEtaSideBits()

def python.FPGATrackSimDataPrepConfig.getEtaSideBits (   flags)

Definition at line 131 of file FPGATrackSimDataPrepConfig.py.

131 def getEtaSideBits(flags):
132  # this includes both the eta and side bits
133  return flags.Trigger.FPGATrackSim.region >> 5
134 

◆ getPhiRange()

def python.FPGATrackSimDataPrepConfig.getPhiRange (   flags)

Definition at line 70 of file FPGATrackSimDataPrepConfig.py.

70 def getPhiRange(flags):
71  if (flags.Trigger.FPGATrackSim.oldRegionDefs):
72  if (not (flags.Trigger.FPGATrackSim.baseName == '')):
73  return [0.3,0.5]
74  elif (flags.Trigger.FPGATrackSim.region == 0):
75  return [0.3,0.5]
76  elif (flags.Trigger.FPGATrackSim.region == 1):
77  return [0.3,0.5]
78  elif (flags.Trigger.FPGATrackSim.region == 2):
79  return [0.3,0.5]
80  elif (flags.Trigger.FPGATrackSim.region == 3):
81  return [0.3,0.5]
82  elif (flags.Trigger.FPGATrackSim.region == 4):
83  return [0.3,0.5]
84  elif (flags.Trigger.FPGATrackSim.region == 5):
85  return [1.1,1.3]
86  elif (flags.Trigger.FPGATrackSim.region == 6):
87  return [1.9,2.1]
88  elif (flags.Trigger.FPGATrackSim.region == 7):
89  return [3.4,3.6]
90  else:
91  return [0.3,0.5]
92  else:
93  binSize = pi/16
94  phiBin=flags.Trigger.FPGATrackSim.region & 0x1f
95  if (flags.Trigger.FPGATrackSim.region >= 1280 or flags.Trigger.FPGATrackSim.region < 0): return [binSize*2,binSize*3]
96  else:
97  return [binSize*phiBin,binSize*(phiBin+1)]
98 

◆ getRegionNumber()

def python.FPGATrackSimDataPrepConfig.getRegionNumber (   nPiOver16Min,
  minAbsEta,
  isPositiveEta,
  verbosePrint = True 
)

Definition at line 12 of file FPGATrackSimDataPrepConfig.py.

12 def getRegionNumber(nPiOver16Min, minAbsEta, isPositiveEta, verbosePrint=True):
13  binSizePhi = pi/16
14  binSizeEta = 0.2
15  region = nPiOver16Min
16  if (nPiOver16Min >= 32 or nPiOver16Min < 0):
17  print("You are asking for nPiOver16 = ",nPiOver16Min," but we only have 32 phi bins! Returning -1")
18  return -1
19  if (minAbsEta > 3.8 or minAbsEta < 0):
20  print("You are asking for minAbsEta = ",minAbsEta," but we only have 20 abs eta bins! Returning -1")
21  return -1
22  if not (isPositiveEta == 0 or isPositiveEta == 1):
23  print("You are asking for isPositiveEta = ",isPositiveEta, " but this should only be 0 or 1! Returning -1")
24  return -1
25 
26  etanum = round(minAbsEta / binSizeEta)
27  mineta = binSizeEta*etanum
28  maxeta = binSizeEta*(etanum+1)
29  if (not isPositiveEta):
30  mineta = -binSizeEta*(etanum+1)
31  maxeta = -binSizeEta*etanum
32 
33  region = region | ((isPositiveEta & 0x1) << 5)
34  region = region | (etanum << 6)
35  if (verbosePrint):
36  print("I am returning the region number for minphi =",nPiOver16Min, "*pi/16, which is equal to",binSizePhi*nPiOver16Min)
37  print(" and maxphi =",nPiOver16Min+1, "*pi/16, which is equal to",binSizePhi*(nPiOver16Min+1))
38  print(" and mineta =",mineta, "and max eta =", maxeta)
39 
40  return region
41 
42 

◆ nameWithRegionSuffix()

def python.FPGATrackSimDataPrepConfig.nameWithRegionSuffix (   flags,
  basename 
)

Definition at line 8 of file FPGATrackSimDataPrepConfig.py.

8 def nameWithRegionSuffix(flags, basename):
9  return f"{basename}_reg{flags.Trigger.FPGATrackSim.region}"
10 
11 

◆ prepareFlagsForFPGATrackSimDataPrepAlg()

def python.FPGATrackSimDataPrepConfig.prepareFlagsForFPGATrackSimDataPrepAlg (   flags)

Definition at line 158 of file FPGATrackSimDataPrepConfig.py.

159  newFlags = flags.cloneAndReplace("Trigger.FPGATrackSim.ActiveConfig", "Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag)
160  return newFlags
161 
162 

◆ runDataPrepChain()

def python.FPGATrackSimDataPrepConfig.runDataPrepChain ( )

Definition at line 684 of file FPGATrackSimDataPrepConfig.py.

684 def runDataPrepChain():
685  from AthenaConfiguration.AllConfigFlags import initConfigFlags
686  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
687 
688  FinalDataPrepTrackChainxAODTracksKeyPrefix="FPGA"
689 
690  flags = initConfigFlags()
691  from InDetConfig.ConfigurationHelpers import OnlyTrackingPreInclude
693 
694 
696  flags = FixITkMainPassFlags(flags)
697 
698 
699  flags.Concurrency.NumThreads=1
700  flags.Concurrency.NumConcurrentEvents=1
701  flags.Concurrency.NumProcs=0
702  flags.Scheduler.ShowDataDeps=False
703  flags.Scheduler.CheckDependencies=True
704  flags.Debug.DumpEvtStore=False # Set to Truth to enable Event Store printouts
705  # flags.Exec.DebugStage="exec" # useful option to debug the execution of the job - we want it commented out for production
706  flags.fillFromArgs()
707  if isinstance(flags.Trigger.FPGATrackSim.wrapperFileName, str):
708  log.info("wrapperFile is string, converting to list")
709  flags.Trigger.FPGATrackSim.wrapperFileName = [flags.Trigger.FPGATrackSim.wrapperFileName]
710  flags.Input.Files = lambda f: [f.Trigger.FPGATrackSim.wrapperFileName]
711 
712  flags.Tracking.writeExtendedSi_PRDInfo = not flags.Trigger.FPGATrackSim.writeOfflPRDInfo # Don't write ITkPixel/StripMeasurements if writeOfflPRDInfo = True
713  # In this case, ITkPixel/StripMeasurements_offl written based on F100 clustering
714 
715  flags = FPGATrackSimRegionFlagCfg(flags)
716 
717  flags.lock()
718  flags = flags.cloneAndReplace("Tracking.ActiveConfig", "Tracking.ITkMainPass", keepOriginal=True)
719 
720  acc=MainServicesCfg(flags)
721  if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
722  acc.addService(CompFactory.THistSvc(Output = [f"EXPERT DATAFILE='{flags.Trigger.FPGATrackSim.outputMonitorFile}', OPT='RECREATE'"]))
723  acc.addService(CompFactory.THistSvc(Output = ["FPGATRACKSIMOUTPUT DATAFILE='dataprep.root', OPT='RECREATE'"]))
724 
725 
726  acc.merge(FPGATrackSimDataPrepSetup(flags))
727 
728  # Use the imported configuration function for the data prep algorithm.
729  acc.merge(FPGATrackSimDataPrepAlgCfg(flags))
730 
731  if flags.Trigger.FPGATrackSim.doEDMConversion:
732  acc.merge(FPGAConversionAlgCfg(flags, name = 'FPGAConversionAlg', stage = '_1st', doActsTrk=False, doSP = False))
733 
734  # convert Pixel Clusters to SPs
735  from ActsConfig.ActsSpacePointFormationConfig import ActsPixelSpacePointFormationAlgCfg
736  acc.merge(ActsPixelSpacePointFormationAlgCfg(flags,name="FPGAActsPixelSpacePointFormationAlg",
737  **{'PixelClusters':"xAODPixelClustersFromFPGACluster",
738  'PixelSpacePoints':"xAODPixelSpacePointsFromFPGA"}))
739 
740  if flags.Trigger.FPGATrackSim.connectToToITkTracking:
741  if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
742  # Run ACTS Fast Tracking on offline objects (starting from seeding)
743  acc.merge(FPGATrackSimDataPrepConnectToFastTracking(flags, FinalTracks="ActsFast"))
744 
745  # Run ACTS Fast Tracking for FPGA clusters (starting from seeding)
746  acc.merge(FPGATrackSimDataPrepConnectToFastTracking(flags, FinalTracks=FinalDataPrepTrackChainxAODTracksKeyPrefix,
747  **{'PixelSeedingAlg.InputSpacePoints' : ['xAODPixelSpacePointsFromFPGA'],
748  'StripSeedingAlg.InputSpacePoints' : [''],
749  'TrackFindingAlg.UncalibratedMeasurementContainerKeys' : ["xAODPixelClustersFromFPGACluster","xAODStripClustersFromFPGACluster"],
750  'PixelClusterToTruthAssociationAlg.Measurements' : 'xAODPixelClustersFromFPGACluster',
751  'StripClusterToTruthAssociationAlg.Measurements' : 'xAODStripClustersFromFPGACluster'}))
752 
753 
754  if flags.Trigger.FPGATrackSim.writeToAOD:
755  acc.merge(WriteToAOD(flags,
756  stage = '_1st',
757  finalTrackParticles=f"{FinalDataPrepTrackChainxAODTracksKeyPrefix}TrackParticles"))
758 
759  # Printout for various FPGA-related objects
760  from FPGATrackSimReporting.FPGATrackSimReportingConfig import FPGATrackSimReportingCfg
761  acc.merge(FPGATrackSimReportingCfg(flags,stage="_1st",
762  perEventReports = (flags.Trigger.FPGATrackSim.sampleType != 'skipTruth'),
763  isDataPrep=True))
764 
765  # cluster monitoring
766  if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
767  from EFTrackingFPGAOutputValidation.FPGAOutputValidationConfig import FPGAOutputValidationCfg
768  acc.merge(FPGAOutputValidationCfg(flags, **{'pixelKeys' : ["xAODPixelClustersFromFPGACluster","ITkPixelClusters"],
769  'stripKeys':["xAODStripClustersFromFPGACluster","ITkStripClusters"],
770  'doDiffHistograms':True,
771  'matchByID' : True}))
772 
773  acc.store(open('AnalysisConfig.pkl','wb'))
774 
775  statusCode = acc.run(flags.Exec.MaxEvents)
776  assert statusCode.isSuccess() is True, "Application execution did not succeed"
777 
778 

◆ WriteToAOD()

def python.FPGATrackSimDataPrepConfig.WriteToAOD (   flags,
  stage = '',
  finalTrackParticles = '' 
)

Definition at line 242 of file FPGATrackSimDataPrepConfig.py.

242 def WriteToAOD(flags, stage = '',finalTrackParticles = ''): # store xAOD containers in AOD file
243  result = ComponentAccumulator()
244  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
245  from OutputStreamAthenaPool.OutputStreamConfig import outputStreamName
246  from AthenaConfiguration.Enums import MetadataCategory
247 
248  result.merge( SetupMetaDataForStreamCfg( flags,"AOD",
249  createMetadata=[
250  MetadataCategory.ByteStreamMetaData,
251  MetadataCategory.LumiBlockMetaData,
252  MetadataCategory.TruthMetaData,
253  MetadataCategory.IOVMetaData,],)
254  )
255  log.info("AOD ItemList: %s", result.getEventAlgo(outputStreamName("AOD")).ItemList)
256  log.info("AOD MetadataItemList: %s", result.getEventAlgo(outputStreamName("AOD")).MetadataItemList)
257  log.info("---------- Configured AOD writing")
258 
259  from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
260  toAOD = [f"xAOD::TrackParticleContainer#{finalTrackParticles}",f"xAOD::TrackParticleAuxContainer#{finalTrackParticles}Aux."]
261  if flags.Trigger.FPGATrackSim.writeClustersToAOD:
262  toAOD += ["xAOD::PixelClusterContainer#xAODPixelClustersFromFPGACluster","xAOD::PixelClusterAuxContainer#xAODPixelClustersFromFPGAClusterAux.",
263  "xAOD::StripClusterContainer#xAODStripClustersFromFPGACluster","xAOD::StripClusterAuxContainer#xAODStripClustersFromFPGAClusterAux."]
264  if flags.Trigger.FPGATrackSim.writeOfflPRDInfo:
265  toAOD += ['xAOD::TrackMeasurementValidationContainer#ITkPixelMeasurements_offl','xAOD::TrackMeasurementValidationAuxContainer#ITkPixelMeasurements_offlAux.',
266  'xAOD::TrackMeasurementValidationContainer#ITkStripMeasurements_offl','xAOD::TrackMeasurementValidationAuxContainer#ITkStripMeasurements_offlAux.']
267  if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
268  toAOD += [f"xAOD::SpacePointContainer#xAODPixelSpacePoints{stage}FromFPGA",f"xAOD::SpacePointAuxContainer#xAODPixelSpacePoints{stage}FromFPGAAux.-measurements",
269  f"xAOD::SpacePointContainer#xAODStripSpacePoints{stage}FromFPGA",f"xAOD::SpacePointAuxContainer#xAODStripSpacePoints{stage}FromFPGAAux.-measurements.-sctSpacePointLink"]
270 
271  result.merge(addToAOD(flags, toAOD))
272 
273  return result
274 
275 

Variable Documentation

◆ log

python.FPGATrackSimDataPrepConfig.log

Definition at line 443 of file FPGATrackSimDataPrepConfig.py.

AthenaPoolExample_WriteCond.outputStreamName
string outputStreamName
Definition: AthenaPoolExample_WriteCond.py:21
python.FPGATrackSimDataPrepConfig.WriteToAOD
def WriteToAOD(flags, stage='', finalTrackParticles='')
Definition: FPGATrackSimDataPrepConfig.py:242
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepAlgCfg
def FPGATrackSimDataPrepAlgCfg(inputFlags)
Definition: FPGATrackSimDataPrepConfig.py:376
python.CaloRecoConfig.CaloRecoCfg
def CaloRecoCfg(flags, clustersname=None)
Definition: CaloRecoConfig.py:9
python.ITkStripLorentzAngleConfig.ITkStripLorentzAngleToolCfg
def ITkStripLorentzAngleToolCfg(flags, name="ITkStripLorentzAngleTool", **kwargs)
Definition: ITkStripLorentzAngleConfig.py:10
ActsTrackFindingConfig.ActsTrackFindingCfg
ComponentAccumulator ActsTrackFindingCfg(flags, **kwargs)
Definition: ActsTrackFindingConfig.py:252
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
ActsUtilities.extractChildKwargs
dict extractChildKwargs(*str prefix, **dict kwargs)
Definition: ActsUtilities.py:3
ActsCIFlags.actsWorkflowFlags
None actsWorkflowFlags(flags)
Definition: ActsCIFlags.py:13
python.FPGATrackSimDataPrepConfig.getEtaRange
def getEtaRange(flags)
Definition: FPGATrackSimDataPrepConfig.py:99
python.FPGATrackSimDataPrepConfig.FPGAConversionAlgCfg
def FPGAConversionAlgCfg(inputFlags, name='FPGAConversionAlg', stage='', **kwargs)
Definition: FPGATrackSimDataPrepConfig.py:184
ITkPixelConditionsConfig.ITkPixelDetectorElementStatusAlgCfg
def ITkPixelDetectorElementStatusAlgCfg(flags, name="ITkPixelDetectorElementStatusAlg", **kwargs)
Definition: ITkPixelConditionsConfig.py:178
python.FPGATrackSimDataPrepConfig.FPGATrackSimReadInput2Cfg
def FPGATrackSimReadInput2Cfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:340
xAODTruthCnvConfig.GEN_AOD2xAODCfg
def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:22
MuonGM::round
float round(const float toRound, const unsigned int decimals)
Definition: Mdt.cxx:27
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags)
Definition: ITkStripGeoModelConfig.py:43
FPGATrackSimAlgorithmConfig.FPGATrackSimDataPrepMonitoringCfg
def FPGATrackSimDataPrepMonitoringCfg(flags)
original monitor histograms
Definition: FPGATrackSimAlgorithmConfig.py:247
ActsTruthConfig.ActsTruthParticleHitCountAlgCfg
ComponentAccumulator ActsTruthParticleHitCountAlgCfg(flags, str name='ActsTruthParticleHitCountAlg', **dict kwargs)
Definition: ActsTruthConfig.py:86
ActsTruthConfig.ActsTrackToTruthAssociationAlgCfg
ComponentAccumulator ActsTrackToTruthAssociationAlgCfg(flags, str name='ActsTracksToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:65
FPGAClusterSortingConfig.FPGAClusterSortingAlgCfg
def FPGAClusterSortingAlgCfg(flags, name="FPGAClusterSortingAlg", **kwargs)
Definition: FPGAClusterSortingConfig.py:6
python.FPGATrackSimMergeOutputsConfig.FPGATrackSimMergeOutputsAlgCfg
def FPGATrackSimMergeOutputsAlgCfg(flags, **kwargs)
Definition: FPGATrackSimMergeOutputsConfig.py:9
FPGATrackSimHelperFunctions.convertRegionsExpressionToArray
def convertRegionsExpressionToArray(expression, min_value=0, max_value=1279)
Definition: FPGATrackSimHelperFunctions.py:6
python.FPGATrackSimDataPrepConfig.FPGATrackSimRegionFlagCfg
def FPGATrackSimRegionFlagCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:552
python.InDetPrepRawDataToxAODConfig.TruthParticleIndexDecoratorAlgCfg
def TruthParticleIndexDecoratorAlgCfg(flags, name='TruthParticleIndexDecoratorAlg', **kwargs)
Definition: InDetPrepRawDataToxAODConfig.py:6
python.FPGATrackSimDataPrepConfig.FPGATrackSimSpacePointsToolCfg
def FPGATrackSimSpacePointsToolCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:147
python.FPGATrackSimDataPrepConfig.FPGAClusterConverterCfg
def FPGAClusterConverterCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:218
ActsTruthConfig.ActsPixelClusterToTruthAssociationAlgCfg
ComponentAccumulator ActsPixelClusterToTruthAssociationAlgCfg(flags, str name='ActsPixelClusterToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:20
python.ITkStripConditionsAlgorithmsConfig.ITkStripDetectorElementStatusAlgCfg
def ITkStripDetectorElementStatusAlgCfg(flags, name="ITkStripDetectorElementStatusAlg", **kwargs)
Definition: ITkStripConditionsAlgorithmsConfig.py:91
python.FPGATrackSimDataPrepConfig.getEtaSideBits
def getEtaSideBits(flags)
Definition: FPGATrackSimDataPrepConfig.py:131
python.ITkPixelLorentzAngleConfig.ITkPixelLorentzAngleToolCfg
def ITkPixelLorentzAngleToolCfg(flags, name="ITkPixelLorentzAngleTool", **kwargs)
Definition: ITkPixelLorentzAngleConfig.py:14
ActsTruthConfig.ActsTrackFindingValidationAlgCfg
ComponentAccumulator ActsTrackFindingValidationAlgCfg(flags, str name='ActsTracksValidationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:162
python.FPGATrackSimDataPrepConfig.getBaseName
def getBaseName(flags)
Definition: FPGATrackSimDataPrepConfig.py:43
python.ConfigurationHelpers.OnlyTrackingPreInclude
def OnlyTrackingPreInclude(flags)
Definition: InnerDetector/InDetConfig/python/ConfigurationHelpers.py:6
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepFlagCfg
def FPGATrackSimDataPrepFlagCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:629
python.FPGATrackSimDataPrepConfig.FPGATrackSimRawLogicCfg
def FPGATrackSimRawLogicCfg(flags, name="FPGATrackSimRawLogicTool")
Definition: FPGATrackSimDataPrepConfig.py:135
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:310
python.FPGATrackSimDataPrepConfig.FPGATrackSimClusteringCfg
def FPGATrackSimClusteringCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:560
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:140
python.InDetPrepRawDataFormationConfig.ITkXAODToInDetClusterConversionCfg
def ITkXAODToInDetClusterConversionCfg(flags, name="ITkXAODToInDetClusterConversion", **kwargs)
Definition: InDetPrepRawDataFormationConfig.py:66
ActsTrackFindingConfig.ActsAmbiguityResolutionCfg
ComponentAccumulator ActsAmbiguityResolutionCfg(flags, **kwargs)
Definition: ActsTrackFindingConfig.py:409
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:26
python.FPGATrackSimDataPrepConfig.FPGATrackSimHitFilteringToolCfg
def FPGATrackSimHitFilteringToolCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:346
python.FPGATrackSimDataPrepConfig.FixITkMainPassFlags
def FixITkMainPassFlags(flags)
Definition: FPGATrackSimDataPrepConfig.py:640
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.InDetPrepRawDataToxAODConfig.ITkActsPrepDataToxAODCfg
ComponentAccumulator ITkActsPrepDataToxAODCfg(flags, *str PixelClusterContainer="ITkPixelClusters", str StripClusterContainer="ITkStripClusters", str PixelMeasurementContainer="ITkPixelMeasurements", str StripMeasurementContainer="ITkStripMeasurements", list[str] TrackParticles=None)
Definition: InDetPrepRawDataToxAODConfig.py:46
python.JetRecoSteering.addTruthPileupJetsToOutputCfg
def addTruthPileupJetsToOutputCfg(flags, toAOD=True, toESD=True)
Definition: JetRecoSteering.py:7
python.FPGATrackSimDataPrepConfig.getRegionNumber
def getRegionNumber(nPiOver16Min, minAbsEta, isPositiveEta, verbosePrint=True)
Definition: FPGATrackSimDataPrepConfig.py:12
python.FPGATrackSimDataPrepConfig.FPGATrackSimReadInputCfg
def FPGATrackSimReadInputCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:333
python.FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg
def FPGATrackSimEventSelectionSvcCfg(flags, name="FPGATrackSimEventSelectionSvc")
Definition: FPGATrackSimDataPrepConfig.py:276
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepConnectToFastTracking
def FPGATrackSimDataPrepConnectToFastTracking(flagsIn, FinalTracks="F100-", **kwargs)
Definition: FPGATrackSimDataPrepConfig.py:445
ActsSpacePointFormationConfig.ActsPixelSpacePointFormationAlgCfg
ComponentAccumulator ActsPixelSpacePointFormationAlgCfg(flags, str name="ActsPixelSpacePointFormationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:144
FPGATrackSimSGInputConfig.FPGATrackSimSGInputToolCfg
def FPGATrackSimSGInputToolCfg(flags, **kwargs)
Definition: FPGATrackSimSGInputConfig.py:8
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
python.FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg
def FPGATrackSimMappingCfg(flags, name="FPGATrackSimMappingSvc")
Definition: FPGATrackSimDataPrepConfig.py:306
ActsSeedingConfig.ActsSeedingCfg
ComponentAccumulator ActsSeedingCfg(flags, **kwargs)
Definition: ActsSeedingConfig.py:451
python.OutputStreamConfig.addToAOD
def addToAOD(flags, itemOrList, **kwargs)
Definition: OutputStreamConfig.py:202
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
ActsCIFlags.actsLegacyWorkflowFlags
None actsLegacyWorkflowFlags(flags)
Definition: ActsCIFlags.py:7
python.FPGATrackSimDataPrepConfig.runDataPrepChain
def runDataPrepChain()
Definition: FPGATrackSimDataPrepConfig.py:684
str
Definition: BTagTrackIpAccessor.cxx:11
DataPrepConfig.FPGATrackSimReportingCfg
def FPGATrackSimReportingCfg(flags, name='FPGATrackSimReportingAlg', **kwargs)
Definition: DataPrepConfig.py:6
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepOutputCfg
def FPGATrackSimDataPrepOutputCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:163
python.FPGATrackSimDataPrepConfig.FPGAActsTrkConverterCfg
def FPGAActsTrkConverterCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:234
python.xAODEventInfoCnvConfig.EventInfoCnvAlgCfg
def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg", inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=False, **kwargs)
Definition: xAODEventInfoCnvConfig.py:11
python.FPGATrackSimDataPrepConfig.getPhiRange
def getPhiRange(flags)
Definition: FPGATrackSimDataPrepConfig.py:70
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
python.FPGATrackSimDataPrepConfig.prepareFlagsForFPGATrackSimDataPrepAlg
def prepareFlagsForFPGATrackSimDataPrepAlg(flags)
Definition: FPGATrackSimDataPrepConfig.py:158
python.FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionToolCfg
def FPGATrackSimEventSelectionToolCfg(flags, name="FPGATrackSimEventSelectionTool")
Definition: FPGATrackSimDataPrepConfig.py:298
FPGAOutputValidationConfig.FPGAOutputValidationCfg
def FPGAOutputValidationCfg(flags, **kwargs)
Definition: FPGAOutputValidationConfig.py:3
ActsTruthConfig.ActsTrackParticleTruthDecorationAlgCfg
ComponentAccumulator ActsTrackParticleTruthDecorationAlgCfg(flags, str name='ActsTrackParticleTruthDecorationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:137
ActsTruthConfig.ActsStripClusterToTruthAssociationAlgCfg
ComponentAccumulator ActsStripClusterToTruthAssociationAlgCfg(flags, str name='ActsStripClusterToTruthAssociationAlg', **dict kwargs)
Definition: ActsTruthConfig.py:35
python.FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepSetup
def FPGATrackSimDataPrepSetup(flags, runReco=True)
Definition: FPGATrackSimDataPrepConfig.py:649
python.FPGATrackSimDataPrepConfig.nameWithRegionSuffix
def nameWithRegionSuffix(flags, basename)
Definition: FPGATrackSimDataPrepConfig.py:8
ActsTrackFindingConfig.ActsTrackToTrackParticleCnvAlgCfg
ComponentAccumulator ActsTrackToTrackParticleCnvAlgCfg(flags, str name="ActsTrackToTrackParticleCnvAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:461
python.FPGATrackSimDataPrepConfig.FPGATrackSimLorentzAngleToolCfg
def FPGATrackSimLorentzAngleToolCfg(flags)
Definition: FPGATrackSimDataPrepConfig.py:361