ATLAS Offline Software
Functions | Variables
python.FPGATrackSimAnalysisConfig Namespace Reference

Functions

def getEtaBin (flags)
 return a number 0-19, 0 is most central bin, 19 is most forward (based on absolute value of eta) More...
 
def getFitWeights (etaBin)
 
def getNSubregions (filePath)
 
def FPGATrackSimWriteOutputCfg (flags)
 
def FPGATrackSimSlicingEngineCfg (flags, name="FPGATrackSimSlicingEngineTool")
 
def FPGATrackSimBankSvcCfg (flags, name="FPGATrackSimBankSvc")
 
def FPGATrackSimRoadUnionToolCfg (flags, name="FPGATrackSimRoadUnionTool")
 
def FPGATrackSimRoadUnionTool1DCfg (flags, name="FPGATrackSimRoadUnionTool1D")
 
def FPGATrackSimRoadUnionToolGenScanCfg (flags, name="FPGATrackSimRoadUnionToolGenScan")
 
def FPGATrackSimRoadUnionToolGNNCfg (flags, name="FPGATrackSimRoadUnionToolGNN")
 
def FPGATrackSimGNNGraphConstructionToolCfg (flags, name="FPGATrackSimGNNGraphConstructionTool")
 
def FPGATrackSimGNNEdgeClassifierToolCfg (flags, name="FPGATrackSimGNNEdgeClassifierTool")
 
def FPGATrackSimGNNRoadMakerToolCfg (flags, name="FPGATrackSimGNNRoadMakerTool")
 
def FPGATrackSimGNNRootOutputToolCfg (flags, name="FPGATrackSimGNNRootOutputTool")
 
def FPGATrackSimDataFlowToolCfg (flags, name="FPGATrackSimDataFlowTool")
 
def FPGATrackSimHoughRootOutputToolCfg (flags, name="FPGATrackSimHoughRootOutputTool")
 
def LRTRoadFinderCfg (flags, name="LRTRoadFinder")
 
def NNTrackToolCfg (flags, name="FPGATrackSimNNTrackTool")
 
def FPGATrackSimTrackFitterToolCfg (flags, name="FPGATrackSimTrackFitterTool")
 
def FPGATrackSimOverlapRemovalToolCfg (flags, name="FPGATrackSimOverlapRemovalTool")
 
def prepareFlagsForFPGATrackSimLogicalHitsProcessAlg (flags)
 
def SPRoadFilterToolCfg (flags, secondStage=False, name="FPGATrackSimSpacepointRoadFilterTool")
 
def FPGATrackSimLogicalHitsProcessAlgCfg (inputFlags, name="FPGATrackSimLogicalHitsProcessAlg", **kwargs)
 
def getChi2Cut (region)
 
def getChi2CutNN (region)
 
def ConfigureMultiRegionFlags (flags)
 
def FPGATrackSimF150FlagCfg (flags)
 
def FPGATrackSimSeedingCfg (flags)
 
def WriteAdditionalFPGATrackSimOutputCfg (flags)
 

Variables

 log
 
 flags
 
 FinalProtoTrackChainxAODTracksKey
 Flags used in the prototrack chain. More...
 
 EnableCalo
 
 doAthenaToActsSpacePoint
 
 doAthenaToActsCluster
 
 doRotCorrection
 
 NumThreads
 
 NumConcurrentEvents
 
 NumProcs
 
 ShowDataDeps
 
 CheckDependencies
 
 DumpEvtStore
 
 chi2cut
 
 etaPatternFilter
 
 phiRoadFilter
 
 hough1D
 
 hough
 
 GNN
 
 genScan
 
 spacePoints
 
 writeExtendedSi_PRDInfo
 if DP pipeline skip everything else! More...
 
 splitPipeline
 
 trackingOption
 
 trackingOptionMod
 
 tracking
 disable 1st stage overlap removal More...
 
 trackNNAnalysis
 
 trackNNAnalysis2nd
 enable the nn tool More...
 
 doNNPathFinder
 
 doOverlapRemoval
 
 wrapperFileName
 
 Files
 
 acc
 
 PixelMeasurementContainer
 
 StripMeasurementContainer
 
 stage
 
 name
 
 doActsTrk
 
 doSP
 
 enableTrackStatePrinter
 
 False
 
 ProtoTracksLocation
 
 finalTrackParticles
 
 perEventReports
 
 OutputLevel
 
 debugLimit
 
 infoLimit
 
 verboseLimit
 
 statusCode
 

Function Documentation

◆ ConfigureMultiRegionFlags()

def python.FPGATrackSimAnalysisConfig.ConfigureMultiRegionFlags (   flags)

Definition at line 779 of file FPGATrackSimAnalysisConfig.py.

779 def ConfigureMultiRegionFlags(flags):
780  # convert regex to array of regions
781  if flags.Trigger.FPGATrackSim.regionList == "": # in case of empty list just use the region set to flags.Trigger.FPGATrackSim.region
782  flags.Trigger.FPGATrackSim.regionList = [flags.Trigger.FPGATrackSim.region]
783  else: # otherwise use the regionList (this overrides the region flag)
784  from FPGATrackSimConfTools.FPGATrackSimHelperFunctions import convertRegionsExpressionToArray
785  flags.Trigger.FPGATrackSim.regionList = convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList)
786  print(f"Running for regions: {flags.Trigger.FPGATrackSim.regionList}")
787 
788 

◆ FPGATrackSimBankSvcCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimBankSvcCfg (   flags,
  name = "FPGATrackSimBankSvc" 
)

Definition at line 66 of file FPGATrackSimAnalysisConfig.py.

66 def FPGATrackSimBankSvcCfg(flags,name="FPGATrackSimBankSvc"):
67  result=ComponentAccumulator()
68  FPGATrackSimBankSvc = CompFactory.FPGATrackSimBankSvc(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
69  FPGATrackSimBankSvc.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
70  pathBankSvc = flags.Trigger.FPGATrackSim.bankDir if flags.Trigger.FPGATrackSim.bankDir != '' else f'/eos/atlas/atlascerngroupdisk/det-htt/HTTsim/{flags.GeoModel.AtlasVersion}/21.9.16/'+FPGATrackSimDataPrepConfig.getBaseName(flags)+'/SectorBanks/'
71  pathBankSvc=PathResolver.FindCalibDirectory(pathBankSvc)
72  FPGATrackSimBankSvc.constantsNoGuess_1st = [
73  f'{pathBankSvc}corrgen_raw_8L_skipPlane0.gcon',
74  f'{pathBankSvc}corrgen_raw_8L_skipPlane1.gcon',
75  f'{pathBankSvc}corrgen_raw_8L_skipPlane2.gcon',
76  f'{pathBankSvc}corrgen_raw_8L_skipPlane3.gcon',
77  f'{pathBankSvc}corrgen_raw_8L_skipPlane4.gcon',
78  f'{pathBankSvc}corrgen_raw_8L_skipPlane5.gcon',
79  f'{pathBankSvc}corrgen_raw_8L_skipPlane6.gcon',
80  f'{pathBankSvc}corrgen_raw_8L_skipPlane7.gcon']
81  FPGATrackSimBankSvc.constantsNoGuess_2nd = [
82  f'{pathBankSvc}corrgen_raw_13L_skipPlane0.gcon',
83  f'{pathBankSvc}corrgen_raw_13L_skipPlane1.gcon',
84  f'{pathBankSvc}corrgen_raw_13L_skipPlane2.gcon',
85  f'{pathBankSvc}corrgen_raw_13L_skipPlane3.gcon',
86  f'{pathBankSvc}corrgen_raw_13L_skipPlane4.gcon',
87  f'{pathBankSvc}corrgen_raw_13L_skipPlane5.gcon',
88  f'{pathBankSvc}corrgen_raw_13L_skipPlane6.gcon',
89  f'{pathBankSvc}corrgen_raw_13L_skipPlane7.gcon']
90  layers="5L" if flags.Trigger.FPGATrackSim.ActiveConfig.genScan else "9L"
91  s2_layers = 13
92  pathMapSvc = flags.Trigger.FPGATrackSim.mapsDir if flags.Trigger.FPGATrackSim.mapsDir != '' else f'/eos/atlas/atlascerngroupdisk/det-htt/HTTsim/{flags.GeoModel.AtlasVersion}/21.9.16/'+FPGATrackSimDataPrepConfig.getBaseName(flags)+'/SectorMaps/'
93  pathMapSvc = PathResolver.FindCalibDirectory(pathMapSvc)
94  pmap_file = os.path.join(pathMapSvc, f"region{flags.Trigger.FPGATrackSim.region}.pmap")
95  with open(pmap_file) as f:
96  for line in f:
97  if 'logical_s2' in line:
98  s2_layers = int(line.strip().split()[0])
99  break
100  FPGATrackSimBankSvc.constants_1st = f'{pathBankSvc}corrgen_raw_{layers}_reg{flags.Trigger.FPGATrackSim.region}_checkGood1.gcon'
101  FPGATrackSimBankSvc.constants_2nd = f'{pathBankSvc}corrgen_raw_{s2_layers}L_reg{flags.Trigger.FPGATrackSim.region}_checkGood1.gcon'
102  FPGATrackSimBankSvc.sectorBank_1st = f'{pathBankSvc}sectorsHW_raw_{layers}_reg{flags.Trigger.FPGATrackSim.region}_checkGood1.patt'
103  FPGATrackSimBankSvc.sectorBank_2nd = f'{pathBankSvc}sectorsHW_raw_{s2_layers}L_reg{flags.Trigger.FPGATrackSim.region}_checkGood1.patt'
104  FPGATrackSimBankSvc.sectorSlices = f'{pathBankSvc}slices_{layers}_reg{flags.Trigger.FPGATrackSim.region}.root'
105  FPGATrackSimBankSvc.phiShift = flags.Trigger.FPGATrackSim.phiShift
106 
107  # These should be configurable. The tag system needs updating though.
108  FPGATrackSimBankSvc.sectorQPtBins = [-0.001, -0.0005, 0, 0.0005, 0.001]
109  FPGATrackSimBankSvc.qptAbsBinning = False
110 
111  result.addService(FPGATrackSimBankSvc, create=True, primary=True)
112  return result
113 
114 

◆ FPGATrackSimDataFlowToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimDataFlowToolCfg (   flags,
  name = "FPGATrackSimDataFlowTool" 
)

Definition at line 487 of file FPGATrackSimAnalysisConfig.py.

487 def FPGATrackSimDataFlowToolCfg(flags,name="FPGATrackSimDataFlowTool"):
488  result=ComponentAccumulator()
489  DataFlowTool = CompFactory.FPGATrackSimDataFlowTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
490  DataFlowTool.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
491  DataFlowTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
492  DataFlowTool.Chi2ndofCut = flags.Trigger.FPGATrackSim.ActiveConfig.chi2cut
493  DataFlowTool.THistSvc = CompFactory.THistSvc()
494  result.setPrivateTools(DataFlowTool)
495  return result
496 

◆ FPGATrackSimF150FlagCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimF150FlagCfg (   flags)

Definition at line 789 of file FPGATrackSimAnalysisConfig.py.

789 def FPGATrackSimF150FlagCfg(flags):
790  FPGATrackSimDataPrepConfig.FPGATrackSimDataPrepFlagCfg(flags)
791 
792  flags.Scheduler.ShowDataDeps=True
793  flags.Scheduler.CheckDependencies=True
794  flags.Debug.DumpEvtStore=False
795 
796  flags.Trigger.FPGATrackSim.readOfflineObjects=False
797  flags.Trigger.FPGATrackSim.doMultiTruth=False
798 
799  flags.Trigger.FPGATrackSim.tracking = False
800  flags.Trigger.FPGATrackSim.Hough.genScan = True
801  flags.Trigger.FPGATrackSim.convertSPs = False # in case we need the conversion to take place on hw we'll have to convert to SPs after the cluster-sorting (will probably need new algorithm)
802  flags.Tracking.ITkActsValidateF150Pass.doActsSpacePoint = not flags.Trigger.FPGATrackSim.convertSPs
803  flags.Trigger.FPGATrackSim.Hough.secondStage = False
804 
805  flags.Trigger.FPGATrackSim.regionList="34,98,162,226,290,354,418,482,546,610,674,738,802,866,930,994,1058,1122,1186,1250"
807 
808  return flags
809 

◆ FPGATrackSimGNNEdgeClassifierToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNEdgeClassifierToolCfg (   flags,
  name = "FPGATrackSimGNNEdgeClassifierTool" 
)

Definition at line 441 of file FPGATrackSimAnalysisConfig.py.

441 def FPGATrackSimGNNEdgeClassifierToolCfg(flags, name="FPGATrackSimGNNEdgeClassifierTool"):
442  result = ComponentAccumulator()
443 
444  from AthOnnxComps.OnnxRuntimeInferenceConfig import OnnxRuntimeInferenceToolCfg
445  from AthOnnxComps.OnnxRuntimeFlags import OnnxRuntimeType
446 
447  region = int(flags.Trigger.FPGATrackSim.region)
448  model_path = f"{flags.Trigger.FPGATrackSim.GNN.GNNModelPath}_{region}.onnx"
449 
450  GNNEdgeClassifierTool = CompFactory.FPGATrackSimGNNEdgeClassifierTool(
451  FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags, name))
452  GNNEdgeClassifierTool.GNNInferenceTool = result.popToolsAndMerge(
453  OnnxRuntimeInferenceToolCfg(flags, model_path, OnnxRuntimeType.CPU, name=f"OnnxInferenceTool_{region}")
454  )
455  GNNEdgeClassifierTool.regionNum = region
456 
457  return result, [GNNEdgeClassifierTool]
458 

◆ FPGATrackSimGNNGraphConstructionToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNGraphConstructionToolCfg (   flags,
  name = "FPGATrackSimGNNGraphConstructionTool" 
)

Definition at line 414 of file FPGATrackSimAnalysisConfig.py.

414 def FPGATrackSimGNNGraphConstructionToolCfg(flags,name="FPGATrackSimGNNGraphConstructionTool"):
415  result = ComponentAccumulator()
416 
417  GNNGraphConstructionTool = CompFactory.FPGATrackSimGNNGraphConstructionTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
418  GNNGraphConstructionTool.graphTool = flags.Trigger.FPGATrackSim.GNN.graphTool.value
419  GNNGraphConstructionTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
420 
421 
422  # Module Map Configuration
423  GNNGraphConstructionTool.moduleMapType=flags.Trigger.FPGATrackSim.GNN.moduleMapType.value
424  GNNGraphConstructionTool.moduleMapFunc=flags.Trigger.FPGATrackSim.GNN.moduleMapFunc.value
425  GNNGraphConstructionTool.moduleMapTol=flags.Trigger.FPGATrackSim.GNN.moduleMapTol
426 
427  # Metric Learning Configuration
428  GNNGraphConstructionTool.metricLearningR=flags.Trigger.FPGATrackSim.GNN.metricLearningR
429  GNNGraphConstructionTool.metricLearningMaxN=flags.Trigger.FPGATrackSim.GNN.metricLearningMaxN
430 
431  from AthOnnxComps.OnnxRuntimeInferenceConfig import OnnxRuntimeInferenceToolCfg
432  from AthOnnxComps.OnnxRuntimeFlags import OnnxRuntimeType
433 
434  GNNGraphConstructionTool.MLInferenceTool = result.popToolsAndMerge(OnnxRuntimeInferenceToolCfg(
435  flags, flags.Trigger.FPGATrackSim.GNN.MLModelPath, OnnxRuntimeType.CPU))
436 
437  result.setPrivateTools(GNNGraphConstructionTool)
438 
439  return result
440 

◆ FPGATrackSimGNNRoadMakerToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNRoadMakerToolCfg (   flags,
  name = "FPGATrackSimGNNRoadMakerTool" 
)

Definition at line 459 of file FPGATrackSimAnalysisConfig.py.

459 def FPGATrackSimGNNRoadMakerToolCfg(flags,name="FPGATrackSimGNNRoadMakerTool"):
460  result = ComponentAccumulator()
461 
462  GNNRoadMakerTool = CompFactory.FPGATrackSimGNNRoadMakerTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
463  GNNRoadMakerTool.roadMakerTool = flags.Trigger.FPGATrackSim.GNN.roadMakerTool.value
464  GNNRoadMakerTool.edgeScoreCut = flags.Trigger.FPGATrackSim.GNN.edgeScoreCut
465  GNNRoadMakerTool.doGNNPixelSeeding = flags.Trigger.FPGATrackSim.GNN.doGNNPixelSeeding
466  GNNRoadMakerTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
467 
468  from TrigFastTrackFinder.TrigFastTrackFinderConfig import ITkTrigL2LayerNumberToolCfg
469  GNNRoadMakerTool.LayerNumberTool = result.getPrimaryAndMerge(ITkTrigL2LayerNumberToolCfg(flags))
470 
471  result.setPrivateTools(GNNRoadMakerTool)
472 
473  return result
474 

◆ FPGATrackSimGNNRootOutputToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNRootOutputToolCfg (   flags,
  name = "FPGATrackSimGNNRootOutputTool" 
)

Definition at line 475 of file FPGATrackSimAnalysisConfig.py.

475 def FPGATrackSimGNNRootOutputToolCfg(flags,name="FPGATrackSimGNNRootOutputTool"):
476  result = ComponentAccumulator()
477 
478  GNNRootOutputTool = CompFactory.FPGATrackSimGNNRootOutputTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
479  GNNRootOutputTool.OutputRegion = str(flags.Trigger.FPGATrackSim.region)
480 
481  if(flags.Trigger.FPGATrackSim.GNN.doGNNRootOutput):
482  result.addService(CompFactory.THistSvc(Output = ["TRIGFPGATrackSimGNNOUTPUT DATAFILE='GNNRootOutput.root', OPT='RECREATE'"]))
483  result.setPrivateTools(GNNRootOutputTool)
484 
485  return result
486 

◆ FPGATrackSimHoughRootOutputToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimHoughRootOutputToolCfg (   flags,
  name = "FPGATrackSimHoughRootOutputTool" 
)

Definition at line 497 of file FPGATrackSimAnalysisConfig.py.

497 def FPGATrackSimHoughRootOutputToolCfg(flags,name="FPGATrackSimHoughRootOutputTool"):
498  result=ComponentAccumulator()
499  HoughRootOutputTool = CompFactory.FPGATrackSimHoughRootOutputTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
500  HoughRootOutputTool.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
501  HoughRootOutputTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
502  HoughRootOutputTool.THistSvc = CompFactory.THistSvc()
503  HoughRootOutputTool.OutputRegion = str(flags.Trigger.FPGATrackSim.region)
504  result.setPrivateTools(HoughRootOutputTool)
505  return result
506 

◆ FPGATrackSimLogicalHitsProcessAlgCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimLogicalHitsProcessAlgCfg (   inputFlags,
  name = "FPGATrackSimLogicalHitsProcessAlg",
**  kwargs 
)

Definition at line 613 of file FPGATrackSimAnalysisConfig.py.

613 def FPGATrackSimLogicalHitsProcessAlgCfg(inputFlags,name="FPGATrackSimLogicalHitsProcessAlg",**kwargs):
614 
616 
617  result=ComponentAccumulator()
618  kwargs.setdefault("name", FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
619 
620  theFPGATrackSimLogicalHitsProcessAlg=CompFactory.FPGATrackSimLogicalHitsProcessAlg(**kwargs)
621  theFPGATrackSimLogicalHitsProcessAlg.writeOutputData = flags.Trigger.FPGATrackSim.writeAdditionalOutputData
622  theFPGATrackSimLogicalHitsProcessAlg.tracking = flags.Trigger.FPGATrackSim.tracking
623  theFPGATrackSimLogicalHitsProcessAlg.SetTruthParametersForTracks = flags.Trigger.FPGATrackSim.SetTruthParametersForTracks
624  theFPGATrackSimLogicalHitsProcessAlg.doOverlapRemoval = flags.Trigger.FPGATrackSim.doOverlapRemoval
625  theFPGATrackSimLogicalHitsProcessAlg.DoMissingHitsChecks = flags.Trigger.FPGATrackSim.ActiveConfig.doMissingHitsChecks
626  theFPGATrackSimLogicalHitsProcessAlg.DoHoughRootOutput1st = flags.Trigger.FPGATrackSim.ActiveConfig.houghRootoutput1st
627  theFPGATrackSimLogicalHitsProcessAlg.NumOfHitPerGrouping = flags.Trigger.FPGATrackSim.ActiveConfig.NumOfHitPerGrouping
628  theFPGATrackSimLogicalHitsProcessAlg.DoNNTrack_1st = flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis
629  theFPGATrackSimLogicalHitsProcessAlg.DoGNNTrack = flags.Trigger.FPGATrackSim.GNN.doGNNTracking
630  theFPGATrackSimLogicalHitsProcessAlg.DoGNNPixelSeeding = flags.Trigger.FPGATrackSim.GNN.doGNNPixelSeeding
631  theFPGATrackSimLogicalHitsProcessAlg.eventSelector = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
632  if flags.Trigger.FPGATrackSim.ActiveConfig.useVaryingChi2Cut and not flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis2nd:
633  theFPGATrackSimLogicalHitsProcessAlg.TrackScoreCut = getChi2Cut(flags.Trigger.FPGATrackSim.region)
634  elif flags.Trigger.FPGATrackSim.ActiveConfig.useVaryingChi2Cut and flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis2nd:
635  theFPGATrackSimLogicalHitsProcessAlg.TrackScoreCut = getChi2CutNN(flags.Trigger.FPGATrackSim.region)
636  else:
637  theFPGATrackSimLogicalHitsProcessAlg.TrackScoreCut = flags.Trigger.FPGATrackSim.ActiveConfig.chi2cut
638  theFPGATrackSimLogicalHitsProcessAlg.passLowestChi2TrackOnly = flags.Trigger.FPGATrackSim.ActiveConfig.passLowestChi2TrackOnly
639  theFPGATrackSimLogicalHitsProcessAlg.secondStageStrips = (not flags.Trigger.FPGATrackSim.ActiveConfig.GNN)
640  FPGATrackSimMaping = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
641  theFPGATrackSimLogicalHitsProcessAlg.FPGATrackSimMapping = FPGATrackSimMaping
642  # Adding region so we can set it for tracks, then get the bfield
643  theFPGATrackSimLogicalHitsProcessAlg.Region = flags.Trigger.FPGATrackSim.region
644  # If tracking is set to False or if we do the NN analysis, don't configure the bank service
645  if flags.Trigger.FPGATrackSim.tracking and not flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis:
646  result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
647 
648  if (flags.Trigger.FPGATrackSim.ActiveConfig.hough1D):
649  theFPGATrackSimLogicalHitsProcessAlg.RoadFinder = result.getPrimaryAndMerge(FPGATrackSimRoadUnionTool1DCfg(flags))
650  elif (flags.Trigger.FPGATrackSim.ActiveConfig.genScan):
651  theFPGATrackSimLogicalHitsProcessAlg.RoadFinder = result.getPrimaryAndMerge(FPGATrackSimRoadUnionToolGenScanCfg(flags))
652  elif (flags.Trigger.FPGATrackSim.ActiveConfig.GNN):
653  theFPGATrackSimLogicalHitsProcessAlg.RoadFinder = result.getPrimaryAndMerge(FPGATrackSimRoadUnionToolGNNCfg(flags))
654  else:
655  theFPGATrackSimLogicalHitsProcessAlg.RoadFinder = result.getPrimaryAndMerge(FPGATrackSimRoadUnionToolCfg(flags))
656 
657  if (flags.Trigger.FPGATrackSim.ActiveConfig.etaPatternFilter):
658  EtaPatternFilter = CompFactory.FPGATrackSimEtaPatternFilterTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimEtaPatternFilterTool"))
659  EtaPatternFilter.FPGATrackSimMappingSvc = FPGATrackSimMaping
660  EtaPatternFilter.threshold = flags.Trigger.FPGATrackSim.Hough1D.threshold[0]
661  EtaPatternFilter.EtaPatterns = flags.Trigger.FPGATrackSim.mapsDir+"/"+FPGATrackSimDataPrepConfig.getBaseName(flags)+".patt"
662  theFPGATrackSimLogicalHitsProcessAlg.RoadFilter = EtaPatternFilter
663  theFPGATrackSimLogicalHitsProcessAlg.FilterRoads = True
664 
665  if (flags.Trigger.FPGATrackSim.ActiveConfig.phiRoadFilter):
666  RoadFilter2 = CompFactory.FPGATrackSimPhiRoadFilterTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimPhiRoadFilterTool"))
667  RoadFilter2.FPGATrackSimMappingSvc = FPGATrackSimMaping
668  RoadFilter2.threshold = flags.Trigger.FPGATrackSim.Hough1D.threshold[0]
669  RoadFilter2.fieldCorrection = flags.Trigger.FPGATrackSim.ActiveConfig.fieldCorrection
670 
671  windows = [flags.Trigger.FPGATrackSim.Hough1D.phifilterwindow for i in range(len(flags.Trigger.FPGATrackSim.ActiveConfig.hitExtendX))]
672  RoadFilter2.window = windows
673 
674  theFPGATrackSimLogicalHitsProcessAlg.RoadFilter2 = RoadFilter2
675  theFPGATrackSimLogicalHitsProcessAlg.FilterRoads2 = True
676 
677  theFPGATrackSimLogicalHitsProcessAlg.SlicingEngineTool = result.getPrimaryAndMerge(FPGATrackSimSlicingEngineCfg(flags))
678 
679  theFPGATrackSimLogicalHitsProcessAlg.HoughRootOutputTool = result.getPrimaryAndMerge(FPGATrackSimHoughRootOutputToolCfg(flags))
680 
681  LRTRoadFilter = CompFactory.FPGATrackSimLLPRoadFilterTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimLLPRoadFilterTool"))
682  result.addPublicTool(LRTRoadFilter)
683  theFPGATrackSimLogicalHitsProcessAlg.LRTRoadFilter = LRTRoadFilter
684 
685  theFPGATrackSimLogicalHitsProcessAlg.LRTRoadFinder = result.getPrimaryAndMerge(LRTRoadFinderCfg(flags))
686  theFPGATrackSimLogicalHitsProcessAlg.NNTrackTool = result.getPrimaryAndMerge(NNTrackToolCfg(flags))
687 
688  theFPGATrackSimLogicalHitsProcessAlg.writeInputBranches=flags.Trigger.FPGATrackSim.writeAdditionalOutputData and (flags.Trigger.FPGATrackSim.regionToWriteDPTree < 0)
689  theFPGATrackSimLogicalHitsProcessAlg.OutputTool = result.popToolsAndMerge(FPGATrackSimWriteOutputCfg(flags))
690  theFPGATrackSimLogicalHitsProcessAlg.TrackFitter_1st = result.getPrimaryAndMerge(FPGATrackSimTrackFitterToolCfg(flags))
691  theFPGATrackSimLogicalHitsProcessAlg.OverlapRemoval_1st = result.getPrimaryAndMerge(FPGATrackSimOverlapRemovalToolCfg(flags))
692 
693  theFPGATrackSimLogicalHitsProcessAlg.SpacePointTool = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimSpacePointsToolCfg(flags))
694  theFPGATrackSimLogicalHitsProcessAlg.Spacepoints = flags.Trigger.FPGATrackSim.spacePoints
695 
696  if flags.Trigger.FPGATrackSim.ActiveConfig.lrt:
697  assert flags.Trigger.FPGATrackSim.ActiveConfig.lrtUseBasicHitFilter != flags.Trigger.FPGATrackSim.ActiveConfig.lrtUseMlHitFilter, 'Inconsistent LRT hit filtering setup, need either ML of Basic filtering enabled'
698  assert flags.Trigger.FPGATrackSim.ActiveConfig.lrtUseStraightTrackHT != flags.Trigger.FPGATrackSim.ActiveConfig.lrtUseDoubletHT, 'Inconsistent LRT HT setup, need either double or strightTrack enabled'
699  theFPGATrackSimLogicalHitsProcessAlg.doLRT = True
700  theFPGATrackSimLogicalHitsProcessAlg.LRTHitFiltering = (not flags.Trigger.FPGATrackSim.ActiveConfig.lrtSkipHitFiltering)
701 
702 
703 
704  from FPGATrackSimAlgorithms.FPGATrackSimAlgorithmConfig import FPGATrackSimTrackMonCfg
705 
706 
707  theFPGATrackSimLogicalHitsProcessAlg.FirstStageRoadMonitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage', flags, variety='road'))
708 
709  theFPGATrackSimLogicalHitsProcessAlg.FirstStageRoadPostFilter1Monitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_filter_1', flags, variety='road'))
710 
711  theFPGATrackSimLogicalHitsProcessAlg.FirstStageRoadPostOverlapRemovalMonitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_overlap_removal', flags, variety='road'))
712 
713  theFPGATrackSimLogicalHitsProcessAlg.FirstStageRoadPostFilter2Monitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_filter_2', flags, variety='road'))
714 
715 
716  theFPGATrackSimLogicalHitsProcessAlg.FirstStageTrackMonitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage', flags, variety='track'))
717 
718  theFPGATrackSimLogicalHitsProcessAlg.FirstStageTrackPostSetTruthMonitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_set_truth', flags, variety='track'))
719 
720  theFPGATrackSimLogicalHitsProcessAlg.FirstStageTrackPostChi2Monitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_chi2', flags, variety='track'))
721 
722  theFPGATrackSimLogicalHitsProcessAlg.FirstStageTrackPostOverlapRemovalTrackMonitor = result.getPrimaryAndMerge(FPGATrackSimTrackMonCfg ('first_stage_post_overlap_removal', flags, variety='track'))
723 
724  result.addEventAlgo(theFPGATrackSimLogicalHitsProcessAlg)
725 
726  return result
727 
728 
729 
730 

◆ FPGATrackSimOverlapRemovalToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimOverlapRemovalToolCfg (   flags,
  name = "FPGATrackSimOverlapRemovalTool" 
)

Definition at line 558 of file FPGATrackSimAnalysisConfig.py.

558 def FPGATrackSimOverlapRemovalToolCfg(flags,name="FPGATrackSimOverlapRemovalTool"):
559  result=ComponentAccumulator()
560  OR_1st = CompFactory.FPGATrackSimOverlapRemovalTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
561  OR_1st.ORAlgo = "Normal"
562  OR_1st.doFastOR = flags.Trigger.FPGATrackSim.ActiveConfig.doFastOR
563  OR_1st.NumOfHitPerGrouping = 3
564  if flags.Trigger.FPGATrackSim.ActiveConfig.useVaryingChi2Cut and not flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis2nd:
565  OR_1st.MinChi2 = getChi2Cut(flags.Trigger.FPGATrackSim.region)
566  elif flags.Trigger.FPGATrackSim.ActiveConfig.useVaryingChi2Cut and flags.Trigger.FPGATrackSim.ActiveConfig.trackNNAnalysis2nd:
567  OR_1st.MinChi2 = getChi2CutNN(flags.Trigger.FPGATrackSim.region)
568  else:
569  OR_1st.MinChi2 = flags.Trigger.FPGATrackSim.ActiveConfig.chi2cut
570  if flags.Trigger.FPGATrackSim.ActiveConfig.hough or flags.Trigger.FPGATrackSim.ActiveConfig.hough1D:
571  OR_1st.nBins_x = flags.Trigger.FPGATrackSim.ActiveConfig.xBins + 2 * flags.Trigger.FPGATrackSim.ActiveConfig.xBufferBins
572  OR_1st.nBins_y = flags.Trigger.FPGATrackSim.ActiveConfig.yBins + 2 * flags.Trigger.FPGATrackSim.ActiveConfig.yBufferBins
573  OR_1st.localMaxWindowSize = flags.Trigger.FPGATrackSim.ActiveConfig.localMaxWindowSize
574  OR_1st.roadSliceOR = flags.Trigger.FPGATrackSim.ActiveConfig.roadSliceOR
575 
576  from FPGATrackSimAlgorithms.FPGATrackSimAlgorithmConfig import FPGATrackSimOverlapRemovalToolMonitoringCfg
577  OR_1st.MonTool = result.getPrimaryAndMerge(FPGATrackSimOverlapRemovalToolMonitoringCfg(flags))
578 
579  result.addPublicTool(OR_1st, primary=True)
580  return result
581 

◆ FPGATrackSimRoadUnionTool1DCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionTool1DCfg (   flags,
  name = "FPGATrackSimRoadUnionTool1D" 
)

Definition at line 192 of file FPGATrackSimAnalysisConfig.py.

192 def FPGATrackSimRoadUnionTool1DCfg(flags,name="FPGATrackSimRoadUnionTool1D"):
193  result=ComponentAccumulator()
194  tools = []
195  RF = CompFactory.FPGATrackSimRoadUnionTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
196  splitpt=flags.Trigger.FPGATrackSim.Hough1D.splitpt
197  FPGATrackSimMapping = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
198  for ptstep in range(splitpt):
199  qpt_min = flags.Trigger.FPGATrackSim.Hough1D.qptMin
200  qpt_max = flags.Trigger.FPGATrackSim.Hough1D.qptMax
201  lowpt = qpt_min + (qpt_max-qpt_min)/splitpt*ptstep
202  highpt = qpt_min + (qpt_max-qpt_min)/splitpt*(ptstep+1)
203  nSlice = getNSubregions(FPGATrackSimMapping.subrmap)
204  for iSlice in range(nSlice):
205  tool = CompFactory.FPGATrackSimHough1DShiftTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,
206  "Hough1DShift" + str(iSlice)+(("_pt{}".format(ptstep)) if splitpt>1 else "")))
207  tool.subRegion = iSlice if nSlice > 1 else -1
208  xMin = flags.Trigger.FPGATrackSim.Hough1D.phiMin
209  xMax = flags.Trigger.FPGATrackSim.Hough1D.phiMax
210  if (not flags.Trigger.FPGATrackSim.oldRegionDefs):
211  phiRange = FPGATrackSimDataPrepConfig.getPhiRange(flags)
212  xMin = phiRange[0]
213  xMax = phiRange[1]
214  tool.phiMin = xMin
215  tool.phiMax = xMax
216  tool.qptMin = lowpt
217  tool.qptMax = highpt
218  tool.nBins = flags.Trigger.FPGATrackSim.Hough1D.xBins
219  tool.useDiff = True
220  tool.variableExtend = True
221  tool.drawHitMasks = False
222  tool.phiRangeCut = flags.Trigger.FPGATrackSim.Hough1D.phiRangeCut
223  tool.d0spread=-1.0 # mm
224  tool.iterStep = 0 # auto, TODO put in tag
225  tool.iterLayer = 7 # TODO put in tag
226  tool.threshold = flags.Trigger.FPGATrackSim.Hough1D.threshold[0]
227  tool.hitExtend = flags.Trigger.FPGATrackSim.Hough1D.hitExtendX
228  tool.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
229  tool.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
230  tool.FPGATrackSimMappingSvc = FPGATrackSimMapping
231  tool.IdealGeoRoads = (flags.Trigger.FPGATrackSim.ActiveConfig.IdealGeoRoads and flags.Trigger.FPGATrackSim.tracking)
232  tool.useSpacePoints = flags.Trigger.FPGATrackSim.spacePoints
233 
234  tools.append(tool)
235 
236  RF.tools = tools
237  result.addPublicTool(RF, primary=True)
238  return result
239 
240 
241 

◆ FPGATrackSimRoadUnionToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolCfg (   flags,
  name = "FPGATrackSimRoadUnionTool" 
)

Definition at line 115 of file FPGATrackSimAnalysisConfig.py.

115 def FPGATrackSimRoadUnionToolCfg(flags,name="FPGATrackSimRoadUnionTool"):
116  result=ComponentAccumulator()
117  RF = CompFactory.FPGATrackSimRoadUnionTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
118 
119  xBins = flags.Trigger.FPGATrackSim.ActiveConfig.xBins
120  xBufferBins = flags.Trigger.FPGATrackSim.ActiveConfig.xBufferBins
121  yBins = flags.Trigger.FPGATrackSim.ActiveConfig.yBins
122  yBufferBins = flags.Trigger.FPGATrackSim.ActiveConfig.yBufferBins
123  yMin = flags.Trigger.FPGATrackSim.ActiveConfig.qptMin
124  yMax = flags.Trigger.FPGATrackSim.ActiveConfig.qptMax
125  xMin = flags.Trigger.FPGATrackSim.ActiveConfig.phiMin
126  xMax = flags.Trigger.FPGATrackSim.ActiveConfig.phiMax
127  if (not flags.Trigger.FPGATrackSim.oldRegionDefs):
128  phiRange = FPGATrackSimDataPrepConfig.getPhiRange(flags)
129  xMin = phiRange[0]
130  xMax = phiRange[1]
131 
132  xBuffer = (xMax - xMin) / xBins * xBufferBins
133  xMin = xMin - xBuffer
134  xMax = xMax + xBuffer
135  yBuffer = (yMax - yMin) / yBins * yBufferBins
136  yMin -= yBuffer
137  yMax += yBuffer
138  tools = []
139  houghType = flags.Trigger.FPGATrackSim.ActiveConfig.houghType
140  roadMerge = flags.Trigger.FPGATrackSim.ActiveConfig.roadMerge
141 
142 
143  FPGATrackSimMapping = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
144  for number in range(getNSubregions(FPGATrackSimMapping.subrmap)):
145  HoughTransform = CompFactory.FPGATrackSimHoughTransformTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimHoughTransformTool")+"_" + str(number))
146  HoughTransform.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
147  HoughTransform.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
148  HoughTransform.FPGATrackSimMappingSvc = FPGATrackSimMapping
149  HoughTransform.combine_layers = flags.Trigger.FPGATrackSim.ActiveConfig.combineLayers
150  HoughTransform.convSize_x = flags.Trigger.FPGATrackSim.ActiveConfig.convSizeX
151  HoughTransform.convSize_y = flags.Trigger.FPGATrackSim.ActiveConfig.convSizeY
152  HoughTransform.convolution = flags.Trigger.FPGATrackSim.ActiveConfig.convolution
153  HoughTransform.d0_max = 0
154  HoughTransform.d0_min = 0
155  HoughTransform.fieldCorrection = flags.Trigger.FPGATrackSim.ActiveConfig.fieldCorrection
156  HoughTransform.hitExtend_x = flags.Trigger.FPGATrackSim.ActiveConfig.hitExtendX
157  HoughTransform.localMaxWindowSize = flags.Trigger.FPGATrackSim.ActiveConfig.localMaxWindowSize
158  HoughTransform.nBins_x = xBins + 2 * xBufferBins
159  HoughTransform.nBins_y = yBins + 2 * yBufferBins
160  HoughTransform.phi_max = xMax
161  HoughTransform.phi_min = xMin
162  HoughTransform.qpT_max = yMax
163  HoughTransform.qpT_min = yMin
164  HoughTransform.scale = flags.Trigger.FPGATrackSim.ActiveConfig.scale
165  HoughTransform.subRegion = number
166  HoughTransform.threshold = flags.Trigger.FPGATrackSim.ActiveConfig.threshold
167  HoughTransform.traceHits = True
168  HoughTransform.IdealGeoRoads = (flags.Trigger.FPGATrackSim.ActiveConfig.IdealGeoRoads and flags.Trigger.FPGATrackSim.tracking)
169  HoughTransform.useSpacePoints = flags.Trigger.FPGATrackSim.spacePoints
170  HoughTransform.houghType = houghType
171  HoughTransform.roadMerge = roadMerge
172  if houghType=='LowResource':
173  HoughTransform.requirements = flags.Trigger.FPGATrackSim.ActiveConfig.requirements
174  if houghType=='Flexible':
175  HoughTransform.r_max=flags.Trigger.FPGATrackSim.ActiveConfig.r_max
176  HoughTransform.phi_coord_max=flags.Trigger.FPGATrackSim.ActiveConfig.phi_coord_max
177  HoughTransform.phi_range=flags.Trigger.FPGATrackSim.ActiveConfig.phi_range
178  HoughTransform.r_max_mm=flags.Trigger.FPGATrackSim.ActiveConfig.r_max_mm
179  HoughTransform.bitwise_qApt_conv=flags.Trigger.FPGATrackSim.ActiveConfig.bitwise_qApt_conv
180  HoughTransform.bitwise_phi0_conv=flags.Trigger.FPGATrackSim.ActiveConfig.bitwise_phi0_conv
181  HoughTransform.phi0_sectors=flags.Trigger.FPGATrackSim.ActiveConfig.phi0_sectors
182  HoughTransform.qApt_sectors=flags.Trigger.FPGATrackSim.ActiveConfig.qApt_sectors
183  HoughTransform.pipes_qApt=flags.Trigger.FPGATrackSim.ActiveConfig.pipes_qApt
184  HoughTransform.pipes_phi0=flags.Trigger.FPGATrackSim.ActiveConfig.pipes_phi0
185 
186  tools.append(HoughTransform)
187 
188  RF.tools = tools
189  result.addPublicTool(RF, primary=True)
190  return result
191 

◆ FPGATrackSimRoadUnionToolGenScanCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolGenScanCfg (   flags,
  name = "FPGATrackSimRoadUnionToolGenScan" 
)

Definition at line 242 of file FPGATrackSimAnalysisConfig.py.

242 def FPGATrackSimRoadUnionToolGenScanCfg(flags,name="FPGATrackSimRoadUnionToolGenScan"):
243  result=ComponentAccumulator()
244 
245  print("logLevel",flags.Trigger.FPGATrackSim.loglevel)
246 
247  # read the cuts from a seperate python file specified by FPGATrackSim.GenScan.genScanCuts
248  cutset=None
249  if flags.Trigger.FPGATrackSim.oldRegionDefs:
250  toload=flags.Trigger.FPGATrackSim.GenScan.genScanCuts
251  if toload == 'FPGATrackSimGenScanCuts': # its on the newRegion default so it hasn't been set
252  toload = 'FPGATrackSimHough.FPGATrackSimGenScanCuts_incr'
253  cutset = importlib.import_module(toload).cuts[flags.Trigger.FPGATrackSim.region]
254  else:
255  # this allows the cut file defined in python to be loaded from the map directory
256  cutpath = os.path.join(
257  PathResolver.FindCalibDirectory(flags.Trigger.FPGATrackSim.mapsDir),
258  f"{flags.Trigger.FPGATrackSim.GenScan.genScanCuts}.py")
259  print("Cut File = ", cutpath)
260  spec=importlib.util.spec_from_file_location(flags.Trigger.FPGATrackSim.GenScan.genScanCuts,cutpath)
261  if spec is None:
262  print("Failed to find Cut File")
263  cutmodule = importlib.util.module_from_spec(spec)
264  spec.loader.exec_module(cutmodule)
265  cutset=cutmodule.cuts[flags.Trigger.FPGATrackSim.region]
266 
267  # make the binned hits class
268  BinnnedHits = CompFactory.FPGATrackSimBinnedHits("BinnedHits_1stStage")
269  BinnnedHits.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
270  BinnnedHits.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
271 
272  # set layer map
273  if not flags.Trigger.FPGATrackSim.GenScan.layerStudy:
274  if flags.Trigger.FPGATrackSim.oldRegionDefs:
275  BinnnedHits.layerMapFile = flags.Trigger.FPGATrackSim.GenScan.layerMapFile
276  else:
277  print("Loading Layer Radii from ", PathResolver.FindCalibDirectory(flags.Trigger.FPGATrackSim.mapsDir),
278  f"regioneta{FPGATrackSimDataPrepConfig.getEtaSideBits(flags)}_lyrradii.json")
279  # now assumed to be in the map directory with name = basename for region + _lyrmap.json
280  if flags.Trigger.FPGATrackSim.GenScan.useLayerRadiiFile:
281  BinnnedHits.layerRadiiFile =os.path.join(
282  PathResolver.FindCalibDirectory(flags.Trigger.FPGATrackSim.mapsDir),
283  f"regioneta{FPGATrackSimDataPrepConfig.getEtaSideBits(flags)}_lyrradii.json")
284  else:
285  BinnnedHits.layerMapFile =os.path.join(
286  PathResolver.FindCalibDirectory(flags.Trigger.FPGATrackSim.mapsDir),
287  f"{FPGATrackSimDataPrepConfig.getBaseName(flags)}_lyrmap.json")
288 
289 
290 
291 
292  # make the bintool class
293  BinTool = CompFactory.FPGATrackSimBinTool("BinTool_1stStage")
294  BinTool.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
295 
296  # Inputs for the BinTool
297  binsteps=[]
298  BinDesc=None
299  if (cutset["parSet"]=="PhiSlicedKeyLyrPars") :
300  BinDesc = CompFactory.FPGATrackSimKeyLayerBinDesc("KeyLayerBinDesc")
301  BinDesc.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
302  BinDesc.rin=cutset["rin"]
303  BinDesc.rout=cutset["rout"]
304  if flags.Trigger.FPGATrackSim.GenScan.useLayerRadiiFile:
305  phirange = FPGATrackSimDataPrepConfig.getPhiRange(flags)
306  phicenter = (phirange[0]+phirange[1])/2.0
307  BinDesc.PhiOffset = -1.0*phicenter
308 
309  BinDesc.region = flags.Trigger.FPGATrackSim.region
310 
311  # parameters for key layer bindesc are :"zR1", "zR2", "phiR1", "phiR2", "xm"
312  step1 = CompFactory.FPGATrackSimBinStep("PhiBinning")
313  step1.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
314  step1.parBins = [1,1,cutset["parBins"][2],cutset["parBins"][3],cutset["parBins"][4]]
315  step2 = CompFactory.FPGATrackSimBinStep("FullBinning")
316  step2.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
317  step2.parBins = cutset["parBins"]
318  binsteps = [step1,step2]
319  else:
320  log.error("Unknown Binning Setup: ",cutset["parSet"])
321 
322  BinTool.BinDesc = BinDesc
323  BinTool.Steps=binsteps
324 
325 
326  # configure the padding around the nominal region
327  BinTool.d0FractionalPadding =0.05
328  BinTool.z0FractionalPadding =0.05
329  BinTool.etaFractionalPadding =0.05
330  BinTool.phiFractionalPadding =0.05
331  BinTool.qOverPtFractionalPadding =0.05
332  BinTool.parMin = cutset["parMin"]
333  BinTool.parMax = cutset["parMax"]
334  BinnnedHits.BinTool = BinTool
335 
336 
337  # make the monitoring class
338  Monitor = CompFactory.FPGATrackSimGenScanMonitoring(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"GenScanMonitoring"))
339  Monitor.dir = "/GENSCAN/"+FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"GenScanMonitoring")+"/"
340  Monitor.THistSvc = CompFactory.THistSvc()
341  Monitor.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
342  Monitor.phiScale = 10.0
343  Monitor.etaScale = 100.0
344  Monitor.drScale = 20.0
345 
346  # make the main tool
347  tool = CompFactory.FPGATrackSimGenScanTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"GenScanTool"))
348  tool.FPGATrackSimEventSelectionSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimEventSelectionSvcCfg(flags))
349  tool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
350  tool.OutputLevel=flags.Trigger.FPGATrackSim.loglevel
351  tool.Monitoring = Monitor
352  tool.BinnedHits = BinnnedHits
353  tool.rin=cutset["rin"]
354  tool.rout=cutset["rout"]
355 
356  # For the 'track fitter' part of GenScanTool.
357  tool.inBinFiltering = flags.Trigger.FPGATrackSim.GenScan.filterInBin
358  weights = getFitWeights(getEtaBin(flags))
359  tool.etaChi2Weight_4hits = weights[0]
360  tool.phiChi2Weight_4hits = weights[1]
361  tool.etaChi2Weight_5hits = weights[2]
362  tool.phiChi2Weight_5hits = weights[3]
363 
364  # configure which filers and thresholds to apply
365  tool.binFilter=flags.Trigger.FPGATrackSim.GenScan.binFilter
366  tool.reversePairDir=flags.Trigger.FPGATrackSim.GenScan.reverse
367  tool.applyPairFilter= not flags.Trigger.FPGATrackSim.GenScan.noCuts
368  tool.applyPairSetFilter= not flags.Trigger.FPGATrackSim.GenScan.noCuts
369  tool.keepHitsStrategy = flags.Trigger.FPGATrackSim.GenScan.keepHitsStrategy
370  tool.threshold = 4
371 
372  # set cuts
373  for (cut,val) in cutset.items():
374  if cut in ["parBins","parSet","parMin","parMax"]:
375  continue
376  setattr(tool,cut,val)
377 
378  # even though we are not actually doing a Union, we need the
379  # RoadUnionTool because mapping is now there
380  RoadUnion = CompFactory.FPGATrackSimRoadUnionTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
381  RoadUnion.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
382  RoadUnion.tools = [tool,]
383  result.addPublicTool(RoadUnion, primary=True)
384 
385  # special configuration for studing layer definitions
386  # pass through all hits, but turn off pairing because
387  # it won't be able to run
388  if flags.Trigger.FPGATrackSim.GenScan.layerStudy:
389  RoadUnion.noHitFilter=True
390  tool.binningOnly=True
391  return result
392 

◆ FPGATrackSimRoadUnionToolGNNCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolGNNCfg (   flags,
  name = "FPGATrackSimRoadUnionToolGNN" 
)

Definition at line 393 of file FPGATrackSimAnalysisConfig.py.

393 def FPGATrackSimRoadUnionToolGNNCfg(flags,name="FPGATrackSimRoadUnionToolGNN"):
394  result = ComponentAccumulator()
395  RF = CompFactory.FPGATrackSimRoadUnionTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
396  RF.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
397 
398  patternRecoTool = CompFactory.FPGATrackSimGNNPatternRecoTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimGNNPatternRecoTool"))
399  patternRecoTool.GNNGraphHitSelector = CompFactory.FPGATrackSimGNNGraphHitSelectorTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimGNNGraphHitSelectorTool"))
400  patternRecoTool.GNNGraphConstruction = result.popToolsAndMerge(FPGATrackSimGNNGraphConstructionToolCfg(flags))
401  edgeResult, edgeClassifierTools = FPGATrackSimGNNEdgeClassifierToolCfg(flags)
402  result.merge(edgeResult)
403  patternRecoTool.GNNEdgeClassifiers = edgeClassifierTools
404  patternRecoTool.GNNRoadMaker = result.popToolsAndMerge(FPGATrackSimGNNRoadMakerToolCfg(flags))
405  patternRecoTool.GNNRootOutput = result.popToolsAndMerge(FPGATrackSimGNNRootOutputToolCfg(flags))
406  patternRecoTool.doGNNRootOutput = flags.Trigger.FPGATrackSim.GNN.doGNNRootOutput
407  patternRecoTool.regionNum = int(flags.Trigger.FPGATrackSim.region)
408 
409  RF.tools = [patternRecoTool]
410  result.addPublicTool(RF, primary=True)
411 
412  return result
413 

◆ FPGATrackSimSeedingCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimSeedingCfg (   flags)

Definition at line 810 of file FPGATrackSimAnalysisConfig.py.

810 def FPGATrackSimSeedingCfg(flags):
812  if not flags.Trigger.FPGATrackSim.runOnPreProducedHeaderFiles:
813  acc.merge(FPGATrackSimDataPrepConfig.FPGATrackSimClusteringCfg(flags))
814 
815  from FPGATrackSimConfTools.FPGATrackSimMultiRegionConfig import FPGATrackSimMultiRegionTrackingCfg
816  acc.merge(FPGATrackSimMultiRegionTrackingCfg(flags))
817  else:
818  from FPGATrackSimConfTools.FPGATrackSimMergeOutputsConfig import FPGATrackSimMergeOutputsAlgCfg
819  acc.merge(FPGATrackSimMergeOutputsAlgCfg(flags))
820 
821  from FPGATrackSimSeeding.FPGATrackSimSeedingConfig import FPGATrackSimSeedingCfg
822  acc.merge(FPGATrackSimSeedingCfg(flags))
823 
824 
825  if flags.Tracking.ActiveConfig.storeTrackSeeds:
826  from ActsConfig.ActsSeedingConfig import ActsStoreTrackSeedsCfg
827  from InDetConfig.ITkActsHelpers import isFastPrimaryPass
828 
829  acc.merge(ActsStoreTrackSeedsCfg(flags,
830  processPixels = True,
831  processStrips = not isFastPrimaryPass(flags)))
832 
833 
834  acc.merge(WriteAdditionalFPGATrackSimOutputCfg(flags))
835 
836  # for testing hardware run in F150
837  if(flags.Trigger.FPGATrackSim.runF150hw):
838  from EFTrackingFPGAPipeline.F150KernelTesterConfig import KernelTesterCfg, F150EDMConversionAlgCfg
839  acc.merge(KernelTesterCfg(flags))
840  acc.merge(F150EDMConversionAlgCfg(flags))
841 
842 
843  return acc
844 

◆ FPGATrackSimSlicingEngineCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimSlicingEngineCfg (   flags,
  name = "FPGATrackSimSlicingEngineTool" 
)

Definition at line 54 of file FPGATrackSimAnalysisConfig.py.

54 def FPGATrackSimSlicingEngineCfg(flags,name="FPGATrackSimSlicingEngineTool"):
55  result = ComponentAccumulator()
56  FPGATrackSimSlicingEngineTool = CompFactory.FPGATrackSimSlicingEngineTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
57  # this is the same as the layer map used by the genscan/inside out tool below.
58  FPGATrackSimSlicingEngineTool.LayerMap = os.path.join(PathResolver.FindCalibDirectory(flags.Trigger.FPGATrackSim.mapsDir),f"{FPGATrackSimDataPrepConfig.getBaseName(flags)}_lyrmap.json")
59  FPGATrackSimSlicingEngineTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
60  # If the GNN is enabled (i.e. this is F-4xx) then we don't want to separate first vs second stage.
61  FPGATrackSimSlicingEngineTool.doSecondStage = (not flags.Trigger.FPGATrackSim.ActiveConfig.GNN)
62  FPGATrackSimSlicingEngineTool.RootOutput = flags.Trigger.FPGATrackSim.writeAdditionalOutputData
63  result.setPrivateTools(FPGATrackSimSlicingEngineTool)
64  return result
65 

◆ FPGATrackSimTrackFitterToolCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimTrackFitterToolCfg (   flags,
  name = "FPGATrackSimTrackFitterTool" 
)

Definition at line 538 of file FPGATrackSimAnalysisConfig.py.

538 def FPGATrackSimTrackFitterToolCfg(flags,name="FPGATrackSimTrackFitterTool"):
539  result=ComponentAccumulator()
540  TF_1st = CompFactory.FPGATrackSimTrackFitterTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
541  TF_1st.GuessHits = flags.Trigger.FPGATrackSim.ActiveConfig.guessHits
542  TF_1st.IdealCoordFitType = flags.Trigger.FPGATrackSim.ActiveConfig.idealCoordFitType
543  TF_1st.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
544  TF_1st.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
545  TF_1st.chi2DofRecoveryMax = flags.Trigger.FPGATrackSim.ActiveConfig.chi2DoFRecoveryMax
546  TF_1st.chi2DofRecoveryMin = flags.Trigger.FPGATrackSim.ActiveConfig.chi2DoFRecoveryMin
547  TF_1st.doMajority = flags.Trigger.FPGATrackSim.ActiveConfig.doMajority
548  TF_1st.nHits_noRecovery = flags.Trigger.FPGATrackSim.ActiveConfig.nHitsNoRecovery
549  TF_1st.DoDeltaGPhis = flags.Trigger.FPGATrackSim.ActiveConfig.doDeltaGPhis
550  TF_1st.DoMissingHitsChecks = flags.Trigger.FPGATrackSim.ActiveConfig.doMissingHitsChecks
551  TF_1st.IdealGeoRoads = (flags.Trigger.FPGATrackSim.ActiveConfig.IdealGeoRoads and flags.Trigger.FPGATrackSim.tracking)
552  TF_1st.useSpacePoints = flags.Trigger.FPGATrackSim.spacePoints and not flags.Trigger.FPGATrackSim.ActiveConfig.genScan
553  TF_1st.SPRoadFilterTool = result.popToolsAndMerge(SPRoadFilterToolCfg(flags))
554  TF_1st.fitFromRoad = flags.Trigger.FPGATrackSim.ActiveConfig.fitFromRoad
555  result.addPublicTool(TF_1st, primary=True)
556  return result
557 

◆ FPGATrackSimWriteOutputCfg()

def python.FPGATrackSimAnalysisConfig.FPGATrackSimWriteOutputCfg (   flags)

Definition at line 37 of file FPGATrackSimAnalysisConfig.py.

38  result=ComponentAccumulator()
39  FPGATrackSimWriteOutput = CompFactory.FPGATrackSimOutputHeaderTool("FPGATrackSimWriteOutput")
40  FPGATrackSimWriteOutput.InFileName = ["test.root"]
41  FPGATrackSimWriteOutput.OutputTreeName = FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,"FPGATrackSimLogicalEventTree")
42 
43  if not flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
44  FPGATrackSimWriteOutput.EventLimit = 0
45  else:
46  FPGATrackSimWriteOutput.EventLimit = flags.Trigger.FPGATrackSim.writeOutputEventLimit
47  # RECREATE means that that this tool opens the file.
48  # HEADER would mean that something else (e.g. THistSvc) opens it and we just add the object.
49  FPGATrackSimWriteOutput.RWstatus = "HEADER"
50  FPGATrackSimWriteOutput.THistSvc = CompFactory.THistSvc()
51  result.setPrivateTools(FPGATrackSimWriteOutput)
52  return result
53 

◆ getChi2Cut()

def python.FPGATrackSimAnalysisConfig.getChi2Cut (   region)

Definition at line 731 of file FPGATrackSimAnalysisConfig.py.

731 def getChi2Cut(region):
732  chi2cut_l = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 20] #from most recent run on this branch with new maps/banks, all chi2's are under 1
733  binSize = 0.2
734  side = (region >> 5) & 0x1
735  etaBin = (region >> 6) & 0x1F
736  etaRange = [round(binSize * etaBin, 1), round(binSize * (etaBin + 1), 1)] if side else [round(-binSize * (etaBin + 1), 1), round(-binSize * etaBin, 1)]
737 
738  abs_etaRange = tuple(round(abs(val), 1) for val in etaRange)
739 
740  eta_to_chi2 = {
741  (0.0, 0.2): chi2cut_l[0], (0.2, 0.4): chi2cut_l[1], (0.4, 0.6): chi2cut_l[2],
742  (0.6, 0.8): chi2cut_l[3], (0.8, 1.0): chi2cut_l[4], (1.0, 1.2): chi2cut_l[5],
743  (1.2, 1.4): chi2cut_l[6], (1.4, 1.6): chi2cut_l[7], (1.6, 1.8): chi2cut_l[8],
744  (1.8, 2.0): chi2cut_l[9], (2.0, 2.2): chi2cut_l[10], (2.2, 2.4): chi2cut_l[11],
745  (2.4, 2.6): chi2cut_l[12], (2.6, 2.8): chi2cut_l[13], (2.8, 3.0): chi2cut_l[14],
746  (3.0, 3.2): chi2cut_l[15], (3.2, 3.4): chi2cut_l[16], (3.4, 3.6): chi2cut_l[17],
747  (3.6, 3.8): chi2cut_l[18], (3.8, 4.0): chi2cut_l[19]
748  }
749 
750  return eta_to_chi2.get(abs_etaRange, 20)
751 

◆ getChi2CutNN()

def python.FPGATrackSimAnalysisConfig.getChi2CutNN (   region)

Definition at line 752 of file FPGATrackSimAnalysisConfig.py.

752 def getChi2CutNN(region):
753  chi2cut_l = [0.97,0.97,0.99,
754  0.7,0.86,0.99,
755  0.98,0.92,0.98,
756  0.95,0.93,0.4,
757  0.4,0.4,0.7,
758  0.6,0.5,0.4,
759  0.4,0.4]
760  binSize = 0.2
761  side = (region >> 5) & 0x1
762  etaBin = (region >> 6) & 0x1F
763  etaRange = [round(binSize * etaBin, 1), round(binSize * (etaBin + 1), 1)] if side else [round(-binSize * (etaBin + 1), 1), round(-binSize * etaBin, 1)]
764 
765  abs_etaRange = tuple(round(abs(val), 1) for val in etaRange)
766 
767  eta_to_chi2 = {
768  (0.0, 0.2): chi2cut_l[0], (0.2, 0.4): chi2cut_l[1], (0.4, 0.6): chi2cut_l[2],
769  (0.6, 0.8): chi2cut_l[3], (0.8, 1.0): chi2cut_l[4], (1.0, 1.2): chi2cut_l[5],
770  (1.2, 1.4): chi2cut_l[6], (1.4, 1.6): chi2cut_l[7], (1.6, 1.8): chi2cut_l[8],
771  (1.8, 2.0): chi2cut_l[9], (2.0, 2.2): chi2cut_l[10], (2.2, 2.4): chi2cut_l[11],
772  (2.4, 2.6): chi2cut_l[12], (2.6, 2.8): chi2cut_l[13], (2.8, 3.0): chi2cut_l[14],
773  (3.0, 3.2): chi2cut_l[15], (3.2, 3.4): chi2cut_l[16], (3.4, 3.6): chi2cut_l[17],
774  (3.6, 3.8): chi2cut_l[18], (3.8, 4.0): chi2cut_l[19]
775  }
776  return eta_to_chi2.get(abs_etaRange, 0.99)
777 
778 

◆ getEtaBin()

def python.FPGATrackSimAnalysisConfig.getEtaBin (   flags)

return a number 0-19, 0 is most central bin, 19 is most forward (based on absolute value of eta)

Definition at line 15 of file FPGATrackSimAnalysisConfig.py.

15 def getEtaBin(flags):
16  etaBin = (flags.Trigger.FPGATrackSim.region >> 6) & 0x1f
17  return etaBin
18 

◆ getFitWeights()

def python.FPGATrackSimAnalysisConfig.getFitWeights (   etaBin)

Definition at line 19 of file FPGATrackSimAnalysisConfig.py.

19 def getFitWeights(etaBin):
20  weight4Eta = [563.9382667,493.23055,381.835315,264.7819679,179.555554,116.0867029,96.30409326,96.13504916,163.7278321,270.5480971,270.6937626,180.2164132,129.0011743,91.50412962,72.65953377,49.77568766,32.518927,20.38964651,12.97547848,8.05716611]
21  weight4Phi = [5291.005291,4784.688995,4739.336493,4329.004329,3508.77193,3278.688525,4366.812227,6756.756757,10752.68817,14925.37313,16666.66667,16949.15254,17543.85965,16666.66667,19230.76923,20833.33333,20408.16327,20000,20000,18181.81818]
22  weights5Eta = [217.5331768,184.2304061,148.3134888,98.13939253,66.37534817,42.93312711,33.65526204,34.33247487,47.5202135,77.16881734,110.4844013,100.8706594,83.79061435,58.69032222,44.9857434,30.5678705,18.85832071,12.76889006,8.270441607,5.426907903]
23  weights5Phi = [1302.083333,1138.952164,1068.376068,961.5384615,831.9467554,764.5259939,996.0159363,1481.481481,2857.142857,3875.968992,4504.504505,5076.142132,5681.818182,5747.126437,6493.506494,6578.947368,6622.516556,6802.721088,6849.315068,6578.947368]
24 
25  assert(etaBin >= 0 and etaBin < 20)
26  return [weight4Eta[etaBin], weight4Phi[etaBin], weights5Eta[etaBin], weights5Phi[etaBin]]
27 

◆ getNSubregions()

def python.FPGATrackSimAnalysisConfig.getNSubregions (   filePath)

Definition at line 28 of file FPGATrackSimAnalysisConfig.py.

28 def getNSubregions(filePath):
29  with open(PathResolver.FindCalibFile(filePath), 'r') as f:
30  fields = f.readline()
31  assert(fields.startswith('towers'))
32  n = fields.split()[1]
33  return int(n)
34 
35 
36 # Need to figure out if we have two output writers or somehow only one.

◆ LRTRoadFinderCfg()

def python.FPGATrackSimAnalysisConfig.LRTRoadFinderCfg (   flags,
  name = "LRTRoadFinder" 
)

Definition at line 507 of file FPGATrackSimAnalysisConfig.py.

507 def LRTRoadFinderCfg(flags,name="LRTRoadFinder"):
508 
509  result=ComponentAccumulator()
510  LRTRoadFinder =CompFactory.FPGATrackSimHoughTransform_d0phi0_Tool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
511  LRTRoadFinder.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
512  LRTRoadFinder.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
513  LRTRoadFinder.combine_layers = flags.Trigger.FPGATrackSim.ActiveConfig.lrtStraighttrackCombineLayers
514  LRTRoadFinder.convolution = flags.Trigger.FPGATrackSim.ActiveConfig.lrtStraighttrackConvolution
515  LRTRoadFinder.hitExtend_x = flags.Trigger.FPGATrackSim.ActiveConfig.lrtStraighttrackHitExtendX
516  LRTRoadFinder.scale = flags.Trigger.FPGATrackSim.ActiveConfig.scale
517  LRTRoadFinder.threshold = flags.Trigger.FPGATrackSim.ActiveConfig.lrtStraighttrackThreshold
518  result.setPrivateTools(LRTRoadFinder)
519  return result
520 

◆ NNTrackToolCfg()

def python.FPGATrackSimAnalysisConfig.NNTrackToolCfg (   flags,
  name = "FPGATrackSimNNTrackTool" 
)

Definition at line 521 of file FPGATrackSimAnalysisConfig.py.

521 def NNTrackToolCfg(flags,name="FPGATrackSimNNTrackTool"):
522  result=ComponentAccumulator()
523  NNTrackTool = CompFactory.FPGATrackSimNNTrackTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
524  NNTrackTool.THistSvc = CompFactory.THistSvc()
525  NNTrackTool.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
526  NNTrackTool.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
527  NNTrackTool.IdealGeoRoads = False
528  NNTrackTool.useSpacePoints = flags.Trigger.FPGATrackSim.spacePoints and not flags.Trigger.FPGATrackSim.ActiveConfig.genScan and not flags.Trigger.FPGATrackSim.ActiveConfig.GNN
529  NNTrackTool.SPRoadFilterTool = result.popToolsAndMerge(SPRoadFilterToolCfg(flags))
530  NNTrackTool.MinNumberOfRealHitsInATrack = 5 if flags.Trigger.FPGATrackSim.ActiveConfig.genScan else 7 if flags.Trigger.FPGATrackSim.ActiveConfig.GNN else 9
531  NNTrackTool.useSectors = False
532  NNTrackTool.doGNNTracking = flags.Trigger.FPGATrackSim.GNN.doGNNTracking
533  NNTrackTool.nInputsGNN = flags.Trigger.FPGATrackSim.GNN.nInputsGNN
534  NNTrackTool.useCartesian = flags.Trigger.FPGATrackSim.NNCartesianCoordinates
535  result.setPrivateTools(NNTrackTool)
536  return result
537 

◆ prepareFlagsForFPGATrackSimLogicalHitsProcessAlg()

def python.FPGATrackSimAnalysisConfig.prepareFlagsForFPGATrackSimLogicalHitsProcessAlg (   flags)

Definition at line 582 of file FPGATrackSimAnalysisConfig.py.

583  newFlags = flags.cloneAndReplace("Trigger.FPGATrackSim.ActiveConfig", "Trigger.FPGATrackSim." + flags.Trigger.FPGATrackSim.algoTag,keepOriginal=True)
584  return newFlags
585 

◆ SPRoadFilterToolCfg()

def python.FPGATrackSimAnalysisConfig.SPRoadFilterToolCfg (   flags,
  secondStage = False,
  name = "FPGATrackSimSpacepointRoadFilterTool" 
)

Definition at line 586 of file FPGATrackSimAnalysisConfig.py.

586 def SPRoadFilterToolCfg(flags,secondStage=False,name="FPGATrackSimSpacepointRoadFilterTool"):
587  result=ComponentAccumulator()
588  name="FPGATrackSimSpacepointRoadFilterTool_1st"
589  if secondStage:
590  name="FPGATrackSimSpacepointRoadFilterTool_2st"
591  SPRoadFilter = CompFactory.FPGATrackSimSpacepointRoadFilterTool(FPGATrackSimDataPrepConfig.nameWithRegionSuffix(flags,name))
592  SPRoadFilter.FPGATrackSimMappingSvc = result.getPrimaryAndMerge(FPGATrackSimDataPrepConfig.FPGATrackSimMappingCfg(flags))
593  SPRoadFilter.FPGATrackSimBankSvc = result.getPrimaryAndMerge(FPGATrackSimBankSvcCfg(flags))
594  SPRoadFilter.filtering = flags.Trigger.FPGATrackSim.ActiveConfig.spacePointFiltering
595  SPRoadFilter.minSpacePlusPixel = flags.Trigger.FPGATrackSim.minSpacePlusPixel
596  SPRoadFilter.isSecondStage = secondStage
597  SPRoadFilter.dropUnpairedIfSP = flags.Trigger.FPGATrackSim.dropUnpairedIfSP
598 
599  # This threshold is the number of *missing* hits allowed. For now, assume that if 1st stage this is always 1.
600  # We don't actually run this tool in the first stage anymore, so this is more to preserve backwards compatibility
601  if secondStage:
602  SPRoadFilter.threshold = flags.Trigger.FPGATrackSim.hitThreshold
603  else:
604  SPRoadFilter.threshold = 1
605 
606  SPRoadFilter.setSectors = (flags.Trigger.FPGATrackSim.ActiveConfig.IdealGeoRoads and flags.Trigger.FPGATrackSim.tracking)
607  result.setPrivateTools(SPRoadFilter)
608  return result
609 
610 
611 
612 

◆ WriteAdditionalFPGATrackSimOutputCfg()

def python.FPGATrackSimAnalysisConfig.WriteAdditionalFPGATrackSimOutputCfg (   flags)

Definition at line 845 of file FPGATrackSimAnalysisConfig.py.

847  if flags.Trigger.FPGATrackSim.writeAdditionalOutputData:
848  acc.addService(CompFactory.THistSvc(Output = ["EXPERT DATAFILE='monitoring.root', OPT='RECREATE'"]))
849 
850  if (flags.Trigger.FPGATrackSim.Hough.houghRootoutput1st | flags.Trigger.FPGATrackSim.Hough.houghRootoutput2nd):
851  acc.addService(CompFactory.THistSvc(Output = ["TRIGFPGATrackSimHOUGHOUTPUT DATAFILE='HoughRootOutput.root', OPT='RECREATE'"]))
852 
853  if flags.Trigger.FPGATrackSim.Hough.writeTestOutput:
854  acc.addService(CompFactory.THistSvc(Output = ["FPGATRACKSIMOUTPUT DATAFILE='test.root', OPT='RECREATE'"]))
855 
856  if (flags.Trigger.FPGATrackSim.Hough.genScan):
857  acc.addService(CompFactory.THistSvc(Output = ["GENSCAN DATAFILE='genscan.root', OPT='RECREATE'"]))
858  return acc
859 

Variable Documentation

◆ acc

python.FPGATrackSimAnalysisConfig.acc

Definition at line 960 of file FPGATrackSimAnalysisConfig.py.

◆ CheckDependencies

python.FPGATrackSimAnalysisConfig.CheckDependencies

Definition at line 884 of file FPGATrackSimAnalysisConfig.py.

◆ chi2cut

python.FPGATrackSimAnalysisConfig.chi2cut

Definition at line 894 of file FPGATrackSimAnalysisConfig.py.

◆ debugLimit

python.FPGATrackSimAnalysisConfig.debugLimit

Definition at line 1028 of file FPGATrackSimAnalysisConfig.py.

◆ doActsTrk

python.FPGATrackSimAnalysisConfig.doActsTrk

Definition at line 1003 of file FPGATrackSimAnalysisConfig.py.

◆ doAthenaToActsCluster

python.FPGATrackSimAnalysisConfig.doAthenaToActsCluster

Definition at line 874 of file FPGATrackSimAnalysisConfig.py.

◆ doAthenaToActsSpacePoint

python.FPGATrackSimAnalysisConfig.doAthenaToActsSpacePoint

Definition at line 873 of file FPGATrackSimAnalysisConfig.py.

◆ doNNPathFinder

python.FPGATrackSimAnalysisConfig.doNNPathFinder

Definition at line 941 of file FPGATrackSimAnalysisConfig.py.

◆ doOverlapRemoval

python.FPGATrackSimAnalysisConfig.doOverlapRemoval

Definition at line 942 of file FPGATrackSimAnalysisConfig.py.

◆ doRotCorrection

python.FPGATrackSimAnalysisConfig.doRotCorrection

Definition at line 877 of file FPGATrackSimAnalysisConfig.py.

◆ doSP

python.FPGATrackSimAnalysisConfig.doSP

Definition at line 1004 of file FPGATrackSimAnalysisConfig.py.

◆ DumpEvtStore

python.FPGATrackSimAnalysisConfig.DumpEvtStore

Definition at line 885 of file FPGATrackSimAnalysisConfig.py.

◆ EnableCalo

python.FPGATrackSimAnalysisConfig.EnableCalo

Definition at line 870 of file FPGATrackSimAnalysisConfig.py.

◆ enableTrackStatePrinter

python.FPGATrackSimAnalysisConfig.enableTrackStatePrinter

Definition at line 1011 of file FPGATrackSimAnalysisConfig.py.

◆ etaPatternFilter

python.FPGATrackSimAnalysisConfig.etaPatternFilter

Definition at line 902 of file FPGATrackSimAnalysisConfig.py.

◆ False

python.FPGATrackSimAnalysisConfig.False

Definition at line 1011 of file FPGATrackSimAnalysisConfig.py.

◆ Files

python.FPGATrackSimAnalysisConfig.Files

Definition at line 952 of file FPGATrackSimAnalysisConfig.py.

◆ FinalProtoTrackChainxAODTracksKey

python.FPGATrackSimAnalysisConfig.FinalProtoTrackChainxAODTracksKey

Flags used in the prototrack chain.

Definition at line 869 of file FPGATrackSimAnalysisConfig.py.

◆ finalTrackParticles

python.FPGATrackSimAnalysisConfig.finalTrackParticles

Definition at line 1017 of file FPGATrackSimAnalysisConfig.py.

◆ flags

python.FPGATrackSimAnalysisConfig.flags

Definition at line 865 of file FPGATrackSimAnalysisConfig.py.

◆ genScan

python.FPGATrackSimAnalysisConfig.genScan

Definition at line 918 of file FPGATrackSimAnalysisConfig.py.

◆ GNN

python.FPGATrackSimAnalysisConfig.GNN

Definition at line 914 of file FPGATrackSimAnalysisConfig.py.

◆ hough

python.FPGATrackSimAnalysisConfig.hough

Definition at line 905 of file FPGATrackSimAnalysisConfig.py.

◆ hough1D

python.FPGATrackSimAnalysisConfig.hough1D

Definition at line 904 of file FPGATrackSimAnalysisConfig.py.

◆ infoLimit

python.FPGATrackSimAnalysisConfig.infoLimit

Definition at line 1029 of file FPGATrackSimAnalysisConfig.py.

◆ log

python.FPGATrackSimAnalysisConfig.log

Definition at line 9 of file FPGATrackSimAnalysisConfig.py.

◆ name

python.FPGATrackSimAnalysisConfig.name

Definition at line 1001 of file FPGATrackSimAnalysisConfig.py.

◆ NumConcurrentEvents

python.FPGATrackSimAnalysisConfig.NumConcurrentEvents

Definition at line 881 of file FPGATrackSimAnalysisConfig.py.

◆ NumProcs

python.FPGATrackSimAnalysisConfig.NumProcs

Definition at line 882 of file FPGATrackSimAnalysisConfig.py.

◆ NumThreads

python.FPGATrackSimAnalysisConfig.NumThreads

Definition at line 880 of file FPGATrackSimAnalysisConfig.py.

◆ OutputLevel

python.FPGATrackSimAnalysisConfig.OutputLevel

Definition at line 1026 of file FPGATrackSimAnalysisConfig.py.

◆ perEventReports

python.FPGATrackSimAnalysisConfig.perEventReports

Definition at line 1022 of file FPGATrackSimAnalysisConfig.py.

◆ phiRoadFilter

python.FPGATrackSimAnalysisConfig.phiRoadFilter

Definition at line 903 of file FPGATrackSimAnalysisConfig.py.

◆ PixelMeasurementContainer

python.FPGATrackSimAnalysisConfig.PixelMeasurementContainer

Definition at line 985 of file FPGATrackSimAnalysisConfig.py.

◆ ProtoTracksLocation

python.FPGATrackSimAnalysisConfig.ProtoTracksLocation

Definition at line 1012 of file FPGATrackSimAnalysisConfig.py.

◆ ShowDataDeps

python.FPGATrackSimAnalysisConfig.ShowDataDeps

Definition at line 883 of file FPGATrackSimAnalysisConfig.py.

◆ spacePoints

python.FPGATrackSimAnalysisConfig.spacePoints

Definition at line 919 of file FPGATrackSimAnalysisConfig.py.

◆ splitPipeline

python.FPGATrackSimAnalysisConfig.splitPipeline

Definition at line 926 of file FPGATrackSimAnalysisConfig.py.

◆ stage

python.FPGATrackSimAnalysisConfig.stage

Definition at line 1000 of file FPGATrackSimAnalysisConfig.py.

◆ statusCode

python.FPGATrackSimAnalysisConfig.statusCode

Definition at line 1032 of file FPGATrackSimAnalysisConfig.py.

◆ StripMeasurementContainer

python.FPGATrackSimAnalysisConfig.StripMeasurementContainer

Definition at line 986 of file FPGATrackSimAnalysisConfig.py.

◆ tracking

python.FPGATrackSimAnalysisConfig.tracking

disable 1st stage overlap removal

Definition at line 933 of file FPGATrackSimAnalysisConfig.py.

◆ trackingOption

python.FPGATrackSimAnalysisConfig.trackingOption

Definition at line 927 of file FPGATrackSimAnalysisConfig.py.

◆ trackingOptionMod

python.FPGATrackSimAnalysisConfig.trackingOptionMod

Definition at line 930 of file FPGATrackSimAnalysisConfig.py.

◆ trackNNAnalysis

python.FPGATrackSimAnalysisConfig.trackNNAnalysis

Definition at line 934 of file FPGATrackSimAnalysisConfig.py.

◆ trackNNAnalysis2nd

python.FPGATrackSimAnalysisConfig.trackNNAnalysis2nd

enable the nn tool

Definition at line 939 of file FPGATrackSimAnalysisConfig.py.

◆ verboseLimit

python.FPGATrackSimAnalysisConfig.verboseLimit

Definition at line 1030 of file FPGATrackSimAnalysisConfig.py.

◆ wrapperFileName

python.FPGATrackSimAnalysisConfig.wrapperFileName

Definition at line 951 of file FPGATrackSimAnalysisConfig.py.

◆ writeExtendedSi_PRDInfo

python.FPGATrackSimAnalysisConfig.writeExtendedSi_PRDInfo

if DP pipeline skip everything else!

Definition at line 925 of file FPGATrackSimAnalysisConfig.py.

python.FPGATrackSimAnalysisConfig.NNTrackToolCfg
def NNTrackToolCfg(flags, name="FPGATrackSimNNTrackTool")
Definition: FPGATrackSimAnalysisConfig.py:521
python.FPGATrackSimAnalysisConfig.FPGATrackSimF150FlagCfg
def FPGATrackSimF150FlagCfg(flags)
Definition: FPGATrackSimAnalysisConfig.py:789
PathResolver::FindCalibFile
static std::string FindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.h:63
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
ActsSeedingConfig.ActsStoreTrackSeedsCfg
ComponentAccumulator ActsStoreTrackSeedsCfg(flags, *bool processPixels, bool processStrips, **dict kwargs)
Definition: ActsSeedingConfig.py:557
python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionTool1DCfg
def FPGATrackSimRoadUnionTool1DCfg(flags, name="FPGATrackSimRoadUnionTool1D")
Definition: FPGATrackSimAnalysisConfig.py:192
MuonGM::round
float round(const float toRound, const unsigned int decimals)
Definition: Mdt.cxx:27
python.FPGATrackSimAnalysisConfig.FPGATrackSimHoughRootOutputToolCfg
def FPGATrackSimHoughRootOutputToolCfg(flags, name="FPGATrackSimHoughRootOutputTool")
Definition: FPGATrackSimAnalysisConfig.py:497
python.FPGATrackSimAnalysisConfig.getFitWeights
def getFitWeights(etaBin)
Definition: FPGATrackSimAnalysisConfig.py:19
python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNRootOutputToolCfg
def FPGATrackSimGNNRootOutputToolCfg(flags, name="FPGATrackSimGNNRootOutputTool")
Definition: FPGATrackSimAnalysisConfig.py:475
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
F150KernelTesterConfig.KernelTesterCfg
def KernelTesterCfg(flags, name='F150BenchmarkAlg', **kwarg)
Definition: F150KernelTesterConfig.py:6
python.FPGATrackSimMultiRegionConfig.FPGATrackSimMultiRegionTrackingCfg
def FPGATrackSimMultiRegionTrackingCfg(flags)
Definition: FPGATrackSimMultiRegionConfig.py:6
python.FPGATrackSimAnalysisConfig.FPGATrackSimTrackFitterToolCfg
def FPGATrackSimTrackFitterToolCfg(flags, name="FPGATrackSimTrackFitterTool")
Definition: FPGATrackSimAnalysisConfig.py:538
PathResolver::FindCalibDirectory
static std::string FindCalibDirectory(const std::string &logical_file_name)
Definition: PathResolver.h:64
TrigFastTrackFinderConfig.ITkTrigL2LayerNumberToolCfg
ComponentAccumulator ITkTrigL2LayerNumberToolCfg(AthConfigFlags flags, **kwargs)
Definition: TrigFastTrackFinderConfig.py:259
python.FPGATrackSimAnalysisConfig.ConfigureMultiRegionFlags
def ConfigureMultiRegionFlags(flags)
Definition: FPGATrackSimAnalysisConfig.py:779
python.FPGATrackSimAnalysisConfig.FPGATrackSimLogicalHitsProcessAlgCfg
def FPGATrackSimLogicalHitsProcessAlgCfg(inputFlags, name="FPGATrackSimLogicalHitsProcessAlg", **kwargs)
Definition: FPGATrackSimAnalysisConfig.py:613
python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolGenScanCfg
def FPGATrackSimRoadUnionToolGenScanCfg(flags, name="FPGATrackSimRoadUnionToolGenScan")
Definition: FPGATrackSimAnalysisConfig.py:242
python.FPGATrackSimAnalysisConfig.getEtaBin
def getEtaBin(flags)
return a number 0-19, 0 is most central bin, 19 is most forward (based on absolute value of eta)
Definition: FPGATrackSimAnalysisConfig.py:15
python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNEdgeClassifierToolCfg
def FPGATrackSimGNNEdgeClassifierToolCfg(flags, name="FPGATrackSimGNNEdgeClassifierTool")
Definition: FPGATrackSimAnalysisConfig.py:441
python.FPGATrackSimAnalysisConfig.getChi2Cut
def getChi2Cut(region)
Definition: FPGATrackSimAnalysisConfig.py:731
python.FPGATrackSimAnalysisConfig.FPGATrackSimSeedingCfg
def FPGATrackSimSeedingCfg(flags)
Definition: FPGATrackSimAnalysisConfig.py:810
python.FPGATrackSimAnalysisConfig.FPGATrackSimDataFlowToolCfg
def FPGATrackSimDataFlowToolCfg(flags, name="FPGATrackSimDataFlowTool")
Definition: FPGATrackSimAnalysisConfig.py:487
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
python.FPGATrackSimAnalysisConfig.prepareFlagsForFPGATrackSimLogicalHitsProcessAlg
def prepareFlagsForFPGATrackSimLogicalHitsProcessAlg(flags)
Definition: FPGATrackSimAnalysisConfig.py:582
python.FPGATrackSimAnalysisConfig.FPGATrackSimBankSvcCfg
def FPGATrackSimBankSvcCfg(flags, name="FPGATrackSimBankSvc")
Definition: FPGATrackSimAnalysisConfig.py:66
python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolCfg
def FPGATrackSimRoadUnionToolCfg(flags, name="FPGATrackSimRoadUnionTool")
Definition: FPGATrackSimAnalysisConfig.py:115
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:26
python.FPGATrackSimAnalysisConfig.FPGATrackSimWriteOutputCfg
def FPGATrackSimWriteOutputCfg(flags)
Definition: FPGATrackSimAnalysisConfig.py:37
python.FPGATrackSimAnalysisConfig.WriteAdditionalFPGATrackSimOutputCfg
def WriteAdditionalFPGATrackSimOutputCfg(flags)
Definition: FPGATrackSimAnalysisConfig.py:845
python.OnnxRuntimeInferenceConfig.OnnxRuntimeInferenceToolCfg
def OnnxRuntimeInferenceToolCfg(flags, str model_fname=None, Optional[OnnxRuntimeType] execution_provider=None, name="OnnxRuntimeInferenceTool", **kwargs)
Definition: OnnxRuntimeInferenceConfig.py:9
python.FPGATrackSimAnalysisConfig.LRTRoadFinderCfg
def LRTRoadFinderCfg(flags, name="LRTRoadFinder")
Definition: FPGATrackSimAnalysisConfig.py:507
python.FPGATrackSimAnalysisConfig.FPGATrackSimRoadUnionToolGNNCfg
def FPGATrackSimRoadUnionToolGNNCfg(flags, name="FPGATrackSimRoadUnionToolGNN")
Definition: FPGATrackSimAnalysisConfig.py:393
python.FPGATrackSimAnalysisConfig.getNSubregions
def getNSubregions(filePath)
Definition: FPGATrackSimAnalysisConfig.py:28
python.FPGATrackSimAnalysisConfig.FPGATrackSimOverlapRemovalToolCfg
def FPGATrackSimOverlapRemovalToolCfg(flags, name="FPGATrackSimOverlapRemovalTool")
Definition: FPGATrackSimAnalysisConfig.py:558
Trk::open
@ open
Definition: BinningType.h:40
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
F150KernelTesterConfig.F150EDMConversionAlgCfg
def F150EDMConversionAlgCfg(flags, **kwarg)
Definition: F150KernelTesterConfig.py:55
python.FPGATrackSimAnalysisConfig.SPRoadFilterToolCfg
def SPRoadFilterToolCfg(flags, secondStage=False, name="FPGATrackSimSpacepointRoadFilterTool")
Definition: FPGATrackSimAnalysisConfig.py:586
str
Definition: BTagTrackIpAccessor.cxx:11
python.ITkActsHelpers.isFastPrimaryPass
bool isFastPrimaryPass(flags)
Definition: ITkActsHelpers.py:13
python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNRoadMakerToolCfg
def FPGATrackSimGNNRoadMakerToolCfg(flags, name="FPGATrackSimGNNRoadMakerTool")
Definition: FPGATrackSimAnalysisConfig.py:459
python.FPGATrackSimAnalysisConfig.getChi2CutNN
def getChi2CutNN(region)
Definition: FPGATrackSimAnalysisConfig.py:752
Trk::split
@ split
Definition: LayerMaterialProperties.h:38
python.FPGATrackSimAnalysisConfig.FPGATrackSimGNNGraphConstructionToolCfg
def FPGATrackSimGNNGraphConstructionToolCfg(flags, name="FPGATrackSimGNNGraphConstructionTool")
Definition: FPGATrackSimAnalysisConfig.py:414
FPGATrackSimAlgorithmConfig.FPGATrackSimOverlapRemovalToolMonitoringCfg
def FPGATrackSimOverlapRemovalToolMonitoringCfg(flags)
Definition: FPGATrackSimAlgorithmConfig.py:332
python.FPGATrackSimAnalysisConfig.FPGATrackSimSlicingEngineCfg
def FPGATrackSimSlicingEngineCfg(flags, name="FPGATrackSimSlicingEngineTool")
Definition: FPGATrackSimAnalysisConfig.py:54