diff --git a/AtlasTest/CITest/Athena.cmake b/AtlasTest/CITest/Athena.cmake index 8a6db63c7fd6fef7092f7012b79bfb38f297ae23..219c9fdbfb81ca636afc4298e518d1e9ab2213c8 100644 --- a/AtlasTest/CITest/Athena.cmake +++ b/AtlasTest/CITest/Athena.cmake @@ -239,6 +239,10 @@ atlas_add_citest( ACTS_Workflow SCRIPT ActsWorkflow.sh LOG_IGNORE_PATTERN "ActsTrackFindingAlg.*ERROR Propagation reached the step count limit|ActsTrackFindingAlg.*ERROR Propagation failed: PropagatorError:3 Propagation reached the configured maximum number of steps with the initial parameters|ActsTrackFindingAlg.*ERROR CombinatorialKalmanFilter failed: CombinatorialKalmanFilterError:5 Propagation reaches max steps before track finding is finished with the initial parameters" ) +atlas_add_citest( ACTS_Workflow_FastTracking + SCRIPT ActsWorkflowFastTracking.sh + LOG_IGNORE_PATTERN "ActsTrackFindingAlg.*ERROR Propagation reached the step count limit|ActsTrackFindingAlg.*ERROR Propagation failed: PropagatorError:3 Propagation reached the configured maximum number of steps with the initial parameters|ActsTrackFindingAlg.*ERROR CombinatorialKalmanFilter failed: CombinatorialKalmanFilterError:5 Propagation reaches max steps before track finding is finished with the initial parameters" ) + atlas_add_citest( Acts_ConversionWorkflow SCRIPT ActsConversionWorkflow.sh LOG_IGNORE_PATTERN "ActsTrackFindingAlg.*ERROR Propagation reached the step count limit|ActsTrackFindingAlg.*ERROR Propagation failed: PropagatorError:3 Propagation reached the configured maximum number of steps with the initial parameters|ActsTrackFindingAlg.*ERROR CombinatorialKalmanFilter failed: CombinatorialKalmanFilterError:5 Propagation reaches max steps before track finding is finished with the initial parameters" ) diff --git a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py index 14004768932c5b44c61160b11528a57fac92e171..01fffa6faa74eba8e3d279f50780016cf7f20a1c 100644 --- a/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py +++ b/InnerDetector/InDetConfig/python/ITkTrackingSiPatternConfig.py @@ -129,7 +129,7 @@ def ITkTrackingSiPatternCfg(flags, # ------------------------------------------------------------ runTruth = True - if flags.Tracking.doITkFastTracking: + if flags.Tracking.doITkFastTracking and flags.Tracking.ActiveConfig.doAthenaTrack: from TrkConfig.TrkCollectionAliasAlgConfig import CopyAlgForAmbiCfg acc.merge(CopyAlgForAmbiCfg( diff --git a/Tracking/Acts/ActsConfig/python/ActsTrackFindingConfig.py b/Tracking/Acts/ActsConfig/python/ActsTrackFindingConfig.py index 3361b57aa2ec339369048bf59e1be0aad6e30c34..bc1a4e2781b71131ab0739292a5231a5d1686787 100644 --- a/Tracking/Acts/ActsConfig/python/ActsTrackFindingConfig.py +++ b/Tracking/Acts/ActsConfig/python/ActsTrackFindingConfig.py @@ -132,7 +132,11 @@ def ActsTrackFindingCfg(flags) -> ComponentAccumulator: # Acts Main pass if flags.Tracking.ActiveConfig.extension == "Acts": + acc.merge(ActsMainTrackFindingAlgCfg(flags, + SeedLabels = isdet(flags, ["PPP"], ["SSS"]) if not flags.Tracking.doITkFastTracking else ["PPP"], + EstimatedTrackParametersKeys = isdet(flags, ["ITkPixelEstimatedTrackParams"], ["ITkStripEstimatedTrackParams"]) if not flags.Tracking.doITkFastTracking else ["ITkPixelEstimatedTrackParams"], + SeedContainerKeys = isdet(flags, ["ITkPixelSeeds"], ["ITkStripSeeds"]) if not flags.Tracking.doITkFastTracking else ["ITkPixelSeeds"], UncalibratedMeasurementContainerKeys = ["ITkPixelClusters_InView", "ITkStripClusters_InView"] if flags.Acts.useCache else ["ITkPixelClusters", "ITkStripClusters"])) # Acts Conversion pass elif flags.Tracking.ActiveConfig.extension == "ActsConversion": diff --git a/Tracking/Acts/ActsConfig/python/ActsTruthConfig.py b/Tracking/Acts/ActsConfig/python/ActsTruthConfig.py index bcdb66c1baea23a16247d92e308ff79b322ba9a3..29e0249cfc968ac3ed0521f29afb79e1a2e69b29 100644 --- a/Tracking/Acts/ActsConfig/python/ActsTruthConfig.py +++ b/Tracking/Acts/ActsConfig/python/ActsTruthConfig.py @@ -49,7 +49,7 @@ def StripClusterToTruthAssociationCfg(flags, name: str = 'StripClusterToTruthAss def TrackToTruthAssociationCfg(flags, name: str = 'ActsTracksToTruthAssociationAlg', **kwargs) : acc = ComponentAccumulator() acc.merge( MapToInDetSimDataWrapCfg(flags, 'ITkStripSDO_Map') ) - kwargs.setdefault('ACTSTracksLocation','SiSPSeededActsTrackContainer') + kwargs.setdefault('ACTSTracksLocation','ActsTracks') kwargs.setdefault('PixelClustersToTruthAssociationMap','ITkPixelClustersToTruthParticles') kwargs.setdefault('StripClustersToTruthAssociationMap','ITkStripClustersToTruthParticles') kwargs.setdefault('AssociationMapOut','ActsTracksToTruthParticles') diff --git a/Tracking/Acts/ActsConfig/test/ActsWorkflowFastTracking.sh b/Tracking/Acts/ActsConfig/test/ActsWorkflowFastTracking.sh new file mode 100755 index 0000000000000000000000000000000000000000..d6dc871c7611d4df876cc8f1884184f2f70b1f96 --- /dev/null +++ b/Tracking/Acts/ActsConfig/test/ActsWorkflowFastTracking.sh @@ -0,0 +1,18 @@ +#!/usr/bin/bash +# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + +# ttbar mu=200 input +input_rdo=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8481_s4149_r14700/RDO.33629020._000047.pool.root.1 +n_events=1 + + +ignore_pattern="ActsTrackFindingAlg.+ERROR.+Propagation.+reached.+the.+step.+count.+limit,ActsTrackFindingAlg.+ERROR.+Propagation.+failed:.+PropagatorError:3.+Propagation.+reached.+the.+configured.+maximum.+number.+of.+steps.+with.+the.+initial.+parameters,ActsTrackFindingAlg.Acts.+ERROR.+CombinatorialKalmanFilter.+failed:.+CombinatorialKalmanFilterError:5.+Propagation.+reaches.+max.+steps.+before.+track.+finding.+is.+finished.+with.+the.+initial.+parameters" + +Reco_tf.py --CA \ + --preExec "flags.Exec.FPE=500;" "flags.Tracking.doITkFastTracking=True;" \ + --preInclude "InDetConfig.ConfigurationHelpers.OnlyTrackingPreInclude,ActsConfig.ActsCIFlags.actsWorkflowFlags" \ + --ignorePatterns "${ignore_pattern}" \ + --inputRDOFile ${input_rdo} \ + --outputAODFile AOD.pool.root \ + --outputESDFile ESD.pool.root \ + --maxEvents ${n_events} diff --git a/Tracking/Acts/ActsTrackReconstruction/src/TrackFindingAlg.h b/Tracking/Acts/ActsTrackReconstruction/src/TrackFindingAlg.h index 089355f127430dbbcf0fa79f81fc8d2a7c3bb6f4..eb474a954f471b5f5a62066f3150a2fc9fd91899 100644 --- a/Tracking/Acts/ActsTrackReconstruction/src/TrackFindingAlg.h +++ b/Tracking/Acts/ActsTrackReconstruction/src/TrackFindingAlg.h @@ -88,7 +88,7 @@ namespace ActsTrk SG::ReadHandleKeyArray<xAOD::UncalibratedMeasurementContainer> m_uncalibratedMeasurementContainerKeys{this, "UncalibratedMeasurementContainerKeys", {}, "input cluster collections"}; SG::ReadCondHandleKeyArray<InDetDD::SiDetectorElementCollection> m_detEleCollKeys{this, "DetectorElementCollectionKeys", {}, "input SiDetectorElementCollection"}; - SG::WriteHandleKey<ActsTrk::TrackContainer> m_trackContainerKey{this, "ACTSTracksLocation", "SiSPSeededActsTrackContainer", "Output track collection (ActsTrk variant)"}; + SG::WriteHandleKey<ActsTrk::TrackContainer> m_trackContainerKey{this, "ACTSTracksLocation", "", "Output track collection (ActsTrk variant)"}; ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper; // Configuration diff --git a/Tracking/Acts/ActsTrackReconstruction/src/TrackToTrackParticleCnvAlg.h b/Tracking/Acts/ActsTrackReconstruction/src/TrackToTrackParticleCnvAlg.h index 3c3ffacc7b425c9a1f1b3f41c0e5e555152c2e6a..f32546639816d90e58aa479b4ff7bb1e90817cb6 100644 --- a/Tracking/Acts/ActsTrackReconstruction/src/TrackToTrackParticleCnvAlg.h +++ b/Tracking/Acts/ActsTrackReconstruction/src/TrackToTrackParticleCnvAlg.h @@ -69,7 +69,7 @@ namespace ActsTrk {this, "ExtrapolationTool", "ActsExtrapolationTool"}; SG::ReadHandleKey<ActsTrk::TrackContainer> m_tracksContainerKey - {this, "ACTSTracksLocation", "SiSPSeededActsTrackContainer","Track collection (ActsTrk variant)"}; + {this, "ACTSTracksLocation", "","Track collection (ActsTrk variant)"}; SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey {this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot or empty." }; SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey