From 014ec05399e129ee0ef5074c5c49d49f9c59446a Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Mon, 22 Dec 2025 14:26:40 +0100 Subject: [PATCH 1/8] Add a simple runtime test --- test/CMakeLists.txt | 37 ++++++ test/options/MAIA_CKF_Tracking.py | 185 ++++++++++++++++++++++++++++++ 2 files changed, 222 insertions(+) create mode 100644 test/options/MAIA_CKF_Tracking.py diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6898adc9..c3c9f26c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -55,3 +55,40 @@ add_geometry_load_test($ENV{k4geo_DIR}/FCCee/ILD_FCCee/compact/ILD_FCCee_v01/ILD add_geometry_load_test($ENV{k4geo_DIR}/FCCee/ILD_FCCee/compact/ILD_FCCee_v02/ILD_FCCee_v02.xml) add_geometry_load_test($ENV{k4geo_DIR}/FCCee/CLD/compact/CLD_o2_v07/CLD_o2_v07.xml) add_geometry_load_test($ENV{k4geo_DIR}/FCCee/CLD/compact/CLD_o2_v08/CLD_o2_v08.xml) + +add_test(NAME sim_Maia + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ddsim --compactFile=$ENV{k4geo_DIR}/MuColl/MAIA/compact/MAIA_v0/MAIA_v0.xml + --runType=batch -G -N=1 + --outputFile=particle_gun_MAIA_SIM.edm4hep.root + --gun.multiplicity 50 + --gun.particle "mu-" + --gun.distribution uniform + --gun.thetaMax 2.8 # rougly 160 degrees + --gun.thetaMin -2.8 # rougly -160 degrees + --gun.momentumMin 5 + --gun.momentumMax 500 +) + +add_test(NAME reco_MAIA + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND k4run ${CMAKE_CURRENT_LIST_DIR}/options/MAIA_CKF_Tracking.py + --compactFile=$ENV{k4geo_DIR}/MuColl/MAIA/compact/MAIA_v0/MAIA_v0.xml + --trackingGeoFile=${CMAKE_CURRENT_LIST_DIR}/../data/MAIA_v0.root + --geoDescFile=${CMAKE_CURRENT_LIST_DIR}/../data/MAIA_v0.json + --materialFile=${CMAKE_CURRENT_LIST_DIR}/../data/MAIA_v0_material.json +) + + +# Setup test dependencies such that they are run in the right order always +set_tests_properties( + sim_Maia + PROPERTIES + FIXTURES_SETUP sim_maia_fixture +) + +set_tests_properties( + reco_MAIA + PROPERTIES + FIXTURES_REQUIRED sim_maia_fixture +) diff --git a/test/options/MAIA_CKF_Tracking.py b/test/options/MAIA_CKF_Tracking.py new file mode 100644 index 00000000..4daa0d41 --- /dev/null +++ b/test/options/MAIA_CKF_Tracking.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python3 + +import os + +from Gaudi.Configuration import INFO, VERBOSE +from Gaudi.Configurables import ( + ACTSSeededCKFTrackingAlg, + CollectionMerger, + DDPlanarDigi, + EventDataSvc, + GeoSvc, +) + +from k4FWCore import ApplicationMgr, IOSvc +from k4FWCore.parseArgs import parser + +parser.add_argument( + "--compactFile", + help="The geometry compact file to use for reconstruction", + type=str, +) +parser.add_argument( + "--trackingGeoFile", + help="The TGeo file containing the tracking geometry", + type=str, +) +parser.add_argument( + "--materialFile", + help="The file containing the material mapping for the tracking geometry", + type=str, +) +parser.add_argument( + "--geoDescFile", help="The JSON file describing the subdetectors", type=str +) + +args = parser.parse_known_args()[0] + + +svcList = [ + GeoSvc("GeoSvc", detectors=[args.compactFile], EnableGeant4Geo=False), + EventDataSvc("EventDataSvc"), +] + +iosvc = IOSvc( + "IOSvc", + Input=["particle_gun_MAIA_SIM.edm4hep.root"], + Output="maia_ckf_tracking_reco.edm4hep.root", +) + + +algList = [] + + +for name in ("VertexBarrel", "VertexEndcap"): + algList.append( + DDPlanarDigi( + f"{name}Digitizer", + CorrectTimesForPropagation=True, + IsStrip=False, + ResolutionT=[0.03], + ResolutionU=[0.005], + ResolutionV=[0.005], + SubDetectorName="Vertex", + TimeWindowMax=[0.15], + TimeWindowMin=[-0.09], + UseTimeWindow=True, + SimTrackHitCollectionName=[f"{name}Collection"], + SimTrkHitRelCollection=[f"{name}HitsRelations"], + TrackerHitCollectionName=[f"{name}Hits"], + ) + ) + +for name in ( + "InnerTrackerBarrel", + "InnerTrackerEndcap", + "OuterTrackerBarrel", + "OuterTrackerEndcap", +): + algList.append( + DDPlanarDigi( + f"{name}Digitizer", + CorrectTimesForPropagation=True, + IsStrip="InnerBarrel" in name or "OuterEndcap" in name, # Is this true? + ResolutionT=[0.06], + ResolutionU=[0.007], + ResolutionV=[0.09], + SubDetectorName=name.replace("Barrel", "s").replace("Endcap", "s"), + TimeWindowMax=[0.3], + TimeWindowMin=[-0.18], + UseTimeWindow=True, + SimTrackHitCollectionName=[f"{name}Collection"], + SimTrkHitRelCollection=[f"{name}HitsRelations"], + TrackerHitCollectionName=[f"{name}Hits"], + ) + ) + + +algList.append( + CollectionMerger( + "MergeHits", + InputCollections=[ + "VertexBarrelHits", + "VertexEndcapHits", + "InnerTrackerBarrelHits", + "InnerTrackerEndcapHits", + "OuterTrackerBarrelHits", + "OuterTrackerEndcapHits", + ], + OutputCollection=["MergedTrackerHits"], + ) +) + +# algList.append( +# CollectionMerger( +# "MergeHitsRelations", +# InputCollections=[ +# "VertexBarrelHitsRelations", +# "VertexEndcapHitsRelations", +# "InnerTrackerBarrelHitsRelations", +# "InnerTrackerEndcapHitsRelations", +# "OuterTrackerBarrelHitsRelations", +# "OuterTrackerEndcapHitsRelations", +# ], +# OutputCollection=["MergedTrackerHitsRelations"], +# ) +# ) + +ckf_tracking = ACTSSeededCKFTrackingAlg( + "CKFTracking", + MatFile=args.materialFile, + TGeoFile=args.trackingGeoFile, + TGeoDescFile=args.geoDescFile, + DetectorSchema=args.compactFile, + RunCKF="True", + CKF_Chi2CutOff=10, + SeedFinding_RMax=150, + SeedFinding_MinPt=500, + SeedFinding_ImpactMax=3, + CKF_NumMeasurementsCutOff=1, + SeedFinding_SigmaScattering=50, + SeedFinding_CollisionRegion=6, + SeedFinding_RadLengthPerSeed=0.1, + SeedingLayers=[ + "13", + "2", + "13", + "6", + "13", + "10", + "13", + "14", + "14", + "2", + "14", + "6", + "14", + "10", + "14", + "14", + "15", + "2", + "15", + "6", + "15", + "10", + "15", + "14", + "8", + "2", + "17", + "2", + "18", + "2", + ], + OutputTrackCollectionName=["AllTracks"], + OutputSeedCollectionName=["SeedTracks"], + InputTrackerHitCollectionName=["MergedTrackerHits"], + OutputLevel=VERBOSE, +) +algList.append(ckf_tracking) + + +ApplicationMgr( + TopAlg=algList, ExtSvc=svcList, OutputLevel=INFO, EvtSel="NONE", EvtMax=-1 +) From 99126eac3b5fe150bae694dd38088a7143653991 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Mon, 22 Dec 2025 14:52:50 +0100 Subject: [PATCH 2/8] Guard ODD tests via environment variable enable tests for mucoll image --- .github/workflows/mucoll-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/mucoll-ci.yml b/.github/workflows/mucoll-ci.yml index c33ad962..f11c5d83 100644 --- a/.github/workflows/mucoll-ci.yml +++ b/.github/workflows/mucoll-ci.yml @@ -59,8 +59,7 @@ jobs: -DCMAKE_INSTALL_PREFIX=$(pwd)/install \ -DCMAKE_CXX_FLAGS=" -fdiagnostics-color=always -Werror -Wno-error=deprecated-declarations" cmake --build build - # Tests need OpenDataDetector, which is not present in the mucoll image atm - # ctest --test-dir build -j$(nproc) --output-on-failure + ctest --test-dir build -j$(nproc) --output-on-failure cmake --build build --target install ccache -s From a653f5514d0ab216cc51ee8c9911ac8a54934873 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Mon, 22 Dec 2025 15:42:14 +0100 Subject: [PATCH 3/8] Use more events for test to make sure failures are detected It looks like using only one event and EvtMax=-1 hides failures somehow --- test/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c3c9f26c..fd755336 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -56,16 +56,16 @@ add_geometry_load_test($ENV{k4geo_DIR}/FCCee/ILD_FCCee/compact/ILD_FCCee_v02/ILD add_geometry_load_test($ENV{k4geo_DIR}/FCCee/CLD/compact/CLD_o2_v07/CLD_o2_v07.xml) add_geometry_load_test($ENV{k4geo_DIR}/FCCee/CLD/compact/CLD_o2_v08/CLD_o2_v08.xml) -add_test(NAME sim_Maia +add_test(NAME sim_MAIA WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ddsim --compactFile=$ENV{k4geo_DIR}/MuColl/MAIA/compact/MAIA_v0/MAIA_v0.xml - --runType=batch -G -N=1 + --runType=batch -G -N=10 --outputFile=particle_gun_MAIA_SIM.edm4hep.root - --gun.multiplicity 50 + --gun.multiplicity 10 --gun.particle "mu-" --gun.distribution uniform - --gun.thetaMax 2.8 # rougly 160 degrees - --gun.thetaMin -2.8 # rougly -160 degrees + --gun.thetaMax 2.96 # rougly 170 degrees + --gun.thetaMin -2.96 # rougly -170 degrees --gun.momentumMin 5 --gun.momentumMax 500 ) @@ -82,7 +82,7 @@ add_test(NAME reco_MAIA # Setup test dependencies such that they are run in the right order always set_tests_properties( - sim_Maia + sim_MAIA PROPERTIES FIXTURES_SETUP sim_maia_fixture ) From a3435ecafeefcd1dace07aa8c0daec069ce31611 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Wed, 11 Mar 2026 15:23:23 +0100 Subject: [PATCH 4/8] Remove unnecessary service and includes --- .../src/components/ACTSSeededCKFTrackingAlg.cxx | 8 -------- 1 file changed, 8 deletions(-) diff --git a/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx b/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx index 8fd09a94..27f87a93 100644 --- a/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx +++ b/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx @@ -28,10 +28,6 @@ #include #include -// Gaudi -#include -#include - // ACTS #include #include @@ -61,10 +57,6 @@ StatusCode ACTSSeededCKFTrackingAlg::initialize() { // Initialize the base StatusCode init = ACTSAlgBase::initialize(); - // Initialize timing histograms - SmartIF histSvc; - histSvc = serviceLocator()->service("THistSvc"); - // Initialize seeding layers std::vector seedingLayers; std::copy_if(m_seedingLayers.begin(), m_seedingLayers.end(), std::back_inserter(seedingLayers), From 06154ee3256fec0773ce45c6076054090f80b4ad Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 12 Mar 2026 12:03:59 +0100 Subject: [PATCH 5/8] Make sure to set correct env --- test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fd755336..14eef0fc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -78,7 +78,7 @@ add_test(NAME reco_MAIA --geoDescFile=${CMAKE_CURRENT_LIST_DIR}/../data/MAIA_v0.json --materialFile=${CMAKE_CURRENT_LIST_DIR}/../data/MAIA_v0_material.json ) - +set_test_env(reco_MAIA) # Setup test dependencies such that they are run in the right order always set_tests_properties( From 97eee8bbd69c24e33a4c455809cc1b366d7062f8 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 12 Mar 2026 13:25:17 +0100 Subject: [PATCH 6/8] [drop] Add more debug output --- .../include/k4ActsTracking/ACTSAlgBase.hxx | 5 ++- .../ACTSSeededCKFTrackingAlg.hxx | 3 +- k4ActsTracking/src/components/ACTSAlgBase.cxx | 4 ++- .../components/ACTSSeededCKFTrackingAlg.cxx | 35 +++++++++++++++++-- test/CMakeLists.txt | 10 +++--- test/options/MAIA_CKF_Tracking.py | 29 +++++++-------- 6 files changed, 61 insertions(+), 25 deletions(-) diff --git a/k4ActsTracking/include/k4ActsTracking/ACTSAlgBase.hxx b/k4ActsTracking/include/k4ActsTracking/ACTSAlgBase.hxx index aa1420ff..48104416 100644 --- a/k4ActsTracking/include/k4ActsTracking/ACTSAlgBase.hxx +++ b/k4ActsTracking/include/k4ActsTracking/ACTSAlgBase.hxx @@ -32,6 +32,7 @@ // edm4hep #include #include +#include // Gaudi #include @@ -63,7 +64,8 @@ * @version $Id$ */ struct ACTSAlgBase : k4FWCore::MultiTransformer( - const edm4hep::TrackerHitPlaneCollection&)> { + const edm4hep::TrackerHitPlaneCollection&, + const edm4hep::TrackerHitSimTrackerHitLinkCollection&)> { using DetectorElementPtr = std::shared_ptr; using DetectorStore = std::vector; @@ -165,6 +167,7 @@ private: Acts::CalibrationContext m_calibrationContext; ///< Calibration Context +protected: SmartIF m_geoSvc; }; diff --git a/k4ActsTracking/include/k4ActsTracking/ACTSSeededCKFTrackingAlg.hxx b/k4ActsTracking/include/k4ActsTracking/ACTSSeededCKFTrackingAlg.hxx index 0c94581b..d10e5b5e 100644 --- a/k4ActsTracking/include/k4ActsTracking/ACTSSeededCKFTrackingAlg.hxx +++ b/k4ActsTracking/include/k4ActsTracking/ACTSSeededCKFTrackingAlg.hxx @@ -105,7 +105,8 @@ public: * @return A tuple of Track Collections: The reconstructed tracks and the seeds that led to those tracks */ std::tuple operator()( - const edm4hep::TrackerHitPlaneCollection& trackerHitCollection) const; + const edm4hep::TrackerHitPlaneCollection& trackerHitCollection, + const edm4hep::TrackerHitSimTrackerHitLinkCollection& trackerHitRelations) const; std::vector findSeeds(const Acts::SeedFinder& finder, const Acts::SeedFinderOptions& finderOpts, diff --git a/k4ActsTracking/src/components/ACTSAlgBase.cxx b/k4ActsTracking/src/components/ACTSAlgBase.cxx index ed1550b7..1b0efbad 100644 --- a/k4ActsTracking/src/components/ACTSAlgBase.cxx +++ b/k4ActsTracking/src/components/ACTSAlgBase.cxx @@ -53,7 +53,9 @@ using namespace ACTSTracking; ACTSAlgBase::ACTSAlgBase(const std::string& name, ISvcLocator* svcLoc) : MultiTransformer( - name, svcLoc, {KeyValues("InputTrackerHitCollectionName", {"TrackerHits"})}, + name, svcLoc, + {KeyValues("InputTrackerHitCollectionName", {"TrackerHits"}), + KeyValues("InputTrackerHitRelationCollectionName", {"TrackerHitRelations"})}, {KeyValues("OutputSeedCollectionName", {"SeedTracks"}), KeyValues("OutputTrackCollectionName", {"Tracks"})}), m_geometryContext(Acts::GeometryContext::dangerouslyDefaultConstruct()) { m_geoSvc = serviceLocator()->service("GeoSvc"); // important to initialize m_geoSvc diff --git a/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx b/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx index 27f87a93..83e2deea 100644 --- a/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx +++ b/k4ActsTracking/src/components/ACTSSeededCKFTrackingAlg.cxx @@ -27,6 +27,10 @@ #include #include #include +#include + +// podio +#include // ACTS #include @@ -37,6 +41,8 @@ #include #include +#include + // TBB #include #include @@ -93,7 +99,8 @@ StatusCode ACTSSeededCKFTrackingAlg::initialize() { } std::tuple ACTSSeededCKFTrackingAlg::operator()( - const edm4hep::TrackerHitPlaneCollection& trackerHitCollection) const { + const edm4hep::TrackerHitPlaneCollection& trackerHitCollection, + const edm4hep::TrackerHitSimTrackerHitLinkCollection& trackerHitRelations) const { // Prepare output collections edm4hep::TrackCollection seedCollection; edm4hep::TrackCollection trackCollection; @@ -111,6 +118,7 @@ std::tuple ACTSSeededCKFTrac sortedHits.reserve(trackerHitCollection.size()); for (const auto& hit : trackerHitCollection) { + debug() << "Adding hit " << hit.id() << endmsg; sortedHits.push_back(std::make_pair(geoIDMappingTool()->getGeometryID(hit), hit)); } debug() << "Working with " << sortedHits.size() << " hits." << endmsg; @@ -126,6 +134,10 @@ std::tuple ACTSSeededCKFTrac std::sort(sortedHits.begin(), sortedHits.end(), compare); } + dd4hep::DDSegmentation::BitFieldCoder decoder{m_geoSvc->constantAsString(m_encodingStringVariable.value())}; + + podio::LinkNavigator hitRelNav{trackerHitRelations}; + // Turn the edm4hep TrackerHit's into Acts objects // Assumes that the hits are sorted by the GeoID sourceLinks.reserve(sortedHits.size()); @@ -138,9 +150,26 @@ std::tuple ACTSSeededCKFTrac const edm4hep::Vector3d& edmglobalpos = hitPair.second.getPosition(); Acts::Vector3 globalPos = {edmglobalpos.x, edmglobalpos.y, edmglobalpos.z}; + debug() << "Converting hit " << hitPair.second.id() << " to local position (pos = " << edmglobalpos + << ") using surface with geoId " << hitPair.first + << " dd4hep cellid: " << decoder.valueString(hitPair.second.getCellID()) << endmsg; + Acts::Result lpResult = surface->globalToLocal(geometryContext(), globalPos, {0, 0, 0}, 0.5_um); - if (!lpResult.ok()) - throw std::runtime_error("Global to local transformation did not succeed."); + if (!lpResult.ok()) { + warning() << "Global to local transformation did not succeed" << endmsg; + Acts::Vector3 loc3DFrame = surface->localToGlobalTransform(geometryContext()).inverse() * globalPos; + debug() << "Local position: " << loc3DFrame.x() << ", " << loc3DFrame.y() << ", " << loc3DFrame.z() + << " z tolerance: " << 0.5_um << endmsg; + + const auto simHits = hitRelNav.getLinked(hitPair.second); + if (!simHits.empty()) { + const auto& simPos = simHits.front().o.getPosition(); + debug() << "SimTrackerHit position: " << simPos.x << ", " << simPos.y << ", " << simPos.z << endmsg; + } + continue; + + // throw std::runtime_error("Global to local transformation did not succeed."); + } Acts::Vector2 loc = lpResult.value(); diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 14eef0fc..c29d8306 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -87,8 +87,8 @@ set_tests_properties( FIXTURES_SETUP sim_maia_fixture ) -set_tests_properties( - reco_MAIA - PROPERTIES - FIXTURES_REQUIRED sim_maia_fixture -) +# set_tests_properties( +# reco_MAIA +# PROPERTIES +# FIXTURES_REQUIRED sim_maia_fixture +# ) diff --git a/test/options/MAIA_CKF_Tracking.py b/test/options/MAIA_CKF_Tracking.py index 4daa0d41..0a559ba4 100644 --- a/test/options/MAIA_CKF_Tracking.py +++ b/test/options/MAIA_CKF_Tracking.py @@ -110,20 +110,20 @@ ) ) -# algList.append( -# CollectionMerger( -# "MergeHitsRelations", -# InputCollections=[ -# "VertexBarrelHitsRelations", -# "VertexEndcapHitsRelations", -# "InnerTrackerBarrelHitsRelations", -# "InnerTrackerEndcapHitsRelations", -# "OuterTrackerBarrelHitsRelations", -# "OuterTrackerEndcapHitsRelations", -# ], -# OutputCollection=["MergedTrackerHitsRelations"], -# ) -# ) +algList.append( + CollectionMerger( + "MergeHitsRelations", + InputCollections=[ + "VertexBarrelHitsRelations", + "VertexEndcapHitsRelations", + "InnerTrackerBarrelHitsRelations", + "InnerTrackerEndcapHitsRelations", + "OuterTrackerBarrelHitsRelations", + "OuterTrackerEndcapHitsRelations", + ], + OutputCollection=["MergedTrackerHitsRelations"], + ) +) ckf_tracking = ACTSSeededCKFTrackingAlg( "CKFTracking", @@ -175,6 +175,7 @@ OutputTrackCollectionName=["AllTracks"], OutputSeedCollectionName=["SeedTracks"], InputTrackerHitCollectionName=["MergedTrackerHits"], + InputTrackerHitRelationCollectionName=["MergedTrackerHitsRelations"], OutputLevel=VERBOSE, ) algList.append(ckf_tracking) From 3c2cc981817e62acad44881766046b6dedc4afaa Mon Sep 17 00:00:00 2001 From: Federico Meloni Date: Mon, 18 May 2026 23:07:46 +0200 Subject: [PATCH 7/8] Remove InputTrackerHitRelationCollectionName from CKF tracking Removed InputTrackerHitRelationCollectionName from configuration. --- test/options/MAIA_CKF_Tracking.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/options/MAIA_CKF_Tracking.py b/test/options/MAIA_CKF_Tracking.py index 0a559ba4..ddd8d943 100644 --- a/test/options/MAIA_CKF_Tracking.py +++ b/test/options/MAIA_CKF_Tracking.py @@ -175,7 +175,6 @@ OutputTrackCollectionName=["AllTracks"], OutputSeedCollectionName=["SeedTracks"], InputTrackerHitCollectionName=["MergedTrackerHits"], - InputTrackerHitRelationCollectionName=["MergedTrackerHitsRelations"], OutputLevel=VERBOSE, ) algList.append(ckf_tracking) From ac3c3729f7d167c70277edd74ec474e83f4aab03 Mon Sep 17 00:00:00 2001 From: Federico Meloni Date: Mon, 18 May 2026 23:15:45 +0200 Subject: [PATCH 8/8] Change OutputCollection to a single string format --- test/options/MAIA_CKF_Tracking.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/options/MAIA_CKF_Tracking.py b/test/options/MAIA_CKF_Tracking.py index ddd8d943..720d9f4d 100644 --- a/test/options/MAIA_CKF_Tracking.py +++ b/test/options/MAIA_CKF_Tracking.py @@ -106,7 +106,7 @@ "OuterTrackerBarrelHits", "OuterTrackerEndcapHits", ], - OutputCollection=["MergedTrackerHits"], + OutputCollection="MergedTrackerHits", ) ) @@ -121,7 +121,7 @@ "OuterTrackerBarrelHitsRelations", "OuterTrackerEndcapHitsRelations", ], - OutputCollection=["MergedTrackerHitsRelations"], + OutputCollection="MergedTrackerHitsRelations", ) )