ATLAS Offline Software
Functions | Variables
python.TrackRecoConfig Namespace Reference

Functions

def CombinedTrackingPassFlagSets (flags)
 
def ClusterSplitProbabilityContainerName (flags)
 
def InDetCosmicsTrackRecoPreProcessingCfg (flags)
 
def InDetPreProcessingCfg (flags)
 
def SiSubDetTrackRecoCfg (flags, detector="", extensions_list=None, ClusterSplitProbContainer="")
 
def TRTTrackRecoCfg (flags, extensions_list=None)
 
def TRTStandalonePassRecoCfg (flags, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None)
 
def StoreTrackSeparateContainerCfg (flags, TrackContainer="", ClusterSplitProbContainer="")
 
def BackTrackingRecoCfg (flags, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None, ClusterSplitProbContainer="")
 
def TrackRecoPassCfg (flags, extension="", doTrackingSiPattern=True, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None, ClusterSplitProbContainer="")
 
def TrackFinalCfg (flags, InputCombinedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None)
 
def PseudoTrackFinalCfg (flags)
 
def ObserverTrackFinalCfg (flags)
 
def TrackSeedsFinalCfg (flags)
 
def SiSPSeededTracksFinalCfg (flags)
 
def InDetStatsCfg (flags, StatTrackCollections=None, StatTrackTruthCollections=None)
 
def ExtendedPRDInfoCfg (flags)
 
def InDetTrackRecoCfg (flags)
 Main ID tracking config #####################. More...
 
def TrackRecoConfigTest (flags=None)
 

Variables

list _flags_set = []
 
list _extensions_list = []
 

Function Documentation

◆ BackTrackingRecoCfg()

def python.TrackRecoConfig.BackTrackingRecoCfg (   flags,
  InputCombinedInDetTracks = None,
  InputExtendedInDetTracks = None,
  StatTrackCollections = None,
  StatTrackTruthCollections = None,
  ClusterSplitProbContainer = "" 
)

Definition at line 366 of file TrackRecoConfig.py.

366 def BackTrackingRecoCfg(flags,
367  InputCombinedInDetTracks=None,
368  InputExtendedInDetTracks=None,
369  StatTrackCollections=None,
370  StatTrackTruthCollections=None,
371  ClusterSplitProbContainer=""):
372  result = ComponentAccumulator()
373 
374  if InputCombinedInDetTracks is None:
375  InputCombinedInDetTracks = []
376  if InputExtendedInDetTracks is None:
377  InputExtendedInDetTracks = []
378  if StatTrackCollections is None:
379  StatTrackCollections = []
380  if StatTrackTruthCollections is None:
381  StatTrackTruthCollections = []
382 
383  from InDetConfig.BackTrackingConfig import BackTrackingCfg
384  result.merge(BackTrackingCfg(
385  flags,
386  InputCollections=InputCombinedInDetTracks,
387  ClusterSplitProbContainer=ClusterSplitProbContainer))
388 
389  ClusterSplitProbContainer = (
390  "InDetTRT_SeededAmbiguityProcessorSplitProb" +
391  flags.Tracking.ActiveConfig.extension)
392  TRTSeededTracks = "TRTSeededTracks"
393  ResolvedTRTSeededTracks = "ResolvedTRTSeededTracks"
394  InputCombinedInDetTracks += [ResolvedTRTSeededTracks]
395  InputExtendedInDetTracks += [ResolvedTRTSeededTracks]
396  StatTrackCollections += [TRTSeededTracks,
397  ResolvedTRTSeededTracks]
398  StatTrackTruthCollections += [TRTSeededTracks+"TruthCollection",
399  ResolvedTRTSeededTracks+"TruthCollection"]
400 
401  return result, ClusterSplitProbContainer
402 
403 
404 # Returns CA + ClusterSplitProbContainer

◆ ClusterSplitProbabilityContainerName()

def python.TrackRecoConfig.ClusterSplitProbabilityContainerName (   flags)

Definition at line 86 of file TrackRecoConfig.py.

87  if flags.Detector.GeometryITk:
88  from InDetConfig.ITkTrackRecoConfig import (
89  ITkClusterSplitProbabilityContainerName)
91 
92  flags_set = CombinedTrackingPassFlagSets(flags)
93  extension = flags_set[-1].Tracking.ActiveConfig.extension
94 
95  # No ambi processing for TRT standalone, so pick the previous pass
96  if extension == "TRTStandalone":
97  extension = flags_set[-2].Tracking.ActiveConfig.extension
98 
99  ClusterSplitProbContainer = "InDetAmbiguityProcessorSplitProb" + extension
100 
101  # Only primary pass + back-tracking
102  if len(flags_set) == 1 and flags.Tracking.doBackTracking:
103  ClusterSplitProbContainer = (
104  "InDetTRT_SeededAmbiguityProcessorSplitProb" + extension)
105  return ClusterSplitProbContainer
106 
107 # TODO find config to validate this
108 
109 

◆ CombinedTrackingPassFlagSets()

def python.TrackRecoConfig.CombinedTrackingPassFlagSets (   flags)

Definition at line 10 of file TrackRecoConfig.py.

11 
12  global _flags_set
13  if _flags_set:
14  return _flags_set
15 
16  flags_set = []
17 
18  # Primary Pass
19  flags = flags.cloneAndReplace(
20  "Tracking.ActiveConfig",
21  f"Tracking.{flags.Tracking.PrimaryPassConfig.value}Pass",
22  # Keep original flags as some of the subsequent passes use
23  # lambda functions relying on them
24  keepOriginal=True)
25  flags_set += [flags]
26 
27  # LRT pass
28  if flags.Tracking.doLargeD0 or flags.Tracking.doLowPtLargeD0:
29 
30  if flags.Tracking.doLowPtLargeD0:
31  flagsLRT = flags.cloneAndReplace("Tracking.ActiveConfig",
32  "Tracking.LowPtLargeD0Pass")
33  elif flags.Tracking.doLargeD0:
34  flagsLRT = flags.cloneAndReplace("Tracking.ActiveConfig",
35  "Tracking.R3LargeD0Pass")
36 
37  flags_set += [flagsLRT]
38 
39  # LowPtRoI pass (low-pt tracks in high pile-up enviroment)
40  if flags.Tracking.doLowPtRoI:
41  flagsLowPtRoI = flags.cloneAndReplace("Tracking.ActiveConfig",
42  "Tracking.LowPtRoIPass")
43  flags_set += [flagsLowPtRoI]
44 
45  # LowPt pass
46  if flags.Tracking.doLowPt:
47  flagsLowPt = flags.cloneAndReplace("Tracking.ActiveConfig",
48  "Tracking.LowPtPass")
49  flags_set += [flagsLowPt]
50 
51  # VeryLowPt pass
52  if flags.Tracking.doVeryLowPt:
53  flagsVeryLowPt = flags.cloneAndReplace("Tracking.ActiveConfig",
54  "Tracking.VeryLowPtPass")
55  flags_set += [flagsVeryLowPt]
56 
57  # TRT standalone pass
58  if flags.Tracking.doTRTStandalone:
59  flagsTRTStandalone = flags.cloneAndReplace("Tracking.ActiveConfig",
60  "Tracking.TRTStandalonePass")
61  flags_set += [flagsTRTStandalone]
62 
63  # Forward tracklets
64  if flags.Tracking.doForwardTracks:
65  flagsForward = flags.cloneAndReplace("Tracking.ActiveConfig",
66  "Tracking.ForwardPass")
67  flags_set += [flagsForward]
68 
69  # Disappearing pixel tracklets
70  if flags.Tracking.doTrackSegmentsDisappearing:
71  flagsDisappearing = flags.cloneAndReplace("Tracking.ActiveConfig",
72  "Tracking.DisappearingPass")
73  flags_set += [flagsDisappearing]
74 
75  # Beam gas
76  if flags.Tracking.doBeamGas:
77  flagsBeamGas = flags.cloneAndReplace("Tracking.ActiveConfig",
78  "Tracking.BeamGasPass")
79  flags_set += [flagsBeamGas]
80 
81  _flags_set = flags_set # Put into cache
82 
83  return flags_set
84 
85 

◆ ExtendedPRDInfoCfg()

def python.TrackRecoConfig.ExtendedPRDInfoCfg (   flags)

Definition at line 702 of file TrackRecoConfig.py.

702 def ExtendedPRDInfoCfg(flags):
703  result = ComponentAccumulator()
704 
705  if (flags.Tracking.doTIDE_AmbiTrackMonitoring or
706  flags.Tracking.doPseudoTracking):
707  from InDetConfig.InDetPrepRawDataToxAODConfig import (
708  InDetPixelPrepDataToxAOD_ExtraTruthCfg as PixelPrepDataToxAODCfg,
709  InDetSCT_PrepDataToxAOD_ExtraTruthCfg as SCT_PrepDataToxAODCfg,
710  InDetTRT_PrepDataToxAOD_ExtraTruthCfg as TRT_PrepDataToxAODCfg)
711  else:
712  from InDetConfig.InDetPrepRawDataToxAODConfig import (
713  InDetPixelPrepDataToxAODCfg as PixelPrepDataToxAODCfg,
714  InDetSCT_PrepDataToxAODCfg as SCT_PrepDataToxAODCfg,
715  InDetTRT_PrepDataToxAODCfg as TRT_PrepDataToxAODCfg)
716 
717  if flags.Tracking.writeExtendedSi_PRDInfo:
718  result.merge(PixelPrepDataToxAODCfg(
719  flags,
720  ClusterSplitProbabilityName=(
722  result.merge(SCT_PrepDataToxAODCfg(flags))
723 
724  if flags.Tracking.writeExtendedTRT_PRDInfo:
725  result.merge(TRT_PrepDataToxAODCfg(flags))
726 
727  from DerivationFrameworkInDet.InDetToolsConfig import TSOS_CommonKernelCfg
728  # Set up one algorithm for each output tracking container
729  # Always done for default pass
730  # Done for other passes if pass requests to store track seeds OR track candidates OR requests separate container
731  # Input handling/configuration of algorithm for specific cases is done in TSOS_CommonKernelCfg
732  listOfExtensionsRequesting = [
733  e for e in _extensions_list if (e == '')
734  or (flags.Tracking[f"{e}Pass"].storeTrackSeeds) # Store Si track seeds
735  or (flags.Tracking[f"{e}Pass"].storeSiSPSeededTracks) # Store Si candidate tracks
736  or (flags.Tracking[f"{e}Pass"].storeSeparateContainer) ] # Particular tracking pass requesting separate container from main pass
737  result.merge(TSOS_CommonKernelCfg(
738  flags, listOfExtensions = listOfExtensionsRequesting))
739 
740  if flags.Tracking.doTIDE_AmbiTrackMonitoring:
741  from DerivationFrameworkInDet.InDetToolsConfig import (
742  ObserverTSOS_CommonKernelCfg)
743  result.merge(ObserverTSOS_CommonKernelCfg(flags))
744 
745  if flags.Tracking.doPseudoTracking:
746  from DerivationFrameworkInDet.InDetToolsConfig import (
747  PseudoTSOS_CommonKernelCfg)
748  result.merge(PseudoTSOS_CommonKernelCfg(flags))
749 
750  if flags.Tracking.doStoreTrackSeeds:
751  from DerivationFrameworkInDet.InDetToolsConfig import (
752  SiSPSeedsTSOS_CommonKernelCfg)
753  # Setup one algorithm for each output tracking container
754  listOfExtensionsRequesting = [
755  e for e in _extensions_list if (e == '') or
756  flags.Tracking[f"{e}Pass"].storeTrackSeeds ]
757  result.merge(SiSPSeedsTSOS_CommonKernelCfg(
758  flags, listOfExtensions = listOfExtensionsRequesting))
759 
760  if flags.Tracking.doStoreSiSPSeededTracks:
761  from DerivationFrameworkInDet.InDetToolsConfig import (
762  SiSPTSOS_CommonKernelCfg)
763  # Setup one algorithm for each output tracking container
764  listOfExtensionsRequesting = [
765  e for e in _extensions_list if (e == '') or
766  flags.Tracking[f"{e}Pass"].storeSiSPSeededTracks ]
767  result.merge(SiSPTSOS_CommonKernelCfg(
768  flags, listOfExtensions = listOfExtensionsRequesting))
769 
770  if flags.Input.isMC:
771  #check if we want to add it for other passes
772  listOfExtensionsRequesting = [
773  e for e in _extensions_list if (e == '') or
774  (flags.Tracking[f"{e}Pass"].storeSiSPSeededTracks and
775  flags.Tracking[f"{e}Pass"].storeSeparateContainer) ]
776  from InDetPhysValMonitoring.InDetPhysValDecorationConfig import (
777  InDetPhysHitDecoratorAlgCfg)
778  for extension in listOfExtensionsRequesting:
779  result.merge(InDetPhysHitDecoratorAlgCfg(
780  flags,
781  name=f"InDetPhysHit{extension}DecoratorAlg",
782  TrackParticleContainerName=f"InDet{extension}TrackParticles"))
783 
784  return result
785 
786 

◆ InDetCosmicsTrackRecoPreProcessingCfg()

def python.TrackRecoConfig.InDetCosmicsTrackRecoPreProcessingCfg (   flags)

Definition at line 110 of file TrackRecoConfig.py.

111  result = ComponentAccumulator()
112 
113  from InDetConfig.TrackingSiPatternConfig import TrackingSiPatternCfg
114  result.merge(TrackingSiPatternCfg(
115  flags,
116  InputCollections=[],
117  ResolvedTrackCollectionKey="ResolvedTracks",
118  SiSPSeededTrackCollectionKey="SiSPSeededTracks"))
119 
120  if flags.Detector.EnableTRT:
121  from InDetConfig.TRTExtensionConfig import NewTrackingTRTExtensionPhaseCfg
122  result.merge(NewTrackingTRTExtensionPhaseCfg(
123  flags,
124  SiTrackCollection="ResolvedTracks",
125  ExtendedTrackCollection="ExtendedTracksPhase",
126  ExtendedTracksMap="ExtendedTracksMapPhase"))
127 
128  from InDetConfig.TRTSegmentFindingConfig import TRTSegmentFinding_Phase_Cfg
129  result.merge(TRTSegmentFinding_Phase_Cfg(flags))
130 
131  from InDetConfig.InDetTrackPRD_AssociationConfig import (
132  InDetTrackPRD_AssociationCfg)
133  result.merge(InDetTrackPRD_AssociationCfg(
134  flags, name='InDetTRTonly_TrackPRD_AssociationPhase',
135  AssociationMapName='InDetTRTonly_PRDtoTrackMapPhase',
136  TracksName=[]))
137 
138  from InDetConfig.TRT_SegmentsToTrackConfig import (
139  TRT_Cosmics_SegmentsToTrackCfg)
140  result.merge(TRT_Cosmics_SegmentsToTrackCfg(
141  flags, name='InDetTRT_Cosmics_SegmentsToTrack_Phase',
142  InputSegmentsCollection="TRTSegments_Phase",
143  OutputTrackCollection="TRT_Tracks_Phase"))
144 
145  from InDetConfig.InDetCosmicsEventPhaseConfig import (
146  InDetCosmicsEventPhaseCfg)
147  result.merge(InDetCosmicsEventPhaseCfg(
148  flags,
149  InputTracksNames=["TRT_Tracks_Phase"]))
150 
151  from InDetConfig.InDetPrepRawDataFormationConfig import (
152  InDetTRT_Phase_RIO_MakerCfg)
153  result.merge(InDetTRT_Phase_RIO_MakerCfg(flags))
154 
155  return result
156 
157 

◆ InDetPreProcessingCfg()

def python.TrackRecoConfig.InDetPreProcessingCfg (   flags)

Definition at line 158 of file TrackRecoConfig.py.

158 def InDetPreProcessingCfg(flags):
159  result = ComponentAccumulator()
160 
161  # Detector ByteStream pre-processing
162  if flags.Input.Format is Format.BS:
163  if flags.Detector.EnablePixel:
164  from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConfig import (
165  PixelRawDataProviderAlgCfg)
166  result.merge(PixelRawDataProviderAlgCfg(flags))
167 
168  if flags.Detector.EnableSCT:
169  from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import (
170  SCTRawDataProviderCfg, SCTEventFlagWriterCfg)
171  result.merge(SCTRawDataProviderCfg(flags))
172  result.merge(SCTEventFlagWriterCfg(flags))
173 
174  if flags.Detector.EnableTRT:
175  from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConfig import (
176  TRTRawDataProviderCfg)
177  result.merge(TRTRawDataProviderCfg(flags))
178 
179  if flags.Detector.EnablePixel or flags.Detector.EnableSCT:
180  from InDetConfig.SiliconPreProcessing import InDetRecPreProcessingSiliconCfg
181  result.merge(InDetRecPreProcessingSiliconCfg(flags))
182  if flags.Detector.EnableTRT:
183  from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg
184  result.merge(TRTPreProcessingCfg(flags))
185 
186  return result
187 
188 
189 # Returns CA + ClusterSplitProbContainer

◆ InDetStatsCfg()

def python.TrackRecoConfig.InDetStatsCfg (   flags,
  StatTrackCollections = None,
  StatTrackTruthCollections = None 
)

Definition at line 680 of file TrackRecoConfig.py.

680 def InDetStatsCfg(flags, StatTrackCollections=None,
681  StatTrackTruthCollections=None):
682  result = ComponentAccumulator()
683 
684  from InDetConfig.InDetRecStatisticsConfig import (
685  InDetRecStatisticsAlgCfg)
686  result.merge(InDetRecStatisticsAlgCfg(
687  flags,
688  TrackCollectionKeys=StatTrackCollections,
689  TrackTruthCollectionKeys=(
690  StatTrackTruthCollections if flags.Tracking.doTruth else [])))
691 
692  if flags.Tracking.doTruth:
693  from InDetConfig.InDetTrackClusterAssValidationConfig import (
694  InDetTrackClusterAssValidationCfg)
696  flags,
697  TracksLocation=StatTrackCollections))
698 
699  return result
700 
701 

◆ InDetTrackRecoCfg()

def python.TrackRecoConfig.InDetTrackRecoCfg (   flags)

Main ID tracking config #####################.

Definition at line 791 of file TrackRecoConfig.py.

791 def InDetTrackRecoCfg(flags):
792 
793  # Bypass to ITk config
794  if flags.Detector.GeometryITk:
795  from InDetConfig.ITkTrackRecoConfig import ITkTrackRecoCfg
796  return ITkTrackRecoCfg(flags)
797 
798  """Configures complete ID tracking """
799  result = ComponentAccumulator()
800  result.merge(InDetPreProcessingCfg(flags))
801 
802  ClusterSplitProbContainer = ''
803 
804  # ------------------------------------------------------------
805  #
806  # ----------- Subdetector pattern from New Tracking
807  #
808  # ------------------------------------------------------------
809 
810  # Pixel track segment finding
811  if flags.Tracking.doTrackSegmentsPixel:
812  acc, ClusterSplitProbContainer = (
813  SiSubDetTrackRecoCfg(flags, detector="Pixel",
814  extensions_list=_extensions_list,
815  ClusterSplitProbContainer=ClusterSplitProbContainer))
816  result.merge(acc)
817 
818  # SCT track segment finding
819  if flags.Tracking.doTrackSegmentsSCT:
820  acc, ClusterSplitProbContainer = (
821  SiSubDetTrackRecoCfg(flags, detector="SCT",
822  extensions_list=_extensions_list,
823  ClusterSplitProbContainer=ClusterSplitProbContainer))
824  result.merge(acc)
825 
826  # TRT track segment finding
827  if flags.Tracking.doTrackSegmentsTRT:
828  result.merge(TRTTrackRecoCfg(flags, extensions_list=_extensions_list))
829 
830  flags_set = CombinedTrackingPassFlagSets(flags)
831 
832  # Pre-processing for TRT phase in cosmics
833  if flags.Beam.Type is BeamType.Cosmics:
834  flagsCosmics = flags_set[0]
835  result.merge(InDetCosmicsTrackRecoPreProcessingCfg(flagsCosmics))
836 
837  # ------------------------------------------------------------
838  #
839  # ----------- Main passes for standard reconstruction
840  #
841  # ------------------------------------------------------------
842 
843  # Tracks to be ultimately merged in InDetTrackParticle collection
844  InputCombinedInDetTracks = []
845  # Includes also tracks which end in standalone TrackParticle collections
846  InputExtendedInDetTracks = []
847  ClusterSplitProbContainer = ""
848  StatTrackCollections = [] # To be passed to the InDetRecStatistics alg
849  StatTrackTruthCollections = []
850  isPrimaryPass = True
851 
852  printPrimaryConfig(flags)
853 
854  for current_flags in flags_set:
855  printActiveConfig(current_flags)
856 
857  extension = (
858  "" if isPrimaryPass else
859  current_flags.Tracking.ActiveConfig.extension)
860  _extensions_list.append(extension)
861 
862  # ---------------------------------------
863  # ---- TRTStandalone pass
864  # ---------------------------------------
865 
866  if flags.Tracking.doTRTStandalone and extension == "TRTStandalone":
867  result.merge(TRTStandalonePassRecoCfg(
868  current_flags,
869  InputCombinedInDetTracks=InputCombinedInDetTracks,
870  InputExtendedInDetTracks=InputExtendedInDetTracks,
871  StatTrackCollections=StatTrackCollections,
872  StatTrackTruthCollections=StatTrackTruthCollections))
873 
874  continue # Skip rest of config for the TRTStandalone pass
875 
876  # ---------------------------------------
877  # ---- All the passes but TRTStandalone
878  # ---------------------------------------
879 
880  acc, ClusterSplitProbContainer = TrackRecoPassCfg(
881  current_flags, extension=extension,
882  doTrackingSiPattern=not(isPrimaryPass and
883  flags.Beam.Type is BeamType.Cosmics),
884  InputCombinedInDetTracks=InputCombinedInDetTracks,
885  InputExtendedInDetTracks=InputExtendedInDetTracks,
886  StatTrackCollections=StatTrackCollections,
887  StatTrackTruthCollections=StatTrackTruthCollections,
888  ClusterSplitProbContainer=ClusterSplitProbContainer)
889  result.merge(acc)
890 
891  # ---------------------------------------
892  # --- A few passes, only after primary pass
893  # ---------------------------------------
894 
895  if isPrimaryPass:
896 
897  # ---------------------------------------
898  # --- TRT Segments
899  # ---------------------------------------
900 
901  if flags.Tracking.doTRTSegments:
902  from InDetConfig.TRTSegmentFindingConfig import (
903  TRTSegmentFindingCfg)
904  result.merge(TRTSegmentFindingCfg(
905  current_flags,
906  InputCollections=InputCombinedInDetTracks))
907 
908  # ---------------------------------------
909  # --- BackTracking
910  # ---------------------------------------
911 
912  if flags.Tracking.doBackTracking:
913  acc, ClusterSplitProbContainer = BackTrackingRecoCfg(
914  current_flags,
915  InputCombinedInDetTracks=InputCombinedInDetTracks,
916  InputExtendedInDetTracks=InputExtendedInDetTracks,
917  StatTrackCollections=StatTrackCollections,
918  StatTrackTruthCollections=StatTrackTruthCollections,
919  ClusterSplitProbContainer=ClusterSplitProbContainer)
920  result.merge(acc)
921 
922  # ---------------------------------------
923  # --- PseudoTracking
924  # ---------------------------------------
925 
926  if (flags.Tracking.doTruth and
927  (flags.Tracking.doPseudoTracking or
928  flags.Tracking.doIdealPseudoTracking)):
929 
930  from TrkConfig.TrkTruthTrackAlgsConfig import TruthTrackingCfg
931  result.merge(TruthTrackingCfg(current_flags))
932 
933  isPrimaryPass = False
934 
935  # ----------------------------------------------------
936  # --- Loop over tracking passes is done, final configs
937  # ----------------------------------------------------
938 
939  result.merge(
940  TrackFinalCfg(flags,
941  InputCombinedInDetTracks=InputCombinedInDetTracks,
942  StatTrackCollections=StatTrackCollections,
943  StatTrackTruthCollections=StatTrackTruthCollections))
944 
945  if (flags.Tracking.doPseudoTracking or
946  flags.Tracking.doIdealPseudoTracking):
947  result.merge(PseudoTrackFinalCfg(flags))
948 
949  if flags.Tracking.doTIDE_AmbiTrackMonitoring:
950  result.merge(ObserverTrackFinalCfg(flags))
951 
952  if flags.Tracking.doStoreTrackSeeds:
953  result.merge(TrackSeedsFinalCfg(flags))
954 
955  if flags.Tracking.doStoreSiSPSeededTracks:
956  result.merge(SiSPSeededTracksFinalCfg(flags))
957 
958  # ---------------------------------------
959  # --- Primary vertexing
960  # ---------------------------------------
961 
962  if flags.Tracking.doVertexFinding:
963  from InDetConfig.InDetPriVxFinderConfig import primaryVertexFindingCfg
964  result.merge(primaryVertexFindingCfg(flags))
965 
966  if flags.Tracking.doStats:
967  result.merge(InDetStatsCfg(
968  flags_set[0], # Use cuts from primary pass
969  StatTrackCollections=StatTrackCollections,
970  StatTrackTruthCollections=StatTrackTruthCollections))
971 
972  # ---------------------------------------
973  # --- Extra optional decorations
974  # ---------------------------------------
975 
976  if flags.Tracking.doV0Finder:
977  from InDetConfig.InDetV0FinderConfig import InDetV0FinderCfg
978  result.merge(InDetV0FinderCfg(flags))
979 
980  if (flags.Tracking.writeExtendedSi_PRDInfo or
981  flags.Tracking.writeExtendedTRT_PRDInfo):
982  result.merge(ExtendedPRDInfoCfg(flags))
983 
984  # output
985  from InDetConfig.InDetTrackOutputConfig import InDetTrackRecoOutputCfg
986  result.merge(InDetTrackRecoOutputCfg(flags, _extensions_list))
987 
988  return result
989 
990 # Run with python -m InDetConfig.TrackRecoConfig
991 # Works with Data RAW (Format.BS), MC RDO, and MC ESD

◆ ObserverTrackFinalCfg()

def python.TrackRecoConfig.ObserverTrackFinalCfg (   flags)

Definition at line 595 of file TrackRecoConfig.py.

595 def ObserverTrackFinalCfg(flags):
596  result = ComponentAccumulator()
597 
598  TrackContainer = "ObservedTracksCollection"
599  if flags.Tracking.doTruth:
600  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
601  result.merge(InDetTrackTruthCfg(
602  flags,
603  Tracks=TrackContainer,
604  DetailedTruth=TrackContainer + "DetailedTruth",
605  TracksTruth=TrackContainer + "TruthCollection"))
606 
607  from xAODTrackingCnv.xAODTrackingCnvConfig import (
608  ObserverTrackParticleCnvAlgCfg)
609  result.merge(ObserverTrackParticleCnvAlgCfg(
610  flags,
611  AssociationMapName = (
612  "PRDtoTrackMapMerge_CombinedInDetTracks")))
613 
614  return result
615 
616 

◆ PseudoTrackFinalCfg()

def python.TrackRecoConfig.PseudoTrackFinalCfg (   flags)

Definition at line 570 of file TrackRecoConfig.py.

570 def PseudoTrackFinalCfg(flags):
571  result = ComponentAccumulator()
572 
573  TrackContainer = "InDetPseudoTracks"
574  if flags.Tracking.doTruth:
575  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
576  result.merge(InDetTrackTruthCfg(
577  flags,
578  Tracks=TrackContainer,
579  DetailedTruth=TrackContainer + "DetailedTruth",
580  TracksTruth=TrackContainer + "TruthCollection"))
581 
582  from xAODTrackingCnv.xAODTrackingCnvConfig import TrackParticleCnvAlgCfg
583  result.merge(TrackParticleCnvAlgCfg(
584  flags,
585  name="PseudoTrackParticleCnvAlg",
586  TrackContainerName=TrackContainer,
587  xAODTrackParticlesFromTracksContainerName=(
588  "InDetPseudoTrackParticles"),
589  AssociationMapName=(
590  "PRDtoTrackMapMerge_CombinedInDetTracks")))
591 
592  return result
593 
594 

◆ SiSPSeededTracksFinalCfg()

def python.TrackRecoConfig.SiSPSeededTracksFinalCfg (   flags)

Definition at line 649 of file TrackRecoConfig.py.

649 def SiSPSeededTracksFinalCfg(flags):
650  result = ComponentAccumulator()
651 
652  primaryPassExtension = flags.Tracking[f"{flags.Tracking.PrimaryPassConfig.value}Pass"].extension
653 
654  # get list of extensions requesting track candidates.
655  # Add always the Primary Pass.
656  listOfExtensionsRequesting = [
657  e for e in _extensions_list
658  if (e=='' or flags.Tracking[f"{e}Pass"].storeSiSPSeededTracks) ]
659 
660  for extension in listOfExtensionsRequesting:
661  AssociationMapNameKey="PRDtoTrackMapMerge_CombinedInDetTracks"
662  if extension=='Disappearing':
663  AssociationMapNameKey = "PRDtoTrackMapMerge_DisappearingTracks"
664  elif not (extension == primaryPassExtension):
665  AssociationMapNameKey = f"InDetPRDtoTrackMap{extension}"
666 
667  from xAODTrackingCnv.xAODTrackingCnvConfig import (
668  TrackParticleCnvAlgNoPIDCfg)
669  result.merge(TrackParticleCnvAlgNoPIDCfg(
670  flags,
671  name = f"SiSPSeededTracks{extension}CnvAlg",
672  TrackContainerName = f"SiSPSeeded{extension}Tracks",
673  xAODTrackParticlesFromTracksContainerName=(
674  f"SiSPSeededTracks{extension}TrackParticles"),
675  AssociationMapName=AssociationMapNameKey))
676 
677  return result
678 
679 

◆ SiSubDetTrackRecoCfg()

def python.TrackRecoConfig.SiSubDetTrackRecoCfg (   flags,
  detector = "",
  extensions_list = None,
  ClusterSplitProbContainer = "" 
)

Definition at line 190 of file TrackRecoConfig.py.

190 def SiSubDetTrackRecoCfg(flags, detector="",
191  extensions_list=None,
192  ClusterSplitProbContainer=""):
193  result = ComponentAccumulator()
194 
195  if extensions_list is None:
196  extensions_list = []
197 
198  flagsDet = flags.cloneAndReplace("Tracking.ActiveConfig",
199  f"Tracking.{detector}Pass")
200  TrackContainer = f"Resolved{detector}Tracks"
201  extensions_list.append(flagsDet.Tracking.ActiveConfig.extension)
202  printActiveConfig(flagsDet)
203 
204  from InDetConfig.TrackingSiPatternConfig import TrackingSiPatternCfg
205  result.merge(TrackingSiPatternCfg(
206  flagsDet,
207  InputCollections=[],
208  ResolvedTrackCollectionKey=TrackContainer,
209  SiSPSeededTrackCollectionKey=f"SiSPSeeded{detector}Tracks",
210  ClusterSplitProbContainer=ClusterSplitProbContainer))
211 
212  ClusterSplitProbContainer = (
213  "InDetAmbiguityProcessorSplitProb" +
214  flagsDet.Tracking.ActiveConfig.extension)
215 
216  if flags.Tracking.doTruth:
217  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
218  result.merge(InDetTrackTruthCfg(
219  flagsDet,
220  Tracks=TrackContainer,
221  DetailedTruth=TrackContainer+"DetailedTruth",
222  TracksTruth=TrackContainer+"TruthCollection"))
223 
224  from xAODTrackingCnv.xAODTrackingCnvConfig import (
225  TrackParticleCnvAlgPIDCheckCfg)
226  result.merge(TrackParticleCnvAlgPIDCheckCfg(
227  flagsDet,
228  name=TrackContainer+"CnvAlg",
229  TrackContainerName=TrackContainer,
230  xAODTrackParticlesFromTracksContainerName=(
231  f"InDet{detector}TrackParticles")))
232 
233  return result, ClusterSplitProbContainer
234 
235 

◆ StoreTrackSeparateContainerCfg()

def python.TrackRecoConfig.StoreTrackSeparateContainerCfg (   flags,
  TrackContainer = "",
  ClusterSplitProbContainer = "" 
)

Definition at line 296 of file TrackRecoConfig.py.

296 def StoreTrackSeparateContainerCfg(flags, TrackContainer="",
297  ClusterSplitProbContainer=""):
298  result = ComponentAccumulator()
299  if hasattr(flags.TrackOverlay, "ActiveConfig"):
300  doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
301  else:
302  doTrackOverlay = flags.Overlay.doTrackOverlay
303 
304  # Dummy Merger to fill additional info
305  # for PRD-associated pixel tracklets
306  # Can also run on all separate collections like R3LargeD0
307  # but kept consistent with legacy config
308 
309  AssociationMapName = ""
310  extension = flags.Tracking.ActiveConfig.extension
311 
312  if extension == "Disappearing" or doTrackOverlay:
313  if extension == "Disappearing":
314  InputTracks = [TrackContainer]
315  if doTrackOverlay:
316  InputTracks += [flags.Overlay.BkgPrefix +
317  extension + "Tracks"]
318  TrackContainer = extension+"Tracks"
319  AssociationMapName = "PRDtoTrackMapMerge_" + TrackContainer
320  MergerOutputTracks = TrackContainer
321  elif doTrackOverlay:
322  # schedule merger to combine signal and background tracks
323  InputTracks = [flags.Overlay.SigPrefix+TrackContainer,
324  flags.Overlay.BkgPrefix+TrackContainer]
325  AssociationMapName = ("PRDtoTrackMapMerge_Resolved" +
326  extension + "Tracks")
327  MergerOutputTracks = TrackContainer
328 
329  from TrkConfig.TrkTrackCollectionMergerConfig import (
330  TrackCollectionMergerAlgCfg)
331  result.merge(TrackCollectionMergerAlgCfg(
332  flags,
333  name = "TrackCollectionMergerAlgCfg"+extension,
334  InputCombinedTracks=InputTracks,
335  OutputCombinedTracks=MergerOutputTracks,
336  AssociationMapName=AssociationMapName))
337 
338  if flags.Tracking.doTruth:
339  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
340  result.merge(InDetTrackTruthCfg(
341  flags,
342  Tracks=TrackContainer,
343  DetailedTruth=TrackContainer+"DetailedTruth",
344  TracksTruth=TrackContainer+"TruthCollection"))
345 
346  # Need specific handling with TrackParticles for R3LargeD0
347  # not to break downstream configs
348  xAODTrackParticlesName = (
349  "InDetLargeD0TrackParticles" if "LargeD0" in extension else
350  "InDet" + extension + "TrackParticles")
351 
352  from xAODTrackingCnv.xAODTrackingCnvConfig import (
353  TrackParticleCnvAlgPIDCheckCfg)
354  result.merge(TrackParticleCnvAlgPIDCheckCfg(
355  flags,
356  name = extension + "TrackParticleCnvAlg",
357  TrackContainerName=TrackContainer,
358  xAODTrackParticlesFromTracksContainerName=xAODTrackParticlesName,
359  ClusterSplitProbabilityName=ClusterSplitProbContainer,
360  AssociationMapName=AssociationMapName))
361 
362  return result, TrackContainer
363 
364 
365 # Returns CA + ClusterSplitProbContainer

◆ TrackFinalCfg()

def python.TrackRecoConfig.TrackFinalCfg (   flags,
  InputCombinedInDetTracks = None,
  StatTrackCollections = None,
  StatTrackTruthCollections = None 
)

Definition at line 511 of file TrackRecoConfig.py.

511 def TrackFinalCfg(flags,
512  InputCombinedInDetTracks=None,
513  StatTrackCollections=None,
514  StatTrackTruthCollections=None):
515  result = ComponentAccumulator()
516  if hasattr(flags.TrackOverlay, "ActiveConfig"):
517  doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
518  else:
519  doTrackOverlay = flags.Overlay.doTrackOverlay
520 
521  if InputCombinedInDetTracks is None:
522  InputCombinedInDetTracks = []
523  if StatTrackCollections is None:
524  StatTrackCollections = []
525  if StatTrackTruthCollections is None:
526  StatTrackTruthCollections = []
527 
528  if doTrackOverlay:
529  InputCombinedInDetTracks += [flags.Overlay.BkgPrefix +
530  "CombinedInDetTracks"]
531 
532  TrackContainer = "CombinedInDetTracks"
533 
534  from TrkConfig.TrkTrackCollectionMergerConfig import (
535  TrackCollectionMergerAlgCfg)
536  result.merge(TrackCollectionMergerAlgCfg(
537  flags,
538  InputCombinedTracks=InputCombinedInDetTracks,
539  OutputCombinedTracks=TrackContainer,
540  AssociationMapName=f"PRDtoTrackMapMerge_{TrackContainer}"))
541 
542  if flags.Tracking.doTruth:
543  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
544  result.merge(InDetTrackTruthCfg(
545  flags,
546  Tracks=TrackContainer,
547  DetailedTruth=f"{TrackContainer}DetailedTruth",
548  TracksTruth=f"{TrackContainer}TruthCollection"))
549 
550  StatTrackCollections += [TrackContainer]
551  StatTrackTruthCollections += [f"{TrackContainer}TruthCollection"]
552 
553  if flags.Tracking.doSlimming:
554  from TrkConfig.TrkTrackSlimmerConfig import TrackSlimmerCfg
555  result.merge(TrackSlimmerCfg(
556  flags,
557  TrackLocation=[TrackContainer]))
558 
559  if flags.Tracking.perigeeExpression == "BeamLine":
560  from xAODTrackingCnv.xAODTrackingCnvConfig import TrackParticleCnvAlgCfg
561  result.merge(TrackParticleCnvAlgCfg(
562  flags,
563  ClusterSplitProbabilityName=ClusterSplitProbabilityContainerName(
564  flags),
565  AssociationMapName=f"PRDtoTrackMapMerge_{TrackContainer}"))
566 
567  return result
568 
569 

◆ TrackRecoConfigTest()

def python.TrackRecoConfig.TrackRecoConfigTest (   flags = None)

Definition at line 992 of file TrackRecoConfig.py.

992 def TrackRecoConfigTest(flags=None):
993 
994  store_config = False
995  if flags is None:
996  store_config = True
997  from AthenaConfiguration.AllConfigFlags import initConfigFlags
998  flags = initConfigFlags()
999 
1000  # Disable calo for this test
1001  from InDetConfig.ConfigurationHelpers import OnlyTrackingPreInclude
1002  OnlyTrackingPreInclude(flags)
1003 
1004  from AthenaConfiguration.TestDefaults import defaultTestFiles, defaultConditionsTags
1005  flags.Input.Files = defaultTestFiles.RDO_RUN3
1006  flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_MC
1007  flags.Exec.MaxEvents = 1
1008 
1009  flags.lock()
1010 
1011  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
1012  top_acc = MainServicesCfg(flags)
1013 
1014  if flags.Input.Format is not Format.BS:
1015  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
1016  top_acc.merge(PoolReadCfg(flags))
1017 
1018  if flags.Detector.EnableCalo:
1019  if flags.Input.Format is Format.BS:
1020  from CaloRec.CaloRecoConfig import CaloRecoCfg
1021  top_acc.merge(CaloRecoCfg(flags))
1022  else:
1023  from CaloRec.CaloTopoClusterConfig import CaloTopoClusterCfg
1024  top_acc.merge(CaloTopoClusterCfg(flags))
1025 
1026  if flags.Input.Format is not Format.BS:
1027  # TODO find better way to determine RDO vs ESD input?
1028  if "PixelRDOs" in flags.Input.Collections:
1029  if "EventInfo" not in flags.Input.Collections:
1030  from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg
1031  top_acc.merge(EventInfoCnvAlgCfg(flags))
1032 
1033  if flags.Input.isMC:
1034  from xAODTruthCnv.xAODTruthCnvConfig import GEN_AOD2xAODCfg
1035  top_acc.merge(GEN_AOD2xAODCfg(flags))
1036  else:
1037  if flags.Tracking.doTruth :
1038  from xAODTruthCnv.RedoTruthLinksConfig import RedoTruthLinksAlgCfg
1039  top_acc.merge( RedoTruthLinksAlgCfg(flags) )
1040 
1041  top_acc.merge(InDetTrackRecoCfg(flags))
1042 
1043  if store_config:
1044  from AthenaCommon.Constants import DEBUG
1045  top_acc.foreach_component("AthEventSeq/*").OutputLevel = DEBUG
1046  top_acc.printConfig(withDetails=True, summariseProps=True)
1047  top_acc.store(open("TrackRecoConfig.pkl", "wb"))
1048 
1049  import sys
1050  if "--norun" not in sys.argv:
1051  sc = top_acc.run()
1052  if sc.isFailure():
1053  sys.exit(-1)
1054 

◆ TrackRecoPassCfg()

def python.TrackRecoConfig.TrackRecoPassCfg (   flags,
  extension = "",
  doTrackingSiPattern = True,
  InputCombinedInDetTracks = None,
  InputExtendedInDetTracks = None,
  StatTrackCollections = None,
  StatTrackTruthCollections = None,
  ClusterSplitProbContainer = "" 
)

Definition at line 405 of file TrackRecoConfig.py.

405 def TrackRecoPassCfg(flags, extension="",
406  doTrackingSiPattern=True,
407  InputCombinedInDetTracks=None,
408  InputExtendedInDetTracks=None,
409  StatTrackCollections=None,
410  StatTrackTruthCollections=None,
411  ClusterSplitProbContainer=""):
412  result = ComponentAccumulator()
413  if hasattr(flags.TrackOverlay, "ActiveConfig"):
414  doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
415  else:
416  doTrackOverlay = flags.Overlay.doTrackOverlay
417  if InputCombinedInDetTracks is None:
418  InputCombinedInDetTracks = []
419  if InputExtendedInDetTracks is None:
420  InputExtendedInDetTracks = []
421  if StatTrackCollections is None:
422  StatTrackCollections = []
423  if StatTrackTruthCollections is None:
424  StatTrackTruthCollections = []
425 
426  ResolvedTracks = "Resolved" + extension + "Tracks"
427 
428  # for track overlay, save resolved track name
429  # for final merged track collection
430  if (doTrackOverlay and
431  flags.Tracking.ActiveConfig.storeSeparateContainer and
432  not flags.Tracking.ActiveConfig.useTRTExtension):
433  ResolvedTracks = flags.Overlay.SigPrefix + ResolvedTracks
434 
435  # Tweak to match old config key
436  if "LargeD0" in extension:
437  ResolvedTracks = "ResolvedLargeD0Tracks"
438 
439  # ---------------------------------------
440  # --- Si pattern, if not done in the cosmic preprocessing
441  # ---------------------------------------
442 
443  if doTrackingSiPattern:
444  SiSPSeededTracks = "SiSPSeeded" + extension + "Tracks"
445  from InDetConfig.TrackingSiPatternConfig import TrackingSiPatternCfg
446  result.merge(TrackingSiPatternCfg(
447  flags,
448  InputCollections=InputExtendedInDetTracks,
449  ResolvedTrackCollectionKey=ResolvedTracks,
450  SiSPSeededTrackCollectionKey=SiSPSeededTracks,
451  ClusterSplitProbContainer=ClusterSplitProbContainer))
452  StatTrackCollections += [SiSPSeededTracks, ResolvedTracks]
453  StatTrackTruthCollections += [SiSPSeededTracks+"TruthCollection",
454  ResolvedTracks+"TruthCollection"]
455 
456  TrackContainer = ResolvedTracks
457  if (doTrackOverlay and
458  flags.Tracking.ActiveConfig.storeSeparateContainer):
459  TrackContainer = "Resolved" + extension + "Tracks"
460 
461  # ---------------------------------------
462  # --- TRT extension
463  # ---------------------------------------
464 
465  if flags.Tracking.ActiveConfig.useTRTExtension:
466  ExtendedTracks = "Extended" + extension + "Tracks"
467  # Tweaks to match old config key
468  if extension == "Disappearing":
469  ExtendedTracks = "ExtendedTracksDisappearing"
470  elif "LargeD0" in extension:
471  ExtendedTracks = "ExtendedLargeD0Tracks"
472  if doTrackOverlay:
473  ExtendedTracks = flags.Overlay.SigPrefix+"ExtendedLargeD0Tracks"
474  ExtendedTracksMap = "ExtendedTracksMap" + extension
475 
476  from InDetConfig.TRTExtensionConfig import NewTrackingTRTExtensionCfg
477  result.merge(NewTrackingTRTExtensionCfg(
478  flags,
479  SiTrackCollection=ResolvedTracks,
480  ExtendedTrackCollection=ExtendedTracks,
481  ExtendedTracksMap=ExtendedTracksMap))
482 
483  TrackContainer = ExtendedTracks
484  if doTrackOverlay and "LargeD0" in extension:
485  TrackContainer = "ExtendedLargeD0Tracks"
486  StatTrackCollections += [ExtendedTracks]
487  StatTrackTruthCollections += [ExtendedTracks+"TruthCollection"]
488 
489  # ---------------------------------------
490  # --- Store separate container if needed
491  # ---------------------------------------
492 
493  if flags.Tracking.ActiveConfig.storeSeparateContainer:
494  acc, TrackContainer = StoreTrackSeparateContainerCfg(
495  flags,
496  TrackContainer=TrackContainer,
497  ClusterSplitProbContainer=ClusterSplitProbContainer)
498  result.merge(acc)
499 
500  else: # Do not store separate track container
501  ClusterSplitProbContainer = (
502  "InDetAmbiguityProcessorSplitProb" +
503  flags.Tracking.ActiveConfig.extension)
504  InputCombinedInDetTracks += [TrackContainer]
505 
506  InputExtendedInDetTracks += [TrackContainer]
507 
508  return result, ClusterSplitProbContainer
509 
510 

◆ TrackSeedsFinalCfg()

def python.TrackRecoConfig.TrackSeedsFinalCfg (   flags)

Definition at line 617 of file TrackRecoConfig.py.

617 def TrackSeedsFinalCfg(flags):
618  result = ComponentAccumulator()
619 
620  # get list of extensions requesting track seeds.
621  # Add always the Primary Pass.
622  listOfExtensionsRequesting = [
623  e for e in _extensions_list
624  if (e == '' or flags.Tracking[f"{e}Pass"].storeTrackSeeds) ]
625 
626  for extension in listOfExtensionsRequesting:
627  TrackContainer = "SiSPSeedSegments"+extension
628 
629  if flags.Tracking.doTruth:
630  from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
631  result.merge(InDetTrackTruthCfg(
632  flags,
633  Tracks=TrackContainer,
634  DetailedTruth=f"{TrackContainer}DetailedTruth",
635  TracksTruth=f"{TrackContainer}TruthCollection"))
636 
637  from xAODTrackingCnv.xAODTrackingCnvConfig import (
638  TrackParticleCnvAlgNoPIDCfg)
639  result.merge(TrackParticleCnvAlgNoPIDCfg(
640  flags,
641  name=f"{TrackContainer}CnvAlg",
642  TrackContainerName=TrackContainer,
643  xAODTrackParticlesFromTracksContainerName=(
644  f"{TrackContainer}TrackParticles")))
645 
646  return result
647 
648 

◆ TRTStandalonePassRecoCfg()

def python.TrackRecoConfig.TRTStandalonePassRecoCfg (   flags,
  InputCombinedInDetTracks = None,
  InputExtendedInDetTracks = None,
  StatTrackCollections = None,
  StatTrackTruthCollections = None 
)

Definition at line 257 of file TrackRecoConfig.py.

257 def TRTStandalonePassRecoCfg(flags,
258  InputCombinedInDetTracks=None,
259  InputExtendedInDetTracks=None,
260  StatTrackCollections=None,
261  StatTrackTruthCollections=None):
262  result = ComponentAccumulator()
263 
264  if InputCombinedInDetTracks is None:
265  InputCombinedInDetTracks = []
266  if InputExtendedInDetTracks is None:
267  InputExtendedInDetTracks = []
268  if StatTrackCollections is None:
269  StatTrackCollections = []
270  if StatTrackTruthCollections is None:
271  StatTrackTruthCollections = []
272 
273  from InDetConfig.TRTStandaloneConfig import TRTStandaloneCfg
274  result.merge(TRTStandaloneCfg(flags,
275  InputCollections=InputCombinedInDetTracks))
276 
277  TRTTrackContainer = "TRTStandaloneTracks"
278  InputCombinedInDetTracks += [TRTTrackContainer]
279  InputExtendedInDetTracks += [TRTTrackContainer]
280  StatTrackCollections += [TRTTrackContainer]
281  StatTrackTruthCollections += [TRTTrackContainer+"TruthCollection"]
282 
283  if flags.Tracking.doTrackSegmentsTRT:
284  from xAODTrackingCnv.xAODTrackingCnvConfig import (
285  TrackParticleCnvAlgNoPIDCfg)
286  result.merge(TrackParticleCnvAlgNoPIDCfg(
287  flags, TRTTrackContainer+"CnvAlg",
288  TrackContainerName=TRTTrackContainer,
289  xAODTrackParticlesFromTracksContainerName=(
290  "InDetTRTTrackParticles")))
291 
292  return result
293 
294 
295 # Return CA + TrackContainer

◆ TRTTrackRecoCfg()

def python.TrackRecoConfig.TRTTrackRecoCfg (   flags,
  extensions_list = None 
)

Definition at line 236 of file TrackRecoConfig.py.

236 def TRTTrackRecoCfg(flags, extensions_list=None):
237  result = ComponentAccumulator()
238 
239  if extensions_list is None:
240  extensions_list = []
241 
242  flagsTRT = flags.cloneAndReplace("Tracking.ActiveConfig",
243  "Tracking.TRTPass")
244  extensions_list.append(flagsTRT.Tracking.ActiveConfig.extension)
245  printActiveConfig(flagsTRT)
246 
247  from InDetConfig.TRTSegmentFindingConfig import (
248  TRTSegmentFinding_TrackSegments_Cfg)
249  result.merge(TRTSegmentFinding_TrackSegments_Cfg(flagsTRT))
250 
251  from InDetConfig.TRTStandaloneConfig import TRT_TrackSegment_Cfg
252  result.merge(TRT_TrackSegment_Cfg(flagsTRT))
253 
254  return result
255 
256 

Variable Documentation

◆ _extensions_list

list python.TrackRecoConfig._extensions_list = []
private

Definition at line 8 of file TrackRecoConfig.py.

◆ _flags_set

list python.TrackRecoConfig._flags_set = []
private

Definition at line 7 of file TrackRecoConfig.py.

PixelRawDataByteStreamCnvConfig.PixelRawDataProviderAlgCfg
def PixelRawDataProviderAlgCfg(flags, RDOKey="PixelRDOs", **kwargs)
Definition: PixelRawDataByteStreamCnvConfig.py:15
python.TRT_RawDataByteStreamCnvConfig.TRTRawDataProviderCfg
def TRTRawDataProviderCfg(flags, name="TRTRawDataProvider", **kwargs)
Definition: TRT_RawDataByteStreamCnvConfig.py:19
python.TRTPreProcessing.TRTPreProcessingCfg
def TRTPreProcessingCfg(flags)
Definition: TRTPreProcessing.py:10
python.SCT_RawDataByteStreamCnvConfig.SCTRawDataProviderCfg
def SCTRawDataProviderCfg(flags, prefix="InDet", suffix="", **kwargs)
Definition: SCT_RawDataByteStreamCnvConfig.py:30
python.ITkTrackRecoConfig.ITkTrackRecoCfg
ComponentAccumulator ITkTrackRecoCfg(flags)
Main ITk tracking config #####################.
Definition: ITkTrackRecoConfig.py:533
python.CaloRecoConfig.CaloRecoCfg
def CaloRecoCfg(flags, clustersname=None)
Definition: CaloRecoConfig.py:9
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.TrackRecoConfig.TrackRecoPassCfg
def TrackRecoPassCfg(flags, extension="", doTrackingSiPattern=True, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None, ClusterSplitProbContainer="")
Definition: TrackRecoConfig.py:405
xAODTrackingCnvConfig.ObserverTrackParticleCnvAlgCfg
def ObserverTrackParticleCnvAlgCfg(flags, name="ObserverTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
Definition: xAODTrackingCnvConfig.py:272
python.TrackRecoConfig.PseudoTrackFinalCfg
def PseudoTrackFinalCfg(flags)
Definition: TrackRecoConfig.py:570
python.InDetRecStatisticsConfig.InDetRecStatisticsAlgCfg
def InDetRecStatisticsAlgCfg(flags, name='InDetRecStatistics', **kwargs)
Definition: InDetRecStatisticsConfig.py:8
xAODTrackingCnvConfig.TrackParticleCnvAlgNoPIDCfg
def TrackParticleCnvAlgNoPIDCfg(flags, name, ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
Definition: xAODTrackingCnvConfig.py:251
python.SiliconPreProcessing.InDetRecPreProcessingSiliconCfg
def InDetRecPreProcessingSiliconCfg(flags)
Definition: SiliconPreProcessing.py:5
python.TrackingPassFlags.printPrimaryConfig
def printPrimaryConfig(flags)
Definition: TrackingPassFlags.py:993
xAODTruthCnvConfig.GEN_AOD2xAODCfg
def GEN_AOD2xAODCfg(flags, name="GEN_AOD2xAOD", **kwargs)
Definition: xAODTruthCnvConfig.py:15
python.TrackRecoConfig.TrackSeedsFinalCfg
def TrackSeedsFinalCfg(flags)
Definition: TrackRecoConfig.py:617
xAODTrackingCnvConfig.TrackParticleCnvAlgPIDCheckCfg
def TrackParticleCnvAlgPIDCheckCfg(flags, name, ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
Definition: xAODTrackingCnvConfig.py:232
python.TrkTruthTrackAlgsConfig.TruthTrackingCfg
def TruthTrackingCfg(flags, name='InDetTruthTrackCreation', **kwargs)
Definition: TrkTruthTrackAlgsConfig.py:8
python.TrackRecoConfig.SiSPSeededTracksFinalCfg
def SiSPSeededTracksFinalCfg(flags)
Definition: TrackRecoConfig.py:649
python.TrackRecoConfig.TRTTrackRecoCfg
def TRTTrackRecoCfg(flags, extensions_list=None)
Definition: TrackRecoConfig.py:236
python.TrackRecoConfig.ClusterSplitProbabilityContainerName
def ClusterSplitProbabilityContainerName(flags)
Definition: TrackRecoConfig.py:86
python.TrackRecoConfig.SiSubDetTrackRecoCfg
def SiSubDetTrackRecoCfg(flags, detector="", extensions_list=None, ClusterSplitProbContainer="")
Definition: TrackRecoConfig.py:190
RedoTruthLinksConfig.RedoTruthLinksAlgCfg
def RedoTruthLinksAlgCfg(flags)
Definition: RedoTruthLinksConfig.py:5
python.TrackingPassFlags.printActiveConfig
def printActiveConfig(flags)
Definition: TrackingPassFlags.py:1004
python.TrackRecoConfig.CombinedTrackingPassFlagSets
def CombinedTrackingPassFlagSets(flags)
Definition: TrackRecoConfig.py:10
python.TrackRecoConfig.StoreTrackSeparateContainerCfg
def StoreTrackSeparateContainerCfg(flags, TrackContainer="", ClusterSplitProbContainer="")
Definition: TrackRecoConfig.py:296
python.TrackTruthConfig.InDetTrackTruthCfg
def InDetTrackTruthCfg(flags, Tracks="CombinedInDetTracks", DetailedTruth="CombinedInDetTracksDetailedTruth", TracksTruth="CombinedInDetTracksTruthCollection")
Definition: TrackTruthConfig.py:11
python.InDetTrackPRD_AssociationConfig.InDetTrackPRD_AssociationCfg
def InDetTrackPRD_AssociationCfg(flags, name='InDetTrackPRD_Association', **kwargs)
Definition: InDetTrackPRD_AssociationConfig.py:6
python.ConfigurationHelpers.OnlyTrackingPreInclude
def OnlyTrackingPreInclude(flags)
Definition: InnerDetector/InDetConfig/python/ConfigurationHelpers.py:6
python.InDetV0FinderConfig.InDetV0FinderCfg
def InDetV0FinderCfg(flags, name="InDetV0Finder", V0ContainerName="V0UnconstrVertices", KshortContainerName="V0KshortVertices", LambdaContainerName="V0LambdaVertices", LambdabarContainerName="V0LambdabarVertices", **kwargs)
Definition: InDetV0FinderConfig.py:115
python.TRTExtensionConfig.NewTrackingTRTExtensionPhaseCfg
def NewTrackingTRTExtensionPhaseCfg(flags, SiTrackCollection=None, ExtendedTrackCollection=None, ExtendedTracksMap=None)
Definition: TRTExtensionConfig.py:39
python.TrackRecoConfig.ExtendedPRDInfoCfg
def ExtendedPRDInfoCfg(flags)
Definition: TrackRecoConfig.py:702
python.TRTSegmentFindingConfig.TRTSegmentFinding_Phase_Cfg
def TRTSegmentFinding_Phase_Cfg(flags)
Definition: TRTSegmentFindingConfig.py:43
python.InDetCosmicsEventPhaseConfig.InDetCosmicsEventPhaseCfg
def InDetCosmicsEventPhaseCfg(flags, name='InDetCosmicsEventPhase', **kwargs)
Definition: InDetCosmicsEventPhaseConfig.py:55
python.TRTSegmentFindingConfig.TRTSegmentFinding_TrackSegments_Cfg
def TRTSegmentFinding_TrackSegments_Cfg(flags)
Definition: TRTSegmentFindingConfig.py:73
python.InDetToolsConfig.ObserverTSOS_CommonKernelCfg
def ObserverTSOS_CommonKernelCfg(flags, name="ObserverTSOS_CommonKernel")
Definition: InDetToolsConfig.py:172
python.TrkTrackSlimmerConfig.TrackSlimmerCfg
def TrackSlimmerCfg(flags, name="TrackSlimmer", **kwargs)
Definition: TrkTrackSlimmerConfig.py:6
python.TrackRecoConfig.TrackFinalCfg
def TrackFinalCfg(flags, InputCombinedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None)
Definition: TrackRecoConfig.py:511
python.TRT_SegmentsToTrackConfig.TRT_Cosmics_SegmentsToTrackCfg
def TRT_Cosmics_SegmentsToTrackCfg(flags, name='InDetTRT_Cosmics_SegmentsToTrack', **kwargs)
Definition: TRT_SegmentsToTrackConfig.py:6
python.TrackRecoConfig.InDetPreProcessingCfg
def InDetPreProcessingCfg(flags)
Definition: TrackRecoConfig.py:158
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
Constants
some useful constants -------------------------------------------------—
python.TRTExtensionConfig.NewTrackingTRTExtensionCfg
def NewTrackingTRTExtensionCfg(flags, SiTrackCollection=None, ExtendedTrackCollection=None, ExtendedTracksMap=None)
Definition: TRTExtensionConfig.py:9
python.InDetPrepRawDataFormationConfig.InDetTRT_Phase_RIO_MakerCfg
def InDetTRT_Phase_RIO_MakerCfg(flags, name="InDetTRT_Phase_RIO_Maker", **kwargs)
Definition: InDetPrepRawDataFormationConfig.py:265
python.InDetToolsConfig.PseudoTSOS_CommonKernelCfg
def PseudoTSOS_CommonKernelCfg(flags, name="PseudoTSOS_CommonKernel")
Definition: InDetToolsConfig.py:191
python.ITkTrackRecoConfig.ITkClusterSplitProbabilityContainerName
def ITkClusterSplitProbabilityContainerName(flags)
Definition: ITkTrackRecoConfig.py:115
python.InDetTrackOutputConfig.InDetTrackRecoOutputCfg
def InDetTrackRecoOutputCfg(flags, extensions_list=None)
Definition: InDetTrackOutputConfig.py:23
python.CaloTopoClusterConfig.CaloTopoClusterCfg
def CaloTopoClusterCfg(flags, cellsname="AllCalo", clustersname=None, clustersnapname="CaloTopoClusters")
Definition: CaloTopoClusterConfig.py:318
python.InDetPriVxFinderConfig.primaryVertexFindingCfg
ComponentAccumulator primaryVertexFindingCfg(flags, str name="InDetPriVxFinder", str vxCandidatesOutputName="PrimaryVertices", **kwargs)
Definition: InDetPriVxFinderConfig.py:78
python.InDetTrackClusterAssValidationConfig.InDetTrackClusterAssValidationCfg
def InDetTrackClusterAssValidationCfg(flags, name='InDetTrackClusterAssValidation', **kwargs)
Definition: InDetTrackClusterAssValidationConfig.py:7
python.TrackingSiPatternConfig.TrackingSiPatternCfg
def TrackingSiPatternCfg(flags, InputCollections=None, ResolvedTrackCollectionKey=None, SiSPSeededTrackCollectionKey=None, ClusterSplitProbContainer='')
Definition: TrackingSiPatternConfig.py:9
python.TRTStandaloneConfig.TRT_TrackSegment_Cfg
def TRT_TrackSegment_Cfg(flags)
Definition: TRTStandaloneConfig.py:50
python.TrackRecoConfig.InDetTrackRecoCfg
def InDetTrackRecoCfg(flags)
Main ID tracking config #####################.
Definition: TrackRecoConfig.py:791
Trk::open
@ open
Definition: BinningType.h:40
python.TrackRecoConfig.TRTStandalonePassRecoCfg
def TRTStandalonePassRecoCfg(flags, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None)
Definition: TrackRecoConfig.py:257
python.TrackRecoConfig.InDetCosmicsTrackRecoPreProcessingCfg
def InDetCosmicsTrackRecoPreProcessingCfg(flags)
Definition: TrackRecoConfig.py:110
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TRTStandaloneConfig.TRTStandaloneCfg
def TRTStandaloneCfg(flags, InputCollections=None)
Definition: TRTStandaloneConfig.py:5
python.TrackRecoConfig.BackTrackingRecoCfg
def BackTrackingRecoCfg(flags, InputCombinedInDetTracks=None, InputExtendedInDetTracks=None, StatTrackCollections=None, StatTrackTruthCollections=None, ClusterSplitProbContainer="")
Definition: TrackRecoConfig.py:366
InDetPhysValDecorationConfig.InDetPhysHitDecoratorAlgCfg
def InDetPhysHitDecoratorAlgCfg(flags, name="InDetPhysHitDecoratorAlg", **kwargs)
Definition: InDetPhysValDecorationConfig.py:29
python.SCT_RawDataByteStreamCnvConfig.SCTEventFlagWriterCfg
def SCTEventFlagWriterCfg(flags, prefix="InDet", suffix="", **kwargs)
Definition: SCT_RawDataByteStreamCnvConfig.py:71
python.TRTSegmentFindingConfig.TRTSegmentFindingCfg
def TRTSegmentFindingCfg(flags, InputCollections=None)
Definition: TRTSegmentFindingConfig.py:5
python.TrackRecoConfig.TrackRecoConfigTest
def TrackRecoConfigTest(flags=None)
Definition: TrackRecoConfig.py:992
python.InDetToolsConfig.TSOS_CommonKernelCfg
def TSOS_CommonKernelCfg(flags, name="TSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:107
python.xAODEventInfoCnvConfig.EventInfoCnvAlgCfg
def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg", inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=False, **kwargs)
Definition: xAODEventInfoCnvConfig.py:11
python.TrkTrackCollectionMergerConfig.TrackCollectionMergerAlgCfg
def TrackCollectionMergerAlgCfg(flags, name="InDetTrackCollectionMerger", InputCombinedTracks=None, OutputCombinedTracks="", **kwargs)
Definition: TrkTrackCollectionMergerConfig.py:7
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:69
python.InDetToolsConfig.SiSPSeedsTSOS_CommonKernelCfg
def SiSPSeedsTSOS_CommonKernelCfg(flags, name="SiSPSeedsTSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:210
python.TrackRecoConfig.InDetStatsCfg
def InDetStatsCfg(flags, StatTrackCollections=None, StatTrackTruthCollections=None)
Definition: TrackRecoConfig.py:680
python.InDetToolsConfig.SiSPTSOS_CommonKernelCfg
def SiSPTSOS_CommonKernelCfg(flags, name="SiSPTSOS_CommonKernel", listOfExtensions=[])
Definition: InDetToolsConfig.py:240
xAODTrackingCnvConfig.TrackParticleCnvAlgCfg
def TrackParticleCnvAlgCfg(flags, name="TrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", **kwargs)
TrackParticleCnvAlg.
Definition: xAODTrackingCnvConfig.py:97
python.BackTrackingConfig.BackTrackingCfg
def BackTrackingCfg(flags, InputCollections=None, ClusterSplitProbContainer='')
Definition: BackTrackingConfig.py:10
python.TrackRecoConfig.ObserverTrackFinalCfg
def ObserverTrackFinalCfg(flags)
Definition: TrackRecoConfig.py:595