ATLAS Offline Software
Loading...
Searching...
No Matches
python.TrackRecoConfig Namespace Reference

Functions

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

Variables

list _flags_set = []
list _extensions_list = []

Function Documentation

◆ BackTrackingRecoCfg()

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

Definition at line 379 of file TrackRecoConfig.py.

384 ClusterSplitProbContainer=""):
385 result = ComponentAccumulator()
386
387 if InputCombinedInDetTracks is None:
388 InputCombinedInDetTracks = []
389 if InputExtendedInDetTracks is None:
390 InputExtendedInDetTracks = []
391 if StatTrackCollections is None:
392 StatTrackCollections = []
393 if StatTrackTruthCollections is None:
394 StatTrackTruthCollections = []
395
396 from InDetConfig.BackTrackingConfig import BackTrackingCfg
397 result.merge(BackTrackingCfg(
398 flags,
399 InputCollections=InputCombinedInDetTracks,
400 ClusterSplitProbContainer=ClusterSplitProbContainer))
401
402 ClusterSplitProbContainer = (
403 "InDetTRT_SeededAmbiguityProcessorSplitProb" +
404 flags.Tracking.ActiveConfig.extension)
405 TRTSeededTracks = "TRTSeededTracks"
406 ResolvedTRTSeededTracks = "ResolvedTRTSeededTracks"
407 InputCombinedInDetTracks += [ResolvedTRTSeededTracks]
408 InputExtendedInDetTracks += [ResolvedTRTSeededTracks]
409 StatTrackCollections += [TRTSeededTracks,
410 ResolvedTRTSeededTracks]
411 StatTrackTruthCollections += [TRTSeededTracks+"TruthCollection",
412 ResolvedTRTSeededTracks+"TruthCollection"]
413
414 return result, ClusterSplitProbContainer
415
416
417# Returns CA + ClusterSplitProbContainer

◆ ClusterSplitProbabilityContainerName()

python.TrackRecoConfig.ClusterSplitProbabilityContainerName ( flags)

Definition at line 86 of file TrackRecoConfig.py.

86def ClusterSplitProbabilityContainerName(flags):
87 if flags.Detector.GeometryITk:
88 from InDetConfig.ITkTrackRecoConfig import (
89 ITkClusterSplitProbabilityContainerName)
90 return ITkClusterSplitProbabilityContainerName(flags)
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()

python.TrackRecoConfig.CombinedTrackingPassFlagSets ( flags)

Definition at line 10 of file TrackRecoConfig.py.

10def CombinedTrackingPassFlagSets(flags):
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()

python.TrackRecoConfig.ExtendedPRDInfoCfg ( flags)

Definition at line 715 of file TrackRecoConfig.py.

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

◆ InDetCosmicsTrackRecoPreProcessingCfg()

python.TrackRecoConfig.InDetCosmicsTrackRecoPreProcessingCfg ( flags)

Definition at line 110 of file TrackRecoConfig.py.

110def InDetCosmicsTrackRecoPreProcessingCfg(flags):
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()

python.TrackRecoConfig.InDetPreProcessingCfg ( flags)

Definition at line 158 of file TrackRecoConfig.py.

158def 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

◆ InDetStatsCfg()

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

Definition at line 693 of file TrackRecoConfig.py.

694 StatTrackTruthCollections=None):
695 result = ComponentAccumulator()
696
697 from InDetConfig.InDetRecStatisticsConfig import (
698 InDetRecStatisticsAlgCfg)
699 result.merge(InDetRecStatisticsAlgCfg(
700 flags,
701 TrackCollectionKeys=StatTrackCollections,
702 TrackTruthCollectionKeys=(
703 StatTrackTruthCollections if flags.Tracking.doTruth else [])))
704
705 if flags.Tracking.doTruth:
706 from InDetConfig.InDetTrackClusterAssValidationConfig import (
707 InDetTrackClusterAssValidationCfg)
708 result.merge(InDetTrackClusterAssValidationCfg(
709 flags,
710 TracksLocation=StatTrackCollections))
711
712 return result
713
714

◆ InDetTrackRecoCfg()

python.TrackRecoConfig.InDetTrackRecoCfg ( flags)

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

Definition at line 804 of file TrackRecoConfig.py.

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

◆ ObserverTrackFinalCfg()

python.TrackRecoConfig.ObserverTrackFinalCfg ( flags)

Definition at line 608 of file TrackRecoConfig.py.

608def ObserverTrackFinalCfg(flags):
609 result = ComponentAccumulator()
610
611 TrackContainer = "ObservedTracksCollection"
612 if flags.Tracking.doTruth:
613 from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
614 result.merge(InDetTrackTruthCfg(
615 flags,
616 Tracks=TrackContainer,
617 DetailedTruth=TrackContainer + "DetailedTruth",
618 TracksTruth=TrackContainer + "TruthCollection"))
619
620 from xAODTrackingCnv.xAODTrackingCnvConfig import (
621 ObserverTrackParticleCnvAlgCfg)
622 result.merge(ObserverTrackParticleCnvAlgCfg(
623 flags,
624 AssociationMapName = (
625 "PRDtoTrackMapMerge_CombinedInDetTracks")))
626
627 return result
628
629

◆ PseudoTrackFinalCfg()

python.TrackRecoConfig.PseudoTrackFinalCfg ( flags)

Definition at line 583 of file TrackRecoConfig.py.

583def PseudoTrackFinalCfg(flags):
584 result = ComponentAccumulator()
585
586 TrackContainer = "InDetPseudoTracks"
587 if flags.Tracking.doTruth:
588 from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
589 result.merge(InDetTrackTruthCfg(
590 flags,
591 Tracks=TrackContainer,
592 DetailedTruth=TrackContainer + "DetailedTruth",
593 TracksTruth=TrackContainer + "TruthCollection"))
594
595 from xAODTrackingCnv.xAODTrackingCnvConfig import TrackParticleCnvAlgCfg
596 result.merge(TrackParticleCnvAlgCfg(
597 flags,
598 name="PseudoTrackParticleCnvAlg",
599 TrackContainerName=TrackContainer,
600 xAODTrackParticlesFromTracksContainerName=(
601 "InDetPseudoTrackParticles"),
602 AssociationMapName=(
603 "PRDtoTrackMapMerge_CombinedInDetTracks")))
604
605 return result
606
607

◆ SiDetectorElementStatusCfg()

python.TrackRecoConfig.SiDetectorElementStatusCfg ( flags,
suffix = "" )

Definition at line 188 of file TrackRecoConfig.py.

188def SiDetectorElementStatusCfg(flags, suffix="") :
189 result = ComponentAccumulator()
190 if flags.Detector.GeometryITk:
191 if flags.Detector.EnableITkPixel:
192 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
193 ITkPixelDetectorElementStatusAlgCfg)
194 result.merge(ITkPixelDetectorElementStatusAlgCfg(flags,name=f"ITkPixelDetectorElementStatusAlg{suffix}"))
195 if flags.Detector.EnableITkStrip:
196 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import (
197 ITkStripDetectorElementStatusAlgCfg)
198 result.merge(ITkStripDetectorElementStatusAlgCfg(flags,name=f"ITkStripDetectorElementStatusAlg{suffix}"))
199 return result
200
201
202# Returns CA + ClusterSplitProbContainer

◆ SiSPSeededTracksFinalCfg()

python.TrackRecoConfig.SiSPSeededTracksFinalCfg ( flags)

Definition at line 662 of file TrackRecoConfig.py.

662def SiSPSeededTracksFinalCfg(flags):
663 result = ComponentAccumulator()
664
665 primaryPassExtension = flags.Tracking[f"{flags.Tracking.PrimaryPassConfig.value}Pass"].extension
666
667 # get list of extensions requesting track candidates.
668 # Add always the Primary Pass.
669 listOfExtensionsRequesting = [
670 e for e in _extensions_list
671 if (e=='' or flags.Tracking[f"{e}Pass"].storeSiSPSeededTracks) ]
672
673 for extension in listOfExtensionsRequesting:
674 AssociationMapNameKey="PRDtoTrackMapMerge_CombinedInDetTracks"
675 if extension=='Disappearing':
676 AssociationMapNameKey = "PRDtoTrackMapMerge_DisappearingTracks"
677 elif not (extension == primaryPassExtension):
678 AssociationMapNameKey = f"InDetPRDtoTrackMap{extension}"
679
680 from xAODTrackingCnv.xAODTrackingCnvConfig import (
681 TrackParticleCnvAlgNoPIDCfg)
682 result.merge(TrackParticleCnvAlgNoPIDCfg(
683 flags,
684 name = f"SiSPSeededTracks{extension}CnvAlg",
685 TrackContainerName = f"SiSPSeeded{extension}Tracks",
686 xAODTrackParticlesFromTracksContainerName=(
687 f"SiSPSeededTracks{extension}TrackParticles"),
688 AssociationMapName=AssociationMapNameKey))
689
690 return result
691
692

◆ SiSubDetTrackRecoCfg()

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

Definition at line 203 of file TrackRecoConfig.py.

205 ClusterSplitProbContainer=""):
206 result = ComponentAccumulator()
207
208 if extensions_list is None:
209 extensions_list = []
210
211 flagsDet = flags.cloneAndReplace("Tracking.ActiveConfig",
212 f"Tracking.{detector}Pass")
213 TrackContainer = f"Resolved{detector}Tracks"
214 extensions_list.append(flagsDet.Tracking.ActiveConfig.extension)
215 printActiveConfig(flagsDet)
216
217 from InDetConfig.TrackingSiPatternConfig import TrackingSiPatternCfg
218 result.merge(TrackingSiPatternCfg(
219 flagsDet,
220 InputCollections=[],
221 ResolvedTrackCollectionKey=TrackContainer,
222 SiSPSeededTrackCollectionKey=f"SiSPSeeded{detector}Tracks",
223 ClusterSplitProbContainer=ClusterSplitProbContainer))
224
225 ClusterSplitProbContainer = (
226 "InDetAmbiguityProcessorSplitProb" +
227 flagsDet.Tracking.ActiveConfig.extension)
228
229 if flags.Tracking.doTruth:
230 from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
231 result.merge(InDetTrackTruthCfg(
232 flagsDet,
233 Tracks=TrackContainer,
234 DetailedTruth=TrackContainer+"DetailedTruth",
235 TracksTruth=TrackContainer+"TruthCollection"))
236
237 from xAODTrackingCnv.xAODTrackingCnvConfig import (
238 TrackParticleCnvAlgPIDCheckCfg)
239 result.merge(TrackParticleCnvAlgPIDCheckCfg(
240 flagsDet,
241 name=TrackContainer+"CnvAlg",
242 TrackContainerName=TrackContainer,
243 xAODTrackParticlesFromTracksContainerName=(
244 f"InDet{detector}TrackParticles")))
245
246 return result, ClusterSplitProbContainer
247
248

◆ StoreTrackSeparateContainerCfg()

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

Definition at line 309 of file TrackRecoConfig.py.

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

◆ TrackFinalCfg()

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

Definition at line 524 of file TrackRecoConfig.py.

527 StatTrackTruthCollections=None):
528 result = ComponentAccumulator()
529 if flags.hasCategory("TrackOverlay.ActiveConfig"):
530 doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
531 else:
532 doTrackOverlay = flags.Overlay.doTrackOverlay
533
534 if InputCombinedInDetTracks is None:
535 InputCombinedInDetTracks = []
536 if StatTrackCollections is None:
537 StatTrackCollections = []
538 if StatTrackTruthCollections is None:
539 StatTrackTruthCollections = []
540
541 if doTrackOverlay:
542 InputCombinedInDetTracks += [flags.Overlay.BkgPrefix +
543 "CombinedInDetTracks"]
544
545 TrackContainer = "CombinedInDetTracks"
546
547 from TrkConfig.TrkTrackCollectionMergerConfig import (
548 TrackCollectionMergerAlgCfg)
549 result.merge(TrackCollectionMergerAlgCfg(
550 flags,
551 InputCombinedTracks=InputCombinedInDetTracks,
552 OutputCombinedTracks=TrackContainer,
553 AssociationMapName=f"PRDtoTrackMapMerge_{TrackContainer}"))
554
555 if flags.Tracking.doTruth:
556 from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
557 result.merge(InDetTrackTruthCfg(
558 flags,
559 Tracks=TrackContainer,
560 DetailedTruth=f"{TrackContainer}DetailedTruth",
561 TracksTruth=f"{TrackContainer}TruthCollection"))
562
563 StatTrackCollections += [TrackContainer]
564 StatTrackTruthCollections += [f"{TrackContainer}TruthCollection"]
565
566 if flags.Tracking.doSlimming:
567 from TrkConfig.TrkTrackSlimmerConfig import TrackSlimmerCfg
568 result.merge(TrackSlimmerCfg(
569 flags,
570 TrackLocation=[TrackContainer]))
571
572 if flags.Tracking.perigeeExpression == "BeamLine":
573 from xAODTrackingCnv.xAODTrackingCnvConfig import TrackParticleCnvAlgCfg
574 result.merge(TrackParticleCnvAlgCfg(
575 flags,
576 ClusterSplitProbabilityName=ClusterSplitProbabilityContainerName(
577 flags),
578 AssociationMapName=f"PRDtoTrackMapMerge_{TrackContainer}"))
579
580 return result
581
582

◆ TrackRecoConfigTest()

python.TrackRecoConfig.TrackRecoConfigTest ( flags = None)

Definition at line 1005 of file TrackRecoConfig.py.

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

◆ TrackRecoPassCfg()

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

Definition at line 418 of file TrackRecoConfig.py.

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

◆ TrackSeedsFinalCfg()

python.TrackRecoConfig.TrackSeedsFinalCfg ( flags)

Definition at line 630 of file TrackRecoConfig.py.

630def TrackSeedsFinalCfg(flags):
631 result = ComponentAccumulator()
632
633 # get list of extensions requesting track seeds.
634 # Add always the Primary Pass.
635 listOfExtensionsRequesting = [
636 e for e in _extensions_list
637 if (e == '' or flags.Tracking[f"{e}Pass"].storeTrackSeeds) ]
638
639 for extension in listOfExtensionsRequesting:
640 TrackContainer = "SiSPSeedSegments"+extension
641
642 if flags.Tracking.doTruth:
643 from InDetConfig.TrackTruthConfig import InDetTrackTruthCfg
644 result.merge(InDetTrackTruthCfg(
645 flags,
646 Tracks=TrackContainer,
647 DetailedTruth=f"{TrackContainer}DetailedTruth",
648 TracksTruth=f"{TrackContainer}TruthCollection"))
649
650 from xAODTrackingCnv.xAODTrackingCnvConfig import (
651 TrackParticleCnvAlgNoPIDCfg)
652 result.merge(TrackParticleCnvAlgNoPIDCfg(
653 flags,
654 name=f"{TrackContainer}CnvAlg",
655 TrackContainerName=TrackContainer,
656 xAODTrackParticlesFromTracksContainerName=(
657 f"{TrackContainer}TrackParticles")))
658
659 return result
660
661

◆ TRTStandalonePassRecoCfg()

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

Definition at line 270 of file TrackRecoConfig.py.

274 StatTrackTruthCollections=None):
275 result = ComponentAccumulator()
276
277 if InputCombinedInDetTracks is None:
278 InputCombinedInDetTracks = []
279 if InputExtendedInDetTracks is None:
280 InputExtendedInDetTracks = []
281 if StatTrackCollections is None:
282 StatTrackCollections = []
283 if StatTrackTruthCollections is None:
284 StatTrackTruthCollections = []
285
286 from InDetConfig.TRTStandaloneConfig import TRTStandaloneCfg
287 result.merge(TRTStandaloneCfg(flags,
288 InputCollections=InputCombinedInDetTracks))
289
290 TRTTrackContainer = "TRTStandaloneTracks"
291 InputCombinedInDetTracks += [TRTTrackContainer]
292 InputExtendedInDetTracks += [TRTTrackContainer]
293 StatTrackCollections += [TRTTrackContainer]
294 StatTrackTruthCollections += [TRTTrackContainer+"TruthCollection"]
295
296 if flags.Tracking.doTrackSegmentsTRT:
297 from xAODTrackingCnv.xAODTrackingCnvConfig import (
298 TrackParticleCnvAlgNoPIDCfg)
299 result.merge(TrackParticleCnvAlgNoPIDCfg(
300 flags, TRTTrackContainer+"CnvAlg",
301 TrackContainerName=TRTTrackContainer,
302 xAODTrackParticlesFromTracksContainerName=(
303 "InDetTRTTrackParticles")))
304
305 return result
306
307
308# Return CA + TrackContainer

◆ TRTTrackRecoCfg()

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

Definition at line 249 of file TrackRecoConfig.py.

249def TRTTrackRecoCfg(flags, extensions_list=None):
250 result = ComponentAccumulator()
251
252 if extensions_list is None:
253 extensions_list = []
254
255 flagsTRT = flags.cloneAndReplace("Tracking.ActiveConfig",
256 "Tracking.TRTPass")
257 extensions_list.append(flagsTRT.Tracking.ActiveConfig.extension)
258 printActiveConfig(flagsTRT)
259
260 from InDetConfig.TRTSegmentFindingConfig import (
261 TRTSegmentFinding_TrackSegments_Cfg)
262 result.merge(TRTSegmentFinding_TrackSegments_Cfg(flagsTRT))
263
264 from InDetConfig.TRTStandaloneConfig import TRT_TrackSegment_Cfg
265 result.merge(TRT_TrackSegment_Cfg(flagsTRT))
266
267 return result
268
269

Variable Documentation

◆ _extensions_list

list python.TrackRecoConfig._extensions_list = []
protected

Definition at line 8 of file TrackRecoConfig.py.

◆ _flags_set

list python.TrackRecoConfig._flags_set = []
protected

Definition at line 7 of file TrackRecoConfig.py.