diff --git a/InnerDetector/InDetConfig/python/BackTrackingConfig.py b/InnerDetector/InDetConfig/python/BackTrackingConfig.py index dfc1d6f5cb914a7172fcc8f4ba8c8b73df99cf84..51b0de0028dfe4ca5d7c29926b7c38841c973c02 100644 --- a/InnerDetector/InDetConfig/python/BackTrackingConfig.py +++ b/InnerDetector/InDetConfig/python/BackTrackingConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import InDetConfig.TrackingCommonConfig as TC @@ -11,9 +11,9 @@ def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', **kwargs InDetPatternPropagator = acc.getPrimaryAndMerge(TC.InDetPatternPropagatorCfg()) kwargs.setdefault("PropagatorTool", InDetPatternPropagator) - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel) kwargs.setdefault("PixManagerLocation", 'Pixel') # InDetKeys.PixelManager() - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT) kwargs.setdefault("SCTManagerLocation", 'SCT') # InDetKeys.SCT_Manager() kwargs.setdefault("RoadWidth", 35.) kwargs.setdefault("MaxStep", 20.) @@ -21,7 +21,7 @@ def SiDetElementsRoadMaker_xkCfg(flags, name = 'InDetTRT_SeededSiRoad', **kwargs if flags.Beam.Type == "cosmics": kwargs.setdefault("RoadWidth", 50) # Condition algorithm for InDet__SiDetElementsRoadMaker_xk - if flags.InDet.Tracking.useSCT: + if flags.InDet.Tracking.Pass.useSCT: acc.addCondAlgo(CompFactory.InDet.SiDetElementsRoadCondAlg_xk(name = "InDet__SiDetElementsRoadCondAlg_xk")) InDetTRT_SeededSiRoadMaker = CompFactory.InDet.SiDetElementsRoadMaker_xk(name = name, **kwargs) @@ -74,7 +74,7 @@ def TRT_SeededSpacePointFinder_ATLCfg(flags, name='InDetTRT_SeededSpFinder', Inp kwargs.setdefault("NeighborSearch", True) kwargs.setdefault("LoadFull", False) kwargs.setdefault("DoCosmics", flags.Beam.Type == "cosmics") - kwargs.setdefault("pTmin", flags.InDet.Tracking.minSecondaryPt) + kwargs.setdefault("pTmin", flags.InDet.Tracking.Pass.minSecondaryPt) InDetTRT_SeededSpacePointFinder = CompFactory.InDet.TRT_SeededSpacePointFinder_ATL(name = name, **kwargs) acc.setPrivateTools(InDetTRT_SeededSpacePointFinder) @@ -92,7 +92,7 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', InputC InDetSiComTrackFinder = acc.popToolsAndMerge(TC.SiCombinatorialTrackFinder_xkCfg(flags)) - if (flags.InDet.Tracking.usePixel and flags.InDet.Tracking.useSCT) is not False: + if flags.InDet.Tracking.Pass.usePixel and flags.InDet.Tracking.Pass.useSCT: InDetTRT_SeededSiRoadMaker = acc.popToolsAndMerge(SiDetElementsRoadMaker_xkCfg(flags)) acc.addPublicTool(InDetTRT_SeededSiRoadMaker) kwargs.setdefault("RoadTool", InDetTRT_SeededSiRoadMaker) @@ -112,11 +112,11 @@ def TRT_SeededTrackFinder_ATLCfg(flags, name='InDetTRT_SeededTrackMaker', InputC kwargs.setdefault("UpdatorTool", InDetPatternUpdator) kwargs.setdefault("SeedTool", InDetTRT_SeededSpacePointFinder) kwargs.setdefault("CombinatorialTrackFinder", InDetSiComTrackFinder) - kwargs.setdefault("pTmin", flags.InDet.Tracking.minSecondaryPt) - kwargs.setdefault("nHolesMax", flags.InDet.Tracking.SecondarynHolesMax) - kwargs.setdefault("nHolesGapMax", flags.InDet.Tracking.SecondarynHolesGapMax) - kwargs.setdefault("Xi2max", flags.InDet.Tracking.SecondaryXi2max) - kwargs.setdefault("Xi2maxNoAdd", flags.InDet.Tracking.SecondaryXi2maxNoAdd) + kwargs.setdefault("pTmin", flags.InDet.Tracking.Pass.minSecondaryPt) + kwargs.setdefault("nHolesMax", flags.InDet.Tracking.Pass.SecondarynHolesMax) + kwargs.setdefault("nHolesGapMax", flags.InDet.Tracking.Pass.SecondarynHolesGapMax) + kwargs.setdefault("Xi2max", flags.InDet.Tracking.Pass.SecondaryXi2max) + kwargs.setdefault("Xi2maxNoAdd", flags.InDet.Tracking.Pass.SecondaryXi2maxNoAdd) kwargs.setdefault("SearchInCaloROI", False) if kwargs["SearchInCaloROI"]: from InDetConfig.InDetRecCaloSeededROISelectionConfig import CaloClusterROI_SelectorCfg @@ -159,11 +159,11 @@ def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', InputColl from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg acc.merge(BeamSpotCondAlgCfg(flags)) - if flags.InDet.Tracking.usePixel: + if flags.InDet.Tracking.Pass.usePixel: acc.addCondAlgo(CompFactory.InDet.SiDetElementBoundaryLinksCondAlg_xk(name="InDetSiDetElementBoundaryLinksPixelCondAlg", ReadKey="PixelDetectorElementCollection", WriteKey="PixelDetElementBoundaryLinks_xk")) - if flags.InDet.Tracking.useSCT: + if flags.InDet.Tracking.Pass.useSCT: acc.addCondAlgo(CompFactory.InDet.SiDetElementsRoadCondAlg_xk(name="InDet__SiDetElementsRoadCondAlg_xk")) acc.addCondAlgo(CompFactory.InDet.SiDetElementBoundaryLinksCondAlg_xk(name="InDetSiDetElementBoundaryLinksSCTCondAlg", @@ -189,24 +189,24 @@ def TRT_SeededTrackFinderCfg(flags, name='InDetTRT_SeededTrackFinder', InputColl kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix if usePrdAssociationTool else "") kwargs.setdefault("TrackSummaryTool", InDetTrackSummaryToolNoHoleSearch) kwargs.setdefault("TrackExtensionTool", InDetTRTExtensionTool) - kwargs.setdefault("MinTRTonSegment", flags.InDet.Tracking.minSecondaryTRTonTrk) - kwargs.setdefault("MinTRTonly", flags.InDet.Tracking.minTRTonly) + kwargs.setdefault("MinTRTonSegment", flags.InDet.Tracking.Pass.minSecondaryTRTonTrk) + kwargs.setdefault("MinTRTonly", flags.InDet.Tracking.Pass.minTRTonly) kwargs.setdefault("TrtExtension", True) - kwargs.setdefault("SiExtensionCuts", flags.InDet.Tracking.SiExtensionCuts) - kwargs.setdefault("minPt", flags.InDet.Tracking.minSecondaryPt) - kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxSecondaryImpact) - kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact) - kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta) + kwargs.setdefault("SiExtensionCuts", flags.InDet.Tracking.Pass.SiExtensionCuts) + kwargs.setdefault("minPt", flags.InDet.Tracking.Pass.minSecondaryPt) + kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.Pass.maxSecondaryImpact) + kwargs.setdefault("maxZImp", flags.InDet.Tracking.Pass.maxZImpact) + kwargs.setdefault("maxEta", flags.InDet.Tracking.Pass.maxEta) kwargs.setdefault("Extrapolator", InDetExtrapolator) - kwargs.setdefault("RejectShortExtension", flags.InDet.Tracking.rejectShortExtensions) + kwargs.setdefault("RejectShortExtension", flags.InDet.Tracking.Pass.rejectShortExtensions) kwargs.setdefault("FinalRefit", False) kwargs.setdefault("FinalStatistics", False) kwargs.setdefault("OutputSegments", False) kwargs.setdefault("InputSegmentsLocation", 'TRTSegments') # InDetKeys.TRT_Segments() kwargs.setdefault("OutputTracksLocation", TRTSeededTracks) - kwargs.setdefault("CaloClusterEt", flags.InDet.Tracking.minRoIClusterEt) + kwargs.setdefault("CaloClusterEt", flags.InDet.Tracking.Pass.minRoIClusterEt) - if flags.InDet.Tracking.RoISeededBackTracking: + if flags.InDet.Tracking.Pass.RoISeededBackTracking: from RegionSelector.RegSelToolConfig import regSelTool_SCT_Cfg RegSelTool_SCT = acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags)) acc.addPublicTool(RegSelTool_SCT) @@ -242,11 +242,11 @@ def InDetTRTAmbiTrackSelectionToolCfg(flags, name='InDetTRT_SeededAmbiTrackSelec kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCut) kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels) kwargs.setdefault("minScoreShareTracks", -1.) # off ! - kwargs.setdefault("minHits", flags.InDet.Tracking.minSecondaryClusters) - kwargs.setdefault("minNotShared", flags.InDet.Tracking.minSecondarySiNotShared) - kwargs.setdefault("maxShared", flags.InDet.Tracking.maxSecondaryShared) - kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minSecondaryTRTonTrk) - kwargs.setdefault("UseParameterization", flags.InDet.Tracking.useParameterizedTRTCuts) + kwargs.setdefault("minHits", flags.InDet.Tracking.Pass.minSecondaryClusters) + kwargs.setdefault("minNotShared", flags.InDet.Tracking.Pass.minSecondarySiNotShared) + kwargs.setdefault("maxShared", flags.InDet.Tracking.Pass.maxSecondaryShared) + kwargs.setdefault("minTRTHits", flags.InDet.Tracking.Pass.minSecondaryTRTonTrk) + kwargs.setdefault("UseParameterization", flags.InDet.Tracking.Pass.useParameterizedTRTCuts) kwargs.setdefault("Cosmics", flags.Beam.Type == "cosmics") kwargs.setdefault("doPixelSplitting", flags.InDet.doPixelClusterSplitting) @@ -278,7 +278,7 @@ def SimpleAmbiguityProcessorToolCfg(flags, name='InDetTRT_SeededAmbiguityProcess kwargs.setdefault("TrackSummaryTool", InDetTRT_SeededSummaryTool) kwargs.setdefault("SelectionTool", InDetTRT_SeededAmbiTrackSelectionTool) kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer) - kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetTRT_SeededAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension) + kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetTRT_SeededAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension) kwargs.setdefault("RefitPrds", not flags.InDet.refitROT) kwargs.setdefault("SuppressTrackFit", False) kwargs.setdefault("SuppressHoleSearch", False) @@ -377,8 +377,8 @@ if __name__ == "__main__": ########################## TRTPreProcessing Configuration ################################ - from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg if not flags.InDet.doDBMstandalone: + from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg top_acc.merge(TRTPreProcessingCfg(flags,(not flags.InDet.doTRTPhaseCalculation or flags.Beam.Type =="collisions"),False)) ######################################## TRTSegmentFinding Configuration ########################################### diff --git a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py index 2a5a60118d7433927d1535d63161451b455ff53d..f9b52de560ce919847039482dbd5ba8e21aae3ad 100644 --- a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py +++ b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory from InDetConfig.ITkRecToolConfig import ITkBoundaryCheckToolCfg, ITkPatternPropagatorCfg, ITkPatternUpdatorCfg @@ -8,21 +8,6 @@ import InDetConfig.ITkTrackingCommonConfig as TC def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", InputCollections = None, **kwargs) : acc = ComponentAccumulator() # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and \ - (flags.ITk.Tracking.Pass.extension == "LargeD0" \ - or flags.ITk.Tracking.Pass.extension == "ConversionFinding"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # - # --- get list of already associated hits (always do this, even if no other tracking ran before) - # - if usePrdAssociationTool: - prefix = 'ITk' - suffix = flags.ITk.Tracking.Pass.extension - # # --- Space points seeds maker, use different ones for cosmics and collisions # SiSpacePointsSeedMaker = CompFactory.ITk.SiSpacePointsSeedMaker @@ -40,9 +25,9 @@ def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", InputCollections kwargs.setdefault("radMax", flags.ITk.Tracking.Pass.radMax) kwargs.setdefault("etaMax", flags.ITk.Tracking.Pass.maxEta ) - if usePrdAssociationTool: + if (len(InputCollections) > 0) and flags.ITk.Tracking.Pass.usePrdAssociationTool: # not all classes have that property !!! - kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+ suffix) + kwargs.setdefault("PRDtoTrackMap", 'ITkPRDtoTrackMap'+ flags.ITk.Tracking.Pass.extension) if not flags.Beam.Type == 'cosmics': kwargs.setdefault("maxRadius1", 0.75*flags.ITk.Tracking.Pass.radMax) kwargs.setdefault("maxRadius2", flags.ITk.Tracking.Pass.radMax) @@ -90,7 +75,6 @@ def ITkSiCombinatorialTrackFinder_xkCfg(flags, name="ITkSiComTrackFinder", **kwa # # --- Local track finding using sdCaloSeededSSSpace point seed # - # @TODO ensure that PRD association map is used if usePrdAssociationTool is set ITkRotCreatorDigital = acc.getPrimaryAndMerge(TC.ITkRotCreatorDigitalCfg(flags)) ITkPatternPropagator = acc.getPrimaryAndMerge(ITkPatternPropagatorCfg(flags)) ITkPatternUpdator = acc.popToolsAndMerge(ITkPatternUpdatorCfg(flags)) @@ -149,14 +133,6 @@ def ITkSiTrackMaker_xkCfg(flags, name="ITkSiTrackMaker", InputCollections = None track_finder = acc.popToolsAndMerge(ITkSiCombinatorialTrackFinder_xkCfg(flags)) - # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.ITk.Tracking.Pass.extension == "LargeD0" or flags.ITk.Tracking.Pass.extension == "ConversionFinding"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - kwargs.setdefault("useSCT", flags.ITk.Tracking.Pass.useITkStrip) kwargs.setdefault("usePixel", flags.ITk.Tracking.Pass.useITkPixel) kwargs.setdefault("RoadTool", ITkSiDetElementsRoadMaker) @@ -186,7 +162,7 @@ def ITkSiTrackMaker_xkCfg(flags, name="ITkSiTrackMaker", InputCollections = None kwargs.setdefault("etaWidth", flags.ITk.Tracking.Pass.etaWidthBrem[0]) kwargs.setdefault("InputClusterContainerName", 'ITkCaloClusterROIs') kwargs.setdefault("InputHadClusterContainerName", 'ITkHadCaloClusterROIs') - kwargs.setdefault("UseAssociationTool", usePrdAssociationTool) + kwargs.setdefault("UseAssociationTool", (len(InputCollections) > 0) and (flags.ITk.Tracking.Pass.usePrdAssociationTool)) kwargs.setdefault("ITKGeometry", True) if flags.Beam.Type == 'cosmics': @@ -222,19 +198,6 @@ def ITkSiSPSeededTrackFinderCfg(flags, name="ITkSiSpTrackFinder", InputCollectio # set output track collection name # SiTrackCollection = SiSPSeededTrackCollectionKey - # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.ITk.Tracking.Pass.extension == "LargeD0" or flags.ITk.Tracking.Pass.extension == "ConversionFinding"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # - # --- get list of already associated hits (always do this, even if no other tracking ran before) - # - if usePrdAssociationTool: - prefix = 'ITk' - suffix = flags.ITk.Tracking.Pass.extension ITkSiTrackMaker = acc.popToolsAndMerge(ITkSiTrackMaker_xkCfg(flags, InputCollections = InputCollections )) @@ -249,8 +212,9 @@ def ITkSiSPSeededTrackFinderCfg(flags, name="ITkSiSpTrackFinder", InputCollectio # kwargs.setdefault("TrackTool", ITkSiTrackMaker) kwargs.setdefault("PropagatorTool", ITkPropagator) - kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix \ - if usePrdAssociationTool else '') + if (len(InputCollections) > 0) and flags.ITk.Tracking.Pass.usePrdAssociationTool: + # not all classes have that property !!! + kwargs.setdefault("PRDtoTrackMap", 'ITkPRDtoTrackMap'+ flags.ITk.Tracking.Pass.extension) kwargs.setdefault("TrackSummaryTool", ITkTrackSummaryToolNoHoleSearch) kwargs.setdefault("TracksLocation", SiTrackCollection) kwargs.setdefault("SeedsTool", ITkSiSpacePointsSeedMaker) @@ -494,20 +458,11 @@ def ITkTrkAmbiguitySolverCfg(flags, name="ITkAmbiguitySolver", ResolvedTrackColl def ITkTrackingSiPatternCfg(flags, InputCollections = None, ResolvedTrackCollectionKey = None, SiSPSeededTrackCollectionKey = None , ClusterSplitProbContainer=''): acc = ComponentAccumulator() # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.ITk.Tracking.Pass.extension == "LargeD0" or flags.ITk.Tracking.Pass.extension == "ConversionFinding"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # # --- get list of already associated hits (always do this, even if no other tracking ran before) # - if usePrdAssociationTool: - prefix = 'ITk' - suffix = flags.ITk.Tracking.Pass.extension - acc.merge(TC.ITkTrackPRD_AssociationCfg(flags,namePrefix = prefix, - nameSuffix = suffix, + if (len(InputCollections) > 0) and flags.ITk.Tracking.Pass.usePrdAssociationTool: + acc.merge(TC.ITkTrackPRD_AssociationCfg(flags,namePrefix = 'ITk', + nameSuffix = flags.ITk.Tracking.Pass.extension, TracksName = list(InputCollections))) # ------------------------------------------------------------ diff --git a/InnerDetector/InDetConfig/python/InDetConfigFlags.py b/InnerDetector/InDetConfig/python/InDetConfigFlags.py index b1def59acae9db65a40292d902031ce213652f99..4fe02f365f3efd1ac9228ec2ddc160d1af15da8b 100644 --- a/InnerDetector/InDetConfig/python/InDetConfigFlags.py +++ b/InnerDetector/InDetConfig/python/InDetConfigFlags.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.AthConfigFlags import AthConfigFlags # TODO: clean up flags, should only contain general settings but no alg config @@ -8,9 +8,10 @@ def createInDetConfigFlags(): icf=AthConfigFlags() icf.addFlag("InDet.doDBMstandalone",False) - # FIXME: Flags shouldn't turn on/off individual algorithms icf.addFlag("InDet.doSplitReco", False) # Turn running of the truth seeded pseudo tracking only for pileup on and off. Only makes sense to run on RDO file where SplitDigi was used! - icf.addFlag("InDet.doRefit", False) # Turn running of refitting on and off + + icf.addFlag("InDet.Tracking.doRefit", False) # Turn running of refitting on and off + icf.addFlag("InDet.doHighPileup", False) # Turn running of high pile-up reconstruction on and off icf.addFlag("InDet.doTruth", lambda f: f.Input.isMC) # Turn running of truth matching on and off (by default on for MC off for data) icf.addFlag("InDet.doBackTracking", True) # Turn running of backtracking on and off @@ -108,28 +109,28 @@ def createInDetConfigFlags(): createPixelTrackingPassFlags, createDisappearingTrackingPassFlags, createSCTTrackingPassFlags, createTRTTrackingPassFlags, \ createTRTStandaloneTrackingPassFlags, createSCTandTRTTrackingPassFlags, createDBMTrackingPassFlags - icf.addFlagsCategory ("InDet.Tracking", createTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.IBLTracking", createIBLTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.HighPileupTracking", createHighPileupTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.MinBiasTracking", createMinBiasTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.LargeD0Tracking", createLargeD0TrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.R3LargeD0Tracking", createR3LargeD0TrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.LowPtLargeD0Tracking", createLowPtLargeD0TrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.LowPtTracking", createLowPtTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.VeryLowPtTracking", createVeryLowPtTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.ForwardTracksTracking", createForwardTracksTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.BeamGasTracking", createBeamGasTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.VtxLumiTracking", createVtxLumiTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.VtxBeamSpotTracking", createVtxBeamSpotTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.CosmicsTracking", createCosmicsTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.HeavyIonTracking", createHeavyIonTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.PixelTracking", createPixelTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.DisappearingTracking", createDisappearingTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.SCTTracking", createSCTTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.TRTTracking", createTRTTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.TRTStandaloneTracking", createTRTStandaloneTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.SCTandTRTTracking", createSCTandTRTTrackingPassFlags, prefix=True) - icf.addFlagsCategory ("InDet.DBMTracking", createDBMTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.Pass", createTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.IBLPass", createIBLTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.HighPileupPass", createHighPileupTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.MinBiasPass", createMinBiasTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.LargeD0Pass", createLargeD0TrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.R3LargeD0Pass", createR3LargeD0TrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.LowPtLargeD0Pass", createLowPtLargeD0TrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.LowPtPass", createLowPtTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.VeryLowPtPass", createVeryLowPtTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.ForwardTracksPass", createForwardTracksTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.BeamGasPass", createBeamGasTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.VtxLumiPass", createVtxLumiTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.VtxBeamSpotPass", createVtxBeamSpotTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.CosmicsPass", createCosmicsTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.HeavyIonPass", createHeavyIonTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.PixelPass", createPixelTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.DisappearingPass", createDisappearingTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.SCTPass", createSCTTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.TRTPass", createTRTTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.TRTStandalonePass", createTRTStandaloneTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.SCTandTRTPass", createSCTandTRTTrackingPassFlags, prefix=True) + icf.addFlagsCategory ("InDet.Tracking.DBMPass", createDBMTrackingPassFlags, prefix=True) from InDetConfig.VertexFindingFlags import createSecVertexingFlags, createEGammaPileUpSecVertexingFlags, createPriVertexingFlags icf.addFlagsCategory("InDet.PriVertex", createPriVertexingFlags, prefix=True) diff --git a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py index c2b98594905128e0e5e256656c465e2d970c07c1..0efd89a6d199a834ef9e28d2d97d0798ecdb4c74 100644 --- a/InnerDetector/InDetConfig/python/TRTExtensionConfig.py +++ b/InnerDetector/InDetConfig/python/TRTExtensionConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import InDetConfig.TrackingCommonConfig as TC @@ -61,7 +61,7 @@ def InDetExtensionProcessorCfg(flags, SiTrackCollection=None, ExtendedTrackColle # # --- DAF Fitter setup # - InDetExtensionFitter = acc.popToolsAndMerge(DeterministicAnnealingFilterCfg(flags, name = 'InDetDAF'+ flags.InDet.Tracking.extension)) + InDetExtensionFitter = acc.popToolsAndMerge(DeterministicAnnealingFilterCfg(flags, name = 'InDetDAF'+ flags.InDet.Tracking.Pass.extension)) acc.addPublicTool(InDetExtensionFitter) else: fitter_args = {} @@ -70,11 +70,11 @@ def InDetExtensionProcessorCfg(flags, SiTrackCollection=None, ExtendedTrackColle from InDetConfig.InDetRecToolConfig import InDetBoundaryCheckToolCfg InDetBoundaryCheckTool = acc.popToolsAndMerge(InDetBoundaryCheckToolCfg(flags)) fitter_args.setdefault("BoundaryCheckTool", InDetBoundaryCheckTool) - if flags.InDet.Tracking.extension != "LowPt": - InDetExtensionFitter = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags, 'InDetTrackFitter_TRTExtension'+flags.InDet.Tracking.extension, **fitter_args)) + if flags.InDet.Tracking.Pass.extension != "LowPt": + InDetExtensionFitter = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags, 'InDetTrackFitter_TRTExtension'+flags.InDet.Tracking.Pass.extension, **fitter_args)) acc.addPublicTool(InDetExtensionFitter) else: - InDetExtensionFitter = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags, 'InDetTrackFitter_TRTExtension'+flags.InDet.Tracking.extension, **fitter_args)) + InDetExtensionFitter = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags, 'InDetTrackFitter_TRTExtension'+flags.InDet.Tracking.Pass.extension, **fitter_args)) acc.addPublicTool(InDetExtensionFitter) # # --- load scoring for extension @@ -104,17 +104,17 @@ def InDetExtensionProcessorCfg(flags, SiTrackCollection=None, ExtendedTrackColle kwargs.setdefault("suppressHoleSearch", False) kwargs.setdefault("tryBremFit", flags.InDet.doBremRecovery) kwargs.setdefault("caloSeededBrem", flags.InDet.doCaloSeededBrem) - kwargs.setdefault("pTminBrem", flags.InDet.Tracking.minPTBrem) + kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem) kwargs.setdefault("RefitPrds", not (flags.InDet.refitROT or (flags.InDet.trtExtensionType == 'DAF'))) if doPhase: kwargs.setdefault("Cosmics", True) - acc.addEventAlgo(CompFactory.InDet.InDetExtensionProcessor(name = "InDetExtensionProcessorPhase" + flags.InDet.Tracking.extension, **kwargs)) + acc.addEventAlgo(CompFactory.InDet.InDetExtensionProcessor(name = "InDetExtensionProcessorPhase" + flags.InDet.Tracking.Pass.extension, **kwargs)) else: kwargs.setdefault("Cosmics", flags.Beam.Type == "cosmics") - acc.addEventAlgo(CompFactory.InDet.InDetExtensionProcessor("InDetExtensionProcessor" + flags.InDet.Tracking.extension, **kwargs)) + acc.addEventAlgo(CompFactory.InDet.InDetExtensionProcessor("InDetExtensionProcessor" + flags.InDet.Tracking.Pass.extension, **kwargs)) return acc @@ -132,12 +132,12 @@ def NewTrackingTRTExtensionCfg(flags, SiTrackCollection = None, ExtendedTrackCol # if doPhase: acc.merge(TRT_TrackExtensionAlgCfg( flags, - name = 'InDetTRT_ExtensionPhase' + flags.InDet.Tracking.extension, + name = 'InDetTRT_ExtensionPhase' + flags.InDet.Tracking.Pass.extension, SiTrackCollection=SiTrackCollection, ExtendedTracksMap = ExtendedTracksMap)) else: acc.merge(TRT_TrackExtensionAlgCfg( flags, - name = 'InDetTRT_Extension' + flags.InDet.Tracking.extension, + name = 'InDetTRT_Extension' + flags.InDet.Tracking.Pass.extension, SiTrackCollection=SiTrackCollection, ExtendedTracksMap = ExtendedTracksMap, TrackExtensionTool = acc.popToolsAndMerge(TC.InDetTRT_ExtensionToolCfg(flags)))) @@ -230,8 +230,8 @@ if __name__ == "__main__": #################### Additional Configuration ######################## ####################################################################### ################# TRTPreProcessing Configuration ###################### - from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg if not ConfigFlags.InDet.doDBMstandalone: + from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg top_acc.merge(TRTPreProcessingCfg(ConfigFlags,(not ConfigFlags.InDet.doTRTPhaseCalculation or ConfigFlags.Beam.Type =="collisions"),False)) ################ TRTSegmentFinding Configuration ###################### diff --git a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py index ffcd79fb4e21165d99b175eabeeb4f44a81f10a4..d0ad3700204d2fc45f22f286cf4ca70ee98d6ad5 100644 --- a/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py +++ b/InnerDetector/InDetConfig/python/TRTSegmentFindingConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import InDetConfig.TrackingCommonConfig as TC @@ -30,14 +30,14 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi # if extension == "_TRT": # TRT Subdetector segment finding - MinNumberDCs = flags.InDet.Tracking.minTRTonly - pTmin = flags.InDet.Tracking.minPT - sharedFrac = flags.InDet.Tracking.maxTRTonlyShared + MinNumberDCs = flags.InDet.Tracking.Pass.minTRTonly + pTmin = flags.InDet.Tracking.Pass.minPT + sharedFrac = flags.InDet.Tracking.Pass.maxTRTonlyShared else: # TRT-only/back-tracking segment finding - MinNumberDCs = flags.InDet.Tracking.minSecondaryTRTonTrk - pTmin = flags.InDet.Tracking.minSecondaryPt - sharedFrac = flags.InDet.Tracking.maxSecondaryTRTShared + MinNumberDCs = flags.InDet.Tracking.Pass.minSecondaryTRTonTrk + pTmin = flags.InDet.Tracking.Pass.minSecondaryPt + sharedFrac = flags.InDet.Tracking.Pass.maxSecondaryTRTShared # # --- offline version of TRT segemnt making # @@ -52,7 +52,7 @@ def TRT_TrackSegmentsMaker_ATLxkCfg(flags, name = 'InDetTRT_SeedsMaker', extensi kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix if usePrdAssociationTool else '') kwargs.setdefault("RemoveNoiseDriftCircles", flags.InDet.removeTRTNoise) kwargs.setdefault("MinNumberDriftCircles", MinNumberDCs) - kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.TRTSegFinderPtBins) + kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.Pass.TRTSegFinderPtBins) kwargs.setdefault("pTmin", pTmin) kwargs.setdefault("sharedFrac", sharedFrac) @@ -67,15 +67,15 @@ def TRT_TrackSegmentsMakerCondAlg_ATLxkCfg(flags, name = 'InDetTRT_SeedsMakerCon # if extension == "_TRT": # TRT Subdetector segment finding - pTmin = flags.InDet.Tracking.minPT + pTmin = flags.InDet.Tracking.Pass.minPT else: # TRT-only/back-tracking segment finding - pTmin = flags.InDet.Tracking.minSecondaryPt + pTmin = flags.InDet.Tracking.Pass.minSecondaryPt InDetPatternPropagator = acc.getPrimaryAndMerge(TC.InDetPatternPropagatorCfg()) kwargs.setdefault("PropagatorTool", InDetPatternPropagator) - kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.TRTSegFinderPtBins) + kwargs.setdefault("NumberMomentumChannel", flags.InDet.Tracking.Pass.TRTSegFinderPtBins) kwargs.setdefault("pTmin", pTmin) InDetTRT_TrackSegmentsMakerCondAlg = CompFactory.InDet.TRT_TrackSegmentsMakerCondAlg_ATLxk(name = name, **kwargs) @@ -106,7 +106,7 @@ def TRT_TrackSegmentsFinderCfg(flags, name = 'InDetTRT_TrackSegmentsFinder', ext TRT_ClustersContainer = 'TRT_DriftCircles')) # InDetKeys.TRT_DriftCircles acc.addPublicTool(InDetTRT_TrackSegmentsMaker) - if flags.Detector.EnableCalo and (flags.InDet.doCaloSeededTRTSegments or flags.InDet.Tracking.RoISeededBackTracking): + if flags.Detector.EnableCalo and (flags.InDet.doCaloSeededTRTSegments or flags.InDet.Tracking.Pass.RoISeededBackTracking): from InDetConfig.InDetRecCaloSeededROISelectionConfig import CaloClusterROI_SelectorCfg acc.merge(CaloClusterROI_SelectorCfg(flags)) kwargs.setdefault("SegmentsMakerTool", InDetTRT_TrackSegmentsMaker) @@ -142,12 +142,12 @@ def SegmentDriftCircleAssValidationCfg(flags, name="InDetSegmentDriftCircleAssVa # if extension == "_TRT": # TRT Subdetector segment finding - MinNumberDCs = flags.InDet.Tracking.minTRTonly - pTmin = flags.InDet.Tracking.minPT + MinNumberDCs = flags.InDet.Tracking.Pass.minTRTonly + pTmin = flags.InDet.Tracking.Pass.minPT else: # TRT-only/back-tracking segment finding - MinNumberDCs = flags.InDet.Tracking.minSecondaryTRTonTrk - pTmin = flags.InDet.Tracking.minSecondaryPt + MinNumberDCs = flags.InDet.Tracking.Pass.minSecondaryTRTonTrk + pTmin = flags.InDet.Tracking.Pass.minSecondaryPt #kwargs.setdefault("OrigTracksLocation", BarrelSegments) kwargs.setdefault("TRT_DriftCirclesName", 'TRT_DriftCircles') # InDetKeys.TRT_DriftCircles @@ -224,8 +224,8 @@ if __name__ == "__main__": # NewTracking collection keys InputCombinedInDetTracks = [] - from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg if not flags.InDet.doDBMstandalone: + from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg top_acc.merge(TRTPreProcessingCfg(flags,(not flags.InDet.doTRTPhaseCalculation or flags.Beam.Type =="collisions"),False)) top_acc.merge(TRTSegmentFindingCfg( flags, diff --git a/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py b/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py index c5dd2fdb68c0f15aa71e12270ba69d939cc114c5..08551f002d7cddeb82e9414b0c9535d201aba391 100644 --- a/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py +++ b/InnerDetector/InDetConfig/python/TRTStandaloneConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import InDetConfig.TrackingCommonConfig as TC @@ -12,28 +12,20 @@ def InDetTrtTrackScoringToolCfg(flags, name ='InDetTRT_StandaloneScoringTool', e InDetTRTDriftCircleCut = acc.popToolsAndMerge(TC.InDetTRTDriftCircleCutForPatternRecoCfg(flags)) acc.addPublicTool(InDetTRTDriftCircleCut) - # - # Cut values and output key for the TRT segments standalone TRT track finder - # - if extension == "_TRT": - # TRT track segments - pTmin = flags.InDet.Tracking.minPT - else: - # TRT standalone - pTmin = flags.InDet.Tracking.minTRTonlyPt # new cut parameter to make it flexible... - kwargs.setdefault("DriftCircleCutTool", InDetTRTDriftCircleCut) kwargs.setdefault("useAmbigFcn", True) kwargs.setdefault("useSigmaChi2", False) - kwargs.setdefault("PtMin", pTmin) - kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.minTRTonly) + kwargs.setdefault("PtMin", flags.InDet.Tracking.Pass.minPT if extension == "_TRT" # TRT track segments + else flags.InDet.Tracking.Pass.minTRTonlyPt # TRT standalone + ) + kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.Pass.minTRTonly) kwargs.setdefault("maxEta", 2.1) - kwargs.setdefault("UseParameterization", flags.InDet.Tracking.useTRTonlyParamCuts) - kwargs.setdefault("OldTransitionLogic", flags.InDet.Tracking.useTRTonlyOldLogic) - kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.minSecondaryTRTPrecFrac) - kwargs.setdefault("TRTTrksEtaBins", flags.InDet.Tracking.TrkSel.TRTTrksEtaBins) - kwargs.setdefault("TRTTrksMinTRTHitsThresholds", flags.InDet.Tracking.TrkSel.TRTTrksMinTRTHitsThresholds) - kwargs.setdefault("TRTTrksMinTRTHitsMuDependencies", flags.InDet.Tracking.TrkSel.TRTTrksMinTRTHitsMuDependencies) + kwargs.setdefault("UseParameterization", flags.InDet.Tracking.Pass.useTRTonlyParamCuts) + kwargs.setdefault("OldTransitionLogic", flags.InDet.Tracking.Pass.useTRTonlyOldLogic) + kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.Pass.minSecondaryTRTPrecFrac) + kwargs.setdefault("TRTTrksEtaBins", flags.InDet.Tracking.Pass.TrkSel.TRTTrksEtaBins) + kwargs.setdefault("TRTTrksMinTRTHitsThresholds", flags.InDet.Tracking.Pass.TrkSel.TRTTrksMinTRTHitsThresholds) + kwargs.setdefault("TRTTrksMinTRTHitsMuDependencies", flags.InDet.Tracking.Pass.TrkSel.TRTTrksMinTRTHitsMuDependencies) acc.setPrivateTools(CompFactory.InDet.InDetTrtTrackScoringTool(name, **kwargs)) return acc @@ -70,7 +62,7 @@ def TRT_SegmentToTrackToolCfg(flags, name ='InDetTRT_SegmentToTrackTool', extens kwargs.setdefault("ScoringTool", InDetTRT_StandaloneScoringTool) kwargs.setdefault("Extrapolator", InDetExtrapolator) kwargs.setdefault("FinalRefit", True) - kwargs.setdefault("MaxSharedHitsFraction", flags.InDet.Tracking.maxTRTonlyShared) + kwargs.setdefault("MaxSharedHitsFraction", flags.InDet.Tracking.Pass.maxTRTonlyShared) kwargs.setdefault("SuppressHoleSearch", True) InDetTRT_SegmentToTrackTool = CompFactory.InDet.TRT_SegmentToTrackTool(name = name, **kwargs) @@ -95,12 +87,12 @@ def TRT_StandaloneTrackFinderCfg(flags, name ='InDetTRT_StandaloneTrackFinder', usePrdAssociationTool = usePrdAssociationTool)) acc.addPublicTool(InDetTRT_SegmentToTrackTool) - kwargs.setdefault("MinNumDriftCircles", flags.InDet.Tracking.minTRTonly) - kwargs.setdefault("MinPt", flags.InDet.Tracking.minTRTonlyPt) + kwargs.setdefault("MinNumDriftCircles", flags.InDet.Tracking.Pass.minTRTonly) + kwargs.setdefault("MinPt", flags.InDet.Tracking.Pass.minTRTonlyPt) kwargs.setdefault("InputSegmentsLocation", BarrelSegments) kwargs.setdefault("MaterialEffects", 0) kwargs.setdefault("PRDtoTrackMap", prd_to_track_map) - kwargs.setdefault("OldTransitionLogic", flags.InDet.Tracking.useTRTonlyOldLogic) + kwargs.setdefault("OldTransitionLogic", flags.InDet.Tracking.Pass.useTRTonlyOldLogic) kwargs.setdefault("OutputTracksLocation", TRTStandaloneTracks) kwargs.setdefault("TRT_SegToTrackTool", InDetTRT_SegmentToTrackTool) @@ -145,7 +137,7 @@ def TRT_SegmentsToTrackCfg( flags, name ='InDetTRT_SegmentsToTrack_Barrel', exte kwargs.setdefault("SummaryTool", InDetTrackSummaryToolTRTTracks) kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels if prd_to_track_map !='' else None,) kwargs.setdefault("InputAssociationMapName", prd_to_track_map) - kwargs.setdefault("MinNHit", flags.InDet.Tracking.minTRTonly) + kwargs.setdefault("MinNHit", flags.InDet.Tracking.Pass.minTRTonly) kwargs.setdefault("OutlierRemoval", True) kwargs.setdefault("MaterialEffects", False) @@ -271,8 +263,8 @@ if __name__ == "__main__": top_acc.merge(TRTActiveCondAlgCfg(ConfigFlags)) top_acc.merge(TC.TRT_DetElementsRoadCondAlgCfg()) ############################# TRTPreProcessing configuration ############################ - from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg if not ConfigFlags.InDet.doDBMstandalone: + from InDetConfig.TRTPreProcessing import TRTPreProcessingCfg top_acc.merge(TRTPreProcessingCfg(ConfigFlags,(not ConfigFlags.InDet.doTRTPhaseCalculation or ConfigFlags.Beam.Type =="collisions"),False)) ########################### TRTSegmentFindingCfg configuration ########################## # NewTracking collection keys diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py index 2ba01a7cb558fbeeffefdc6fa0731c1f12c27526..400a90139a6a86fd146d6135cfc7776169e098b9 100644 --- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py +++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory @@ -283,9 +283,9 @@ def InDetTrackRecoCfg(flags): # LRT if flags.InDet.doLargeD0 or flags.InDet.doR3LargeD0: if flags.InDet.doR3LargeD0: - flagsLRT = flags.cloneAndReplace("InDet.Tracking", "InDet.R3LargeD0Tracking") + flagsLRT = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.R3LargeD0Pass") else: - flagsLRT = flags.cloneAndReplace("InDet.Tracking", "InDet.LargeD0Tracking") + flagsLRT = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.LargeD0Pass") result.merge(TrackingSiPatternCfg(flagsLRT, InputCombinedInDetTracks, "ResolvedLargeD0Tracks", "SiSpSeededLargeD0Tracks", "InDetTRT_SeededAmbiguityProcessorSplitProb")) LRTTrackContainer = "ResolvedLargeD0Tracks" if flags.InDet.doTRTExtension: @@ -311,7 +311,7 @@ def InDetTrackRecoCfg(flags): # Low pt if flags.InDet.doLowPt: - flagsLowPt = flags.cloneAndReplace("InDet.Tracking", "InDet.LowPtTracking") + flagsLowPt = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.LowPtPass") result.merge(TrackingSiPatternCfg(flagsLowPt, InputCombinedInDetTracks, "ResolvedLowPtTracks", "SiSpSeededLowPtTracks")) LowPtTrackContainer = "ResolvedLowPtTracks" if flags.InDet.doTRTExtension: @@ -325,13 +325,13 @@ def InDetTrackRecoCfg(flags): # Very low pt if flags.InDet.doVeryLowPt: - flagsVeryLowPt = flags.cloneAndReplace("InDet.Tracking", "InDet.VeryLowPtTracking") + flagsVeryLowPt = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.VeryLowPtPass") result.merge(TrackingSiPatternCfg(flagsVeryLowPt, InputCombinedInDetTracks, "ResolvedVeryLowPtTracks", "SiSpSeededLowPtTracks")) InputCombinedInDetTracks += ["ResolvedVeryLowPtTracks"] # TRT standalone if flags.InDet.doTRTStandalone: - flagsTRTStandalone = flags.cloneAndReplace("InDet.Tracking", "InDet.TRTStandaloneTracking") + flagsTRTStandalone = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.TRTStandalonePass") from InDetConfig.TRTStandaloneConfig import TRTStandaloneCfg result.merge(TRTStandaloneCfg(flagsTRTStandalone, "", InputCombinedInDetTracks, "TRTSegments")) InputCombinedInDetTracks += ["TRTStandaloneTracks"] @@ -344,7 +344,7 @@ def InDetTrackRecoCfg(flags): if flags.InDet.storeSeparateLargeD0Container: InputForwardInDetTracks += ["ExtendedLargeD0Tracks"] - flagsForward = flags.cloneAndReplace("InDet.Tracking", "InDet.ForwardTracksTracking") + flagsForward = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.ForwardTracksPass") result.merge(TrackingSiPatternCfg(flagsForward, InputForwardInDetTracks, "ResolvedForwardTracks", "SiSpSeededForwardTracks", "InDetAmbiguityProcessorSplitProbR3LargeD0")) InputForwardInDetTracks += ["ResolvedForwardTracks"] @@ -368,7 +368,7 @@ def InDetTrackRecoCfg(flags): if flags.InDet.storeSeparateLargeD0Container: InputPixelInDetTracks += ["ExtendedLargeD0Tracks"] - flagsDisappearing = flags.cloneAndReplace("InDet.Tracking", "InDet.DisappearingTracking") + flagsDisappearing = flags.cloneAndReplace("InDet.Tracking.Pass", "InDet.Tracking.DisappearingPass") result.merge(TrackingSiPatternCfg(flagsDisappearing, InputPixelInDetTracks, "ResolvedDisappearingTracks", "SiSpSeededDisappearingTracks", "InDetAmbiguityProcessorSplitProbForwardTracks")) DisappearingTrackContainer = "ResolvedDisappearingTracks" if flags.InDet.doTRTExtension: diff --git a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py index 08fdf0dadc8e1f74da86d931c5310e89d18fb911..666b4fcb7efb57f2a6722ae23b3c9f79b77d4836 100644 --- a/InnerDetector/InDetConfig/python/TrackingCommonConfig.py +++ b/InnerDetector/InDetConfig/python/TrackingCommonConfig.py @@ -358,7 +358,7 @@ def InDetTRTDriftCircleCutForPatternRecoCfg(flags, name='InDetTRTDriftCircleCutF the_name = makeName( name, kwargs) result = ComponentAccumulator() kwargs.setdefault("MinOffsetDCs", 5) - kwargs.setdefault("UseNewParameterization", flags.InDet.Tracking.useNewParameterizationTRT) + kwargs.setdefault("UseNewParameterization", flags.InDet.Tracking.Pass.useNewParameterizationTRT) kwargs.setdefault("UseActiveFractionSvc", flags.Detector.EnableTRT) result.setPrivateTools(CompFactory.InDet.InDetTrtDriftCircleCutTool(the_name, **kwargs)) return result @@ -711,15 +711,13 @@ def InDetGlobalChi2FitterCfg(flags, name='InDetGlobalChi2Fitter', **kwargs) : pix_cluster_on_track_args = stripArgs(kwargs,['SplitClusterMapExtension','ClusterSplitProbabilityName','nameSuffix']) # PHF cut during fit iterations to save CPU time - kwargs.setdefault('MinPHFCut', flags.InDet.Tracking.minTRTPrecFrac) + kwargs.setdefault('MinPHFCut', flags.InDet.Tracking.Pass.minTRTPrecFrac) if 'RotCreatorTool' not in kwargs : InDetRotCreator = acc.popToolsAndMerge(InDetRotCreatorCfg(flags, **pix_cluster_on_track_args)) kwargs.setdefault('RotCreatorTool', InDetRotCreator) - use_broad_cluster_any = flags.InDet.useBroadClusterErrors and (not flags.InDet.doDBMstandalone) - - if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.doRefit: + if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.Tracking.doRefit: InDetBroadRotCreator = acc.popToolsAndMerge(InDetBroadRotCreatorCfg(flags, **pix_cluster_on_track_args)) kwargs.setdefault('BroadRotCreatorTool', InDetBroadRotCreator) @@ -730,10 +728,11 @@ def InDetGlobalChi2FitterCfg(flags, name='InDetGlobalChi2Fitter', **kwargs) : kwargs.setdefault('TRTExtensionCuts', False) kwargs.setdefault('TrackChi2PerNDFCut', 20) - if flags.InDet.doRefit or use_broad_cluster_any is True: + if flags.InDet.useBroadClusterErrors and not flags.InDet.doDBMstandalone: kwargs.setdefault('RecalibrateSilicon', False) - if flags.InDet.doRefit: + if flags.InDet.Tracking.doRefit: + kwargs.setdefault('RecalibrateSilicon', False) kwargs.setdefault('BroadRotCreatorTool', None) kwargs.setdefault('ReintegrateOutliers', False) kwargs.setdefault('RecalibrateTRT', False) @@ -873,7 +872,7 @@ def InDetGlobalChi2FitterTRTCfg(flags, name='InDetGlobalChi2FitterTRT', **kwargs kwargs.setdefault("Momentum", 1000.*Units.MeV if flags.InDet.materialInteractions and not flags.BField.solenoidOn else 0) kwargs.setdefault("OutlierCut", 5) kwargs.setdefault("MaxOutliers", 99 if flags.InDet.doRobustReco or flags.Beam.Type == 'cosmics' else 10) - kwargs.setdefault("ReintegrateOutliers", False if flags.InDet.doRefit else False) + kwargs.setdefault("ReintegrateOutliers", False) InDetGlobalChi2FitterBase = acc.popToolsAndMerge(InDetGlobalChi2FitterBaseCfg(flags, name=name, **kwargs)) acc.setPrivateTools(InDetGlobalChi2FitterBase) @@ -901,7 +900,7 @@ def InDetGlobalChi2FitterLowPtCfg(flags, name='InDetGlobalChi2FitterLowPt', **kw InDetRotCreator = acc.popToolsAndMerge(InDetRotCreatorCfg(flags, **pix_cluster_on_track_args)) kwargs.setdefault('RotCreatorTool', InDetRotCreator) - if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.doRefit: + if 'BroadRotCreatorTool' not in kwargs and not flags.InDet.Tracking.doRefit: InDetBroadRotCreator = acc.popToolsAndMerge(InDetBroadRotCreatorCfg(flags, **pix_cluster_on_track_args)) kwargs.setdefault('BroadRotCreatorTool', InDetBroadRotCreator) @@ -1045,14 +1044,14 @@ def InDetTRT_TrackExtensionTool_xkCfg(flags, name='InDetTRT_ExtensionTool', **kw kwargs.setdefault("TRT_ClustersContainer", 'TRT_DriftCircles') # InDetKeys.TRT_DriftCircles() kwargs.setdefault("TrtManagerLocation", 'TRT') # InDetKeys.TRT_Manager() kwargs.setdefault("UseDriftRadius", not flags.InDet.noTRTTiming) - kwargs.setdefault("MinNumberDriftCircles", flags.InDet.Tracking.minTRTonTrk) + kwargs.setdefault("MinNumberDriftCircles", flags.InDet.Tracking.Pass.minTRTonTrk) kwargs.setdefault("ScaleHitUncertainty", 2) kwargs.setdefault("RoadWidth", 20.) - kwargs.setdefault("UseParameterization", flags.InDet.Tracking.useParameterizedTRTCuts) + kwargs.setdefault("UseParameterization", flags.InDet.Tracking.Pass.useParameterizedTRTCuts) kwargs.setdefault("maxImpactParameter", 500 if flags.InDet.doBeamHalo or flags.InDet.doBeamGas else 50 ) # single beam running, open cuts - if flags.InDet.Tracking.RoISeededBackTracking: - kwargs.setdefault("minTRTSegmentpT", flags.InDet.Tracking.minSecondaryPt) + if flags.InDet.Tracking.Pass.RoISeededBackTracking: + kwargs.setdefault("minTRTSegmentpT", flags.InDet.Tracking.Pass.minSecondaryPt) acc.merge(TRT_DetElementsRoadCondAlgCfg(flags)) from TRT_ConditionsAlgs.TRT_ConditionsAlgsConfig import TRTActiveCondAlgCfg @@ -1183,10 +1182,10 @@ def InDetAmbiScoringToolBaseCfg(flags, name='InDetAmbiScoringTool', **kwargs) : kwargs.setdefault("SummaryTool", InDetTrackSummaryTool ) kwargs.setdefault("useAmbigFcn", True ) kwargs.setdefault("useTRT_AmbigFcn", False ) - kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact ) - kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta ) - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel ) - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT ) + kwargs.setdefault("maxZImp", flags.InDet.Tracking.Pass.maxZImpact ) + kwargs.setdefault("maxEta", flags.InDet.Tracking.Pass.maxEta ) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel ) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT ) kwargs.setdefault("doEmCaloSeed", have_calo_rois ) acc.setPrivateTools(CompFactory.InDet.InDetAmbiScoringTool(name, **kwargs)) return acc @@ -1197,7 +1196,7 @@ def InDetCosmicsScoringToolBaseCfg(flags, name='InDetCosmicsScoringTool', **kwar InDetTrackSummaryTool = acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)) - kwargs.setdefault("nWeightedClustersMin", flags.InDet.Tracking.nWeightedClustersMin ) + kwargs.setdefault("nWeightedClustersMin", flags.InDet.Tracking.Pass.nWeightedClustersMin ) kwargs.setdefault("minTRTHits", 0 ) kwargs.setdefault("SummaryTool", InDetTrackSummaryTool ) @@ -1218,7 +1217,7 @@ def InDetTRT_ExtensionToolPhaseCfg(flags, name='InDetTRT_ExtensionToolPhase', ** def InDetCosmicExtenScoringToolCfg(flags, name='InDetCosmicExtenScoringTool',**kwargs) : acc = ComponentAccumulator() kwargs.setdefault("nWeightedClustersMin", 0) - kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minTRTonTrk ) + kwargs.setdefault("minTRTHits", flags.InDet.Tracking.Pass.minTRTonTrk ) acc.setPrivateTools(acc.popToolsAndMerge(InDetCosmicsScoringToolBaseCfg(flags, name = 'InDetCosmicExtenScoringTool', **kwargs))) return acc @@ -1257,7 +1256,7 @@ def InDetCosmicScoringTool_TRTCfg(flags, name='InDetCosmicExtenScoringTool',**kw acc = ComponentAccumulator() InDetTrackSummaryToolNoHoleSearch = acc.popToolsAndMerge(InDetTrackSummaryToolNoHoleSearchCfg(flags)) - kwargs.setdefault("minTRTHits", flags.InDet.Tracking.minSecondaryTRTonTrk) + kwargs.setdefault("minTRTHits", flags.InDet.Tracking.Pass.minSecondaryTRTonTrk) kwargs.setdefault("SummaryTool", InDetTrackSummaryToolNoHoleSearch) acc.setPrivateTools(acc.popToolsAndMerge(InDetCosmicExtenScoringToolCfg(flags, @@ -1269,15 +1268,15 @@ def InDetTRT_SeededScoringToolCfg(flags, name='InDetTRT_SeededScoringTool', **kw kwargs.setdefault("useAmbigFcn", False) kwargs.setdefault("useTRT_AmbigFcn", True) - kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.minSecondaryTRTonTrk) - kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.minSecondaryTRTPrecFrac) - kwargs.setdefault("minPt", flags.InDet.Tracking.minSecondaryPt) - kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxSecondaryImpact) - kwargs.setdefault("minSiClusters", flags.InDet.Tracking.minSecondaryClusters) - kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.maxSecondaryHoles) - kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.maxSecondaryPixelHoles) - kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.maxSecondarySCTHoles) - kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.maxSecondaryDoubleHoles) + kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.Pass.minSecondaryTRTonTrk) + kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.Pass.minSecondaryTRTPrecFrac) + kwargs.setdefault("minPt", flags.InDet.Tracking.Pass.minSecondaryPt) + kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.Pass.maxSecondaryImpact) + kwargs.setdefault("minSiClusters", flags.InDet.Tracking.Pass.minSecondaryClusters) + kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.Pass.maxSecondaryHoles) + kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.Pass.maxSecondaryPixelHoles) + kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.Pass.maxSecondarySCTHoles) + kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.Pass.maxSecondaryDoubleHoles) acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name=name, **kwargs))) return acc @@ -1292,15 +1291,15 @@ def InDetAmbiScoringToolCfg(flags, name='InDetAmbiScoringTool', **kwargs) : kwargs.setdefault("useTRT_AmbigFcn", False ) kwargs.setdefault("minTRTonTrk", 0 ) kwargs.setdefault("minTRTPrecisionFraction", 0 ) - kwargs.setdefault("minPt", flags.InDet.Tracking.minPT ) - kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxPrimaryImpact ) - kwargs.setdefault("minSiClusters", flags.InDet.Tracking.minClusters ) - kwargs.setdefault("minPixel", flags.InDet.Tracking.minPixel ) - kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.maxHoles ) - kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.maxPixelHoles ) - kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.maxSctHoles ) - kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.maxDoubleHoles ) - acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name + flags.InDet.Tracking.extension, **kwargs))) + kwargs.setdefault("minPt", flags.InDet.Tracking.Pass.minPT ) + kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.Pass.maxPrimaryImpact ) + kwargs.setdefault("minSiClusters", flags.InDet.Tracking.Pass.minClusters ) + kwargs.setdefault("minPixel", flags.InDet.Tracking.Pass.minPixel ) + kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.Pass.maxHoles ) + kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.Pass.maxPixelHoles ) + kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.Pass.maxSctHoles ) + kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.Pass.maxDoubleHoles ) + acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolBaseCfg(flags, name + flags.InDet.Tracking.Pass.extension, **kwargs))) return acc def InDetAmbiScoringToolSiCfg(flags, name='InDetAmbiScoringToolSi', **kwargs) : @@ -1311,8 +1310,8 @@ def InDetExtenScoringToolCfg(flags, name='InDetExtenScoringTool', **kwargs) : acc = ComponentAccumulator() if flags.InDet.trackFitterType in ['KalmanFitter', 'KalmanDNAFitter', 'ReferenceKalmanFitter']: kwargs.setdefault("minTRTPrecisionFraction", 0.2) - kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.minTRTonTrk) - kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.minTRTPrecFrac) + kwargs.setdefault("minTRTonTrk", flags.InDet.Tracking.Pass.minTRTonTrk) + kwargs.setdefault("minTRTPrecisionFraction", flags.InDet.Tracking.Pass.minTRTPrecFrac) acc.setPrivateTools(acc.popToolsAndMerge(InDetAmbiScoringToolCfg(flags, name = name, **kwargs))) return acc @@ -1373,10 +1372,10 @@ def InDetNNScoringToolBaseCfg(flags, name='InDetNNScoringTool', **kwargs) : kwargs.setdefault("SummaryTool", InDetTrackSummaryTool ) kwargs.setdefault("useAmbigFcn", True ) kwargs.setdefault("useTRT_AmbigFcn", False ) - kwargs.setdefault("maxZImp", flags.InDet.Tracking.maxZImpact ) - kwargs.setdefault("maxEta", flags.InDet.Tracking.maxEta ) - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel ) - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT ) + kwargs.setdefault("maxZImp", flags.InDet.Tracking.Pass.maxZImpact ) + kwargs.setdefault("maxEta", flags.InDet.Tracking.Pass.maxEta ) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel ) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT ) kwargs.setdefault("doEmCaloSeed", have_calo_rois ) acc.setPrivateTools(CompFactory.InDet.InDetNNScoringTool(name = the_name, **kwargs )) @@ -1387,16 +1386,16 @@ def InDetNNScoringToolCfg(flags, name='InDetNNScoringTool', **kwargs) : kwargs.setdefault("useTRT_AmbigFcn", False ) kwargs.setdefault("minTRTonTrk", 0 ) kwargs.setdefault("minTRTPrecisionFraction", 0 ) - kwargs.setdefault("minPt", flags.InDet.Tracking.minPT ) - kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.maxPrimaryImpact ) - kwargs.setdefault("minSiClusters", flags.InDet.Tracking.minClusters ) - kwargs.setdefault("minPixel", flags.InDet.Tracking.minPixel ) - kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.maxHoles ) - kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.maxPixelHoles ) - kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.maxSctHoles ) - kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.maxDoubleHoles) + kwargs.setdefault("minPt", flags.InDet.Tracking.Pass.minPT ) + kwargs.setdefault("maxRPhiImp", flags.InDet.Tracking.Pass.maxPrimaryImpact ) + kwargs.setdefault("minSiClusters", flags.InDet.Tracking.Pass.minClusters ) + kwargs.setdefault("minPixel", flags.InDet.Tracking.Pass.minPixel ) + kwargs.setdefault("maxSiHoles", flags.InDet.Tracking.Pass.maxHoles ) + kwargs.setdefault("maxPixelHoles", flags.InDet.Tracking.Pass.maxPixelHoles ) + kwargs.setdefault("maxSCTHoles", flags.InDet.Tracking.Pass.maxSctHoles ) + kwargs.setdefault("maxDoubleHoles", flags.InDet.Tracking.Pass.maxDoubleHoles) - return InDetNNScoringToolBaseCfg(flags, name=name+flags.InDet.Tracking.extension, **kwargs ) + return InDetNNScoringToolBaseCfg(flags, name=name+flags.InDet.Tracking.Pass.extension, **kwargs ) def InDetNNScoringToolSiCfg(flags, name='InDetNNScoringToolSi', **kwargs) : kwargs.setdefault('DriftCircleCutTool','') @@ -1404,7 +1403,7 @@ def InDetNNScoringToolSiCfg(flags, name='InDetNNScoringToolSi', **kwargs) : def InDetCosmicsScoringToolCfg(flags, name='InDetCosmicsScoringTool', **kwargs) : return InDetCosmicsScoringToolBaseCfg(flags, - name=name+flags.InDet.Tracking.extension) + name=name+flags.InDet.Tracking.Pass.extension) def FullLinearizedTrackFactoryCfg(flags, name='TrackToVertexIPEstimator', **kwargs): from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg diff --git a/InnerDetector/InDetConfig/python/TrackingPassFlags.py b/InnerDetector/InDetConfig/python/TrackingPassFlags.py index 15049380efa0485c4a2559882357782b4f67e5e9..419e4a283f314b7cfd8856d5f0eb4ebc4ce5cdb3 100644 --- a/InnerDetector/InDetConfig/python/TrackingPassFlags.py +++ b/InnerDetector/InDetConfig/python/TrackingPassFlags.py @@ -1,13 +1,9 @@ -#Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +#Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from __future__ import print_function import AthenaCommon.SystemOfUnits as Units - -## constants -max_holes = 2 ## was 5 - def select( selInd, valuesmap ): for k,v in valuesmap.items(): ranges = [int(x) for x in k.split('-') if x != ''] @@ -44,8 +40,8 @@ def minClusters_ranges( inflags ): def maxHoles_ranges( inflags ): return select( inflags.InDet.cutLevel, - {'-7': max_holes, - '8-': max_holes } ) + {'-7': 3, + '8-': 2 } ) def maxPixelHoles_ranges( inflags ): return select( inflags.InDet.cutLevel, @@ -65,12 +61,12 @@ def maxZImpact_ranges( inflags ): def nHolesMax_ranges( inflags ): return select( inflags.InDet.cutLevel, - {'-11': max_holes, + {'-11': 3, '12-': 2 } ) def nHolesGapMax_ranges( inflags ): return select( inflags.InDet.cutLevel, - {'-11': max_holes, + {'-11': 3, '12-': 2 } ) def Xi2max_ranges( inflags ): @@ -205,13 +201,17 @@ def createTrackingPassFlags(): icf.addFlag("extension", "" ) ### for extension + icf.addFlag("usePrdAssociationTool", False) + icf.addFlag("isLowPt", False) + icf.addFlag("useTIDE_Ambi", True) + icf.addFlag("minPT", minPT_ranges ) icf.addFlag("minSecondaryPt", minSecondaryPT_ranges ) #Pt cut for back tracking + segment finding for these icf.addFlag("minTRTonlyPt", minTRTonlyPt_ranges ) #Pt cut for TRT only icf.addFlag("pT_SSScut", -1. ) # off # --- first set kinematic defaults - icf.addFlag("maxPT", lambda pcf : 1000.0 * Units.TeV) # off! + icf.addFlag("maxPT", 1000.0 * Units.TeV) # off! icf.addFlag("minEta", -1) # off! icf.addFlag("maxEta", 2.7) @@ -440,6 +440,7 @@ def createITkLargeD0TrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "LargeD0" + icf.usePrdAssociationTool = True icf.useEtaDepCuts = True icf.maxPT = [1.0 * Units.TeV] @@ -548,6 +549,7 @@ def createMinBiasTrackingPassFlags(): def createLargeD0TrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "LargeD0" + icf.usePrdAssociationTool = True icf.maxPT = 1.0 * Units.TeV icf.minPT = 900 * Units.MeV icf.maxEta = 5 @@ -576,6 +578,7 @@ def createLargeD0TrackingPassFlags(): def createR3LargeD0TrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "R3LargeD0" + icf.usePrdAssociationTool = True icf.maxPT = 1.0 * Units.TeV icf.minPT = 1.0 * Units.GeV icf.maxEta = 3 @@ -612,6 +615,7 @@ def createR3LargeD0TrackingPassFlags(): def createLowPtLargeD0TrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "LowPtLargeD0" + icf.usePrdAssociationTool = True icf.maxPT = 1.0 * Units.TeV icf.minPT = 100 * Units.MeV icf.maxEta = 5 @@ -639,7 +643,9 @@ def createLowPtLargeD0TrackingPassFlags(): def createLowPtTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "LowPt" - icf.maxPT = lambda pcf: (1e6 if pcf.InDet.doMinBias else pcf.InDet.Tracking.minPT + 0.3) * Units.GeV + icf.usePrdAssociationTool = True + icf.isLowPt = True + icf.maxPT = lambda pcf: (1e6 if pcf.InDet.doMinBias else pcf.InDet.Tracking.Pass.minPT + 0.3) * Units.GeV icf.minPT = 0.050 * Units.GeV icf.minClusters = 5 icf.minSiNotShared = 4 @@ -660,6 +666,7 @@ def createLowPtTrackingPassFlags(): def createITkConversionFindingTrackingPassFlags(): #To be updated icf = createTrackingPassFlags() icf.extension = "ConversionFinding" + icf.usePrdAssociationTool = True icf.useEtaDepCuts = True icf.etaBins = [-1.0,4.0] @@ -694,7 +701,9 @@ def createITkConversionFindingTrackingPassFlags(): #To be updated def createVeryLowPtTrackingPassFlags(): icf = createTrackingPassFlags() #TODO consider using createLowPtTrackingPassFlags as a base here icf.extension = "VeryLowPt" - icf.maxPT = lambda pcf : (1e6 if pcf.InDet.doMinBias else pcf.InDet.Tracking.minPT + 0.3) * Units.GeV # some overlap + icf.usePrdAssociationTool = True + icf.isLowPt = True + icf.maxPT = lambda pcf : (1e6 if pcf.InDet.doMinBias else pcf.InDet.Tracking.Pass.minPT + 0.3) * Units.GeV # some overlap icf.minPT = 0.050 * Units.GeV icf.minClusters = 3 icf.minSiNotShared = 3 @@ -714,6 +723,8 @@ def createVeryLowPtTrackingPassFlags(): def createForwardTracksTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "ForwardTracks" + icf.usePrdAssociationTool = True + icf.useTIDE_Ambi = False icf.minEta = 2.4 # restrict to minimal eta icf.maxEta = 2.7 icf.minPT = 2 * Units.GeV @@ -736,6 +747,7 @@ def createForwardTracksTrackingPassFlags(): def createBeamGasTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "BeamGas" + icf.usePrdAssociationTool = True icf.minPT = 0.500 * Units.GeV icf.maxPrimaryImpact = 300. * Units.mm icf.maxZImpact = 2000. * Units.mm @@ -853,6 +865,7 @@ def createHeavyIonTrackingPassFlags(): def createPixelTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "Pixel" + icf.isLowPt = lambda pcf : pcf.doMinBias def _minPt( pcf ): if pcf.Beam.Type == "cosmics": @@ -867,7 +880,7 @@ def createPixelTrackingPassFlags(): return 0.1 * Units.GeV icf.minPT = lambda pcf : _minPt - icf.minClusters = lambda pcf : 3 + icf.minClusters = 3 def _pick( default, hion, cosmics): def _internal( pcf ): @@ -895,7 +908,7 @@ def createPixelTrackingPassFlags(): icf.maxZImpact = lambda pcf: 10000. * Units.mm if pcf.Beam.Type == "cosmics" else maxZImpact_ranges( pcf ) icf.Xi2max = lambda pcf: 60.0 if pcf.Beam.Type =="cosmics" else Xi2max_ranges( pcf ) icf.Xi2maxNoAdd = lambda pcf: 100.0 if pcf.Beam.Type =="cosmics" else Xi2maxNoAdd_ranges( pcf ) - icf.nWeightedClustersMin = lambda pcf: 6 if pcf.Beam.Type =="cosmics" else 6 # why change if detault is also 6! + icf.nWeightedClustersMin = 6 return icf @@ -903,6 +916,7 @@ def createPixelTrackingPassFlags(): def createDisappearingTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "Disappearing" + icf.usePrdAssociationTool = True icf.minPT = 5 * Units.GeV icf.minClusters = 4 icf.maxHoles = 0 @@ -1020,6 +1034,7 @@ def createSCTandTRTTrackingPassFlags(): def createDBMTrackingPassFlags(): icf = createTrackingPassFlags() icf.extension = "DBM" + icf.useTIDE_Ambi = False icf.minEta = 3.05 icf.maxEta = 3.45 icf.Xi2maxNoAdd = 10000 @@ -1068,22 +1083,21 @@ if __name__ == "__main__": ConfigFlags.loadAllDynamicFlags() assert ConfigFlags.InDet.cutLevel == 19 , "default cut level is wrong" - assert ConfigFlags.InDet.Tracking.minRoIClusterEt == 6000.0 * Units.MeV, "wrong cut value {} ".format(ConfigFlags.InDet.Tracking.minRoIClusterEt) + assert ConfigFlags.InDet.Tracking.Pass.minRoIClusterEt == 6000.0 * Units.MeV, "wrong cut value {} ".format(ConfigFlags.InDet.Tracking.Pass.minRoIClusterEt) ConfigFlags.InDet.cutLevel = 2 - assert ConfigFlags.InDet.Tracking.minRoIClusterEt == 0.0, "wrong cut value {} ".format(ConfigFlags.InDet.Tracking.minRoIClusterEt) - assert ConfigFlags.InDet.BeamGasTracking.minRoIClusterEt == 0.0, "wrong cut value {}, not following cutLevel setting ".format(ConfigFlags.InDet.BeamGasTracking.minRoIClusterEt) + assert ConfigFlags.InDet.Tracking.Pass.minRoIClusterEt == 0.0, "wrong cut value {} ".format(ConfigFlags.InDet.Tracking.Pass.minRoIClusterEt) + assert ConfigFlags.InDet.Tracking.BeamGasPass.minRoIClusterEt == 0.0, "wrong cut value {}, not following cutLevel setting ".format(ConfigFlags.InDet.Tracking.BeamGasPass.minRoIClusterEt) - assert ConfigFlags.InDet.HeavyIonTracking.minSiNotShared == 7, "wrong cut value, overwrite" - assert ConfigFlags.InDet.HeavyIonTracking.minRoIClusterEt == 0.0, "wrong cut value, overwrite" + assert ConfigFlags.InDet.Tracking.HeavyIonPass.minSiNotShared == 7, "wrong cut value, overwrite" + assert ConfigFlags.InDet.Tracking.HeavyIonPass.minRoIClusterEt == 0.0, "wrong cut value, overwrite" - print("ConfigFlags.InDet.SCTandTRTTracking.minPT",ConfigFlags.InDet.SCTandTRTTracking.minPT * 1.0) - print("ConfigFlags.InDet.SCTandTRTTracking.minPT",ConfigFlags.InDet.MinBiasTracking.minPT * 1.0) - print("type(ConfigFlags.InDet.SCTandTRTTracking)",type(ConfigFlags.InDet.SCTandTRTTracking.minPT)) + print("ConfigFlags.InDet.Tracking.SCTandTRTPass.minPT",ConfigFlags.InDet.Tracking.SCTandTRTPass.minPT * 1.0) + print("type(ConfigFlags.InDet.Tracking.SCTandTRTPass.minPT)",type(ConfigFlags.InDet.Tracking.SCTandTRTPass.minPT)) - print("ConfigFlags.InDet.Tracking.minSecondaryPt",ConfigFlags.InDet.Tracking.minSecondaryPt * 1.0) - print("type(ConfigFlags.InDet.Tracking.MinSecondaryPt)",type(ConfigFlags.InDet.Tracking.minSecondaryPt)) + print("ConfigFlags.InDet.Tracking.Pass.minSecondaryPt",ConfigFlags.InDet.Tracking.Pass.minSecondaryPt * 1.0) + print("type(ConfigFlags.InDet.Tracking.Pass.minSecondaryPt)",type(ConfigFlags.InDet.Tracking.Pass.minSecondaryPt)) - print("ConfigFlags.InDet.SCTandTRTTracking.roadWidth",ConfigFlags.InDet.SCTandTRTTracking.roadWidth * 1.0) + print("ConfigFlags.InDet.Tracking.SCTandTRTPass.roadWidth",ConfigFlags.InDet.Tracking.SCTandTRTPass.roadWidth * 1.0) #ConfigFlags.dump() print( "allok" ) diff --git a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py index e47f1441eca239f663ccc1171d81e3b064362b41..b5fcb6ffc9fcdddbad214f6639c781d4e5d0cae3 100644 --- a/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py +++ b/InnerDetector/InDetConfig/python/TrackingSiPatternConfig.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory import InDetConfig.TrackingCommonConfig as TC @@ -6,100 +6,81 @@ import InDetConfig.TrackingCommonConfig as TC def SiSpacePointsSeedMakerCfg(flags, name="InDetSpSeedsMaker", InputCollections = None, **kwargs) : acc = ComponentAccumulator() # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and \ - (flags.InDet.Tracking.extension == "LowPt" \ - or flags.InDet.Tracking.extension == "VeryLowPt" \ - or flags.InDet.Tracking.extension == "LargeD0" \ - or flags.InDet.Tracking.extension == "R3LargeD0" \ - or flags.InDet.Tracking.extension == "LowPtLargeD0" \ - or flags.InDet.Tracking.extension == "BeamGas" \ - or flags.InDet.Tracking.extension == "ForwardTracks" \ - or flags.InDet.Tracking.extension == "Disappearing"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # - # --- get list of already associated hits (always do this, even if no other tracking ran before) - # - if usePrdAssociationTool: - prefix = 'InDet' - suffix = flags.InDet.Tracking.extension - # # --- Space points seeds maker, use different ones for cosmics and collisions # - if flags.InDet.Tracking.extension == "DBM": - SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_ATLxk - elif flags.Beam.Type == 'cosmics': + if flags.Beam.Type == 'cosmics': SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_Cosmic elif flags.InDet.doHeavyIon: SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_HeavyIon - elif flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or (flags.InDet.Tracking.extension == "Pixel" and flags.InDet.doMinBias) : + elif flags.InDet.Tracking.Pass.isLowPt: SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_LowMomentum - elif flags.InDet.Tracking.extension == "BeamGas": + elif flags.InDet.Tracking.Pass.extension == "BeamGas": SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_BeamGas else: SiSpacePointsSeedMaker = CompFactory.InDet.SiSpacePointsSeedMaker_ATLxk - kwargs.setdefault("pTmin", flags.InDet.Tracking.minPT ) - kwargs.setdefault("maxdImpact", flags.InDet.Tracking.maxPrimaryImpact ) - kwargs.setdefault("maxZ", flags.InDet.Tracking.maxZImpact ) - kwargs.setdefault("minZ", -flags.InDet.Tracking.maxZImpact ) - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel) + kwargs.setdefault("pTmin", flags.InDet.Tracking.Pass.minPT ) + kwargs.setdefault("maxdImpact", flags.InDet.Tracking.Pass.maxPrimaryImpact ) + kwargs.setdefault("maxZ", flags.InDet.Tracking.Pass.maxZImpact ) + kwargs.setdefault("minZ", -flags.InDet.Tracking.Pass.maxZImpact ) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel) kwargs.setdefault("SpacePointsPixelName", 'PixelSpacePoints') # InDetKeys.PixelSpacePoints() - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT and flags.InDet.Tracking.useSCTSeeding ) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT and flags.InDet.Tracking.Pass.useSCTSeeding ) kwargs.setdefault("SpacePointsSCTName", 'SCT_SpacePoints') # InDetKeys.SCT_SpacePoints() - kwargs.setdefault("useOverlapSpCollection", flags.InDet.Tracking.useSCT and flags.InDet.Tracking.useSCTSeeding ) + kwargs.setdefault("useOverlapSpCollection", flags.InDet.Tracking.Pass.useSCT and flags.InDet.Tracking.Pass.useSCTSeeding ) kwargs.setdefault("SpacePointsOverlapName", 'OverlapSpacePoints') # InDetKeys.OverlapSpacePoints() - kwargs.setdefault("radMax", flags.InDet.Tracking.radMax) - kwargs.setdefault("RapidityCut", flags.InDet.Tracking.maxEta ) - - - if flags.InDet.Tracking.extension == "" or flags.InDet.doHeavyIon or flags.InDet.Tracking.extension == "ForwardTracks": - kwargs.setdefault("maxdImpactPPS", flags.InDet.Tracking.maxdImpactPPSSeeds) - kwargs.setdefault("maxdImpactSSS", flags.InDet.Tracking.maxdImpactSSSSeeds) - if not flags.InDet.doHeavyIon: - kwargs.setdefault("maxSeedsForSpacePointStrips", flags.InDet.Tracking.maxSeedsPerSP_Strips) - kwargs.setdefault("maxSeedsForSpacePointPixels", flags.InDet.Tracking.maxSeedsPerSP_Pixels) - kwargs.setdefault("alwaysKeepConfirmedStripSeeds", flags.InDet.Tracking.keepAllConfirmedStripSeeds) - kwargs.setdefault("alwaysKeepConfirmedPixelSeeds", flags.InDet.Tracking.keepAllConfirmedPixelSeeds) - kwargs.setdefault("mindRadius", 10) - kwargs.setdefault("maxSizeSP", 200) - kwargs.setdefault("dImpactCutSlopeUnconfirmedSSS", 1.25) - kwargs.setdefault("dImpactCutSlopeUnconfirmedPPP", 2.0) - - if flags.InDet.Tracking.extension == "R3LargeD0": - kwargs.setdefault("optimisePhiBinning", False) - kwargs.setdefault("usePixel", False) - kwargs.setdefault("etaMax", flags.InDet.Tracking.maxEta) - kwargs.setdefault("maxSeedsForSpacePointStrips", flags.InDet.Tracking.maxSeedsPerSP_Strips) - kwargs.setdefault("alwaysKeepConfirmedStripSeeds", flags.InDet.Tracking.keepAllConfirmedStripSeeds) - kwargs.setdefault("maxdRadius", 150) - kwargs.setdefault("seedScoreBonusConfirmationSeed", -2000) + kwargs.setdefault("radMax", flags.InDet.Tracking.Pass.radMax) + kwargs.setdefault("RapidityCut", flags.InDet.Tracking.Pass.maxEta ) + + if not flags.InDet.doHeavyIon \ + and (flags.InDet.Tracking.Pass.extension == "" or flags.InDet.Tracking.Pass.extension == "ForwardTracks"): + kwargs.setdefault("maxdImpactPPS", flags.InDet.Tracking.Pass.maxdImpactPPSSeeds) + kwargs.setdefault("maxdImpactSSS", flags.InDet.Tracking.Pass.maxdImpactSSSSeeds) + kwargs.setdefault("maxSeedsForSpacePointStrips", flags.InDet.Tracking.Pass.maxSeedsPerSP_Strips) + kwargs.setdefault("maxSeedsForSpacePointPixels", flags.InDet.Tracking.Pass.maxSeedsPerSP_Pixels) + kwargs.setdefault("alwaysKeepConfirmedStripSeeds", flags.InDet.Tracking.Pass.keepAllConfirmedStripSeeds) + kwargs.setdefault("alwaysKeepConfirmedPixelSeeds", flags.InDet.Tracking.Pass.keepAllConfirmedPixelSeeds) + kwargs.setdefault("mindRadius", 10) + kwargs.setdefault("maxSizeSP", 200) + kwargs.setdefault("dImpactCutSlopeUnconfirmedSSS", 1.25) + kwargs.setdefault("dImpactCutSlopeUnconfirmedPPP", 2.0) - if usePrdAssociationTool: + if flags.InDet.doHeavyIon: + kwargs.setdefault("maxdImpactPPS", flags.InDet.Tracking.Pass.maxdImpactPPSSeeds) + kwargs.setdefault("maxdImpactSSS", flags.InDet.Tracking.Pass.maxdImpactSSSSeeds) + + if (len(InputCollections) > 0) and flags.InDet.Tracking.Pass.usePrdAssociationTool: # not all classes have that property !!! - kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+ suffix \ - if usePrdAssociationTool else '') + kwargs.setdefault("PRDtoTrackMap", 'InDetPRDtoTrackMap'+ flags.InDet.Tracking.Pass.extension) + if not flags.Beam.Type == 'cosmics': - kwargs.setdefault("maxRadius1", 0.75*flags.InDet.Tracking.radMax) - kwargs.setdefault("maxRadius2", flags.InDet.Tracking.radMax) - kwargs.setdefault("maxRadius3", flags.InDet.Tracking.radMax) - if flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or (flags.InDet.Tracking.extension == "Pixel" and flags.InDet.doMinBias): - kwargs.setdefault("pTmax", flags.InDet.Tracking.maxPT) + kwargs.setdefault("maxRadius1", 0.75*flags.InDet.Tracking.Pass.radMax) + kwargs.setdefault("maxRadius2", flags.InDet.Tracking.Pass.radMax) + kwargs.setdefault("maxRadius3", flags.InDet.Tracking.Pass.radMax) + + if flags.InDet.Tracking.Pass.isLowPt: + kwargs.setdefault("pTmax", flags.InDet.Tracking.Pass.maxPT) kwargs.setdefault("mindRadius", 4.0) - if flags.InDet.Tracking.extension == "ForwardTracks": + + if flags.InDet.Tracking.Pass.extension == "R3LargeD0": + kwargs.setdefault("optimisePhiBinning", False) + kwargs.setdefault("usePixel", False) + kwargs.setdefault("etaMax", flags.InDet.Tracking.Pass.maxEta) + kwargs.setdefault("maxSeedsForSpacePointStrips", flags.InDet.Tracking.Pass.maxSeedsPerSP_Strips) + kwargs.setdefault("alwaysKeepConfirmedStripSeeds", flags.InDet.Tracking.Pass.keepAllConfirmedStripSeeds) + kwargs.setdefault("maxdRadius", 150) + kwargs.setdefault("seedScoreBonusConfirmationSeed", -2000) + elif flags.InDet.Tracking.Pass.extension == "ForwardTracks": kwargs.setdefault("checkEta", True) - kwargs.setdefault("etaMin", flags.InDet.Tracking.minEta) - kwargs.setdefault("etaMax", flags.InDet.Tracking.maxEta) - kwargs.setdefault("RapidityCut", flags.InDet.Tracking.maxEta) - if flags.InDet.Tracking.extension == "DBM": - kwargs.setdefault("etaMin", flags.InDet.Tracking.minEta) - kwargs.setdefault("etaMax", flags.InDet.Tracking.maxEta) + kwargs.setdefault("etaMin", flags.InDet.Tracking.Pass.minEta) + kwargs.setdefault("etaMax", flags.InDet.Tracking.Pass.maxEta) + kwargs.setdefault("RapidityCut", flags.InDet.Tracking.Pass.maxEta) + elif flags.InDet.Tracking.Pass.extension == "DBM": + kwargs.setdefault("etaMin", flags.InDet.Tracking.Pass.minEta) + kwargs.setdefault("etaMax", flags.InDet.Tracking.Pass.maxEta) kwargs.setdefault("useDBM", True) - InDetSiSpacePointsSeedMaker = SiSpacePointsSeedMaker (name = name+flags.InDet.Tracking.extension, **kwargs) + InDetSiSpacePointsSeedMaker = SiSpacePointsSeedMaker (name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetSiSpacePointsSeedMaker) return acc @@ -107,8 +88,8 @@ def SiSpacePointsSeedMakerCfg(flags, name="InDetSpSeedsMaker", InputCollections def SiZvertexMaker_xkCfg(flags, name="InDetZvertexMaker", InputCollections = None, **kwargs) : acc = ComponentAccumulator() - kwargs.setdefault("Zmax", flags.InDet.Tracking.maxZImpact) - kwargs.setdefault("Zmin", -flags.InDet.Tracking.maxZImpact) + kwargs.setdefault("Zmax", flags.InDet.Tracking.Pass.maxZImpact) + kwargs.setdefault("Zmin", -flags.InDet.Tracking.Pass.maxZImpact) kwargs.setdefault("minRatio", 0.17) InDetSiSpacePointsSeedMaker = acc.popToolsAndMerge(SiSpacePointsSeedMakerCfg(flags, @@ -119,7 +100,7 @@ def SiZvertexMaker_xkCfg(flags, name="InDetZvertexMaker", InputCollections = Non kwargs.setdefault("HistSize", 2000) kwargs.setdefault("minContent", 30) - InDetZvertexMaker = CompFactory.InDet.SiZvertexMaker_xk(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetZvertexMaker = CompFactory.InDet.SiZvertexMaker_xk(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetZvertexMaker) return acc @@ -131,13 +112,13 @@ def SiDetElementsRoadMaker_xkCfg(flags, name="InDetSiRoadMaker", **kwargs) : InDetPatternPropagator = acc.getPrimaryAndMerge(TC.InDetPatternPropagatorCfg()) kwargs.setdefault("PropagatorTool", InDetPatternPropagator) - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel ) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel ) kwargs.setdefault("PixManagerLocation", 'Pixel') - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT) kwargs.setdefault("SCTManagerLocation", 'SCT') - kwargs.setdefault("RoadWidth", flags.InDet.Tracking.roadWidth) + kwargs.setdefault("RoadWidth", flags.InDet.Tracking.Pass.roadWidth) - InDetSiDetElementsRoadMaker = CompFactory.InDet.SiDetElementsRoadMaker_xk(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetSiDetElementsRoadMaker = CompFactory.InDet.SiDetElementsRoadMaker_xk(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetSiDetElementsRoadMaker) return acc @@ -146,12 +127,14 @@ def SiCombinatorialTrackFinder_xkCfg(flags, name="InDetSiComTrackFinder", **kwar # # --- Local track finding using sdCaloSeededSSSpace point seed # - # @TODO ensure that PRD association map is used if usePrdAssociationTool is set - dbmMode = flags.InDet.doDBMstandalone or flags.InDet.Tracking.extension == 'DBM' - if dbmMode: + if flags.InDet.doDBMstandalone or flags.InDet.Tracking.Pass.extension == 'DBM': RotCreator = acc.popToolsAndMerge(TC.InDetRotCreatorDBMCfg(flags)) + kwargs.setdefault("useSCT", False) + kwargs.setdefault("MagneticFieldMode", "NoField") + kwargs.setdefault("TrackQualityCut", 9.3) else: RotCreator = acc.popToolsAndMerge(TC.InDetRotCreatorDigitalCfg(flags)) + kwargs.setdefault("useSCT", flags.Detector.EnableSCT) acc.addPublicTool(RotCreator) kwargs.setdefault("RIOonTrackTool", RotCreator) @@ -164,16 +147,11 @@ def SiCombinatorialTrackFinder_xkCfg(flags, name="InDetSiComTrackFinder", **kwar kwargs.setdefault("usePixel", flags.Detector.EnablePixel) kwargs.setdefault("PixelClusterContainer", "PixelClusters") - kwargs.setdefault("useSCT", flags.Detector.EnableSCT if not dbmMode else False) kwargs.setdefault("SCT_ClusterContainer", "SCT_Clusters") if flags.InDet.Tracking.extension == "": kwargs.setdefault("writeHolesFromPattern", flags.InDet.useHolesFromPattern) - if dbmMode: - kwargs.setdefault("MagneticFieldMode", "NoField") - kwargs.setdefault("TrackQualityCut", 9.3) - if flags.Detector.EnablePixel: from PixelConditionsTools.PixelConditionsSummaryConfig import PixelConditionsSummaryCfg kwargs.setdefault("PixelSummaryTool", acc.popToolsAndMerge(PixelConditionsSummaryCfg(flags))) @@ -186,67 +164,55 @@ def SiCombinatorialTrackFinder_xkCfg(flags, name="InDetSiComTrackFinder", **kwar else: kwargs.setdefault("SctSummaryTool", "") - track_finder = CompFactory.InDet.SiCombinatorialTrackFinder_xk(name = name+flags.InDet.Tracking.extension, **kwargs) + track_finder = CompFactory.InDet.SiCombinatorialTrackFinder_xk(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(track_finder) return acc def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", InputCollections = None, **kwargs) : acc = ComponentAccumulator() - useBremMode = flags.InDet.Tracking.extension == "" or flags.InDet.Tracking.extension == "DBM" - InDetSiDetElementsRoadMaker = acc.popToolsAndMerge(SiDetElementsRoadMaker_xkCfg(flags)) - if flags.InDet.Tracking.usePixel: + if flags.InDet.Tracking.Pass.usePixel: acc.addCondAlgo(CompFactory.InDet.SiDetElementBoundaryLinksCondAlg_xk(name="InDetSiDetElementBoundaryLinksPixelCondAlg", ReadKey="PixelDetectorElementCollection", WriteKey="PixelDetElementBoundaryLinks_xk")) - if flags.InDet.Tracking.useSCT: + if flags.InDet.Tracking.Pass.useSCT: acc.addCondAlgo(CompFactory.InDet.SiDetElementsRoadCondAlg_xk(name="InDet__SiDetElementsRoadCondAlg_xk")) acc.addCondAlgo(CompFactory.InDet.SiDetElementBoundaryLinksCondAlg_xk(name="InDetSiDetElementBoundaryLinksSCTCondAlg", ReadKey="SCT_DetectorElementCollection", WriteKey="SCT_DetElementBoundaryLinks_xk")) - track_finder = acc.popToolsAndMerge(SiCombinatorialTrackFinder_xkCfg(flags)) - - # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or flags.InDet.Tracking.extension == "LargeD0" or flags.InDet.Tracking.extension == "R3LargeD0" or flags.InDet.Tracking.extension == "LowPtLargeD0" or flags.InDet.Tracking.extension == "BeamGas" or flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "Disappearing"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - - kwargs.setdefault("useSCT", flags.InDet.Tracking.useSCT) #flags.InDet.Tracking.useSCT() - kwargs.setdefault("usePixel", flags.InDet.Tracking.usePixel) #flags.InDet.Tracking.usePixel() - kwargs.setdefault("RoadTool", InDetSiDetElementsRoadMaker) - kwargs.setdefault("CombinatorialTrackFinder", track_finder) - kwargs.setdefault("pTmin", flags.InDet.Tracking.minPT) - kwargs.setdefault("pTminBrem", flags.InDet.Tracking.minPTBrem) - kwargs.setdefault("pTminSSS", flags.InDet.Tracking.pT_SSScut) - kwargs.setdefault("nClustersMin", flags.InDet.Tracking.minClusters) - kwargs.setdefault("nHolesMax", flags.InDet.Tracking.nHolesMax) - kwargs.setdefault("nHolesGapMax", flags.InDet.Tracking.nHolesGapMax) - kwargs.setdefault("SeedsFilterLevel", flags.InDet.Tracking.seedFilterLevel) - kwargs.setdefault("Xi2max", flags.InDet.Tracking.Xi2max) - kwargs.setdefault("Xi2maxNoAdd", flags.InDet.Tracking.Xi2maxNoAdd) - kwargs.setdefault("nWeightedClustersMin", flags.InDet.Tracking.nWeightedClustersMin) + kwargs.setdefault("useSCT", flags.InDet.Tracking.Pass.useSCT) + kwargs.setdefault("usePixel", flags.InDet.Tracking.Pass.usePixel) + kwargs.setdefault("RoadTool", acc.popToolsAndMerge(SiDetElementsRoadMaker_xkCfg(flags))) + kwargs.setdefault("CombinatorialTrackFinder", acc.popToolsAndMerge(SiCombinatorialTrackFinder_xkCfg(flags))) + kwargs.setdefault("pTmin", flags.InDet.Tracking.Pass.minPT) + kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem) + kwargs.setdefault("pTminSSS", flags.InDet.Tracking.Pass.pT_SSScut) + kwargs.setdefault("nClustersMin", flags.InDet.Tracking.Pass.minClusters) + kwargs.setdefault("nHolesMax", flags.InDet.Tracking.Pass.nHolesMax) + kwargs.setdefault("nHolesGapMax", flags.InDet.Tracking.Pass.nHolesGapMax) + kwargs.setdefault("SeedsFilterLevel", flags.InDet.Tracking.Pass.seedFilterLevel) + kwargs.setdefault("Xi2max", flags.InDet.Tracking.Pass.Xi2max) + kwargs.setdefault("Xi2maxNoAdd", flags.InDet.Tracking.Pass.Xi2maxNoAdd) + kwargs.setdefault("nWeightedClustersMin", flags.InDet.Tracking.Pass.nWeightedClustersMin) kwargs.setdefault("CosmicTrack", flags.Beam.Type == 'cosmics') - kwargs.setdefault("Xi2maxMultiTracks", flags.InDet.Tracking.Xi2max) + kwargs.setdefault("Xi2maxMultiTracks", flags.InDet.Tracking.Pass.Xi2max) kwargs.setdefault("useSSSseedsFilter", flags.InDet.doSSSfilter) kwargs.setdefault("doMultiTracksProd", True) - kwargs.setdefault("useBremModel", flags.InDet.doBremRecovery and useBremMode and flags.Detector.EnableCalo) # only for NewTracking the brem is debugged !!! + kwargs.setdefault("useBremModel", flags.InDet.doBremRecovery and flags.InDet.Tracking.Pass.extension == "" and flags.Detector.EnableCalo) kwargs.setdefault("doCaloSeededBrem", flags.InDet.doCaloSeededBrem and flags.Detector.EnableCalo) if kwargs["useBremModel"] and kwargs["doCaloSeededBrem"]: from InDetConfig.InDetRecCaloSeededROISelectionConfig import CaloClusterROI_SelectorCfg acc.merge(CaloClusterROI_SelectorCfg(flags)) kwargs.setdefault("doHadCaloSeedSSS", flags.InDet.doHadCaloSeededSSS and flags.Detector.EnableCalo) - kwargs.setdefault("phiWidth", flags.InDet.Tracking.phiWidthBrem) - kwargs.setdefault("etaWidth", flags.InDet.Tracking.etaWidthBrem) + kwargs.setdefault("phiWidth", flags.InDet.Tracking.Pass.phiWidthBrem) + kwargs.setdefault("etaWidth", flags.InDet.Tracking.Pass.etaWidthBrem) kwargs.setdefault("InputClusterContainerName", 'InDetCaloClusterROIs') # InDetKeys.CaloClusterROIContainer() kwargs.setdefault("InputHadClusterContainerName", 'InDetHadCaloClusterROIs') # InDetKeys.HadCaloClusterROIContainer() - kwargs.setdefault("UseAssociationTool", usePrdAssociationTool) + kwargs.setdefault("UseAssociationTool", (len(InputCollections) > 0) and (flags.InDet.Tracking.Pass.usePrdAssociationTool)) - if flags.InDet.Tracking.extension == "DBM": + if flags.InDet.Tracking.Pass.extension == "DBM": kwargs.setdefault("MagneticFieldMode", "NoField") kwargs.setdefault("useBremModel", False) kwargs.setdefault("doMultiTracksProd", False) @@ -262,20 +228,20 @@ def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", InputCollections = None, elif flags.InDet.doHeavyIon: kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_HeavyIon') - - elif flags.InDet.Tracking.extension == "LowPt": + + elif flags.InDet.Tracking.Pass.extension == "LowPt": kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_LowMomentum') - elif flags.InDet.Tracking.extension == "VeryLowPt" or (flags.InDet.Tracking.extension == "Pixel" and flags.InDet.doMinBias): + elif flags.InDet.Tracking.Pass.extension == "VeryLowPt" or (flags.InDet.Tracking.Pass.extension == "Pixel" and flags.InDet.doMinBias): kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_VeryLowMomentum') - elif flags.InDet.Tracking.extension == "BeamGas": + elif flags.InDet.Tracking.Pass.extension == "BeamGas": kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_BeamGas') - elif flags.InDet.Tracking.extension == "ForwardTracks": + elif flags.InDet.Tracking.Pass.extension == "ForwardTracks": kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_ForwardTracks') - elif flags.InDet.Tracking.extension == "LargeD0" or flags.InDet.Tracking.extension == "R3LargeD0" or flags.InDet.Tracking.extension == "LowPtLargeD0": + elif flags.InDet.Tracking.Pass.extension == "LargeD0" or flags.InDet.Tracking.Pass.extension == "R3LargeD0" or flags.InDet.Tracking.Pass.extension == "LowPtLargeD0": kwargs.setdefault("TrackPatternRecoInfo", 'SiSpacePointsSeedMaker_LargeD0') else: @@ -286,79 +252,52 @@ def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", InputCollections = None, kwargs.setdefault("SeedToTrackConversion", CompFactory.InDet.SeedToTrackConversionTool( name="InDet_SeedToTrackConversion", Extrapolator=acc.getPrimaryAndMerge(InDetExtrapolatorCfg(flags)), - OutputName=f"SiSPSeedSegments{flags.InDet.Tracking.extension}", + OutputName=f"SiSPSeedSegments{flags.InDet.Tracking.Pass.extension}", )) kwargs.setdefault("SeedSegmentsWrite", True) - InDetSiTrackMaker = CompFactory.InDet.SiTrackMaker_xk(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetSiTrackMaker = CompFactory.InDet.SiTrackMaker_xk(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetSiTrackMaker) return acc def SiSPSeededTrackFinderCfg(flags, name="InDetSiSpTrackFinder", InputCollections = None, SiSPSeededTrackCollectionKey = None, **kwargs) : acc = ComponentAccumulator() - # set output track collection name - # - SiTrackCollection = SiSPSeededTrackCollectionKey - # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or flags.InDet.Tracking.extension == "LargeD0" or flags.InDet.Tracking.extension == "R3LargeD0" or flags.InDet.Tracking.extension == "LowPtLargeD0" or flags.InDet.Tracking.extension == "BeamGas" or flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "Disappearing"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # - # --- get list of already associated hits (always do this, even if no other tracking ran before) - # - if usePrdAssociationTool: - prefix = 'InDet' - suffix = flags.InDet.Tracking.extension - - InDetSiTrackMaker = acc.popToolsAndMerge(SiTrackMaker_xkCfg(flags, - InputCollections = InputCollections )) - - InDetTrackSummaryToolNoHoleSearch = acc.getPrimaryAndMerge(TC.InDetTrackSummaryToolNoHoleSearchCfg(flags)) - - InDetSiSpacePointsSeedMaker = acc.popToolsAndMerge(SiSpacePointsSeedMakerCfg(flags, - InputCollections = InputCollections )) - - # - # --- Z-coordinates primary vertices finder (only for collisions) - # - if flags.InDet.useZvertexTool and flags.InDet.Tracking.extension != "DBM": - InDetZvertexMaker = acc.popToolsAndMerge(SiZvertexMaker_xkCfg(flags, - InputCollections = InputCollections)) - else: - InDetZvertexMaker = None - # # --- Setup Track finder using space points seeds # - kwargs.setdefault("TrackTool", InDetSiTrackMaker) - kwargs.setdefault("PRDtoTrackMap", prefix+'PRDtoTrackMap'+suffix \ - if usePrdAssociationTool else '') - kwargs.setdefault("TrackSummaryTool", InDetTrackSummaryToolNoHoleSearch) - kwargs.setdefault("TracksLocation", SiTrackCollection) - kwargs.setdefault("SeedsTool", InDetSiSpacePointsSeedMaker) - kwargs.setdefault("ZvertexTool", InDetZvertexMaker) + kwargs.setdefault("TrackTool", acc.popToolsAndMerge(SiTrackMaker_xkCfg(flags, InputCollections = InputCollections))) + kwargs.setdefault("TrackSummaryTool", acc.getPrimaryAndMerge(TC.InDetTrackSummaryToolNoHoleSearchCfg(flags))) + kwargs.setdefault("TracksLocation", SiSPSeededTrackCollectionKey) + kwargs.setdefault("SeedsTool", acc.popToolsAndMerge(SiSpacePointsSeedMakerCfg(flags, InputCollections = InputCollections))) kwargs.setdefault("useMBTSTimeDiff", flags.InDet.useMBTSTimeDiff) - if flags.InDet.Tracking.extension == "ForwardTracks": - kwargs.setdefault("useZvertexTool", flags.InDet.useZvertexTool) + if (len(InputCollections) > 0) and flags.InDet.Tracking.Pass.usePrdAssociationTool: + # not all classes have that property !!! + kwargs.setdefault("PRDtoTrackMap", 'InDetPRDtoTrackMap'+ flags.InDet.Tracking.Pass.extension) + + if flags.InDet.Tracking.Pass.extension == "ForwardTracks" or flags.InDet.Tracking.Pass.extension == "DBM": + kwargs.setdefault("useZvertexTool", flags.InDet.useZvertexTool and flags.InDet.Tracking.Pass.extension == "ForwardTracks") kwargs.setdefault("useNewStrategy", False) kwargs.setdefault("useZBoundFinding", False) else: - kwargs.setdefault("useZvertexTool", flags.InDet.useZvertexTool and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("useNewStrategy", flags.InDet.useNewSiSPSeededTF and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("useZBoundFinding", flags.InDet.Tracking.doZBoundary and flags.InDet.Tracking.extension != "DBM") + kwargs.setdefault("useZvertexTool", flags.InDet.useZvertexTool) + kwargs.setdefault("useNewStrategy", flags.InDet.useNewSiSPSeededTF) + kwargs.setdefault("useZBoundFinding", flags.InDet.Tracking.Pass.doZBoundary) + + # + # --- Z-coordinates primary vertices finder (only for collisions) + # + if kwargs["useZvertexTool"]: + kwargs.setdefault("ZvertexTool", acc.popToolsAndMerge(SiZvertexMaker_xkCfg(flags, InputCollections = InputCollections))) if flags.InDet.doHeavyIon : kwargs.setdefault("FreeClustersCut",2) #Heavy Ion optimization from Igor - if flags.InDet.Tracking.extension == "": + if flags.InDet.Tracking.Pass.extension == "": kwargs.setdefault("writeHolesFromPattern", flags.InDet.useHolesFromPattern) - InDetSiSPSeededTrackFinder = CompFactory.InDet.SiSPSeededTrackFinder(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetSiSPSeededTrackFinder = CompFactory.InDet.SiSPSeededTrackFinder(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.addEventAlgo(InDetSiSPSeededTrackFinder) return acc @@ -374,11 +313,16 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", ** # # --- load InnerDetector TrackSelectionTool # - prob1 = flags.InDet.pixelClusterSplitProb1 - prob2 = flags.InDet.pixelClusterSplitProb2 - nhitsToAllowSplitting = 8 if flags.GeoModel.Run == 'RUN1' else 9 + if flags.GeoModel.Run == "Run1": + prob1 = flags.InDet.pixelClusterSplitProb1_run1 + prob2 = flags.InDet.pixelClusterSplitProb2_run1 + nhitsToAllowSplitting = 8 + else: + prob1 = flags.InDet.pixelClusterSplitProb1 + prob2 = flags.InDet.pixelClusterSplitProb2 + nhitsToAllowSplitting = 9 - if flags.InDet.doTIDE_Ambi and not (flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "DBM"): + if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi: AmbiTrackSelectionTool = CompFactory.InDet.InDetDenseEnvAmbiTrackSelectionTool else: AmbiTrackSelectionTool = CompFactory.InDet.InDetAmbiTrackSelectionTool @@ -390,15 +334,15 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", ** InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags)) kwargs.setdefault("AssociationTool" , InDetPRDtoTrackMapToolGangedPixels) - kwargs.setdefault("minHits" , flags.InDet.Tracking.minClusters) - kwargs.setdefault("minNotShared" , flags.InDet.Tracking.minSiNotShared) - kwargs.setdefault("maxShared" , flags.InDet.Tracking.maxShared) + kwargs.setdefault("minHits" , flags.InDet.Tracking.Pass.minClusters) + kwargs.setdefault("minNotShared" , flags.InDet.Tracking.Pass.minSiNotShared) + kwargs.setdefault("maxShared" , flags.InDet.Tracking.Pass.maxShared) kwargs.setdefault("minTRTHits" , 0) # used for Si only tracking !!! kwargs.setdefault("UseParameterization" , False) - kwargs.setdefault("Cosmics" , flags.Beam.Type == 'cosmics' and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("doPixelSplitting" , flags.InDet.doPixelClusterSplitting and flags.InDet.Tracking.extension != "DBM") + kwargs.setdefault("Cosmics" , flags.Beam.Type == 'cosmics' and flags.InDet.Tracking.Pass.extension != "DBM") + kwargs.setdefault("doPixelSplitting" , flags.InDet.doPixelClusterSplitting and flags.InDet.Tracking.Pass.extension != "DBM") - if flags.InDet.doTIDE_Ambi and not (flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "DBM"): + if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi: kwargs.setdefault("sharedProbCut" , prob1) kwargs.setdefault("sharedProbCut2" , prob2) kwargs.setdefault("minSiHitsToAllowSplitting" , nhitsToAllowSplitting) @@ -425,7 +369,7 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", ** kwargs.setdefault("phiWidthEM" , 0.05) #Split cluster ROI size kwargs.setdefault("etaWidthEM" , 0.05) #Split cluster ROI size - elif flags.InDet.Tracking.extension == "DBM": + elif flags.InDet.Tracking.Pass.extension == "DBM": kwargs.setdefault("maxShared" , 1000) kwargs.setdefault("maxTracksPerSharedPRD" , 2) kwargs.setdefault("minHits" , 0) @@ -436,17 +380,17 @@ def InDetAmbiTrackSelectionToolCfg(flags, name="InDetAmbiTrackSelectionTool", ** else: kwargs.setdefault("sharedProbCut", 0.10) - InDetAmbiTrackSelectionTool = AmbiTrackSelectionTool(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetAmbiTrackSelectionTool = AmbiTrackSelectionTool(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetAmbiTrackSelectionTool) return acc def DenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name="InDetAmbiguityScoreProcessor", ClusterSplitProbContainer="", **kwargs): acc = ComponentAccumulator() - # set up different Scoring Tool for collisions and cosmics - if flags.Beam.Type == "cosmics" and flags.InDet.Tracking.extension != "DBM": + # --- set up different Scoring Tool for collisions and cosmics + if flags.Beam.Type == "cosmics" and flags.InDet.Tracking.Pass.extension != "DBM": InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetCosmicsScoringToolCfg(flags)) - elif flags.InDet.Tracking.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0: + elif flags.InDet.Tracking.Pass.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0: # Set up NN config InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetNNScoringToolSiCfg(flags)) else: @@ -458,34 +402,39 @@ def DenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags, name="InDetAmbiguityS kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags))) kwargs.setdefault("AssociationToolNotGanged", acc.popToolsAndMerge(TC.PRDtoTrackMapToolCfg())) - kwargs.setdefault("AssociationMapName", f"PRDToTrackMap{flags.InDet.Tracking.extension}") + kwargs.setdefault("AssociationMapName", f"PRDToTrackMap{flags.InDet.Tracking.Pass.extension}") - if flags.InDet.doTIDE_Ambi and not (flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "DBM"): - kwargs.setdefault("sharedProbCut", flags.InDet.pixelClusterSplitProb1) - kwargs.setdefault("sharedProbCut2", flags.InDet.pixelClusterSplitProb2) - if flags.InDet.Tracking.extension == "": + if flags.GeoModel.Run == "Run1": + prob1 = flags.InDet.pixelClusterSplitProb1_run1 + prob2 = flags.InDet.pixelClusterSplitProb2_run1 + else: + prob1 = flags.InDet.pixelClusterSplitProb1 + prob2 = flags.InDet.pixelClusterSplitProb2 + + if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi: + kwargs.setdefault("sharedProbCut", prob1) + kwargs.setdefault("sharedProbCut2", prob2) + if flags.InDet.Tracking.Pass.extension == "": kwargs.setdefault("SplitClusterMap_old", "") - elif flags.InDet.Tracking.extension == "Disappearing": + elif flags.InDet.Tracking.Pass.extension == "Disappearing": kwargs.setdefault("SplitClusterMap_old", "SplitClusterAmbiguityMap") - kwargs.setdefault("SplitClusterMap_new", f"SplitClusterAmbiguityMap{flags.InDet.Tracking.extension}") + kwargs.setdefault("SplitClusterMap_new", f"SplitClusterAmbiguityMap{flags.InDet.Tracking.Pass.extension}") kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer) kwargs.setdefault("OutputClusterSplitProbabilityName", f"SplitProb{flags.InDet.Tracking.extension}") ScoreProcessorTool = CompFactory.Trk.DenseEnvironmentsAmbiguityScoreProcessorTool - acc.setPrivateTools(ScoreProcessorTool(f"{name}{flags.InDet.Tracking.extension}", **kwargs)) + acc.setPrivateTools(ScoreProcessorTool(f"{name}{flags.InDet.Tracking.Pass.extension}", **kwargs)) return acc def DenseEnvironmentsAmbiguityProcessorToolCfg(flags, name="InDetAmbiguityProcessor", ClusterSplitProbContainer="", **kwargs): acc = ComponentAccumulator() - - useBremMode = flags.InDet.Tracking.extension == "" or flags.InDet.Tracking.extension == "DBM" - - # set up different Scoring Tool for collisions and cosmics - if flags.Beam.Type == "cosmics" and flags.InDet.Tracking.extension != "DBM": + + # --- set up different Scoring Tool for collisions and cosmics + if flags.Beam.Type == "cosmics" and flags.InDet.Tracking.Pass.extension != "DBM": InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetCosmicsScoringToolCfg(flags)) - elif flags.InDet.Tracking.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0: + elif flags.InDet.Tracking.Pass.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0 : # Set up NN config InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetNNScoringToolSiCfg(flags)) else: @@ -493,9 +442,9 @@ def DenseEnvironmentsAmbiguityProcessorToolCfg(flags, name="InDetAmbiguityProces kwargs.setdefault("ScoringTool", InDetAmbiScoringTool) fitter_args = {} - fitter_args.setdefault("nameSuffix", 'Ambi'+flags.InDet.Tracking.extension) - fitter_args.setdefault("SplitClusterMapExtension", flags.InDet.Tracking.extension) - fitter_args.setdefault("ClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension) + fitter_args.setdefault("nameSuffix", 'Ambi'+flags.InDet.Tracking.Pass.extension) + fitter_args.setdefault("SplitClusterMapExtension", flags.InDet.Tracking.Pass.extension) + fitter_args.setdefault("ClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension) if True: #flags.InDet.holeSearchInGX2Fit: fitter_args.setdefault("DoHoleSearch", True) @@ -504,22 +453,22 @@ def DenseEnvironmentsAmbiguityProcessorToolCfg(flags, name="InDetAmbiguityProces fitter_args.setdefault("BoundaryCheckTool", InDetBoundaryCheckTool) fitter_list=[] - if flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or (flags.InDet.Tracking.extension == "Pixel" and flags.InDet.doMinBias): - InDetTrackFitterLowPt = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags, name='InDetTrackFitterLowPt'+flags.InDet.Tracking.extension, **fitter_args)) + + if flags.InDet.Tracking.Pass.isLowPt: + InDetTrackFitterLowPt = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags, name='InDetTrackFitterLowPt'+flags.InDet.Tracking.Pass.extension, **fitter_args)) fitter_list.append(InDetTrackFitterLowPt) else: - InDetTrackFitterAmbi = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags, name='InDetTrackFitter'+'Ambi'+flags.InDet.Tracking.extension, **fitter_args)) + InDetTrackFitterAmbi = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags, name='InDetTrackFitterAmbi'+flags.InDet.Tracking.Pass.extension, **fitter_args)) fitter_list.append(InDetTrackFitterAmbi) - - if flags.InDet.doRefitInvalidCov: - if len(flags.InDet.Tracking.extension) > 0 : + if flags.InDet.doRefitInvalidCov: + if not flags.InDet.Tracking.Pass.extension=="": fitter_args = {} - fitter_args.setdefault("SplitClusterMapExtension", flags.InDet.Tracking.extension) - KalmanFitter = acc.popToolsAndMerge(TC.KalmanFitterCfg(flags, name='KalmanFitter'+flags.InDet.Tracking.extension, **fitter_args)) + fitter_args.setdefault("SplitClusterMapExtension", flags.InDet.Tracking.Pass.extension) + KalmanFitter = acc.popToolsAndMerge(TC.KalmanFitterCfg(flags, name='KalmanFitter'+flags.InDet.Tracking.Pass.extension, **fitter_args)) fitter_list.append(KalmanFitter) - ReferenceKalmanFitter = acc.popToolsAndMerge(TC.ReferenceKalmanFitterCfg(flags, name='ReferenceKalmanFitter'+flags.InDet.Tracking.extension, **fitter_args)) + ReferenceKalmanFitter = acc.popToolsAndMerge(TC.ReferenceKalmanFitterCfg(flags, name='ReferenceKalmanFitter'+flags.InDet.Tracking.Pass.extension, **fitter_args)) fitter_list.append(ReferenceKalmanFitter) else: KalmanFitter = acc.popToolsAndMerge(TC.KalmanFitterCfg(flags)) @@ -532,54 +481,54 @@ def DenseEnvironmentsAmbiguityProcessorToolCfg(flags, name="InDetAmbiguityProces ambi_track_summary_tool = acc.getPrimaryAndMerge(TC.InDetTrackSummaryToolCfg( flags, namePrefix = 'InDetAmbiguityProcessorSplitProb', - nameSuffix = flags.InDet.Tracking.extension, - ClusterSplitProbabilityName = 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension)) + nameSuffix = flags.InDet.Tracking.Pass.extension, + ClusterSplitProbabilityName = 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension)) InDetAmbiTrackSelectionTool = acc.popToolsAndMerge(InDetAmbiTrackSelectionToolCfg(flags)) kwargs.setdefault("Fitter", fitter_list) kwargs.setdefault("AssociationTool", InDetPRDtoTrackMapToolGangedPixels) - kwargs.setdefault("AssociationMapName", 'PRDToTrackMap'+flags.InDet.Tracking.extension) + kwargs.setdefault("AssociationMapName", 'PRDToTrackMap'+flags.InDet.Tracking.Pass.extension) kwargs.setdefault("TrackSummaryTool", ambi_track_summary_tool) kwargs.setdefault("SelectionTool", InDetAmbiTrackSelectionTool) - kwargs.setdefault("InputClusterSplitProbabilityName", 'SplitProb'+flags.InDet.Tracking.extension) - kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension) + kwargs.setdefault("InputClusterSplitProbabilityName", 'SplitProb'+flags.InDet.Tracking.Pass.extension) + kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension) kwargs.setdefault("SuppressHoleSearch", False) - kwargs.setdefault("tryBremFit", flags.InDet.doBremRecovery and useBremMode and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("caloSeededBrem", flags.InDet.doCaloSeededBrem and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("pTminBrem", flags.InDet.Tracking.minPTBrem) + kwargs.setdefault("tryBremFit", flags.InDet.doBremRecovery and flags.InDet.Tracking.Pass.extension == "") + kwargs.setdefault("caloSeededBrem", flags.InDet.doCaloSeededBrem and flags.InDet.Tracking.Pass.extension != "DBM") + kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem) kwargs.setdefault("RefitPrds", True) kwargs.setdefault("KeepHolesFromBeforeRefit", flags.InDet.useHolesFromPattern) - # DenseEnvironmentsAmbiguityProcessorTool - ProcessorTool = CompFactory.Trk.DenseEnvironmentsAmbiguityProcessorTool - InDetAmbiguityProcessor = ProcessorTool(name=name+flags.InDet.Tracking.extension, **kwargs) + InDetAmbiguityProcessor = CompFactory.Trk.DenseEnvironmentsAmbiguityProcessorTool(name=name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetAmbiguityProcessor) return acc def SimpleAmbiguityProcessorToolCfg(flags, name = "InDetAmbiguityProcessor", ClusterSplitProbContainer='', **kwargs) : acc = ComponentAccumulator() - useBremMode = flags.InDet.Tracking.extension == "" or flags.InDet.Tracking.extension == "DBM" # # --- set up different Scoring Tool for collisions and cosmics # - if flags.Beam.Type == 'cosmics' and flags.InDet.Tracking.extension != "DBM": + if flags.Beam.Type == 'cosmics' and flags.InDet.Tracking.Pass.extension != "DBM": InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetCosmicsScoringToolCfg(flags)) - elif(flags.InDet.Tracking.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0): + elif(flags.InDet.Tracking.Pass.extension == "R3LargeD0" and flags.InDet.nnCutLargeD0Threshold > 0): # Set up NN config InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetNNScoringToolSiCfg(flags)) else: InDetAmbiScoringTool = acc.popToolsAndMerge(TC.InDetAmbiScoringToolSiCfg(flags)) - InDetTrackFitter = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags)) + if flags.InDet.Tracking.Pass.isLowPt: + InDetTrackFitter = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags)) + else: + InDetTrackFitter = acc.popToolsAndMerge(TC.InDetTrackFitterCfg(flags)) InDetPRDtoTrackMapToolGangedPixels = acc.popToolsAndMerge(TC.InDetPRDtoTrackMapToolGangedPixelsCfg(flags)) ambi_track_summary_tool = acc.getPrimaryAndMerge(TC.InDetTrackSummaryToolCfg( flags, namePrefix = 'InDetAmbiguityProcessorSplitProb', - nameSuffix = flags.InDet.Tracking.extension, - ClusterSplitProbabilityName = 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension)) + nameSuffix = flags.InDet.Tracking.Pass.extension, + ClusterSplitProbabilityName = 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension)) InDetAmbiTrackSelectionTool = acc.popToolsAndMerge(InDetAmbiTrackSelectionToolCfg(flags)) @@ -589,31 +538,18 @@ def SimpleAmbiguityProcessorToolCfg(flags, name = "InDetAmbiguityProcessor", Clu kwargs.setdefault("ScoringTool", InDetAmbiScoringTool) kwargs.setdefault("SelectionTool", InDetAmbiTrackSelectionTool) kwargs.setdefault("InputClusterSplitProbabilityName", ClusterSplitProbContainer) - kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.extension) + kwargs.setdefault("OutputClusterSplitProbabilityName", 'InDetAmbiguityProcessorSplitProb'+flags.InDet.Tracking.Pass.extension) kwargs.setdefault("SuppressHoleSearch", False) - kwargs.setdefault("tryBremFit", flags.InDet.doBremRecovery and useBremMode and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("caloSeededBrem", flags.InDet.doCaloSeededBrem and flags.InDet.Tracking.extension != "DBM") - kwargs.setdefault("pTminBrem", flags.InDet.Tracking.minPTBrem) + kwargs.setdefault("tryBremFit", flags.InDet.doBremRecovery and flags.InDet.Tracking.Pass.extension == "") + kwargs.setdefault("caloSeededBrem", flags.InDet.doCaloSeededBrem and flags.InDet.Tracking.Pass.extension != "DBM") + kwargs.setdefault("pTminBrem", flags.InDet.Tracking.Pass.minPTBrem) kwargs.setdefault("RefitPrds", True) + kwargs.setdefault("MatEffects", flags.InDet.materialInteractionsType if flags.InDet.materialInteractions else 0) - if flags.InDet.Tracking.extension == "Pixel" or flags.InDet.Tracking.extension == "DBM": + if flags.InDet.Tracking.Pass.extension == "Pixel" or flags.InDet.Tracking.Pass.extension == "DBM": kwargs.setdefault("SuppressHoleSearch", True) - ProcessorTool = CompFactory.Trk.SimpleAmbiguityProcessorTool - - if flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or (flags.InDet.Tracking.extension == "Pixel" and flags.InDet.doMinBias): - if ProcessorTool.getName().find('Dense') : - pass - else: - InDetTrackFitterLowPt = acc.popToolsAndMerge(TC.InDetTrackFitterLowPt(flags)) - kwargs.setdefault("Fitter", InDetTrackFitterLowPt) - - if flags.InDet.materialInteractions: - kwargs.setdefault("MatEffects", flags.InDet.materialInteractionsType) - else: - kwargs.setdefault("MatEffects", 0) - - InDetAmbiguityProcessor = ProcessorTool(name=name+flags.InDet.Tracking.extension, **kwargs) + InDetAmbiguityProcessor = CompFactory.Trk.SimpleAmbiguityProcessorTool(name=name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.setPrivateTools(InDetAmbiguityProcessor) return acc @@ -624,7 +560,7 @@ def TrkAmbiguityScoreCfg(flags, name="InDetAmbiguityScore", SiSPSeededTrackColle # InputTrackCollection = SiSPSeededTrackCollectionKey - if flags.InDet.doTIDE_Ambi and not (flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "DBM"): + if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi: InDetAmbiguityScoreProcessor = acc.popToolsAndMerge(DenseEnvironmentsAmbiguityScoreProcessorToolCfg(flags)) else: InDetAmbiguityScoreProcessor = None @@ -633,10 +569,10 @@ def TrkAmbiguityScoreCfg(flags, name="InDetAmbiguityScore", SiSPSeededTrackColle # --- configure Ambiguity (score) solver # kwargs.setdefault("TrackInput" , [ InputTrackCollection ]) - kwargs.setdefault("TrackOutput", 'ScoredMap'+'InDetAmbiguityScore'+ flags.InDet.Tracking.extension) + kwargs.setdefault("TrackOutput", 'ScoredMap'+'InDetAmbiguityScore'+ flags.InDet.Tracking.Pass.extension) kwargs.setdefault("AmbiguityScoreProcessor" , InDetAmbiguityScoreProcessor ) ## TODO: check the case when it is None object - InDetAmbiguityScore = CompFactory.Trk.TrkAmbiguityScore(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetAmbiguityScore = CompFactory.Trk.TrkAmbiguityScore(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.addEventAlgo(InDetAmbiguityScore) return acc @@ -644,22 +580,19 @@ def TrkAmbiguitySolverCfg(flags, name="InDetAmbiguitySolver", ResolvedTrackColle acc = ComponentAccumulator() SiTrackCollection = ResolvedTrackCollectionKey - if flags.InDet.doTIDE_Ambi and not (flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "DBM"): - # DenseEnvironmentsAmbiguityProcessorTool - InDetAmbiguityProcessor = acc.popToolsAndMerge(DenseEnvironmentsAmbiguityProcessorToolCfg( flags, - ClusterSplitProbContainer=ClusterSplitProbContainer)) + if flags.InDet.doTIDE_Ambi and flags.InDet.Tracking.Pass.useTIDE_Ambi: + InDetAmbiguityProcessor = acc.popToolsAndMerge(DenseEnvironmentsAmbiguityProcessorToolCfg(flags, ClusterSplitProbContainer=ClusterSplitProbContainer)) else: - InDetAmbiguityProcessor = acc.popToolsAndMerge(SimpleAmbiguityProcessorToolCfg( flags, - ClusterSplitProbContainer=ClusterSplitProbContainer)) + InDetAmbiguityProcessor = acc.popToolsAndMerge(SimpleAmbiguityProcessorToolCfg(flags, ClusterSplitProbContainer=ClusterSplitProbContainer)) # # --- configure Ambiguity solver # - kwargs.setdefault("TrackInput", 'ScoredMap'+'InDetAmbiguityScore'+ flags.InDet.Tracking.extension) + kwargs.setdefault("TrackInput", 'ScoredMap'+'InDetAmbiguityScore'+ flags.InDet.Tracking.Pass.extension) kwargs.setdefault("TrackOutput", SiTrackCollection) kwargs.setdefault( "AmbiguityProcessor", InDetAmbiguityProcessor) - InDetAmbiguitySolver = CompFactory.Trk.TrkAmbiguitySolver(name = name+flags.InDet.Tracking.extension, **kwargs) + InDetAmbiguitySolver = CompFactory.Trk.TrkAmbiguitySolver(name = name+flags.InDet.Tracking.Pass.extension, **kwargs) acc.addEventAlgo(InDetAmbiguitySolver ) return acc @@ -671,21 +604,12 @@ def TrkAmbiguitySolverCfg(flags, name="InDetAmbiguitySolver", ResolvedTrackColle def TrackingSiPatternCfg(flags, InputCollections = None, ResolvedTrackCollectionKey = None, SiSPSeededTrackCollectionKey = None , ClusterSplitProbContainer=''): acc = ComponentAccumulator() # - # --- decide if use the association tool - # - if (len(InputCollections) > 0) and (flags.InDet.Tracking.extension == "LowPt" or flags.InDet.Tracking.extension == "VeryLowPt" or flags.InDet.Tracking.extension == "LargeD0" or flags.InDet.Tracking.extension == "R3LargeD0" or flags.InDet.Tracking.extension == "LowPtLargeD0" or flags.InDet.Tracking.extension == "BeamGas" or flags.InDet.Tracking.extension == "ForwardTracks" or flags.InDet.Tracking.extension == "Disappearing"): - usePrdAssociationTool = True - else: - usePrdAssociationTool = False - # # --- get list of already associated hits (always do this, even if no other tracking ran before) # - if usePrdAssociationTool: - prefix = 'InDet' - suffix = flags.InDet.Tracking.extension - acc.merge(TC.InDetTrackPRD_AssociationCfg(flags,namePrefix = prefix, - nameSuffix = suffix, - TracksName = list(InputCollections))) + if (len(InputCollections) > 0) and flags.InDet.Tracking.Pass.usePrdAssociationTool: + acc.merge(TC.InDetTrackPRD_AssociationCfg(flags,namePrefix = 'InDet', + nameSuffix = flags.InDet.Tracking.Pass.extension, + TracksName = list(InputCollections))) # ------------------------------------------------------------ # diff --git a/InnerDetector/InDetConfig/python/VertexFindingFlags.py b/InnerDetector/InDetConfig/python/VertexFindingFlags.py index 89ca30dd83536b3b092d6a50b3c30198f753ef56..4b1796a4ffe29fe9bd2040e7da2e97f74a1133c5 100644 --- a/InnerDetector/InDetConfig/python/VertexFindingFlags.py +++ b/InnerDetector/InDetConfig/python/VertexFindingFlags.py @@ -20,7 +20,7 @@ def createSecVertexingFlags(): flags.addFlag("TrkSel.maxTrtD0" , 10000.) flags.addFlag("TrkSel.maxSiZ0" , 10000.) flags.addFlag("TrkSel.maxTrtZ0" , 10000.) - flags.addFlag("TrkSel.minPt" , lambda pcf: pcf.InDet.Tracking.minPT) + flags.addFlag("TrkSel.minPt" , lambda pcf: pcf.InDet.Tracking.Pass.minPT) flags.addFlag("TrkSel.RatioCut1" , 0.0) # e-prob for Si conversion tracks (affects 1Si, 2Si, SiTRT): Ntrt < 15 flags.addFlag("TrkSel.RatioCut2" , 0.0) # e-prob for Si conversion tracks (affects 1Si, 2Si, SiTRT): 15 < Ntrt < 25 flags.addFlag("TrkSel.RatioCut3" , 0.0) # e-prob for Si conversion tracks (affects 1Si, 2Si, SiTRT): Ntrt > 25