14 if _flags_set
and not resetCache:
20 flags = flags.cloneAndReplace(
21 "Tracking.ActiveConfig",
22 f
"Tracking.{flags.Tracking.PrimaryPassConfig.value}Pass",
29 if flags.Tracking.doLargeD0
or flags.Tracking.doLowPtLargeD0:
31 if flags.Tracking.doLowPtLargeD0:
32 flagsLRT = flags.cloneAndReplace(
"Tracking.ActiveConfig",
33 "Tracking.LowPtLargeD0Pass")
34 elif flags.Tracking.doLargeD0:
35 flagsLRT = flags.cloneAndReplace(
"Tracking.ActiveConfig",
36 "Tracking.R3LargeD0Pass")
38 flags_set += [flagsLRT]
41 if flags.Tracking.doLowPtRoI:
42 flagsLowPtRoI = flags.cloneAndReplace(
"Tracking.ActiveConfig",
43 "Tracking.LowPtRoIPass")
44 flags_set += [flagsLowPtRoI]
47 if flags.Tracking.doLowPt:
48 from TrkConfig.TrkConfigFlags
import PrimaryPassConfig
50 if flags.Tracking.PrimaryPassConfig
is not PrimaryPassConfig.HeavyIon:
51 flagsLowPt = flags.cloneAndReplace(
"Tracking.ActiveConfig",
53 flags_set += [flagsLowPt]
56 if flags.Tracking.doVeryLowPt:
57 flagsVeryLowPt = flags.cloneAndReplace(
"Tracking.ActiveConfig",
58 "Tracking.VeryLowPtPass")
59 flags_set += [flagsVeryLowPt]
62 if flags.Tracking.doTRTStandalone:
63 flagsTRTStandalone = flags.cloneAndReplace(
"Tracking.ActiveConfig",
64 "Tracking.TRTStandalonePass")
65 flags_set += [flagsTRTStandalone]
68 if flags.Tracking.doForwardTracks:
69 flagsForward = flags.cloneAndReplace(
"Tracking.ActiveConfig",
70 "Tracking.ForwardPass")
71 flags_set += [flagsForward]
74 if flags.Tracking.doTrackSegmentsDisappearing:
75 flagsDisappearing = flags.cloneAndReplace(
"Tracking.ActiveConfig",
76 "Tracking.DisappearingPass")
77 flags_set += [flagsDisappearing]
80 if flags.Tracking.doBeamGas:
81 flagsBeamGas = flags.cloneAndReplace(
"Tracking.ActiveConfig",
82 "Tracking.BeamGasPass")
83 flags_set += [flagsBeamGas]
85 _flags_set = flags_set
114 result = ComponentAccumulator()
116 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
117 result.merge(TrackingSiPatternCfg(
120 ResolvedTrackCollectionKey=
"ResolvedTracks",
121 SiSPSeededTrackCollectionKey=
"SiSPSeededTracks"))
123 if flags.Detector.EnableTRT:
124 from InDetConfig.TRTExtensionConfig
import NewTrackingTRTExtensionPhaseCfg
125 result.merge(NewTrackingTRTExtensionPhaseCfg(
127 SiTrackCollection=
"ResolvedTracks",
128 ExtendedTrackCollection=
"ExtendedTracksPhase",
129 ExtendedTracksMap=
"ExtendedTracksMapPhase"))
131 from InDetConfig.TRTSegmentFindingConfig
import TRTSegmentFinding_Phase_Cfg
132 result.merge(TRTSegmentFinding_Phase_Cfg(flags))
134 from InDetConfig.InDetTrackPRD_AssociationConfig
import (
135 InDetTrackPRD_AssociationCfg)
136 result.merge(InDetTrackPRD_AssociationCfg(
137 flags, name=
'InDetTRTonly_TrackPRD_AssociationPhase',
138 AssociationMapName=
'InDetTRTonly_PRDtoTrackMapPhase',
141 from InDetConfig.TRT_SegmentsToTrackConfig
import (
142 TRT_Cosmics_SegmentsToTrackCfg)
143 result.merge(TRT_Cosmics_SegmentsToTrackCfg(
144 flags, name=
'InDetTRT_Cosmics_SegmentsToTrack_Phase',
145 InputSegmentsCollection=
"TRTSegments_Phase",
146 OutputTrackCollection=
"TRT_Tracks_Phase"))
148 from InDetConfig.InDetCosmicsEventPhaseConfig
import (
149 InDetCosmicsEventPhaseCfg)
150 result.merge(InDetCosmicsEventPhaseCfg(
152 InputTracksNames=[
"TRT_Tracks_Phase"]))
154 from InDetConfig.InDetPrepRawDataFormationConfig
import (
155 InDetTRT_Phase_RIO_MakerCfg)
156 result.merge(InDetTRT_Phase_RIO_MakerCfg(flags))
162 result = ComponentAccumulator()
165 if flags.Input.Format
is Format.BS:
166 if flags.Detector.EnablePixel:
167 from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConfig
import (
168 PixelRawDataProviderAlgCfg)
169 result.merge(PixelRawDataProviderAlgCfg(flags))
171 if flags.Detector.EnableSCT:
172 from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig
import (
173 SCTRawDataProviderCfg, SCTEventFlagWriterCfg)
174 result.merge(SCTRawDataProviderCfg(flags))
175 result.merge(SCTEventFlagWriterCfg(flags))
177 if flags.Detector.EnableTRT:
178 from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConfig
import (
179 TRTRawDataProviderCfg)
180 result.merge(TRTRawDataProviderCfg(flags))
182 if flags.Detector.EnablePixel
or flags.Detector.EnableSCT:
183 from InDetConfig.SiliconPreProcessing
import InDetRecPreProcessingSiliconCfg
184 result.merge(InDetRecPreProcessingSiliconCfg(flags))
185 if flags.Detector.EnableTRT:
186 from InDetConfig.TRTPreProcessing
import TRTPreProcessingCfg
187 result.merge(TRTPreProcessingCfg(flags))
207 extensions_list=None,
208 ClusterSplitProbContainer=""):
209 result = ComponentAccumulator()
211 if extensions_list
is None:
214 flagsDet = flags.cloneAndReplace(
"Tracking.ActiveConfig",
215 f
"Tracking.{detector}Pass")
216 TrackContainer = f
"Resolved{detector}Tracks"
217 extensions_list.append(flagsDet.Tracking.ActiveConfig.extension)
218 printActiveConfig(flagsDet)
220 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
221 result.merge(TrackingSiPatternCfg(
224 ResolvedTrackCollectionKey=TrackContainer,
225 SiSPSeededTrackCollectionKey=f
"SiSPSeeded{detector}Tracks",
226 ClusterSplitProbContainer=ClusterSplitProbContainer))
228 ClusterSplitProbContainer = (
229 "InDetAmbiguityProcessorSplitProb" +
230 flagsDet.Tracking.ActiveConfig.extension)
232 if flags.Tracking.doTruth:
233 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
234 result.merge(InDetTrackTruthCfg(
236 Tracks=TrackContainer,
237 DetailedTruth=TrackContainer+
"DetailedTruth",
238 TracksTruth=TrackContainer+
"TruthCollection"))
240 from xAODTrackingCnv.xAODTrackingCnvConfig
import (
241 TrackParticleCnvAlgPIDCheckCfg)
242 result.merge(TrackParticleCnvAlgPIDCheckCfg(
244 name=TrackContainer+
"CnvAlg",
245 TrackContainerName=TrackContainer,
246 xAODTrackParticlesFromTracksContainerName=(
247 f
"InDet{detector}TrackParticles")))
249 return result, ClusterSplitProbContainer
274 InputCombinedInDetTracks=None,
275 InputExtendedInDetTracks=None,
276 StatTrackCollections=None,
277 StatTrackTruthCollections=None):
278 result = ComponentAccumulator()
280 if InputCombinedInDetTracks
is None:
281 InputCombinedInDetTracks = []
282 if InputExtendedInDetTracks
is None:
283 InputExtendedInDetTracks = []
284 if StatTrackCollections
is None:
285 StatTrackCollections = []
286 if StatTrackTruthCollections
is None:
287 StatTrackTruthCollections = []
289 from InDetConfig.TRTStandaloneConfig
import TRTStandaloneCfg
290 result.merge(TRTStandaloneCfg(flags,
291 InputCollections=InputCombinedInDetTracks))
293 TRTTrackContainer =
"TRTStandaloneTracks"
294 InputCombinedInDetTracks += [TRTTrackContainer]
295 InputExtendedInDetTracks += [TRTTrackContainer]
296 StatTrackCollections += [TRTTrackContainer]
297 StatTrackTruthCollections += [TRTTrackContainer+
"TruthCollection"]
299 if flags.Tracking.doTrackSegmentsTRT:
300 from xAODTrackingCnv.xAODTrackingCnvConfig
import (
301 TrackParticleCnvAlgNoPIDCfg)
302 result.merge(TrackParticleCnvAlgNoPIDCfg(
303 flags, TRTTrackContainer+
"CnvAlg",
304 TrackContainerName=TRTTrackContainer,
305 xAODTrackParticlesFromTracksContainerName=(
306 "InDetTRTTrackParticles")))
313 ClusterSplitProbContainer=""):
314 result = ComponentAccumulator()
319 AssociationMapName =
""
320 extension = flags.Tracking.ActiveConfig.extension
324 if extension ==
"Disappearing":
325 InputTracks = [TrackContainer]
327 TrackContainer = extension +
"Tracks"
328 MergerOutputTracks = TrackContainer
330 from TrkConfig.TrkTrackCollectionMergerConfig
import (
331 TrackCollectionMergerAlgCfg)
332 result.merge(TrackCollectionMergerAlgCfg(
334 name =
"TrackCollectionMergerAlgCfg" + extension,
335 InputCombinedTracks=InputTracks,
336 OutputCombinedTracks=MergerOutputTracks,
337 AssociationMapName=
"PRDtoTrackMap" + TrackContainer))
339 if flags.Tracking.doTruth:
340 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
341 result.merge(InDetTrackTruthCfg(
343 Tracks=TrackContainer,
344 DetailedTruth=TrackContainer+
"DetailedTruth",
345 TracksTruth=TrackContainer+
"TruthCollection"))
349 xAODTrackParticlesName = (
350 "InDetLargeD0TrackParticles" if "LargeD0" in extension
else
351 "InDet" + extension +
"TrackParticles")
353 from xAODTrackingCnv.xAODTrackingCnvConfig
import (
354 TrackParticleCnvAlgPIDCheckCfg)
355 result.merge(TrackParticleCnvAlgPIDCheckCfg(
357 name = extension +
"TrackParticleCnvAlg",
358 TrackContainerName=TrackContainer,
359 xAODTrackParticlesFromTracksContainerName=xAODTrackParticlesName,
360 ClusterSplitProbabilityName=ClusterSplitProbContainer,
361 AssociationMapName=AssociationMapName))
363 return result, TrackContainer
386 InputCombinedInDetTracks=None,
387 InputExtendedInDetTracks=None,
388 StatTrackCollections=None,
389 StatTrackTruthCollections=None,
390 ClusterSplitProbContainer=""):
391 result = ComponentAccumulator()
393 if InputCombinedInDetTracks
is None:
394 InputCombinedInDetTracks = []
395 if InputExtendedInDetTracks
is None:
396 InputExtendedInDetTracks = []
397 if StatTrackCollections
is None:
398 StatTrackCollections = []
399 if StatTrackTruthCollections
is None:
400 StatTrackTruthCollections = []
402 from InDetConfig.BackTrackingConfig
import BackTrackingCfg
403 result.merge(BackTrackingCfg(
405 InputCollections=InputCombinedInDetTracks,
406 ClusterSplitProbContainer=ClusterSplitProbContainer))
408 ClusterSplitProbContainer = (
409 "InDetTRT_SeededAmbiguityProcessorSplitProb" +
410 flags.Tracking.ActiveConfig.extension)
411 TRTSeededTracks =
"TRTSeededTracks"
412 ResolvedTRTSeededTracks =
"ResolvedTRTSeededTracks"
413 InputCombinedInDetTracks += [ResolvedTRTSeededTracks]
414 InputExtendedInDetTracks += [ResolvedTRTSeededTracks]
415 StatTrackCollections += [TRTSeededTracks,
416 ResolvedTRTSeededTracks]
417 StatTrackTruthCollections += [TRTSeededTracks+
"TruthCollection",
418 ResolvedTRTSeededTracks+
"TruthCollection"]
420 return result, ClusterSplitProbContainer
425 doTrackingSiPattern=True,
426 InputCombinedInDetTracks=None,
427 InputExtendedInDetTracks=None,
428 StatTrackCollections=None,
429 StatTrackTruthCollections=None,
430 ClusterSplitProbContainer=""):
431 result = ComponentAccumulator()
432 doTrackOverlay = flags.TrackOverlay.isTrackOverlaySeq
433 if InputCombinedInDetTracks
is None:
434 InputCombinedInDetTracks = []
435 if InputExtendedInDetTracks
is None:
436 InputExtendedInDetTracks = []
437 if StatTrackCollections
is None:
438 StatTrackCollections = []
439 if StatTrackTruthCollections
is None:
440 StatTrackTruthCollections = []
442 ResolvedTracks =
"Resolved" + extension +
"Tracks"
446 if doTrackOverlay
and extension ==
'':
450 if "LargeD0" in extension:
451 ResolvedTracks =
"ResolvedLargeD0Tracks"
457 if doTrackingSiPattern:
458 SiSPSeededTracks =
"SiSPSeeded" + extension +
"Tracks"
460 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
461 result.merge(TrackingSiPatternCfg(
463 InputCollections=InputExtendedInDetTracks,
464 ResolvedTrackCollectionKey=ResolvedTracks,
465 SiSPSeededTrackCollectionKey=SiSPSeededTracks,
466 ClusterSplitProbContainer=ClusterSplitProbContainer))
467 StatTrackCollections += [SiSPSeededTracks, ResolvedTracks]
468 StatTrackTruthCollections += [SiSPSeededTracks+
"TruthCollection",
469 ResolvedTracks+
"TruthCollection"]
477 TrackContainer = ResolvedTracks
480 SiTracksForTRTExtension = ResolvedTracks
485 if doTrackOverlay
and extension ==
'':
487 from InDetConfig.AddTrackSummaryAlgConfig
import AddTrackSummaryAlgCfg
488 result.merge(AddTrackSummaryAlgCfg(
490 name=
"AddSummaryToPileupTracks",
491 InputTrackCollection=
"Bkg_CombinedInDetTracks",
492 OutputTrackCollection=
"Bkg_CombinedInDetTracksWithSummary",
495 SignalTracksForMerge = ResolvedTracks
496 if flags.TrackOverlay.doRoISiOverlay:
497 from TrackOverlayRec.TrackOverlayRoIConfig
import (
498 TrackOverlaySignalTrackFilterAlgCfg)
499 SignalTracksForMerge = ResolvedTracks +
"Filtered"
501 result.merge(TrackOverlaySignalTrackFilterAlgCfg(
503 InputTracks=ResolvedTracks,
504 OutputTracks=SignalTracksForMerge,
505 RemovedTracks=RemovedTracks))
507 InputExtendedInDetTracks += [RemovedTracks]
509 from TrkConfig.TrkTrackCollectionMergerConfig
import TrackCollectionMergerAlgCfg
510 result.merge(TrackCollectionMergerAlgCfg(
512 name=
"MergeSignalPileupBeforeTRTExtension",
513 InputCombinedTracks=[SignalTracksForMerge,
"Bkg_CombinedInDetTracksWithSummary"],
514 OutputCombinedTracks=
"MergedSiTracks",
515 AssociationMapName=
"PRDtoTrackMapMergedSiTracks"))
518 SiTracksForTRTExtension =
"MergedSiTracks"
519 TrackContainer =
"MergedSiTracks"
521 elif (doTrackOverlay
and
522 flags.Tracking.ActiveConfig.storeSeparateContainer):
524 TrackContainer = ResolvedTracks
533 if flags.Tracking.ActiveConfig.useTRTExtension:
534 ExtendedTracks =
"Extended" + extension +
"Tracks"
536 if extension ==
"Disappearing":
537 ExtendedTracks =
"ExtendedTracksDisappearing"
538 elif "LargeD0" in extension:
539 ExtendedTracks =
"ExtendedLargeD0Tracks"
541 ExtendedTracksMap =
"ExtendedTracksMap" + extension
542 from InDetConfig.TRTExtensionConfig
import NewTrackingTRTExtensionCfg
543 result.merge(NewTrackingTRTExtensionCfg(
545 SiTrackCollection=SiTracksForTRTExtension,
546 ExtendedTrackCollection=ExtendedTracks,
547 ExtendedTracksMap=ExtendedTracksMap))
549 TrackContainer = ExtendedTracks
550 if doTrackOverlay
and "LargeD0" in extension:
551 TrackContainer =
"ExtendedLargeD0Tracks"
552 StatTrackCollections += [ExtendedTracks]
553 StatTrackTruthCollections += [ExtendedTracks+
"TruthCollection"]
559 if flags.Tracking.ActiveConfig.storeSeparateContainer:
562 TrackContainer=TrackContainer,
563 ClusterSplitProbContainer=ClusterSplitProbContainer)
567 ClusterSplitProbContainer = (
568 "InDetAmbiguityProcessorSplitProb" +
569 flags.Tracking.ActiveConfig.extension)
570 InputCombinedInDetTracks += [TrackContainer]
572 InputExtendedInDetTracks += [TrackContainer]
573 return result, ClusterSplitProbContainer
577 InputCombinedInDetTracks=None,
578 StatTrackCollections=None,
579 StatTrackTruthCollections=None):
580 result = ComponentAccumulator()
581 if InputCombinedInDetTracks
is None:
582 InputCombinedInDetTracks = []
583 if StatTrackCollections
is None:
584 StatTrackCollections = []
585 if StatTrackTruthCollections
is None:
586 StatTrackTruthCollections = []
588 TrackContainer =
"CombinedInDetTracks"
590 from TrkConfig.TrkTrackCollectionMergerConfig
import (
591 TrackCollectionMergerAlgCfg)
592 result.merge(TrackCollectionMergerAlgCfg(
594 InputCombinedTracks=InputCombinedInDetTracks,
595 OutputCombinedTracks=TrackContainer,
596 AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"))
598 if flags.Tracking.doTruth:
599 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
600 result.merge(InDetTrackTruthCfg(
602 Tracks=TrackContainer,
603 DetailedTruth=f
"{TrackContainer}DetailedTruth",
604 TracksTruth=f
"{TrackContainer}TruthCollection"))
606 StatTrackCollections += [TrackContainer]
607 StatTrackTruthCollections += [f
"{TrackContainer}TruthCollection"]
609 if flags.Tracking.doSlimming:
610 from TrkConfig.TrkTrackSlimmerConfig
import TrackSlimmerCfg
611 result.merge(TrackSlimmerCfg(
613 TrackLocation=[TrackContainer]))
615 if flags.Tracking.perigeeExpression
in [
616 PerigeeExpression.BeamLine, PerigeeExpression.Origin]:
617 from xAODTrackingCnv.xAODTrackingCnvConfig
import TrackParticleCnvAlgCfg
618 result.merge(TrackParticleCnvAlgCfg(
622 AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"))
760 result = ComponentAccumulator()
762 if (flags.Tracking.doTIDE_AmbiTrackMonitoring
or
763 flags.Tracking.doPseudoTracking):
764 from InDetConfig.InDetPrepRawDataToxAODConfig
import (
765 InDetPixelPrepDataToxAOD_ExtraTruthCfg
as PixelPrepDataToxAODCfg,
766 InDetSCT_PrepDataToxAOD_ExtraTruthCfg
as SCT_PrepDataToxAODCfg,
767 InDetTRT_PrepDataToxAOD_ExtraTruthCfg
as TRT_PrepDataToxAODCfg)
769 from InDetConfig.InDetPrepRawDataToxAODConfig
import (
770 InDetPixelPrepDataToxAODCfg
as PixelPrepDataToxAODCfg,
771 InDetSCT_PrepDataToxAODCfg
as SCT_PrepDataToxAODCfg,
772 InDetTRT_PrepDataToxAODCfg
as TRT_PrepDataToxAODCfg)
774 if flags.Tracking.writeExtendedSi_PRDInfo:
775 result.merge(PixelPrepDataToxAODCfg(
777 ClusterSplitProbabilityName=(
779 result.merge(SCT_PrepDataToxAODCfg(flags))
781 if flags.Tracking.writeExtendedTRT_PRDInfo:
782 result.merge(TRT_PrepDataToxAODCfg(flags))
784 from DerivationFrameworkInDet.InDetToolsConfig
import TSOS_CommonKernelCfg
789 listOfExtensionsRequesting = [
790 e
for e
in _extensions_list
if (e ==
'')
791 or (flags.Tracking[f
"{e}Pass"].storeTrackSeeds)
792 or (flags.Tracking[f
"{e}Pass"].storeSiSPSeededTracks)
793 or (flags.Tracking[f
"{e}Pass"].storeSeparateContainer) ]
794 result.merge(TSOS_CommonKernelCfg(
795 flags, listOfExtensions = listOfExtensionsRequesting))
797 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
798 from DerivationFrameworkInDet.InDetToolsConfig
import (
799 ObserverTSOS_CommonKernelCfg)
800 result.merge(ObserverTSOS_CommonKernelCfg(flags))
802 if flags.Tracking.doPseudoTracking:
803 from DerivationFrameworkInDet.InDetToolsConfig
import (
804 PseudoTSOS_CommonKernelCfg)
805 result.merge(PseudoTSOS_CommonKernelCfg(flags))
807 if flags.Tracking.doStoreTrackSeeds:
808 from DerivationFrameworkInDet.InDetToolsConfig
import (
809 SiSPSeedsTSOS_CommonKernelCfg)
811 listOfExtensionsRequesting = [
812 e
for e
in _extensions_list
if (e ==
'')
or
813 flags.Tracking[f
"{e}Pass"].storeTrackSeeds ]
814 result.merge(SiSPSeedsTSOS_CommonKernelCfg(
815 flags, listOfExtensions = listOfExtensionsRequesting))
817 if flags.Tracking.doStoreSiSPSeededTracks:
818 from DerivationFrameworkInDet.InDetToolsConfig
import (
819 SiSPTSOS_CommonKernelCfg)
821 listOfExtensionsRequesting = [
822 e
for e
in _extensions_list
if (e ==
'')
or
823 flags.Tracking[f
"{e}Pass"].storeSiSPSeededTracks ]
824 result.merge(SiSPTSOS_CommonKernelCfg(
825 flags, listOfExtensions = listOfExtensionsRequesting))
827 if flags.Tracking.doTruth:
829 listOfExtensionsRequesting = [
830 e
for e
in _extensions_list
if (e ==
'')
or
831 (flags.Tracking[f
"{e}Pass"].storeSiSPSeededTracks
and
832 flags.Tracking[f
"{e}Pass"].storeSeparateContainer) ]
833 from InDetPhysValMonitoring.InDetPhysValDecorationConfig
import (
834 InDetPhysHitDecoratorAlgCfg)
835 for extension
in listOfExtensionsRequesting:
836 result.merge(InDetPhysHitDecoratorAlgCfg(
838 name=f
"InDetPhysHit{extension}DecoratorAlg",
839 TrackParticleContainerName=f
"InDet{extension}TrackParticles"))
851 if flags.Detector.GeometryITk:
852 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
853 return ITkTrackRecoCfg(flags)
855 from TrkConfig.TrkConfigFlags
import TrackingComponent
856 if TrackingComponent.ActsChain
in flags.Tracking.recoChain:
857 from InDetConfig.ActsTrackRecoConfig
import ActsTrackRecoCfg
858 return ActsTrackRecoCfg(flags)
859 """Configures complete ID tracking """
860 result = ComponentAccumulator()
863 ClusterSplitProbContainer =
''
872 if flags.Tracking.doTrackSegmentsPixel:
873 acc, ClusterSplitProbContainer = (
875 extensions_list=_extensions_list,
876 ClusterSplitProbContainer=ClusterSplitProbContainer))
880 if flags.Tracking.doTrackSegmentsSCT:
881 acc, ClusterSplitProbContainer = (
883 extensions_list=_extensions_list,
884 ClusterSplitProbContainer=ClusterSplitProbContainer))
888 if flags.Tracking.doTrackSegmentsTRT:
894 if flags.Beam.Type
is BeamType.Cosmics:
895 flagsCosmics = flags_set[0]
905 InputCombinedInDetTracks = []
907 InputExtendedInDetTracks = []
908 ClusterSplitProbContainer =
""
909 StatTrackCollections = []
910 StatTrackTruthCollections = []
913 printPrimaryConfig(flags)
915 for current_flags
in flags_set:
916 printActiveConfig(current_flags)
919 "" if isPrimaryPass
else
920 current_flags.Tracking.ActiveConfig.extension)
921 _extensions_list.append(extension)
927 if flags.Tracking.doTRTStandalone
and extension ==
"TRTStandalone":
930 InputCombinedInDetTracks=InputCombinedInDetTracks,
931 InputExtendedInDetTracks=InputExtendedInDetTracks,
932 StatTrackCollections=StatTrackCollections,
933 StatTrackTruthCollections=StatTrackTruthCollections))
942 current_flags, extension=extension,
943 doTrackingSiPattern=not(isPrimaryPass
and
944 flags.Beam.Type
is BeamType.Cosmics),
945 InputCombinedInDetTracks=InputCombinedInDetTracks,
946 InputExtendedInDetTracks=InputExtendedInDetTracks,
947 StatTrackCollections=StatTrackCollections,
948 StatTrackTruthCollections=StatTrackTruthCollections,
949 ClusterSplitProbContainer=ClusterSplitProbContainer)
962 if flags.Tracking.doTRTSegments:
963 from InDetConfig.TRTSegmentFindingConfig
import (
964 TRTSegmentFindingCfg)
968 result.merge(TRTSegmentFindingCfg(
970 InputCollections=InputCombinedInDetTracks,
971 ExtraAssociationTracks=[RemovedTracks]
if RemovedTracks
else None))
977 if flags.Tracking.doBackTracking:
980 InputCombinedInDetTracks=InputCombinedInDetTracks,
981 InputExtendedInDetTracks=InputExtendedInDetTracks,
982 StatTrackCollections=StatTrackCollections,
983 StatTrackTruthCollections=StatTrackTruthCollections,
984 ClusterSplitProbContainer=ClusterSplitProbContainer)
991 if (flags.Tracking.doTruth
and
992 (flags.Tracking.doPseudoTracking
or
993 flags.Tracking.doIdealPseudoTracking)):
995 from TrkConfig.TrkTruthTrackAlgsConfig
import TruthTrackingCfg
996 result.merge(TruthTrackingCfg(current_flags))
998 isPrimaryPass =
False
1006 InputCombinedInDetTracks=InputCombinedInDetTracks,
1007 StatTrackCollections=StatTrackCollections,
1008 StatTrackTruthCollections=StatTrackTruthCollections))
1010 if (flags.Tracking.doPseudoTracking
or
1011 flags.Tracking.doIdealPseudoTracking):
1014 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
1017 if flags.Tracking.doStoreTrackSeeds:
1020 if flags.Tracking.doStoreSiSPSeededTracks:
1027 if flags.Tracking.doVertexFinding:
1028 from InDetConfig.InDetPriVxFinderConfig
import primaryVertexFindingCfg
1029 result.merge(primaryVertexFindingCfg(flags))
1031 if flags.Tracking.doStats:
1034 StatTrackCollections=StatTrackCollections,
1035 StatTrackTruthCollections=StatTrackTruthCollections))
1041 if flags.Tracking.doV0Finder:
1042 from InDetConfig.InDetV0FinderConfig
import InDetV0FinderCfg
1043 result.merge(InDetV0FinderCfg(flags))
1045 if (flags.Tracking.writeExtendedSi_PRDInfo
or
1046 flags.Tracking.writeExtendedTRT_PRDInfo):
1050 from InDetConfig.InDetTrackOutputConfig
import InDetTrackRecoOutputCfg
1051 result.merge(InDetTrackRecoOutputCfg(flags, _extensions_list))
1054 from TrkConfig.TrkConfigFlags
import PrimaryPassConfig
1055 if flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon
and \
1056 flags.Tracking.doLowPt:
1057 from InDetConfig.InDetHeavyIonSpecialConfig
import InDetHeavyIonSpecialCfg
1058 result.merge(InDetHeavyIonSpecialCfg(flags))
1060 result.printConfig(withDetails=
False,
1061 summariseProps=
False)
1068 store_config =
False
1071 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
1072 flags = initConfigFlags()
1075 from InDetConfig.ConfigurationHelpers
import OnlyTrackingPreInclude
1076 OnlyTrackingPreInclude(flags)
1078 from AthenaConfiguration.TestDefaults
import defaultTestFiles, defaultConditionsTags
1079 flags.Input.Files = defaultTestFiles.RDO_RUN3
1080 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_MC
1081 flags.Exec.MaxEvents = 1
1083 flags.fillFromArgs()
1086 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
1087 top_acc = MainServicesCfg(flags)
1089 if flags.Input.Format
is not Format.BS:
1090 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
1091 top_acc.merge(PoolReadCfg(flags))
1093 if flags.Detector.EnableCalo:
1094 if flags.Input.Format
is Format.BS:
1095 from CaloRec.CaloRecoConfig
import CaloRecoCfg
1096 top_acc.merge(CaloRecoCfg(flags))
1098 from CaloRec.CaloTopoClusterConfig
import CaloTopoClusterCfg
1099 top_acc.merge(CaloTopoClusterCfg(flags))
1101 if flags.Input.Format
is not Format.BS:
1103 if "PixelRDOs" in flags.Input.Collections:
1104 if "EventInfo" not in flags.Input.Collections:
1105 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoCnvAlgCfg
1106 top_acc.merge(EventInfoCnvAlgCfg(flags))
1108 if flags.Input.isMC:
1109 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
1110 top_acc.merge(GEN_AOD2xAODCfg(flags))
1112 if flags.Tracking.doTruth :
1113 from xAODTruthCnv.RedoTruthLinksConfig
import RedoTruthLinksAlgCfg
1114 top_acc.merge( RedoTruthLinksAlgCfg(flags) )
1120 top_acc.foreach_component(
"AthEventSeq/*").OutputLevel = DEBUG
1121 top_acc.printConfig(withDetails=
True, summariseProps=
True)
1122 top_acc.store(open(
"TrackRecoConfig.pkl",
"wb"))
1125 if "--norun" not in sys.argv: