From 6c53dee268b54928c9fd073e61369dc901069f15 Mon Sep 17 00:00:00 2001 From: Maarten Van Veghel <maarten.vanveghel@cern.ch> Date: Sat, 15 Jul 2023 14:05:09 +0200 Subject: [PATCH] more consistent track mapping to pid objects --- .../python/RecoConf/hlt2_global_reco.py | 6 ++-- .../python/RecoConf/hlt2_probetracks.py | 19 ++++++------- Hlt/RecoConf/python/RecoConf/hlt2_tracking.py | 9 +++--- .../python/RecoConf/muon_reconstruction.py | 12 ++------ Hlt/RecoConf/python/RecoConf/standalone.py | 28 ++++--------------- 5 files changed, 26 insertions(+), 48 deletions(-) diff --git a/Hlt/RecoConf/python/RecoConf/hlt2_global_reco.py b/Hlt/RecoConf/python/RecoConf/hlt2_global_reco.py index f8b51bb3ac2..f6711315b31 100644 --- a/Hlt/RecoConf/python/RecoConf/hlt2_global_reco.py +++ b/Hlt/RecoConf/python/RecoConf/hlt2_global_reco.py @@ -69,7 +69,7 @@ def make_reconstruction(light_reco=True, tracks=tracks_v3, track_types=rich_and_charged_proto_track_types) muon_pids, muon_tracks = make_conv_muon_pids( muonRecConfs, - persisted_tracks, + tracks_rels, track_types=rich_and_charged_proto_track_types) # RICH @@ -107,8 +107,8 @@ def make_reconstruction(light_reco=True, #### output = { "AllTrackHandles": hlt2_tracks, - "VeloTracks": persisted_tracks['UnfittedVelo'], - "Ttracks": persisted_tracks['UnfittedTtrack'], + "VeloTracks": persisted_tracks['Velo'], + "Ttracks": persisted_tracks['Ttrack'], "PVs": pvs["v3"], "PVs_v1": pvs["v1"], "NeutralProtos": neutral_protos['ProtoParticleLocation'], diff --git a/Hlt/RecoConf/python/RecoConf/hlt2_probetracks.py b/Hlt/RecoConf/python/RecoConf/hlt2_probetracks.py index bb0f6d73a27..0741b1935c4 100644 --- a/Hlt/RecoConf/python/RecoConf/hlt2_probetracks.py +++ b/Hlt/RecoConf/python/RecoConf/hlt2_probetracks.py @@ -25,7 +25,7 @@ from PyConf.Tools import ( ChargedProtoParticleAddMuonInfo, ) from .hlt1_muonid import make_muon_hits -from .muon_reconstruction import make_all_muon_pids, make_conv_muon_pids, make_muon_input_tracks +from .muon_reconstruction import make_all_muon_pids, make_conv_muon_pids from .hlt1_tracking import ( make_hlt1_tracks, get_track_master_fitter, @@ -38,7 +38,7 @@ from .hlt1_tracking import ( from .hlt2_tracking import ( make_seeding_tracks, make_PrLongLivedTracking_tracks, make_PrHybridSeeding_tracks, get_UpgradeGhostId_tool, - make_hlt2_tracks_without_UT) + make_hlt2_tracks_without_UT, convert_tracks_to_v3_from_v1) @configurable @@ -90,15 +90,14 @@ def make_charged_downstream(): AddGhostProb=True, FitTracks=False).TracksOutContainer - muon_input_tracks = make_muon_input_tracks( - best_tracks, light_reco=False, track_types=['Downstream']) + tracks_v3, tracks_rels = convert_tracks_to_v3_from_v1({ + 'Downstream': + best_tracks['v1'] + }) + muonRecConfs = make_all_muon_pids( - tracks=muon_input_tracks, track_types=['Downstream']) - muon_pids, muon_tracks = make_conv_muon_pids( - muonRecConfs, - best_tracks, - light_reco=False, - track_types=['Downstream']) + tracks=tracks_v3, track_types=['Downstream']) + muon_pids, muon_tracks = make_conv_muon_pids(muonRecConfs, tracks_rels) addInfo = [ ChargedProtoParticleAddMuonInfo( name='addMuonInfo', InputMuonPIDLocation=muon_pids['Downstream']) diff --git a/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py b/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py index edbc8de326c..86fc01e695e 100644 --- a/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py +++ b/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py @@ -1507,11 +1507,11 @@ def get_persisted_tracks_per_type(hlt2_tracks, persist=True): 'key': 'BestUpstream', 'location': 'UpstreamTracks' }, - 'UnfittedTtrack': { + 'Ttrack': { 'key': 'SeedDecloned', 'location': 'Ttracks' }, - 'UnfittedVelo': { + 'Velo': { 'key': 'Velo', 'location': 'VeloTracks' }, @@ -1524,14 +1524,15 @@ def get_persisted_tracks_per_type(hlt2_tracks, persist=True): # of them (but needs this type to be persistable) or set at moment of producing in_tracks = hlt2_tracks[config['key']]['v1'] tracks[track_type] = TrackContainersMerger( - name=f"CreateBest{track_type}Container" + "_{hash}", + name=f"Persistable{track_type}TracksContainer" + "_{hash}", InputLocations=[in_tracks], outputs={ 'OutputLocation': persistable_location(config['location']) }).OutputLocation if persist else in_tracks else: tracks[track_type] = TracksEmptyProducer( - name=f"TracksEmptyProducer_{track_type}" + "_{hash}", + name=f"Persistable{track_type}EmptyTracksContainer" + + "_{hash}", allow_duplicate_instances_with_distinct_names=True, outputs={ 'Output': persistable_location(config['location']) diff --git a/Hlt/RecoConf/python/RecoConf/muon_reconstruction.py b/Hlt/RecoConf/python/RecoConf/muon_reconstruction.py index e711133f406..30b76440826 100644 --- a/Hlt/RecoConf/python/RecoConf/muon_reconstruction.py +++ b/Hlt/RecoConf/python/RecoConf/muon_reconstruction.py @@ -46,8 +46,7 @@ def make_all_muon_pids(tracks, track_types=['Long', 'Downstream']): def make_conv_muon_pids(muonPidsConfs, - best_tracks, - light_reco=True, + best_track_rels, track_types=['Long', 'Downstream']): muon_pids_v1 = dict() muon_tracks = dict() @@ -56,19 +55,14 @@ def make_conv_muon_pids(muonPidsConfs, # Add muon hits of MuonPID to "muontracks" muon_tracks[track_type] = MuonPIDV2ToMuonTracks( name="MuonPIDV2ToMuonTracks_" + track_type + "_{hash}", - InputMuonPIDs=muonPidsConfs[track_type], - InputTracks=best_tracks[track_type] - if light_reco else best_tracks['v1'], - RestrictToType=track_type).OutputMuonTracks + InputMuonPIDs=muonPidsConfs[track_type]).OutputMuonTracks # Convert to Keyed Container for ProtoParticle muon_pids_v1[track_type] = fromV2MuonPIDV1MuonPID( name="fromV2MuonPIDV1MuonPID" + track_type + "_{hash}", InputMuonPIDs=muonPidsConfs[track_type], InputMuonTracks=muon_tracks[track_type], - InputTracks=best_tracks[track_type] - if light_reco else best_tracks['v1'], - RestrictToType=track_type).OutputMuonPIDs + InputTrackRelations=best_track_rels[track_type]).OutputMuonPIDs else: muon_tracks[track_type] = TracksEmptyProducer( name="MuonTracksEmptyProducer_" + track_type + "_{hash}", diff --git a/Hlt/RecoConf/python/RecoConf/standalone.py b/Hlt/RecoConf/python/RecoConf/standalone.py index d437d81a6ce..f8efb70994e 100644 --- a/Hlt/RecoConf/python/RecoConf/standalone.py +++ b/Hlt/RecoConf/python/RecoConf/standalone.py @@ -185,8 +185,7 @@ def phoenix_data_dump_hlt2(): # Add Muons muonRecConfs = make_all_muon_pids(tracks=tracks_v3) - muon_conv, muon_tracks = make_conv_muon_pids( - muonRecConfs, hlt2_tracks["BestLong"], light_reco=False) + muon_conv, muon_tracks = make_conv_muon_pids(muonRecConfs, trackrels) muon_pids = make_merged_muon_pids(muon_conv) # Adding hits needed for the JSIN dump @@ -449,8 +448,7 @@ def standalone_hlt2_reco(do_mc_checking=False, do_data_monitoring=False): # Add Muons muonRecConfs = make_all_muon_pids(tracks=tracks_v3) - muon_conv, muon_tracks = make_conv_muon_pids( - muonRecConfs, best_tracks, light_reco=False) + muon_conv, muon_tracks = make_conv_muon_pids(muonRecConfs, trackrels) muon_pids = make_merged_muon_pids(muon_conv) data += [muon_pids] @@ -595,10 +593,7 @@ def standalone_hlt2_light_reco(fast_reco=False, muonRecConfs = make_all_muon_pids( tracks=tracks_v3, track_types=list(tracks4rich.keys())) - muon_conv, muon_tracks = make_conv_muon_pids( - muonRecConfs, {k: v['v1'] - for k, v in tracks4rich.items()}, - light_reco=True) + muon_conv, muon_tracks = make_conv_muon_pids(muonRecConfs, trackrels) muon_pids = make_merged_muon_pids(muon_conv) data += [muon_pids] @@ -788,11 +783,7 @@ def standalone_hlt2_light_reco_without_UT(fast_reco=False, tracktypes_formuon = list(tracks4rich.keys()) muonRecConfs = make_all_muon_pids( tracks=tracks_v3, track_types=tracktypes_formuon) - muon_conv, muon_tracks = make_conv_muon_pids( - muonRecConfs, {k: v['v1'] - for k, v in tracks4rich.items()}, - light_reco=True, - track_types=tracktypes_formuon) + muon_conv, muon_tracks = make_conv_muon_pids(muonRecConfs, trackrels) muon_pids = make_merged_muon_pids(muon_conv) data += [muon_pids] @@ -966,10 +957,7 @@ def standalone_hlt2_light_reco_ion(fast_reco=False, muonRecConfs = make_all_muon_pids( tracks=tracks_v3, track_types=list(tracks4rich.keys())) - muon_pids = make_conv_muon_pids( - muonRecConfs, {k: v['v1'] - for k, v in tracks4rich.items()}, - light_reco=True) + muon_pids = make_conv_muon_pids(muonRecConfs, trackrels) data += [muon_pids] # proto particles @@ -1108,11 +1096,7 @@ def standalone_hlt2_light_reco_ion_without_UT(fast_reco=False, tracktypes_formuon = list(tracks4rich.keys()) muonRecConfs = make_all_muon_pids( tracks=tracks_v3, track_types=tracktypes_formuon) - muon_conv, muon_tracks = make_conv_muon_pids( - muonRecConfs, - tracks4rich, - light_reco=True, - track_types=tracktypes_formuon) + muon_conv, muon_tracks = make_conv_muon_pids(muonRecConfs, trackrels) muon_pids = make_merged_muon_pids(muon_conv) data += [muon_pids] -- GitLab