19 flags = flags.cloneAndReplace(
20 "Tracking.ActiveConfig",
21 f
"Tracking.{flags.Tracking.PrimaryPassConfig.value}Pass",
28 if flags.Tracking.doLargeD0
or flags.Tracking.doLowPtLargeD0:
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")
37 flags_set += [flagsLRT]
40 if flags.Tracking.doLowPtRoI:
41 flagsLowPtRoI = flags.cloneAndReplace(
"Tracking.ActiveConfig",
42 "Tracking.LowPtRoIPass")
43 flags_set += [flagsLowPtRoI]
46 if flags.Tracking.doLowPt:
47 flagsLowPt = flags.cloneAndReplace(
"Tracking.ActiveConfig",
49 flags_set += [flagsLowPt]
52 if flags.Tracking.doVeryLowPt:
53 flagsVeryLowPt = flags.cloneAndReplace(
"Tracking.ActiveConfig",
54 "Tracking.VeryLowPtPass")
55 flags_set += [flagsVeryLowPt]
58 if flags.Tracking.doTRTStandalone:
59 flagsTRTStandalone = flags.cloneAndReplace(
"Tracking.ActiveConfig",
60 "Tracking.TRTStandalonePass")
61 flags_set += [flagsTRTStandalone]
64 if flags.Tracking.doForwardTracks:
65 flagsForward = flags.cloneAndReplace(
"Tracking.ActiveConfig",
66 "Tracking.ForwardPass")
67 flags_set += [flagsForward]
70 if flags.Tracking.doTrackSegmentsDisappearing:
71 flagsDisappearing = flags.cloneAndReplace(
"Tracking.ActiveConfig",
72 "Tracking.DisappearingPass")
73 flags_set += [flagsDisappearing]
76 if flags.Tracking.doBeamGas:
77 flagsBeamGas = flags.cloneAndReplace(
"Tracking.ActiveConfig",
78 "Tracking.BeamGasPass")
79 flags_set += [flagsBeamGas]
81 _flags_set = flags_set
111 result = ComponentAccumulator()
113 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
114 result.merge(TrackingSiPatternCfg(
117 ResolvedTrackCollectionKey=
"ResolvedTracks",
118 SiSPSeededTrackCollectionKey=
"SiSPSeededTracks"))
120 if flags.Detector.EnableTRT:
121 from InDetConfig.TRTExtensionConfig
import NewTrackingTRTExtensionPhaseCfg
122 result.merge(NewTrackingTRTExtensionPhaseCfg(
124 SiTrackCollection=
"ResolvedTracks",
125 ExtendedTrackCollection=
"ExtendedTracksPhase",
126 ExtendedTracksMap=
"ExtendedTracksMapPhase"))
128 from InDetConfig.TRTSegmentFindingConfig
import TRTSegmentFinding_Phase_Cfg
129 result.merge(TRTSegmentFinding_Phase_Cfg(flags))
131 from InDetConfig.InDetTrackPRD_AssociationConfig
import (
132 InDetTrackPRD_AssociationCfg)
133 result.merge(InDetTrackPRD_AssociationCfg(
134 flags, name=
'InDetTRTonly_TrackPRD_AssociationPhase',
135 AssociationMapName=
'InDetTRTonly_PRDtoTrackMapPhase',
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"))
145 from InDetConfig.InDetCosmicsEventPhaseConfig
import (
146 InDetCosmicsEventPhaseCfg)
147 result.merge(InDetCosmicsEventPhaseCfg(
149 InputTracksNames=[
"TRT_Tracks_Phase"]))
151 from InDetConfig.InDetPrepRawDataFormationConfig
import (
152 InDetTRT_Phase_RIO_MakerCfg)
153 result.merge(InDetTRT_Phase_RIO_MakerCfg(flags))
159 result = ComponentAccumulator()
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))
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))
174 if flags.Detector.EnableTRT:
175 from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConfig
import (
176 TRTRawDataProviderCfg)
177 result.merge(TRTRawDataProviderCfg(flags))
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))
204 extensions_list=None,
205 ClusterSplitProbContainer=""):
206 result = ComponentAccumulator()
208 if extensions_list
is None:
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)
217 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
218 result.merge(TrackingSiPatternCfg(
221 ResolvedTrackCollectionKey=TrackContainer,
222 SiSPSeededTrackCollectionKey=f
"SiSPSeeded{detector}Tracks",
223 ClusterSplitProbContainer=ClusterSplitProbContainer))
225 ClusterSplitProbContainer = (
226 "InDetAmbiguityProcessorSplitProb" +
227 flagsDet.Tracking.ActiveConfig.extension)
229 if flags.Tracking.doTruth:
230 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
231 result.merge(InDetTrackTruthCfg(
233 Tracks=TrackContainer,
234 DetailedTruth=TrackContainer+
"DetailedTruth",
235 TracksTruth=TrackContainer+
"TruthCollection"))
237 from xAODTrackingCnv.xAODTrackingCnvConfig
import (
238 TrackParticleCnvAlgPIDCheckCfg)
239 result.merge(TrackParticleCnvAlgPIDCheckCfg(
241 name=TrackContainer+
"CnvAlg",
242 TrackContainerName=TrackContainer,
243 xAODTrackParticlesFromTracksContainerName=(
244 f
"InDet{detector}TrackParticles")))
246 return result, ClusterSplitProbContainer
271 InputCombinedInDetTracks=None,
272 InputExtendedInDetTracks=None,
273 StatTrackCollections=None,
274 StatTrackTruthCollections=None):
275 result = ComponentAccumulator()
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 = []
286 from InDetConfig.TRTStandaloneConfig
import TRTStandaloneCfg
287 result.merge(TRTStandaloneCfg(flags,
288 InputCollections=InputCombinedInDetTracks))
290 TRTTrackContainer =
"TRTStandaloneTracks"
291 InputCombinedInDetTracks += [TRTTrackContainer]
292 InputExtendedInDetTracks += [TRTTrackContainer]
293 StatTrackCollections += [TRTTrackContainer]
294 StatTrackTruthCollections += [TRTTrackContainer+
"TruthCollection"]
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")))
310 ClusterSplitProbContainer=""):
311 result = ComponentAccumulator()
312 if flags.hasCategory(
"TrackOverlay.ActiveConfig"):
313 doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig,
"doTrackOverlay",
None)
315 doTrackOverlay = flags.Overlay.doTrackOverlay
322 AssociationMapName =
""
323 extension = flags.Tracking.ActiveConfig.extension
325 if extension ==
"Disappearing" or doTrackOverlay:
326 if extension ==
"Disappearing":
327 InputTracks = [TrackContainer]
329 InputTracks += [flags.Overlay.BkgPrefix +
330 extension +
"Tracks"]
331 TrackContainer = extension+
"Tracks"
332 AssociationMapName =
"PRDtoTrackMapMerge_" + TrackContainer
333 MergerOutputTracks = TrackContainer
336 InputTracks = [flags.Overlay.SigPrefix+TrackContainer,
337 flags.Overlay.BkgPrefix+TrackContainer]
338 AssociationMapName = (
"PRDtoTrackMapMerge_Resolved" +
339 extension +
"Tracks")
340 MergerOutputTracks = TrackContainer
342 from TrkConfig.TrkTrackCollectionMergerConfig
import (
343 TrackCollectionMergerAlgCfg)
344 result.merge(TrackCollectionMergerAlgCfg(
346 name =
"TrackCollectionMergerAlgCfg"+extension,
347 InputCombinedTracks=InputTracks,
348 OutputCombinedTracks=MergerOutputTracks,
349 AssociationMapName=AssociationMapName))
351 if flags.Tracking.doTruth:
352 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
353 result.merge(InDetTrackTruthCfg(
355 Tracks=TrackContainer,
356 DetailedTruth=TrackContainer+
"DetailedTruth",
357 TracksTruth=TrackContainer+
"TruthCollection"))
361 xAODTrackParticlesName = (
362 "InDetLargeD0TrackParticles" if "LargeD0" in extension
else
363 "InDet" + extension +
"TrackParticles")
365 from xAODTrackingCnv.xAODTrackingCnvConfig
import (
366 TrackParticleCnvAlgPIDCheckCfg)
367 result.merge(TrackParticleCnvAlgPIDCheckCfg(
369 name = extension +
"TrackParticleCnvAlg",
370 TrackContainerName=TrackContainer,
371 xAODTrackParticlesFromTracksContainerName=xAODTrackParticlesName,
372 ClusterSplitProbabilityName=ClusterSplitProbContainer,
373 AssociationMapName=AssociationMapName))
375 return result, TrackContainer
380 InputCombinedInDetTracks=None,
381 InputExtendedInDetTracks=None,
382 StatTrackCollections=None,
383 StatTrackTruthCollections=None,
384 ClusterSplitProbContainer=""):
385 result = ComponentAccumulator()
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 = []
396 from InDetConfig.BackTrackingConfig
import BackTrackingCfg
397 result.merge(BackTrackingCfg(
399 InputCollections=InputCombinedInDetTracks,
400 ClusterSplitProbContainer=ClusterSplitProbContainer))
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"]
414 return result, ClusterSplitProbContainer
419 doTrackingSiPattern=True,
420 InputCombinedInDetTracks=None,
421 InputExtendedInDetTracks=None,
422 StatTrackCollections=None,
423 StatTrackTruthCollections=None,
424 ClusterSplitProbContainer=""):
425 result = ComponentAccumulator()
426 if flags.hasCategory(
"TrackOverlay.ActiveConfig"):
427 doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig,
"doTrackOverlay",
None)
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 = []
439 ResolvedTracks =
"Resolved" + extension +
"Tracks"
443 if (doTrackOverlay
and
444 flags.Tracking.ActiveConfig.storeSeparateContainer
and
445 not flags.Tracking.ActiveConfig.useTRTExtension):
446 ResolvedTracks = flags.Overlay.SigPrefix + ResolvedTracks
449 if "LargeD0" in extension:
450 ResolvedTracks =
"ResolvedLargeD0Tracks"
456 if doTrackingSiPattern:
457 SiSPSeededTracks =
"SiSPSeeded" + extension +
"Tracks"
458 from InDetConfig.TrackingSiPatternConfig
import TrackingSiPatternCfg
459 result.merge(TrackingSiPatternCfg(
461 InputCollections=InputExtendedInDetTracks,
462 ResolvedTrackCollectionKey=ResolvedTracks,
463 SiSPSeededTrackCollectionKey=SiSPSeededTracks,
464 ClusterSplitProbContainer=ClusterSplitProbContainer))
465 StatTrackCollections += [SiSPSeededTracks, ResolvedTracks]
466 StatTrackTruthCollections += [SiSPSeededTracks+
"TruthCollection",
467 ResolvedTracks+
"TruthCollection"]
469 TrackContainer = ResolvedTracks
470 if (doTrackOverlay
and
471 flags.Tracking.ActiveConfig.storeSeparateContainer):
472 TrackContainer =
"Resolved" + extension +
"Tracks"
478 if flags.Tracking.ActiveConfig.useTRTExtension:
479 ExtendedTracks =
"Extended" + extension +
"Tracks"
481 if extension ==
"Disappearing":
482 ExtendedTracks =
"ExtendedTracksDisappearing"
483 elif "LargeD0" in extension:
484 ExtendedTracks =
"ExtendedLargeD0Tracks"
486 ExtendedTracks = flags.Overlay.SigPrefix+
"ExtendedLargeD0Tracks"
487 ExtendedTracksMap =
"ExtendedTracksMap" + extension
489 from InDetConfig.TRTExtensionConfig
import NewTrackingTRTExtensionCfg
490 result.merge(NewTrackingTRTExtensionCfg(
492 SiTrackCollection=ResolvedTracks,
493 ExtendedTrackCollection=ExtendedTracks,
494 ExtendedTracksMap=ExtendedTracksMap))
496 TrackContainer = ExtendedTracks
497 if doTrackOverlay
and "LargeD0" in extension:
498 TrackContainer =
"ExtendedLargeD0Tracks"
499 StatTrackCollections += [ExtendedTracks]
500 StatTrackTruthCollections += [ExtendedTracks+
"TruthCollection"]
506 if flags.Tracking.ActiveConfig.storeSeparateContainer:
509 TrackContainer=TrackContainer,
510 ClusterSplitProbContainer=ClusterSplitProbContainer)
514 ClusterSplitProbContainer = (
515 "InDetAmbiguityProcessorSplitProb" +
516 flags.Tracking.ActiveConfig.extension)
517 InputCombinedInDetTracks += [TrackContainer]
519 InputExtendedInDetTracks += [TrackContainer]
521 return result, ClusterSplitProbContainer
525 InputCombinedInDetTracks=None,
526 StatTrackCollections=None,
527 StatTrackTruthCollections=None):
528 result = ComponentAccumulator()
529 if flags.hasCategory(
"TrackOverlay.ActiveConfig"):
530 doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig,
"doTrackOverlay",
None)
532 doTrackOverlay = flags.Overlay.doTrackOverlay
534 if InputCombinedInDetTracks
is None:
535 InputCombinedInDetTracks = []
536 if StatTrackCollections
is None:
537 StatTrackCollections = []
538 if StatTrackTruthCollections
is None:
539 StatTrackTruthCollections = []
542 InputCombinedInDetTracks += [flags.Overlay.BkgPrefix +
543 "CombinedInDetTracks"]
545 TrackContainer =
"CombinedInDetTracks"
547 from TrkConfig.TrkTrackCollectionMergerConfig
import (
548 TrackCollectionMergerAlgCfg)
549 result.merge(TrackCollectionMergerAlgCfg(
551 InputCombinedTracks=InputCombinedInDetTracks,
552 OutputCombinedTracks=TrackContainer,
553 AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"))
555 if flags.Tracking.doTruth:
556 from InDetConfig.TrackTruthConfig
import InDetTrackTruthCfg
557 result.merge(InDetTrackTruthCfg(
559 Tracks=TrackContainer,
560 DetailedTruth=f
"{TrackContainer}DetailedTruth",
561 TracksTruth=f
"{TrackContainer}TruthCollection"))
563 StatTrackCollections += [TrackContainer]
564 StatTrackTruthCollections += [f
"{TrackContainer}TruthCollection"]
566 if flags.Tracking.doSlimming:
567 from TrkConfig.TrkTrackSlimmerConfig
import TrackSlimmerCfg
568 result.merge(TrackSlimmerCfg(
570 TrackLocation=[TrackContainer]))
572 if flags.Tracking.perigeeExpression ==
"BeamLine":
573 from xAODTrackingCnv.xAODTrackingCnvConfig
import TrackParticleCnvAlgCfg
574 result.merge(TrackParticleCnvAlgCfg(
578 AssociationMapName=f
"PRDtoTrackMapMerge_{TrackContainer}"))
694 StatTrackTruthCollections=None):
695 result = ComponentAccumulator()
697 from InDetConfig.InDetRecStatisticsConfig
import (
698 InDetRecStatisticsAlgCfg)
699 result.merge(InDetRecStatisticsAlgCfg(
701 TrackCollectionKeys=StatTrackCollections,
702 TrackTruthCollectionKeys=(
703 StatTrackTruthCollections
if flags.Tracking.doTruth
else [])))
705 if flags.Tracking.doTruth:
706 from InDetConfig.InDetTrackClusterAssValidationConfig
import (
707 InDetTrackClusterAssValidationCfg)
708 result.merge(InDetTrackClusterAssValidationCfg(
710 TracksLocation=StatTrackCollections))
716 result = ComponentAccumulator()
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)
725 from InDetConfig.InDetPrepRawDataToxAODConfig
import (
726 InDetPixelPrepDataToxAODCfg
as PixelPrepDataToxAODCfg,
727 InDetSCT_PrepDataToxAODCfg
as SCT_PrepDataToxAODCfg,
728 InDetTRT_PrepDataToxAODCfg
as TRT_PrepDataToxAODCfg)
730 if flags.Tracking.writeExtendedSi_PRDInfo:
731 result.merge(PixelPrepDataToxAODCfg(
733 ClusterSplitProbabilityName=(
735 result.merge(SCT_PrepDataToxAODCfg(flags))
737 if flags.Tracking.writeExtendedTRT_PRDInfo:
738 result.merge(TRT_PrepDataToxAODCfg(flags))
740 from DerivationFrameworkInDet.InDetToolsConfig
import TSOS_CommonKernelCfg
745 listOfExtensionsRequesting = [
746 e
for e
in _extensions_list
if (e ==
'')
747 or (flags.Tracking[f
"{e}Pass"].storeTrackSeeds)
748 or (flags.Tracking[f
"{e}Pass"].storeSiSPSeededTracks)
749 or (flags.Tracking[f
"{e}Pass"].storeSeparateContainer) ]
750 result.merge(TSOS_CommonKernelCfg(
751 flags, listOfExtensions = listOfExtensionsRequesting))
753 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
754 from DerivationFrameworkInDet.InDetToolsConfig
import (
755 ObserverTSOS_CommonKernelCfg)
756 result.merge(ObserverTSOS_CommonKernelCfg(flags))
758 if flags.Tracking.doPseudoTracking:
759 from DerivationFrameworkInDet.InDetToolsConfig
import (
760 PseudoTSOS_CommonKernelCfg)
761 result.merge(PseudoTSOS_CommonKernelCfg(flags))
763 if flags.Tracking.doStoreTrackSeeds:
764 from DerivationFrameworkInDet.InDetToolsConfig
import (
765 SiSPSeedsTSOS_CommonKernelCfg)
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))
773 if flags.Tracking.doStoreSiSPSeededTracks:
774 from DerivationFrameworkInDet.InDetToolsConfig
import (
775 SiSPTSOS_CommonKernelCfg)
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))
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(
794 name=f
"InDetPhysHit{extension}DecoratorAlg",
795 TrackParticleContainerName=f
"InDet{extension}TrackParticles"))
807 if flags.Detector.GeometryITk:
808 from InDetConfig.ITkTrackRecoConfig
import ITkTrackRecoCfg
809 return ITkTrackRecoCfg(flags)
811 """Configures complete ID tracking """
812 result = ComponentAccumulator()
815 ClusterSplitProbContainer =
''
824 if flags.Tracking.doTrackSegmentsPixel:
825 acc, ClusterSplitProbContainer = (
827 extensions_list=_extensions_list,
828 ClusterSplitProbContainer=ClusterSplitProbContainer))
832 if flags.Tracking.doTrackSegmentsSCT:
833 acc, ClusterSplitProbContainer = (
835 extensions_list=_extensions_list,
836 ClusterSplitProbContainer=ClusterSplitProbContainer))
840 if flags.Tracking.doTrackSegmentsTRT:
846 if flags.Beam.Type
is BeamType.Cosmics:
847 flagsCosmics = flags_set[0]
857 InputCombinedInDetTracks = []
859 InputExtendedInDetTracks = []
860 ClusterSplitProbContainer =
""
861 StatTrackCollections = []
862 StatTrackTruthCollections = []
865 printPrimaryConfig(flags)
867 for current_flags
in flags_set:
868 printActiveConfig(current_flags)
871 "" if isPrimaryPass
else
872 current_flags.Tracking.ActiveConfig.extension)
873 _extensions_list.append(extension)
879 if flags.Tracking.doTRTStandalone
and extension ==
"TRTStandalone":
882 InputCombinedInDetTracks=InputCombinedInDetTracks,
883 InputExtendedInDetTracks=InputExtendedInDetTracks,
884 StatTrackCollections=StatTrackCollections,
885 StatTrackTruthCollections=StatTrackTruthCollections))
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)
914 if flags.Tracking.doTRTSegments:
915 from InDetConfig.TRTSegmentFindingConfig
import (
916 TRTSegmentFindingCfg)
917 result.merge(TRTSegmentFindingCfg(
919 InputCollections=InputCombinedInDetTracks))
925 if flags.Tracking.doBackTracking:
928 InputCombinedInDetTracks=InputCombinedInDetTracks,
929 InputExtendedInDetTracks=InputExtendedInDetTracks,
930 StatTrackCollections=StatTrackCollections,
931 StatTrackTruthCollections=StatTrackTruthCollections,
932 ClusterSplitProbContainer=ClusterSplitProbContainer)
939 if (flags.Tracking.doTruth
and
940 (flags.Tracking.doPseudoTracking
or
941 flags.Tracking.doIdealPseudoTracking)):
943 from TrkConfig.TrkTruthTrackAlgsConfig
import TruthTrackingCfg
944 result.merge(TruthTrackingCfg(current_flags))
946 isPrimaryPass =
False
954 InputCombinedInDetTracks=InputCombinedInDetTracks,
955 StatTrackCollections=StatTrackCollections,
956 StatTrackTruthCollections=StatTrackTruthCollections))
958 if (flags.Tracking.doPseudoTracking
or
959 flags.Tracking.doIdealPseudoTracking):
962 if flags.Tracking.doTIDE_AmbiTrackMonitoring:
965 if flags.Tracking.doStoreTrackSeeds:
968 if flags.Tracking.doStoreSiSPSeededTracks:
975 if flags.Tracking.doVertexFinding:
976 from InDetConfig.InDetPriVxFinderConfig
import primaryVertexFindingCfg
977 result.merge(primaryVertexFindingCfg(flags))
979 if flags.Tracking.doStats:
982 StatTrackCollections=StatTrackCollections,
983 StatTrackTruthCollections=StatTrackTruthCollections))
989 if flags.Tracking.doV0Finder:
990 from InDetConfig.InDetV0FinderConfig
import InDetV0FinderCfg
991 result.merge(InDetV0FinderCfg(flags))
993 if (flags.Tracking.writeExtendedSi_PRDInfo
or
994 flags.Tracking.writeExtendedTRT_PRDInfo):
998 from InDetConfig.InDetTrackOutputConfig
import InDetTrackRecoOutputCfg
999 result.merge(InDetTrackRecoOutputCfg(flags, _extensions_list))
1007 store_config =
False
1010 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
1011 flags = initConfigFlags()
1014 from InDetConfig.ConfigurationHelpers
import OnlyTrackingPreInclude
1015 OnlyTrackingPreInclude(flags)
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
1024 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
1025 top_acc = MainServicesCfg(flags)
1027 if flags.Input.Format
is not Format.BS:
1028 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
1029 top_acc.merge(PoolReadCfg(flags))
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))
1036 from CaloRec.CaloTopoClusterConfig
import CaloTopoClusterCfg
1037 top_acc.merge(CaloTopoClusterCfg(flags))
1039 if flags.Input.Format
is not Format.BS:
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))
1046 if flags.Input.isMC:
1047 from xAODTruthCnv.xAODTruthCnvConfig
import GEN_AOD2xAODCfg
1048 top_acc.merge(GEN_AOD2xAODCfg(flags))
1050 if flags.Tracking.doTruth :
1051 from xAODTruthCnv.RedoTruthLinksConfig
import RedoTruthLinksAlgCfg
1052 top_acc.merge( RedoTruthLinksAlgCfg(flags) )
1058 top_acc.foreach_component(
"AthEventSeq/*").OutputLevel = DEBUG
1059 top_acc.printConfig(withDetails=
True, summariseProps=
True)
1060 top_acc.store(open(
"TrackRecoConfig.pkl",
"wb"))
1063 if "--norun" not in sys.argv: