Skip to content
Snippets Groups Projects
Commit 3a575a04 authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

Merge branch 'acts_hi_pass' into 'main'

Added Acts Heavy Ion functions

See merge request atlas/athena!70701
parents 8316c326 c1493112
No related branches found
No related tags found
No related merge requests found
......@@ -36,6 +36,12 @@ def CombinedTrackingPassFlagSets(flags):
flags_set += [flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkActsPass")]
# Acts Heavy Ion Pass
if TrackingComponent.ActsHeavyIon in flags.Tracking.recoChain:
flags_set += [flags.cloneAndReplace(
"Tracking.ActiveConfig",
"Tracking.ITkActsHeavyIonPass")]
# GNN pass
if TrackingComponent.GNNChain in flags.Tracking.recoChain:
......
......@@ -10,7 +10,12 @@ def actsAloneWorkflowFlags(flags) -> None:
from TrkConfig.TrkConfigFlags import TrackingComponent
flags.Tracking.recoChain = [TrackingComponent.ActsChain]
def actsHeavyIonFlags(flags) -> None:
flags.Tracking.recoChain = [TrackingComponent.ActsHeavyIon]
flags.Tracking.doTruth = False
flags.Reco.EnableHGTDExtension = False
flags.Acts.doAmbiguityResolution = False
def actsWorkflowFlags(flags) -> None:
"""flags for Reco_tf with CA used in CI tests: add Acts workflow to reco sequence"""
flags.DQ.useTrigger = False
......
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
from TrkConfig.TrackingPassFlags import createITkTrackingPassFlags, createITkConversionTrackingPassFlags
from TrkConfig.TrackingPassFlags import createITkTrackingPassFlags, createITkConversionTrackingPassFlags, createITkHeavyIonTrackingPassFlags
def deactivateAthenaComponents(icf):
icf.doAthenaCluster = False
......@@ -24,6 +24,29 @@ def createActsTrackingPassFlags():
return icf
def createActsHeavyIonTrackingPassFlags():
icf = createITkHeavyIonTrackingPassFlags()
icf.extension = "ActsHeavyIon"
deactivateAthenaComponents(icf)
icf.doAthenaCluster = True
icf.doAthenaToActsCluster = True
icf.doActsSpacePoint = True
icf.doActsSeed = True
icf.doActsTrack = True
# If we do not want acts ambi resolution, first do the track convertion
# and then the Athena ambi
icf.doActsToAthenaTrack = lambda pcf : not pcf.Acts.doAmbiguityResolution
icf.doAthenaAmbiguityResolution = lambda pcf : not pcf.Acts.doAmbiguityResolution
# If we want acts ambi, first do the ambi and then convert the tracks
# without Athena ambi
icf.doActsAmbiguityResolution = lambda pcf : pcf.Acts.doAmbiguityResolution
icf.doActsToAthenaResolvedTrack = lambda pcf : pcf.Acts.doAmbiguityResolution
# Deactivate CTIDE processor fit
icf.doAmbiguityProcessorTrackFit = False
return icf
def createActsConversionTrackingPassFlags():
icf = createITkConversionTrackingPassFlags()
icf.extension = "ActsConversion"
......
......@@ -58,6 +58,35 @@ Tracking.ActiveConfig points to Tracking.ITkActsPass
Tracking.ITkActsPass points to nothing
************************************************************************
************************************************************************
******************** Tracking reconstruction Config ********************
Active Config is ActsHeavyIon
Tracking.ActiveConfig.doAthenaAmbiguityResolution : True [function]
Tracking.ActiveConfig.doAthenaCluster : True
Tracking.ActiveConfig.doAthenaSeed : False
Tracking.ActiveConfig.doAthenaSpacePoint : False
Tracking.ActiveConfig.doAthenaToActsCluster : True
Tracking.ActiveConfig.doAthenaToActsSpacePoint : False
Tracking.ActiveConfig.doAthenaToActsTrack : False
Tracking.ActiveConfig.doAthenaTrack : False
Flag categories that are redirected by the cloneAndReplace
Tracking.ActiveConfig points to Tracking.ITkActsHeavyIonPass
Tracking.ITkActsHeavyIonPass points to nothing
Tracking.ActiveConfig.doActsAmbiguityResolution : False [function]
Tracking.ActiveConfig.doActsCluster : False
Tracking.ActiveConfig.doActsSeed : True
Tracking.ActiveConfig.doActsSpacePoint : True
Tracking.ActiveConfig.doActsToAthenaCluster : False
Tracking.ActiveConfig.doActsToAthenaResolvedTrack : False [function]
Tracking.ActiveConfig.doActsToAthenaSeed : False
Tracking.ActiveConfig.doActsToAthenaSpacePoint : False
Tracking.ActiveConfig.doActsToAthenaTrack : True [function]
Tracking.ActiveConfig.doActsTrack : True
Flag categories that are redirected by the cloneAndReplace
Tracking.ActiveConfig points to Tracking.ITkActsHeavyIonPass
Tracking.ITkActsHeavyIonPass points to nothing
************************************************************************
************************************************************************
******************** Tracking reconstruction Config ********************
Active Config is ActsValidateClusters
......
......@@ -22,6 +22,7 @@ if __name__ == "__main__":
from TrkConfig.TrkConfigFlags import TrackingComponent
configurations = ["Main",
"Acts",
"ActsHeavyIon",
"ActsValidateClusters",
"ActsValidateSpacePoints",
"ActsValidateSeeds",
......
......@@ -44,6 +44,7 @@ class PixelClusterSplittingType(FlagEnum):
class TrackingComponent(FlagEnum):
AthenaChain = "AthenaChain" # full Athena Chain (default)
ActsChain = "ActsChain" # full Acts Chain
ActsHeavyIon = "ActsHeavyIon"
# Validation options
ActsValidateClusters = "ActsValidateClusters"
ActsValidateSpacePoints = "ActsValidateSpacePoints"
......@@ -515,7 +516,8 @@ def createTrackingConfigFlags():
createActsValidateSeedsTrackingPassFlags,
createActsValidateTracksTrackingPassFlags,
createActsValidateAmbiguityResolutionTrackingPassFlags,
createActsBenchmarkSpotTrackingPassFlags
createActsBenchmarkSpotTrackingPassFlags,
createActsHeavyIonTrackingPassFlags
)
icf.addFlagsCategory ("Tracking.ITkActsPass",
......@@ -534,6 +536,8 @@ def createTrackingConfigFlags():
createActsValidateAmbiguityResolutionTrackingPassFlags, prefix=True)
icf.addFlagsCategory ("Tracking.ITkActsBenchmarkSpotPass",
createActsBenchmarkSpotTrackingPassFlags, prefix=True)
icf.addFlagsCategory ("Tracking.ITkActsHeavyIonPass",
createActsHeavyIonTrackingPassFlags, prefix=True)
# GNN
from InDetGNNTracking.InDetGNNTrackingFlags import createGNNTrackingPassFlags
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment