From 2ac723202277fad65de08c5f417c0af4b2ec50bf Mon Sep 17 00:00:00 2001 From: Whitney Armstrong <warmstrong@anl.gov> Date: Thu, 17 Dec 2020 02:14:08 -0600 Subject: [PATCH] Added tracking source linker taking multiple collections. modified: tracking/options/tracker_reconstruction.py --- tracking/options/tracker_reconstruction.py | 39 +++++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/tracking/options/tracker_reconstruction.py b/tracking/options/tracker_reconstruction.py index 75f104ae..fa42e3d5 100644 --- a/tracking/options/tracker_reconstruction.py +++ b/tracking/options/tracker_reconstruction.py @@ -28,6 +28,7 @@ from Configurables import Jug__Digi__EMCalorimeterDigi as EMCalorimeterDigi from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker +from Configurables import Jug__Reco__TrackerSourcesLinker as TrackerSourcesLinker from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker from Configurables import Jug__Reco__TrackParamTruthInit as TrackParamTruthInit from Configurables import Jug__Reco__TrackParamClusterInit as TrackParamClusterInit @@ -42,7 +43,7 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering podioinput = PodioInput("PodioReader", - collections=["mcparticles","SiTrackerBarrelHits","SiVertexBarrelHits","EcalBarrelHits"])#, OutputLevel=DEBUG) + collections=["mcparticles","SiTrackerEndcapHits","SiTrackerBarrelHits","SiVertexBarrelHits","EcalBarrelHits"])#, OutputLevel=DEBUG) ## copiers to get around input --> output copy bug. Note the "2" appended to the output collection. copier = MCCopier("MCCopier", @@ -60,6 +61,10 @@ ufsd_digi = UFSDTrackerDigi("ufsd_digi", inputHitCollection="SiTrackerBarrelHits", outputHitCollection="SiTrackerBarrelRawHits", timeResolution=8) +ufsd_digi2 = UFSDTrackerDigi("ufsd_digi2", + inputHitCollection="SiTrackerEndcapHits", + outputHitCollection="SiTrackerEndcapRawHits", + timeResolution=8) vtx_digi = UFSDTrackerDigi("vtx_digi", inputHitCollection="SiVertexBarrelHits", @@ -80,26 +85,40 @@ simple_cluster = SimpleClustering("simple_cluster", maxDistance=50.0*units.cm, OutputLevel=DEBUG) +# Tracker and vertex reconstruction trk_barrel_reco = TrackerHitReconstruction("trk_barrel_reco", - inputHitCollection="SiTrackerBarrelRawHits", + inputHitCollection = ufsd_digi.outputHitCollection, outputHitCollection="TrackerBarrelRecHits") +trk_endcap_reco = TrackerHitReconstruction("trk_endcap_reco", + inputHitCollection = ufsd_digi2.outputHitCollection, + outputHitCollection="TrackerEndcapRecHits") + vtx_barrel_reco = TrackerHitReconstruction("vtx_barrel_reco", inputHitCollection = vtx_digi.outputHitCollection, outputHitCollection="VertexBarrelRecHits") -# Source linker +# Hit Source linker sourcelinker = TrackerSourceLinker("trk_srclinker", inputHitCollection="TrackerBarrelRecHits", outputSourceLinks="BarrelTrackSourceLinks", OutputLevel=DEBUG) trk_hits_srclnkr = TrackingHitsSourceLinker("trk_hits_srclnkr", - inputTrackerCollections=["TrackerBarrelRecHits","VertexBarrelRecHits"], - outputSourceLinks="BarrelSourceLinks", + inputTrackerCollections = [trk_endcap_reco.outputHitCollection, + trk_barrel_reco.outputHitCollection, + vtx_barrel_reco.outputHitCollection], + outputSourceLinks="TrackingSourceLinks", OutputLevel=DEBUG) -## Track param init + + +#trk_hits_srclnkr2 = TrtackerSourcesLinker("trk_srcslnkr2", +# trackerHitCollections=["TrackerEndcapRecHits","TrackerBarrelRecHits","VertexBarrelRecHits"], +# outputSourceLinks="AllTrackerSourceLinks", +# OutputLevel=DEBUG) + +# Track param init truth_trk_init = TrackParamTruthInit("truth_trk_init", inputMCParticles="mcparticles", outputInitialTrackParameters="InitTrackParams", @@ -119,10 +138,11 @@ vtxcluster_trk_init = TrackParamVertexClusterInit("vtxcluster_trk_init", # Tracking algorithms trk_find_alg = TrackFindingAlgorithm("trk_find_alg", - inputSourceLinks="BarrelSourceLinks", + inputSourceLinks = trk_hits_srclnkr.outputSourceLinks, inputInitialTrackParameters= "InitTrackParams",#"InitTrackParamsFromClusters", outputTrajectories="trajectories", OutputLevel=DEBUG) + parts_from_fit = ParticlesFromTrackFit("parts_from_fit", inputTrajectories="trajectories", outputParticles="ReconstructedParticles", @@ -130,10 +150,11 @@ parts_from_fit = ParticlesFromTrackFit("parts_from_fit", OutputLevel=DEBUG) trk_find_alg1 = TrackFindingAlgorithm("trk_find_alg1", - inputSourceLinks="BarrelSourceLinks", + inputSourceLinks = trk_hits_srclnkr.outputSourceLinks, inputInitialTrackParameters= "InitTrackParamsFromClusters", outputTrajectories="trajectories1", OutputLevel=DEBUG) + parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1", inputTrajectories="trajectories1", outputParticles="ReconstructedParticles1", @@ -141,7 +162,7 @@ parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1", OutputLevel=DEBUG) trk_find_alg2 = TrackFindingAlgorithm("trk_find_alg2", - inputSourceLinks="BarrelSourceLinks", + inputSourceLinks = trk_hits_srclnkr.outputSourceLinks, inputInitialTrackParameters= "InitTrackParamsFromVtxClusters", outputTrajectories="trajectories2", OutputLevel=DEBUG) -- GitLab