From 472a1f32349ae2c6fc1983aab43d3399dcacece7 Mon Sep 17 00:00:00 2001 From: Ricardo Vazquez Gomez Date: Fri, 31 May 2019 11:37:59 +0200 Subject: [PATCH 1/3] first addition of Hlt1SingleMuon lines --- Hlt/Hlt1Conf/options/with_lines.py | 20 +++++++++-- Hlt/Hlt1Conf/python/Hlt1Conf/lines.py | 18 +++++++++- .../python/Hlt1Conf/reconstruction.py | 36 ++++++++++++++++++- 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/Hlt/Hlt1Conf/options/with_lines.py b/Hlt/Hlt1Conf/options/with_lines.py index d7c973b9bb1..b2f09bbf3b5 100644 --- a/Hlt/Hlt1Conf/options/with_lines.py +++ b/Hlt/Hlt1Conf/options/with_lines.py @@ -18,6 +18,7 @@ from Hlt1Conf.lines import ( require_all, require_any, TrackV1FilterWithPVs, + TrackSOAFilterWithPVs, TrackCombinerWithPVs, ) @@ -29,7 +30,8 @@ from Hlt1Conf.reconstruction import ( make_forward_tracks, make_param_forward_fitted_tracks, make_pvs, - EmptyFilter + EmptyFilter, + make_muon_filtered_tracks ) from PyConf.core import ( @@ -101,6 +103,18 @@ def one_track_MVA( Input=make_input_tracks(), InputVertices=make_pvs()).Output +@configurable +def one_track_muonid( + preambulo=["from GaudiKernel.SystemOfUnits import GeV"], + code = "TrALL", + make_input_tracks = make_muon_filtered_tracks, + make_pvs=make_pvs): + sel_tracks, data_tracks = make_input_tracks() + return TrackSOAFilterWithPVs(Preambulo=preambulo, + Code=code, + InputSelection=sel_tracks, + InputTracks=data_tracks, + InputVertices=make_pvs()).OutputSelection @configurable def two_track_MVA( @@ -157,12 +171,14 @@ with FTDecoding.bind(DecodingVersion = ftdec_v): NoPVFilter = FilterEmptyPVs() one_track = one_track_MVA() two_track_filter = EmptyFilter(InputLocation=two_track_MVA()) + one_track_muon = one_track_muonid() env = EverythingHandler(threadPoolSize = 1, nEventSlots = 1, evtMax = 1000, debug=True) env.registerLine('one_track_mva', algs = [gec, NoPVFilter, one_track]) env.registerLine('two_track_mva', algs = [gec, NoPVFilter, two_track_filter]) +env.registerLine('one_track_muonid', algs = [gec, NoPVFilter, one_track_muon]) env.setupInputFromTestFileDB('MiniBrunel_2018_MinBias_FTv4_DIGI') env.configureAllTheFlows() -env.plotDataFlow() +#env.plotDataFlow() patch_hybrid_tool() diff --git a/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py b/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py index 2365e538bf7..4869c2abbda 100644 --- a/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py +++ b/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py @@ -16,6 +16,7 @@ from Configurables import ( LHCb__Converters__RecVertex__v2__fromVectorLHCbRecVertex, LHCb__Converters__Track__v1__fromV2TrackV1Track, PrFilter__Track_v1, + PrFilter__SOATracks, TrackCombiner ) @@ -23,7 +24,7 @@ from Hlt1Conf.reconstruction import ( make_param_forward_fitted_tracks, make_pvs, make_velo_tracks, - SelTrackV1, + SelTrackV1 ) from PyConf.core import ( @@ -68,6 +69,21 @@ def TrackV1FilterWithPVs(Preambulo=[], **kwargs): input_transform=__transform_inputs, **kwargs) +@configurable # cant make this a composable because the input transform function neeeds the kwargs +def TrackSOAFilterWithPVs(Preambulo=[], **kwargs): + def __transform_inputs(InputVertices, InputSelection, InputTracks): + return { + "Preambulo": [ # TODO define special case for this preambulo shit + # Redefine the functor to include the PV location + "TrMINIPCHI2 = TrMINIPCHI2('{}')".format(InputVertices) + ] + Preambulo, + "InputSelection": InputSelection, + "InputTracks": InputTracks + } + return Algorithm( + PrFilter__SOATracks, + input_transform=__transform_inputs, + **kwargs) @configurable def TrackCombinerWithPVs(Preamble=[], **kwargs): diff --git a/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py b/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py index 160ec1c32a4..5cd8611f4b6 100644 --- a/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py +++ b/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py @@ -40,7 +40,11 @@ from Configurables import ( ParameterizedKalmanFit, MakeSelection__Track_v1 as TrackV1Selection, LHCb__Converters__Track__v1__fromV2TrackV1Track as fromV2TrackV1Track, - LHCb__Converters__RecVertex__v2__fromVectorLHCbRecVertex as fromVectorLHCbRecVertex + LHCb__Converters__RecVertex__v2__fromVectorLHCbRecVertex as fromVectorLHCbRecVertex, + MuonRawToHits, + MakeZipContainer__Track_v2 as TrackV2Zip, + MuonIDHlt1Alg, + MuonFilter ) from GaudiKernel.SystemOfUnits import mm, GeV, MeV @@ -104,6 +108,14 @@ SelFromVector = composable(TrackSelection) FilterIP = composable(PrFilterIP) +MuonDecoding = composable(MuonRawToHits) + +ZippedTracks = composable(TrackV2Zip) + +MuonIDHlt1 = composable(MuonIDHlt1Alg) + +MuonPIDFilter = composable(MuonFilter) + def __emptyfilter_input_transform(InputLocation): return {"Code" : "SIZE('{}')>0".format(InputLocation)} @@ -211,3 +223,25 @@ def make_param_forward_fitted_tracks(make_tracks=make_forward_tracks, if not convertToSelection: return fitted_tracks return SelTrackV1(Input = fitted_tracks).Output + +@configurable +def make_muon_hits(raw=RawData): + return MuonDecoding(RawEventLocation=raw().RawEvent).HitContainer + +@configurable +def make_zipped_tracks(tracks=make_forward_tracks): + return ZippedTracks(Input=tracks()).OutputData, ZippedTracks(Input=tracks()).OutputSelection + +@configurable +def make_muon_id(tracks=make_zipped_tracks, + muon_hits=make_muon_hits): + zipped_tracks, _ = tracks() + return MuonIDHlt1(InputTracks=zipped_tracks, + InputMuonHits=muon_hits()).OutputMuonPID + +@configurable +def make_muon_filtered_tracks(muon_hits = make_muon_id, + sel_tracks = make_zipped_tracks): + data_zipped_tracks, sel_zipped_tracks = make_zipped_tracks() + return MuonPIDFilter(InputData = muon_hits(), + InputSelection = sel_zipped_tracks).OutputSelection, data_zipped_tracks -- GitLab From a061dd3930e7441e98e72c958a84b146305e1e49 Mon Sep 17 00:00:00 2001 From: Ricardo Vazquez Gomez Date: Thu, 6 Jun 2019 14:53:05 +0000 Subject: [PATCH 2/3] Update lines.py --- Hlt/Hlt1Conf/python/Hlt1Conf/lines.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py b/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py index 4869c2abbda..adc2f9cacb3 100644 --- a/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py +++ b/Hlt/Hlt1Conf/python/Hlt1Conf/lines.py @@ -78,7 +78,7 @@ def TrackSOAFilterWithPVs(Preambulo=[], **kwargs): "TrMINIPCHI2 = TrMINIPCHI2('{}')".format(InputVertices) ] + Preambulo, "InputSelection": InputSelection, - "InputTracks": InputTracks + "InputTracks": InputTracks } return Algorithm( PrFilter__SOATracks, -- GitLab From e5740acf2f92063e4d89b6841ad532b953e5e4d0 Mon Sep 17 00:00:00 2001 From: Ricardo Vazquez Gomez Date: Thu, 6 Jun 2019 14:54:30 +0000 Subject: [PATCH 3/3] Update reconstruction.py --- Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py b/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py index 5cd8611f4b6..e7e8f29f4e5 100644 --- a/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py +++ b/Hlt/Hlt1Conf/python/Hlt1Conf/reconstruction.py @@ -42,9 +42,9 @@ from Configurables import ( LHCb__Converters__Track__v1__fromV2TrackV1Track as fromV2TrackV1Track, LHCb__Converters__RecVertex__v2__fromVectorLHCbRecVertex as fromVectorLHCbRecVertex, MuonRawToHits, - MakeZipContainer__Track_v2 as TrackV2Zip, - MuonIDHlt1Alg, - MuonFilter + MakeZipContainer__Track_v2 as TrackV2Zip, + MuonIDHlt1Alg, + MuonFilter ) from GaudiKernel.SystemOfUnits import mm, GeV, MeV -- GitLab