From 9cae9b67186de1c5c3283fc17110d1f46149b94e Mon Sep 17 00:00:00 2001 From: Aidan Richard Wiederhold Date: Tue, 17 Jun 2025 00:29:29 +0200 Subject: [PATCH 1/3] add tupling to every line --- configuration/python/AllenConf/HLT1.py | 238 ++++++++++++------ .../AllenConf/hlt1_calibration_lines.py | 36 ++- .../python/AllenConf/hlt1_charm_lines.py | 4 +- .../python/AllenConf/hlt1_electron_lines.py | 1 + .../AllenConf/hlt1_inclusive_hadron_lines.py | 4 +- .../python/AllenConf/hlt1_monitoring_lines.py | 22 +- .../python/AllenConf/hlt1_muon_lines.py | 12 +- .../python/AllenConf/hlt1_smog2_lines.py | 24 +- ...stream_with_parkf_no_ghostkiller_tuning.py | 3 +- .../include/SMOG2_DiMuonHighMassLine.cuh | 7 +- .../lines/SMOG2/include/SMOG2_DiTrack.cuh | 4 +- .../SMOG2/include/SMOG2_JpsiToMuMuTaPLine.cuh | 4 +- .../SMOG2/include/SMOG2_MinimumBiasLine.cuh | 11 + .../lines/SMOG2/include/SMOG2_SingleTrack.cuh | 11 + .../lines/SMOG2/src/SMOG2_MinimumBiasLine.cu | 10 + .../lines/SMOG2/src/SMOG2_SingleTrack.cu | 10 + .../include/DiMuonMassAlignmentLine.cuh | 11 + .../calibration/include/ODINCalibTrigger.cuh | 10 + .../calibration/include/PassthroughLine.cuh | 10 + .../lines/calibration/include/RICH1Line.cuh | 5 + .../lines/calibration/include/RICH2Line.cuh | 5 + .../src/DiMuonMassAlignmentLine.cu | 10 + .../lines/calibration/src/ODINCalibTrigger.cu | 9 + .../lines/calibration/src/PassthroughLine.cu | 9 + .../include/DownstreamBuScaLine.cuh | 11 + .../downstream/src/DownstreamBuScaLine.cu | 11 + .../electron/include/DiElectronSoftLine.cuh | 6 +- .../include/HighMassDielectronLine.cuh | 3 +- .../inclusive_hadron/include/KsToPiPiLine.cuh | 4 +- .../monitoring/include/BeamCrossingLine.cuh | 11 + .../lines/monitoring/include/BeamGasLine.cuh | 11 + .../monitoring/include/VeloMicroBiasLine.cuh | 11 + .../include/ZRange_MaterialVertexSeedLine.cuh | 12 + .../lines/monitoring/src/BeamCrossingLine.cu | 10 + .../lines/monitoring/src/BeamGasLine.cu | 10 + .../lines/monitoring/src/VeloMicroBiasLine.cu | 10 + .../src/ZRange_MaterialVertexSeedLine.cu | 10 + .../muon/include/DetJPsiToMuMuTaPLine.cuh | 6 +- .../lines/muon/include/DiMuonSoftLine.cuh | 11 + .../lines/muon/include/OneMuonTrackLine.cuh | 11 + .../lines/muon/src/DiMuonSoftLine.cu | 12 + .../lines/muon/src/OneMuonTrackLine.cu | 10 + 42 files changed, 516 insertions(+), 124 deletions(-) diff --git a/configuration/python/AllenConf/HLT1.py b/configuration/python/AllenConf/HLT1.py index 180c05b39be..c0ef0de513d 100644 --- a/configuration/python/AllenConf/HLT1.py +++ b/configuration/python/AllenConf/HLT1.py @@ -95,7 +95,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, enable_tupling=enable_tupling, charm_track_ip=thresholds.D2HH_track_ip, charm_track_pt=thresholds.D2HH_track_pt), - make_dst_line(dstars, name="Hlt1Dst2D0Pi"), + make_dst_line(dstars, name="Hlt1Dst2D0Pi", + enable_tupling=enable_tupling), make_diproton_highmass_line( prompt_dihadrons, name="Hlt1DiProtonHighMass", @@ -104,11 +105,14 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, pre_scaler=1., enable_tupling=enable_tupling), make_kplus_to_piee_line( - three_body_svs, name="Hlt1Kplus2PiEE", enable_monitoring=False), + three_body_svs, name="Hlt1Kplus2PiEE", enable_monitoring=False, + enable_tupling=enable_tupling), make_kplus_to_pimumu_line( - three_body_svs, name="Hlt1Kplus2PiMuMu", enable_monitoring=False), + three_body_svs, name="Hlt1Kplus2PiMuMu", enable_monitoring=False, + enable_tupling=enable_tupling), make_kplus_to_3pi_line( - three_body_svs, name="Hlt1Kplus2PiPiPi", enable_monitoring=False), + three_body_svs, name="Hlt1Kplus2PiPiPi", enable_monitoring=False, + enable_tupling=enable_tupling), make_tautophimu_line( phi_plus_track, name="Hlt1TauToPhiMu", @@ -166,13 +170,15 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], name="Hlt1DownstreamBuScaMonitoring", line_type="monitoring", - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 Monitoring Line with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], name="Hlt1DownstreamBuScaMonitoringSameSign", line_type="monitoring", - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 Monitoring Line for clean region / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], @@ -184,7 +190,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_fd_max=1600, histogram_ks_fd_nbins=10, clean_region=True, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 Monitoring Line for clean region with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], @@ -196,7 +203,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_fd_min=1200, histogram_ks_fd_max=1600, histogram_ks_fd_nbins=10, - clean_region=True), + clean_region=True, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 HH with PiPi mass hypo. / Trigger enabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], @@ -204,21 +212,24 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, line_type="hadron", enable_trigger=True, post_scaler=0.01, - mva_busca_threshold=0.1), + mva_busca_threshold=0.1, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 MuMu Line / Trigger enabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], name="Hlt1DownstreamBuScaMuMuLine", line_type="muon", mva_busca_threshold=0.1, - enable_trigger=True), + enable_trigger=True, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 ElEl Line / Trigger enabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], name="Hlt1DownstreamBuScaElElLine", line_type="electron", mva_busca_threshold=0.1, - enable_trigger=True), + enable_trigger=True, + enable_tupling=enable_tupling), make_downstream_two_track_ks_line( reconstructed_objects['downstream_tracks'], reconstructed_objects['downstream_secondary_vertices'], @@ -244,21 +255,24 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, line_type="hadron", post_scaler=0.01, mva_busca_threshold=0.1, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 MuMu Line with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], name="Hlt1DownstreamBuScaMuMuLineSameSign", line_type="muon", mva_busca_threshold=0.1, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 ElEl Line with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], name="Hlt1DownstreamBuScaElElLineSameSign", line_type="electron", mva_busca_threshold=0.1, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 High Mass Line / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], @@ -270,7 +284,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_mass_min=1200, histogram_ks_mass_max=50000, histogram_ks_mass_nbins=50, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 High Mass Line with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], @@ -282,7 +297,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_mass_min=1200, histogram_ks_mass_max=50000, histogram_ks_mass_nbins=50, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 MuMu High Mass Line / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_secondary_vertices'], @@ -294,7 +310,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_mass_min=1200, histogram_ks_mass_max=50000, histogram_ks_mass_nbins=50, - enable_trigger=False), + enable_trigger=False, + enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 MuMu High Mass Line with same sign reconstuction / Trigger disabled reconstructed_objects[ 'downstream_combined_hadronic_and_leptonic_same_sign_secondary_vertices'], @@ -306,7 +323,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, histogram_ks_mass_min=1200, histogram_ks_mass_max=50000, histogram_ks_mass_nbins=50, - enable_trigger=False) + enable_trigger=False, + enable_tupling=enable_tupling) ] if 'v0dd_hh_pairs' in reconstructed_objects: lines += [ @@ -327,13 +345,15 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, if with_v0s: lines += [ make_kstopipi_line( - long_tracks, v0s, name="Hlt1KsToPiPi", post_scaler=0.001), + long_tracks, v0s, name="Hlt1KsToPiPi", post_scaler=0.001, + enable_tupling=enable_tupling), make_kstopipi_line( long_tracks, v0s, name="Hlt1KsToPiPiDoubleMuonMisID", double_muon_misid=True, - enable_monitoring=True), + enable_monitoring=True, + enable_tupling=enable_tupling), make_two_track_line_ks( long_tracks, v0s, @@ -344,7 +364,8 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, min_combip=thresholds.TwoTrackKs_min_combip, minComboPt_Ks=thresholds.TwoTrackKs_minComboPt_Ks, enable_tupling=enable_tupling), - make_two_ks_line(long_tracks, v0_pairs, name="Hlt1TwoKs"), + make_two_ks_line(long_tracks, v0_pairs, name="Hlt1TwoKs", + enable_tupling=enable_tupling), make_lambda_ll_detached_track_line( lambda_track_from_c, name="Hlt1LambdaLLDetachedTrack", @@ -444,7 +465,7 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, oppositeSign=False, pre_scaler=0.01), make_di_muon_soft_line( - long_tracks, dileptons_nopt, name="Hlt1DiMuonSoft"), + long_tracks, dileptons_nopt, name="Hlt1DiMuonSoft", enable_tupling=enable_tupling), make_track_muon_mva_line( long_tracks, long_track_particles, @@ -645,53 +666,61 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, pvs, name="Hlt1Pi02GammaGamma", pre_scaler_hash_string="p02gammagamma_line_pre", - post_scaler_hash_string="p02gammagamma_line_post"), + post_scaler_hash_string="p02gammagamma_line_post", + enable_tupling=enable_tupling), make_highmass_dielectron_line( long_tracks, dileptons, calo_matching_objects, is_same_sign=True, pre_scaler=1.0, - name="Hlt1DiElectronHighMass_SS"), + name="Hlt1DiElectronHighMass_SS", + enable_tupling=enable_tupling), make_highmass_dielectron_line( long_tracks, dileptons, calo_matching_objects, is_same_sign=False, - name="Hlt1DiElectronHighMass"), + name="Hlt1DiElectronHighMass", + enable_tupling=enable_tupling), make_di_electron_soft_line( long_tracks, dileptons, calo_matching_objects, - name="Hlt1DiElectronSoft"), + name="Hlt1DiElectronSoft", + enable_tupling=enable_tupling), make_cone_jet_line( jets, name="Hlt1ConeJet15GeV", min_pt=15000., pre_scaler=0.001, pre_scaler_hash_string='cone_jet_15gev_line_pre', - post_scaler_hash_string='cone_jet_15gev_line_post'), + post_scaler_hash_string='cone_jet_15gev_line_post', + enable_tupling=enable_tupling), make_cone_jet_line( jets, name="Hlt1ConeJet30GeV", min_pt=30000., pre_scaler=0.05, pre_scaler_hash_string='cone_jet_30gev_line_pre', - post_scaler_hash_string='cone_jet_30gev_line_post'), + post_scaler_hash_string='cone_jet_30gev_line_post', + enable_tupling=enable_tupling), make_cone_jet_line( jets, name="Hlt1ConeJet50GeV", min_pt=50000., pre_scaler=0.1, pre_scaler_hash_string='cone_jet_50gev_line_pre', - post_scaler_hash_string='cone_jet_50gev_line_post'), + post_scaler_hash_string='cone_jet_50gev_line_post', + enable_tupling=enable_tupling), make_cone_jet_line( jets, name="Hlt1ConeJet100GeV", min_pt=100000., pre_scaler=1, pre_scaler_hash_string='cone_jet_100gev_line_pre', - post_scaler_hash_string='cone_jet_100gev_line_post'), + post_scaler_hash_string='cone_jet_100gev_line_post', + enable_tupling=enable_tupling), ] for subSample in ["NoIP", "NoIPNorm", "Displaced"]: @@ -738,14 +767,15 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, def odin_monitoring_lines(with_lumi, lumiline_name, lumilinefull_name, - odin_err_filter, velo_closed_filter): + odin_err_filter, velo_closed_filter, enable_tupling=False): lines = [] if with_lumi: odin_lumi_event = make_event_type(event_type='Lumi') with line_maker.bind(prefilter=odin_err_filter + [odin_lumi_event]): lines += [ line_maker( - make_passthrough_line(name=lumiline_name, pre_scaler=1.)) + make_passthrough_line(name=lumiline_name, pre_scaler=1., + enable_tupling=enable_tupling)) ] odin_orbit = make_odin_orbit( @@ -755,11 +785,13 @@ def odin_monitoring_lines(with_lumi, lumiline_name, lumilinefull_name, lines += [ line_maker( make_passthrough_line( - name=lumilinefull_name, pre_scaler=1.)) + name=lumilinefull_name, pre_scaler=1., + enable_tupling=enable_tupling)) ] with line_maker.bind(prefilter=odin_err_filter): - lines += [line_maker(make_odin_calib_line(name="Hlt1ODINCalib"))] + lines += [line_maker(make_odin_calib_line(name="Hlt1ODINCalib", + enable_tupling=enable_tupling))] ee_far_from_activity = make_event_type(event_type="ee_far_from_activity") with line_maker.bind(prefilter=odin_err_filter + velo_closed_filter + @@ -767,7 +799,8 @@ def odin_monitoring_lines(with_lumi, lumiline_name, lumilinefull_name, lines += [ line_maker( make_passthrough_line( - name="Hlt1ODINeeFarFromActivity", pre_scaler=1.)) + name="Hlt1ODINeeFarFromActivity", pre_scaler=1., + enable_tupling=enable_tupling)) ] return lines @@ -776,7 +809,8 @@ def odin_monitoring_lines(with_lumi, lumiline_name, lumilinefull_name, def alignment_monitoring_lines(reconstructed_objects, prefilters_bx, chi2_cuts, - with_muon=True): + with_muon=True, + enable_tupling=False): long_tracks = reconstructed_objects["long_tracks"] long_track_particles = reconstructed_objects["long_track_particles"] @@ -790,15 +824,19 @@ def alignment_monitoring_lines(reconstructed_objects, long_tracks, long_track_particles, maxTrChi2=chi2_cuts.Hlt1RICH1Alignment_maxTrChi2, - name="Hlt1RICH1Alignment"), + name="Hlt1RICH1Alignment", + enable_tupling=enable_tupling), make_rich_2_line( long_tracks, long_track_particles, maxTrChi2=chi2_cuts.Hlt1RICH2Alignment_maxTrChi2, - name="Hlt1RICH2Alignment"), + name="Hlt1RICH2Alignment", + enable_tupling=enable_tupling), make_d2kpi_align_line( - long_tracks, dihadrons, name="Hlt1D2KPiAlignment"), - make_dst_line(dstars, name="Hlt1Dst2D0PiAlignment") + long_tracks, dihadrons, name="Hlt1D2KPiAlignment", + enable_tupling=enable_tupling), + make_dst_line(dstars, name="Hlt1Dst2D0PiAlignment", + enable_tupling=enable_tupling), ] if with_muon: @@ -808,13 +846,15 @@ def alignment_monitoring_lines(reconstructed_objects, long_tracks, dileptons, muonid, - name="Hlt1DiMuonJpsiMassAlignment"), + name="Hlt1DiMuonJpsiMassAlignment", + enable_tupling=enable_tupling), make_one_muon_track_line( muon_stubs["consolidated_muon_tracks"], muon_stubs["dev_muon_tracks_offsets"], muon_stubs["host_muon_total_number_of_tracks"], name="Hlt1OneMuonTrackLine", - post_scaler=6e-5), + post_scaler=6e-5, + enable_tupling=enable_tupling), make_di_muon_mass_align_line( long_tracks, dileptons, @@ -826,7 +866,8 @@ def alignment_monitoring_lines(reconstructed_objects, maxMass=150000., minFdChi2=-1., minIP=-1., - minDira=0.9), + minDira=0.9, + enable_tupling=enable_tupling), ] with line_maker.bind(prefilter=prefilters_bx): @@ -839,7 +880,8 @@ def alignment_monitoring_lines(reconstructed_objects, def velo_tomography_lines(reconstructed_objects, prefilters_odin_err, prefilters_bx, - full_velo_tomography=False): + full_velo_tomography=False, + enable_tupling=False): material_interaction_tracks = reconstructed_objects[ "material_interaction_tracks"] @@ -855,7 +897,8 @@ def velo_tomography_lines(reconstructed_objects, material_interaction_tracks, min_z_materialvertex_seed=300, max_z_materialvertex_seed=1000, - name="Hlt1MaterialVertexSeedsDownstreamz"), + name="Hlt1MaterialVertexSeedsDownstreamz", + enable_tupling=enable_tupling), prefilter=tomography_prefilters + [ make_prescaler(0.5 if full_velo_tomography else 5e-4, "Hlt1MaterialVertexSeedsDownstreamz") @@ -865,7 +908,8 @@ def velo_tomography_lines(reconstructed_objects, material_interaction_tracks, min_z_materialvertex_seed=700, max_z_materialvertex_seed=1000, - name="Hlt1MaterialVertexSeeds_DWFS"), + name="Hlt1MaterialVertexSeeds_DWFS", + enable_tupling=enable_tupling), prefilter=tomography_prefilters + [ make_prescaler(1 if full_velo_tomography else 0.1, "Hlt1MaterialVertexSeeds_DWFS") @@ -879,7 +923,8 @@ def velo_tomography_lines(reconstructed_objects, material_interaction_tracks, min_z_materialvertex_seed=-550, max_z_materialvertex_seed=1000, - name="Hlt1MaterialVertexSeeds_zIntegrated"), + name="Hlt1MaterialVertexSeeds_zIntegrated", + enable_tupling=enable_tupling), prefilter=tomography_prefilters + [make_prescaler(1e-2, "Hlt1MaterialVertexSeeds_zIntegrated")]) ] @@ -890,7 +935,8 @@ def velo_tomography_lines(reconstructed_objects, @configurable def velo_micro_bias_lines(reconstructed_objects, odin_err_filter, - velo_micro_bias_post_scaler=1e-3): + velo_micro_bias_post_scaler=1e-3, + enable_tupling=False): velo_tracks = reconstructed_objects["velo_tracks"] with line_maker.bind(prefilter=odin_err_filter): lines = [ @@ -900,6 +946,7 @@ def velo_micro_bias_lines(reconstructed_objects, name="Hlt1VeloMicroBias", pre_scaler=1.0, post_scaler=velo_micro_bias_post_scaler, + enable_tupling=enable_tupling )) ] @@ -911,6 +958,7 @@ def velo_micro_bias_lines(reconstructed_objects, velo_tracks, name="Hlt1VeloMicroBiasVeloClosing", post_scaler=3.0e-3, + enable_tupling=enable_tupling )) ] @@ -978,7 +1026,7 @@ def default_SMOG2_lines(reconstructed_objects, minTrackPt=250., minMass=450., pre_scaler=0.3, - enable_tupling=enable_tupling), + enable_tupling=False), make_SMOG2_ditrack_line( dihadrons, minTrackPt=500., @@ -1013,7 +1061,8 @@ def default_SMOG2_lines(reconstructed_objects, minPt=5000., pre_scaler=1, min_z=min_z, - max_z=max_z), + max_z=max_z, + enable_tupling=enable_tupling), make_SMOG2_singletrack_line( long_tracks, long_track_particles, @@ -1022,7 +1071,8 @@ def default_SMOG2_lines(reconstructed_objects, minPt=3000., pre_scaler=0.1, min_z=min_z, - max_z=max_z) + max_z=max_z, + enable_tupling=enable_tupling) ] if with_muon: @@ -1045,7 +1095,8 @@ def default_SMOG2_lines(reconstructed_objects, useMuonNN=False, MinPt=1250, name="Hlt1SMOG2SingleMuon", - pre_scaler=1.), + pre_scaler=1., + enable_tupling=enable_tupling), make_SMOG2_dimuon_displaced_line( dileptons, long_tracks, @@ -1053,7 +1104,8 @@ def default_SMOG2_lines(reconstructed_objects, maxChi2Corr=1.3, useMuonNN=False, minFDCHI2=100., - name="Hlt1SMOG2DisplacedDiMuon"), + name="Hlt1SMOG2DisplacedDiMuon", + enable_tupling=enable_tupling,), make_SMOG2_jpsitomumu_tap_line( prompt_dihadrons, long_tracks, @@ -1103,7 +1155,8 @@ def default_bgi_activity_lines(pvs, velo_states, enableBGI_full=False, PbPb_collision=False, - prefilter=[]): + prefilter=[], + enable_tupling=False): """ Primary vertex lines for various bunch crossing types composed from new PV filters and beam crossing lines. @@ -1136,21 +1189,24 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPseudoPVsNoBeam", beam_crossing_type=0, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, velo_states_z_all]), line_maker( make_beam_line( name="Hlt1BGIPseudoPVsBeamOne", beam_crossing_type=1, pre_scaler=1. if enableBGI_full else 1e-2, - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, velo_states_z_all]), line_maker( make_beam_line( name="Hlt1BGIPseudoPVsBeamTwo", beam_crossing_type=2, pre_scaler=1. if enableBGI_full else 6.5e-2, - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, velo_states_z_all]) ] @@ -1167,7 +1223,8 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPseudoPVsUpBeamBeam", beam_crossing_type=3, pre_scaler=1. if enableBGI_full else 1e-3, - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [velo_states_z_up]) ] @@ -1184,7 +1241,8 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPseudoPVsDownBeamBeam", beam_crossing_type=3, pre_scaler=1. if enableBGI_full else 0.05, - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [velo_states_z_down]) ] @@ -1201,7 +1259,8 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPseudoPVsIRBeamBeam", beam_crossing_type=3, pre_scaler=1. if enableBGI_full else 4e-5, - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [velo_states_z_ir]) ] @@ -1214,21 +1273,24 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPVsCylNoBeam", beam_crossing_type=0, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, pvs_z_all]), line_maker( make_beam_line( name="Hlt1BGIPVsCylBeamOne", beam_crossing_type=1, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, pvs_z_all]), line_maker( make_beam_line( name="Hlt1BGIPVsCylBeamTwo", beam_crossing_type=2, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [bx_NoBB, pvs_z_all]) ] @@ -1245,7 +1307,8 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPVsCylUpBeamBeam", beam_crossing_type=3, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [pvs_z_up]) ] @@ -1262,7 +1325,8 @@ def default_bgi_activity_lines(pvs, name="Hlt1BGIPVsCylDownBeamBeam", beam_crossing_type=3, pre_scaler=1., - post_scaler=1.), + post_scaler=1., + enable_tupling=enable_tupling), prefilter=prefilter + [pvs_z_down]) ] return lines @@ -1350,12 +1414,13 @@ def setup_hlt1_node(enablePhysics=True, monitoring_lines = odin_monitoring_lines(with_lumi, lumiline_name, lumilinefull_name, - odin_err_filter, velo_closed) + odin_err_filter, velo_closed, enableTupling) with line_maker.bind(prefilter=odin_err_filter): physics_lines += [ line_maker( - make_passthrough_line(pre_scaler=passthrough_pre_scaler)) + make_passthrough_line(pre_scaler=passthrough_pre_scaler, + enable_tupling=enableTupling)) ] if tae_passthrough: @@ -1377,7 +1442,8 @@ def setup_hlt1_node(enablePhysics=True, physics_lines += [ line_maker( make_passthrough_line( - name="Hlt1TAEPassthrough", pre_scaler=1)) + name="Hlt1TAEPassthrough", pre_scaler=1, + enable_tupling=enableTupling)) ] if nonZeroSuppress: @@ -1387,19 +1453,22 @@ def setup_hlt1_node(enablePhysics=True, physics_lines += [ line_maker( make_passthrough_line( - name="Hlt1NonZeroSuppress", pre_scaler=1)) + name="Hlt1NonZeroSuppress", pre_scaler=1, + enable_tupling=enableTupling)) ] with line_maker.bind(prefilter=[sd_error_filter()]): monitoring_lines += [ line_maker( - make_passthrough_line(name="Hlt1ErrorBank", pre_scaler=0.0001)) + make_passthrough_line(name="Hlt1ErrorBank", pre_scaler=0.0001, + enable_tupling=enableTupling)) ] if EnableGEC: with line_maker.bind(prefilter=odin_err_filter + gec): physics_lines += [ - line_maker(make_passthrough_line(name="Hlt1GECPassthrough")) + line_maker(make_passthrough_line(name="Hlt1GECPassthrough", + enable_tupling=enableTupling)) ] if enableBGI: @@ -1407,19 +1476,20 @@ def setup_hlt1_node(enablePhysics=True, physics_lines += default_bgi_activity_lines( reconstructed_objects["pvs"], reconstructed_objects["velo_states"], - prefilter=bgi_prefilters) + prefilter=bgi_prefilters, + enable_tupling=enableTupling) # Alignment lines have momentum cuts, whose rate might explode # during magnet off as straight tracks are given high momentum if enableAlignment: monitoring_lines += alignment_monitoring_lines( - reconstructed_objects, prefilters, chi2_cuts, with_muon) + reconstructed_objects, prefilters, chi2_cuts, with_muon, enable_tupling=enableTupling) monitoring_lines += velo_tomography_lines(reconstructed_objects, - odin_err_filter, prefilters) + odin_err_filter, prefilters, enable_tupling=enableTupling) monitoring_lines += velo_micro_bias_lines(reconstructed_objects, - odin_err_filter) + odin_err_filter,enable_tupling=enableTupling) bx_BE = make_bxtype(bx_type=1) with line_maker.bind( @@ -1430,7 +1500,8 @@ def setup_hlt1_node(enablePhysics=True, reconstructed_objects["velo_tracks"], reconstructed_objects["velo_states"], beam_crossing_type=1, - name="Hlt1BeamGas")), + name="Hlt1BeamGas", + enable_tupling=enableTupling)), ] # list of line algorithms, required for the gather selection and DecReport algorithms @@ -1448,7 +1519,8 @@ def setup_hlt1_node(enablePhysics=True, SMOG2_lines += [ line_maker( make_passthrough_line( - name="Hlt1SMOG2BENoBias", pre_scaler=3.e-4)) + name="Hlt1SMOG2BENoBias", pre_scaler=3.e-4, + enable_tupling=enableTupling)) ] if with_calo: @@ -1464,7 +1536,8 @@ def setup_hlt1_node(enablePhysics=True, line_maker( make_passthrough_line( name="Hlt1SMOG2PassThroughLowMult5", - pre_scaler=0.1)) + pre_scaler=0.1, + enable_tupling=enableTupling)) ] lowMultElectrons = make_lowmult( @@ -1481,7 +1554,8 @@ def setup_hlt1_node(enablePhysics=True, line_maker( make_passthrough_line( name="Hlt1SMOG2BELowMultElectrons", - pre_scaler=0.1)) + pre_scaler=0.1, + enable_tupling=enableTupling)) ] if EnableGEC: @@ -1494,7 +1568,8 @@ def setup_hlt1_node(enablePhysics=True, reconstructed_objects["velo_tracks"], reconstructed_objects["velo_states"], name="Hlt1SMOG2MinimumBias", - pre_scaler=0.00003)) + pre_scaler=0.00003, + enable_tupling=enableTupling)) ] SMOG2_prefilters += [ @@ -1505,7 +1580,8 @@ def setup_hlt1_node(enablePhysics=True, SMOG2_lines += [ line_maker( make_passthrough_line( - name="Hlt1PassthroughPVinSMOG2", pre_scaler=0.00006)) + name="Hlt1PassthroughPVinSMOG2", pre_scaler=0.00006, + enable_tupling=enableTupling)) ] SMOG2_lines += default_SMOG2_lines( diff --git a/configuration/python/AllenConf/hlt1_calibration_lines.py b/configuration/python/AllenConf/hlt1_calibration_lines.py index 63ad92b0bed..1670fb082a9 100644 --- a/configuration/python/AllenConf/hlt1_calibration_lines.py +++ b/configuration/python/AllenConf/hlt1_calibration_lines.py @@ -116,7 +116,8 @@ def make_d2kpi_align_line(long_tracks, def make_passthrough_line(name="Hlt1Passthrough", pre_scaler=0.0001, pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): number_of_events = initialize_number_of_events() @@ -127,7 +128,8 @@ def make_passthrough_line(name="Hlt1Passthrough", host_number_of_events_t=number_of_events["host_number_of_events"], dev_number_of_events_t=number_of_events["dev_number_of_events"], pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', - post_scaler_hash_string=post_scaler_hash_string or name + '_post') + post_scaler_hash_string=post_scaler_hash_string or name + '_post', + enable_tupling=enable_tupling) def make_rich_line(line_type, @@ -138,7 +140,8 @@ def make_rich_line(line_type, post_scaler, maxTrChi2, pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -153,7 +156,8 @@ def make_rich_line(line_type, post_scaler=post_scaler, pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', post_scaler_hash_string=post_scaler_hash_string or name + '_post', - maxTrChi2=maxTrChi2) + maxTrChi2=maxTrChi2, + enable_tupling=enable_tupling) def make_rich_1_line(long_tracks, @@ -163,10 +167,12 @@ def make_rich_1_line(long_tracks, pre_scaler=1.0, post_scaler=1.0, pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): return make_rich_line(rich_1_line_t, long_tracks, long_track_particles, name, pre_scaler, post_scaler, maxTrChi2, - pre_scaler_hash_string, post_scaler_hash_string) + pre_scaler_hash_string, post_scaler_hash_string, + enable_tupling=enable_tupling) def make_rich_2_line(long_tracks, @@ -176,10 +182,12 @@ def make_rich_2_line(long_tracks, pre_scaler=1.0, post_scaler=1.0, pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): return make_rich_line(rich_2_line_t, long_tracks, long_track_particles, name, pre_scaler, post_scaler, maxTrChi2, - pre_scaler_hash_string, post_scaler_hash_string) + pre_scaler_hash_string, post_scaler_hash_string, + enable_tupling=enable_tupling) def make_displaced_dimuon_mass_line(long_tracks, @@ -221,7 +229,8 @@ def make_di_muon_mass_align_line(long_tracks, minDira=0.9995, pre_scaler_hash_string=None, post_scaler_hash_string=None, - name="Hlt1DiMuonHighMassAlignment"): + name="Hlt1DiMuonHighMassAlignment", + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -245,7 +254,8 @@ def make_di_muon_mass_align_line(long_tracks, minHighMassTrackP=minHighMassTrackP, minIP=minIP, minFdChi2=minFdChi2, - minDira=minDira) + minDira=minDira, + enable_tupling=enable_tupling) @configurable @@ -263,7 +273,8 @@ def make_odin_calib_line(pre_scaler=1., post_scaler=1., pre_scaler_hash_string=None, post_scaler_hash_string=None, - name="Hlt1ODINCalib"): + name="Hlt1ODINCalib", + enable_tupling=False): number_of_events = initialize_number_of_events() odin = decode_odin() @@ -275,4 +286,5 @@ def make_odin_calib_line(pre_scaler=1., pre_scaler=pre_scaler, post_scaler=post_scaler, pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", - post_scaler_hash_string=post_scaler_hash_string or name + "_post") + post_scaler_hash_string=post_scaler_hash_string or name + "_post", + enable_tupling=enable_tupling) diff --git a/configuration/python/AllenConf/hlt1_charm_lines.py b/configuration/python/AllenConf/hlt1_charm_lines.py index 8f47532698c..f49e74bc064 100644 --- a/configuration/python/AllenConf/hlt1_charm_lines.py +++ b/configuration/python/AllenConf/hlt1_charm_lines.py @@ -123,7 +123,8 @@ def make_two_ks_line(long_tracks, secondary_vertices, name='Hlt1TwoKs_{hash}', pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -135,6 +136,7 @@ def make_two_ks_line(long_tracks, "dev_multi_event_sv_combos_view"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", + enable_tupling=enable_tupling, ) diff --git a/configuration/python/AllenConf/hlt1_electron_lines.py b/configuration/python/AllenConf/hlt1_electron_lines.py index a3117f4cde9..f677c187cfd 100644 --- a/configuration/python/AllenConf/hlt1_electron_lines.py +++ b/configuration/python/AllenConf/hlt1_electron_lines.py @@ -239,6 +239,7 @@ def make_highmass_dielectron_line( minMass=minMass, maxMass=maxMass, enable_monitoring=enable_monitoring, + enable_tupling=enable_tupling, OppositeSign=(not is_same_sign)) diff --git a/configuration/python/AllenConf/hlt1_inclusive_hadron_lines.py b/configuration/python/AllenConf/hlt1_inclusive_hadron_lines.py index d69eaf4ae8b..030d4b04284 100644 --- a/configuration/python/AllenConf/hlt1_inclusive_hadron_lines.py +++ b/configuration/python/AllenConf/hlt1_inclusive_hadron_lines.py @@ -25,7 +25,8 @@ def make_kstopipi_line(long_tracks, post_scaler=1.0, name='Hlt1KsToPiPi_{hash}', double_muon_misid=False, - enable_monitoring=True): + enable_monitoring=True, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -33,6 +34,7 @@ def make_kstopipi_line(long_tracks, name=name, double_muon_misid=double_muon_misid, enable_monitoring=is_allen_standalone() and enable_monitoring, + enable_tupling=enable_tupling, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"], dev_particle_container_t=secondary_vertices[ diff --git a/configuration/python/AllenConf/hlt1_monitoring_lines.py b/configuration/python/AllenConf/hlt1_monitoring_lines.py index e91f9be87aa..0c1e5329122 100644 --- a/configuration/python/AllenConf/hlt1_monitoring_lines.py +++ b/configuration/python/AllenConf/hlt1_monitoring_lines.py @@ -29,7 +29,8 @@ def make_beam_line(pre_scaler_hash_string=None, pre_scaler=1., post_scaler=1.e-3, beam_crossing_type=0, - name=None): + name=None, + enable_tupling=False): name_map = { 0: "Hlt1NoBeam", 1: "Hlt1BeamOne", @@ -49,7 +50,8 @@ def make_beam_line(pre_scaler_hash_string=None, post_scaler=post_scaler, pre_scaler_hash_string=pre_scaler_hash_string or line_name + "_pre", post_scaler_hash_string=post_scaler_hash_string or line_name + "_post", - dev_odin_data_t=odin["dev_odin_data"]) + dev_odin_data_t=odin["dev_odin_data"], + enable_tupling=enable_tupling) def make_velo_micro_bias_line(velo_tracks, @@ -58,7 +60,8 @@ def make_velo_micro_bias_line(velo_tracks, post_scaler=1.e-4, pre_scaler_hash_string=None, post_scaler_hash_string=None, - min_velo_tracks=1): + min_velo_tracks=1, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -73,7 +76,8 @@ def make_velo_micro_bias_line(velo_tracks, post_scaler=post_scaler, pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", - min_velo_tracks=min_velo_tracks) + min_velo_tracks=min_velo_tracks, + enable_tupling=enable_tupling) def make_odin_event_type_with_decoding_line(odin_event_type: str, @@ -145,7 +149,8 @@ def make_beam_gas_line(velo_tracks, post_scaler_hash_string=None, pre_scaler=1., post_scaler=1.e-3, - beam_crossing_type=1): + beam_crossing_type=1, + enable_tupling=False): number_of_events = initialize_number_of_events() odin = decode_odin() @@ -167,7 +172,8 @@ def make_beam_gas_line(velo_tracks, pre_scaler=pre_scaler, post_scaler=post_scaler, pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", - post_scaler_hash_string=post_scaler_hash_string or name + "_post") + post_scaler_hash_string=post_scaler_hash_string or name + "_post", + enable_tupling=enable_tupling) @configurable @@ -255,7 +261,8 @@ def make_z_range_materialvertex_seed_line( pre_scaler=1., post_scaler=1., pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): return make_algorithm( z_range_materialvertex_seed_line_t, @@ -270,5 +277,6 @@ def make_z_range_materialvertex_seed_line( max_z_materialvertex_seed=max_z_materialvertex_seed, pre_scaler=pre_scaler, post_scaler=post_scaler, + enable_tupling=enable_tupling, pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post") diff --git a/configuration/python/AllenConf/hlt1_muon_lines.py b/configuration/python/AllenConf/hlt1_muon_lines.py index d4b001a195f..13b95da1dce 100644 --- a/configuration/python/AllenConf/hlt1_muon_lines.py +++ b/configuration/python/AllenConf/hlt1_muon_lines.py @@ -28,7 +28,8 @@ def make_one_muon_track_line(muon_tracks, pre_scaler=1., post_scaler=1., pre_scaler_hash_string=None, - post_scaler_hash_string=None): + post_scaler_hash_string=None, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -42,7 +43,8 @@ def make_one_muon_track_line(muon_tracks, post_scaler=post_scaler, dev_muon_tracks_t=muon_tracks, host_muon_total_number_of_tracks_t=host_muon_total_number_of_tracks, - dev_muon_tracks_offsets_t=dev_muon_tracks_offsets) + dev_muon_tracks_offsets_t=dev_muon_tracks_offsets, + enable_tupling=enable_tupling) @configurable @@ -182,7 +184,8 @@ def make_di_muon_soft_line(long_tracks, name="Hlt1DiMuonSoft", pre_scaler_hash_string=None, post_scaler_hash_string=None, - pre_scaler=1.): + pre_scaler=1., + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -194,7 +197,8 @@ def make_di_muon_soft_line(long_tracks, "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", - pre_scaler=pre_scaler) + pre_scaler=pre_scaler, + enable_tupling=enable_tupling,) @configurable diff --git a/configuration/python/AllenConf/hlt1_smog2_lines.py b/configuration/python/AllenConf/hlt1_smog2_lines.py index 3c961d46335..f3dcb4a051a 100644 --- a/configuration/python/AllenConf/hlt1_smog2_lines.py +++ b/configuration/python/AllenConf/hlt1_smog2_lines.py @@ -41,7 +41,8 @@ def make_SMOG2_dimuon_displaced_line(secondary_vertices, useMuonNN=False, pre_scaler=1., post_scaler=1., - enable_monitoring=True): + enable_monitoring=True, + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -69,7 +70,8 @@ def make_SMOG2_dimuon_displaced_line(secondary_vertices, useNN=useMuonNN, minPVZ=min_PVz, maxPVZ=max_PVz, - enable_monitoring=is_allen_standalone() and enable_monitoring) + enable_monitoring=is_allen_standalone() and enable_monitoring, + enable_tupling=enable_tupling) @configurable @@ -164,7 +166,8 @@ def make_SMOG2_minimum_bias_line(velo_tracks, min_z=-537.5, max_z=-337.5, pre_scaler=0.00003, - post_scaler=1.): + post_scaler=1., + enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( @@ -181,7 +184,8 @@ def make_SMOG2_minimum_bias_line(velo_tracks, dev_velo_states_view_t=velo_states[ "dev_velo_kalman_beamline_states_view"], minZ=min_z, - maxZ=max_z) + maxZ=max_z, + enable_tupling=enable_tupling) def make_SMOG2_ditrack_line( @@ -289,7 +293,8 @@ def make_SMOG2_singletrack_line(long_tracks, minPt=1.5, maxGhostProb=0.3, pre_scaler=1., - post_scaler=1.): + post_scaler=1., + enable_tupling=False): number_of_events = initialize_number_of_events() @@ -309,7 +314,8 @@ def make_SMOG2_singletrack_line(long_tracks, minPt=minPt, maxGhostProb=maxGhostProb, minBPVz=min_z, - maxBPVz=max_z) + maxBPVz=max_z, + enable_tupling=enable_tupling) def make_SMOG2_single_muon_line(long_tracks, @@ -326,7 +332,8 @@ def make_SMOG2_single_muon_line(long_tracks, min_z=-537.5, max_z=-337.5, pre_scaler=1., - post_scaler=1.): + post_scaler=1., + enable_tupling=False): number_of_events = initialize_number_of_events() @@ -351,4 +358,5 @@ def make_SMOG2_single_muon_line(long_tracks, MinPt=MinPt, maxChi2Corr=maxChi2Corr, minMuonNN=minMuonNN, - useNN=useMuonNN) + useNN=useMuonNN, + enable_tupling=enable_tupling) diff --git a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py index b864951883e..ab3fc7ef3a4 100644 --- a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py +++ b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py @@ -13,6 +13,7 @@ from AllenCore.generator import generate from AllenConf.enum_types import TrackingType from AllenConf.get_thresholds import get_thresholds from AllenConf.matching_reconstruction import make_velo_scifi_matches +from AllenConf.velo_reconstruction import make_pr_velo_tracks from PyConf.control_flow import NodeLogic, CompositeNode from AllenConf.validators import mc_data_provider @@ -22,7 +23,7 @@ from AllenConf.utils import initialize_number_of_events from AllenConf.utils import make_algorithm from AllenCore.configuration_options import is_allen_standalone -with make_velo_scifi_matches.bind(ghost_killer_threshold=1.): +with make_velo_scifi_matches.bind(ghost_killer_threshold=1.), make_pr_velo_tracks.bind(missing_modules=[21]): hlt1_node = setup_hlt1_node( tracking_type=TrackingType.FORWARD_THEN_MATCHING, threshold_settings=get_thresholds("tuning"), diff --git a/device/selections/lines/SMOG2/include/SMOG2_DiMuonHighMassLine.cuh b/device/selections/lines/SMOG2/include/SMOG2_DiMuonHighMassLine.cuh index 7c2b2e78ee3..82425c0da0b 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_DiMuonHighMassLine.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_DiMuonHighMassLine.cuh @@ -31,8 +31,9 @@ namespace SMOG2_dimuon_highmass_line { HOST_INPUT(host_number_of_events_t, unsigned) host_number_of_events; HOST_INPUT(host_number_of_svs_t, unsigned) host_number_of_svs; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; - HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) - host_fn_parameters; + HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct SMOG2_dimuon_highmass_line_t : public SelectionAlgorithm, @@ -87,7 +88,7 @@ namespace SMOG2_dimuon_highmass_line { unsigned index, bool sel); - using monitoring_types = std::tuple; + using monitoring_types = std::tuple; private: Allen::Property m_maxTrackChi2Ndf {this, "maxTrackChi2Ndf", 5.f, "max track fit Chi2ndf"}; diff --git a/device/selections/lines/SMOG2/include/SMOG2_DiTrack.cuh b/device/selections/lines/SMOG2/include/SMOG2_DiTrack.cuh index 8bc0ecc28ff..b5d9475130c 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_DiTrack.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_DiTrack.cuh @@ -35,6 +35,8 @@ namespace SMOG2_ditrack_line { DEVICE_OUTPUT(ip_t, float) ip; DEVICE_OUTPUT(pt_t, float) pt; DEVICE_OUTPUT(pvz_t, float) pvz; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct SMOG2_ditrack_line_t : public SelectionAlgorithm, Parameters, @@ -83,7 +85,7 @@ namespace SMOG2_ditrack_line { }; using monitoring_types = - std::tuple; + std::tuple; __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple); diff --git a/device/selections/lines/SMOG2/include/SMOG2_JpsiToMuMuTaPLine.cuh b/device/selections/lines/SMOG2/include/SMOG2_JpsiToMuMuTaPLine.cuh index f71e597d8d6..46d40f4b1a5 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_JpsiToMuMuTaPLine.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_JpsiToMuMuTaPLine.cuh @@ -22,6 +22,8 @@ namespace SMOG2jpsitomumu_tap_line { DEVICE_OUTPUT(svz_t, float) svz; DEVICE_OUTPUT(maxchi2corr_t, float) maxchi2corr; DEVICE_OUTPUT(min_muon_nn_t, float) min_muon_nn; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; MASK_INPUT(dev_event_list_t) dev_event_list; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; @@ -88,7 +90,7 @@ namespace SMOG2jpsitomumu_tap_line { unsigned index, bool sel); - using monitoring_types = std::tuple; + using monitoring_types = std::tuple; private: Allen::Property m_JpsiMinMass {this, diff --git a/device/selections/lines/SMOG2/include/SMOG2_MinimumBiasLine.cuh b/device/selections/lines/SMOG2/include/SMOG2_MinimumBiasLine.cuh index 6c96fc68447..419446a1c8b 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_MinimumBiasLine.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_MinimumBiasLine.cuh @@ -25,6 +25,8 @@ namespace SMOG2_minimum_bias_line { HOST_INPUT(host_number_of_reconstructed_velo_tracks_t, unsigned) host_number_of_reconstructed_velo_tracks; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_tracks_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; // SelectionAlgorithm definition @@ -61,6 +63,15 @@ namespace SMOG2_minimum_bias_line { __device__ static bool select(const Parameters& parameters, const DeviceProperties&, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: // Commonly required properties // Line-specific properties diff --git a/device/selections/lines/SMOG2/include/SMOG2_SingleTrack.cuh b/device/selections/lines/SMOG2/include/SMOG2_SingleTrack.cuh index 2f93aead6e7..1e40a0a1048 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_SingleTrack.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_SingleTrack.cuh @@ -24,6 +24,8 @@ namespace SMOG2_singletrack_line { HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct SMOG2_singletrack_line_t : public SelectionAlgorithm, Parameters, @@ -46,6 +48,15 @@ namespace SMOG2_singletrack_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_minP {this, "minP", 5000.f * Allen::Units::MeV, "minimum P"}; Allen::Property m_minPt {this, "minPt", 1500.f * Allen::Units::MeV, "minimum Pt"}; diff --git a/device/selections/lines/SMOG2/src/SMOG2_MinimumBiasLine.cu b/device/selections/lines/SMOG2/src/SMOG2_MinimumBiasLine.cu index 2c3256acb90..6aa233e8dde 100644 --- a/device/selections/lines/SMOG2/src/SMOG2_MinimumBiasLine.cu +++ b/device/selections/lines/SMOG2/src/SMOG2_MinimumBiasLine.cu @@ -54,3 +54,13 @@ __device__ bool SMOG2_minimum_bias_line::SMOG2_minimum_bias_line_t::select( return velo_track_state_z < properties.maxZ && velo_track_state_z >= properties.minZ && velo_track_hit_number >= properties.minNHits; } + +__device__ bool SMOG2_minimum_bias_line::SMOG2_minimum_bias_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/SMOG2/src/SMOG2_SingleTrack.cu b/device/selections/lines/SMOG2/src/SMOG2_SingleTrack.cu index ef232223713..d78bb78a4d7 100644 --- a/device/selections/lines/SMOG2/src/SMOG2_SingleTrack.cu +++ b/device/selections/lines/SMOG2/src/SMOG2_SingleTrack.cu @@ -27,3 +27,13 @@ __device__ bool SMOG2_singletrack_line::SMOG2_singletrack_line_t::select( return decision; } + +__device__ bool SMOG2_singletrack_line::SMOG2_singletrack_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/calibration/include/DiMuonMassAlignmentLine.cuh b/device/selections/lines/calibration/include/DiMuonMassAlignmentLine.cuh index 98b33ef2620..d96c2d59af9 100644 --- a/device/selections/lines/calibration/include/DiMuonMassAlignmentLine.cuh +++ b/device/selections/lines/calibration/include/DiMuonMassAlignmentLine.cuh @@ -24,6 +24,8 @@ namespace di_muon_mass_alignment_line { HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct di_muon_mass_alignment_line_t : public SelectionAlgorithm, @@ -66,6 +68,15 @@ namespace di_muon_mass_alignment_line { const DeviceProperties&, std::tuple); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_minHighMassTrackPt {this, "minHighMassTrackPt", diff --git a/device/selections/lines/calibration/include/ODINCalibTrigger.cuh b/device/selections/lines/calibration/include/ODINCalibTrigger.cuh index 5a6d221fd0f..f7627d70407 100644 --- a/device/selections/lines/calibration/include/ODINCalibTrigger.cuh +++ b/device/selections/lines/calibration/include/ODINCalibTrigger.cuh @@ -21,11 +21,21 @@ namespace odin_calib_line { DEVICE_INPUT(dev_odin_data_t, ODINData) dev_odin_data; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT(host_fn_parameters_t, char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct odin_calib_line_t : public SelectionAlgorithm, Parameters, ODINLine { __device__ static bool select(const Parameters& parameters, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: }; } // namespace odin_calib_line diff --git a/device/selections/lines/calibration/include/PassthroughLine.cuh b/device/selections/lines/calibration/include/PassthroughLine.cuh index 7c1d21089d8..d8134baa50f 100644 --- a/device/selections/lines/calibration/include/PassthroughLine.cuh +++ b/device/selections/lines/calibration/include/PassthroughLine.cuh @@ -21,6 +21,8 @@ namespace passthrough_line { MASK_INPUT(dev_event_list_t) dev_event_list; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT(host_fn_parameters_t, char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct passthrough_line_t : public SelectionAlgorithm, Parameters, EventLine { @@ -29,6 +31,14 @@ namespace passthrough_line { __device__ static bool select(const Parameters& parameters, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: }; } // namespace passthrough_line diff --git a/device/selections/lines/calibration/include/RICH1Line.cuh b/device/selections/lines/calibration/include/RICH1Line.cuh index c523d6c3b33..dd8eefcb1eb 100644 --- a/device/selections/lines/calibration/include/RICH1Line.cuh +++ b/device/selections/lines/calibration/include/RICH1Line.cuh @@ -45,6 +45,9 @@ namespace rich_1_line { DEVICE_OUTPUT(dev_phi_t, float) dev_phi; HOST_OUTPUT(host_phi_t, float) host_phi; + + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; // SelectionAlgorithm definition @@ -74,6 +77,8 @@ namespace rich_1_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + using monitoring_types = std::tuple; + // Stuff for monitoring hists void init_tuples(const ArgumentReferences& arguments, const Allen::Context& context) const; diff --git a/device/selections/lines/calibration/include/RICH2Line.cuh b/device/selections/lines/calibration/include/RICH2Line.cuh index 22326afcea5..e10ff94a2c3 100644 --- a/device/selections/lines/calibration/include/RICH2Line.cuh +++ b/device/selections/lines/calibration/include/RICH2Line.cuh @@ -45,6 +45,9 @@ namespace rich_2_line { DEVICE_OUTPUT(dev_phi_t, float) dev_phi; HOST_OUTPUT(host_phi_t, float) host_phi; + + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; // SelectionAlgorithm definition @@ -74,6 +77,8 @@ namespace rich_2_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + using monitoring_types = std::tuple; + // Stuff for monitoring hists void init_tuples(const ArgumentReferences& arguments, const Allen::Context& context) const; diff --git a/device/selections/lines/calibration/src/DiMuonMassAlignmentLine.cu b/device/selections/lines/calibration/src/DiMuonMassAlignmentLine.cu index bbc1bf0e8a7..e823d124d6f 100644 --- a/device/selections/lines/calibration/src/DiMuonMassAlignmentLine.cu +++ b/device/selections/lines/calibration/src/DiMuonMassAlignmentLine.cu @@ -48,3 +48,13 @@ __device__ bool di_muon_mass_alignment_line::di_muon_mass_alignment_line_t::sele vertex.eta() < properties.maxEta && vertex.vertex().chi2() < properties.maxVertexChi2 && vertex.vertex().z() >= properties.minZ && vertex.has_pv() && vertex.pv().position.z >= properties.minZ; } + +__device__ bool di_muon_mass_alignment_line::di_muon_mass_alignment_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} diff --git a/device/selections/lines/calibration/src/ODINCalibTrigger.cu b/device/selections/lines/calibration/src/ODINCalibTrigger.cu index feda1c829b3..696beced85d 100644 --- a/device/selections/lines/calibration/src/ODINCalibTrigger.cu +++ b/device/selections/lines/calibration/src/ODINCalibTrigger.cu @@ -19,3 +19,12 @@ __device__ bool odin_calib_line::odin_calib_line_t::select(const Parameters&, st LHCb::ODIN odin {std::get<0>(input)}; return odin.triggerType() == to_integral(LHCb::ODIN::TriggerTypes::CalibrationTrigger); } + +__device__ bool odin_calib_line::odin_calib_line_t::fill_tuples( +const Parameters& parameters, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/calibration/src/PassthroughLine.cu b/device/selections/lines/calibration/src/PassthroughLine.cu index 24a1198a3c5..b6681e3b502 100644 --- a/device/selections/lines/calibration/src/PassthroughLine.cu +++ b/device/selections/lines/calibration/src/PassthroughLine.cu @@ -23,3 +23,12 @@ __device__ bool passthrough_line::passthrough_line_t::select(const Parameters&, { return std::get<0>(input); } + +__device__ bool passthrough_line::passthrough_line_t::fill_tuples( +const Parameters& parameters, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/downstream/include/DownstreamBuScaLine.cuh b/device/selections/lines/downstream/include/DownstreamBuScaLine.cuh index a48dd4a2c45..ba95962a798 100644 --- a/device/selections/lines/downstream/include/DownstreamBuScaLine.cuh +++ b/device/selections/lines/downstream/include/DownstreamBuScaLine.cuh @@ -27,6 +27,8 @@ namespace downstream_mva_busca_line { HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct downstream_mva_busca_line_t : public SelectionAlgorithm, @@ -91,6 +93,15 @@ namespace downstream_mva_busca_line { const DeviceProperties&, std::tuple); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + __device__ static void monitor( const Parameters&, const DeviceProperties&, diff --git a/device/selections/lines/downstream/src/DownstreamBuScaLine.cu b/device/selections/lines/downstream/src/DownstreamBuScaLine.cu index 1bb43d3cfba..2518bec9cbd 100644 --- a/device/selections/lines/downstream/src/DownstreamBuScaLine.cu +++ b/device/selections/lines/downstream/src/DownstreamBuScaLine.cu @@ -270,3 +270,14 @@ __device__ bool downstream_mva_busca_line::downstream_mva_busca_line_t::lepton_s return false; } + + +__device__ bool downstream_mva_busca_line::downstream_mva_busca_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} diff --git a/device/selections/lines/electron/include/DiElectronSoftLine.cuh b/device/selections/lines/electron/include/DiElectronSoftLine.cuh index 19960535d79..7c4449a7def 100644 --- a/device/selections/lines/electron/include/DiElectronSoftLine.cuh +++ b/device/selections/lines/electron/include/DiElectronSoftLine.cuh @@ -38,6 +38,8 @@ namespace di_electron_soft_line { DEVICE_OUTPUT(ee_cloneang_t, float) ee_cloneang; DEVICE_OUTPUT(minpt_uncorr_t, float) minpt_uncorr; DEVICE_OUTPUT(sv_pt_t, float) sv_pt; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct di_electron_soft_line_t : public SelectionAlgorithm, @@ -74,7 +76,9 @@ namespace di_electron_soft_line { sv_ipperdz_t, ee_cloneang_t, minpt_uncorr_t, - sv_pt_t>; + sv_pt_t, + evtNo_t, + runNo_t>; __device__ static bool select( const Parameters&, diff --git a/device/selections/lines/electron/include/HighMassDielectronLine.cuh b/device/selections/lines/electron/include/HighMassDielectronLine.cuh index a637f6bf269..739b869e76a 100644 --- a/device/selections/lines/electron/include/HighMassDielectronLine.cuh +++ b/device/selections/lines/electron/include/HighMassDielectronLine.cuh @@ -101,6 +101,8 @@ namespace highmass_dielectron_line { const float>, unsigned, bool); + + using monitoring_types = std::tuple; private: // Low-mass no-IP dielectron selections. @@ -128,6 +130,5 @@ namespace highmass_dielectron_line { "dielectron masses w/brem (Upsilon)", {100u, 8000.f, 11500.f}}; - using monitoring_types = std::tuple; }; } // namespace highmass_dielectron_line diff --git a/device/selections/lines/inclusive_hadron/include/KsToPiPiLine.cuh b/device/selections/lines/inclusive_hadron/include/KsToPiPiLine.cuh index 9c234b81f7d..2c946d65be2 100644 --- a/device/selections/lines/inclusive_hadron/include/KsToPiPiLine.cuh +++ b/device/selections/lines/inclusive_hadron/include/KsToPiPiLine.cuh @@ -30,6 +30,8 @@ namespace kstopipi_line { DEVICE_OUTPUT(sv_masses_t, float) sv_masses; DEVICE_OUTPUT(pt_t, float) pt; DEVICE_OUTPUT(mipchi2_t, float) mipchi2; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct kstopipi_line_t : public SelectionAlgorithm, Parameters, CompositeParticleLine { @@ -56,7 +58,7 @@ namespace kstopipi_line { {} }; - using monitoring_types = std::tuple; + using monitoring_types = std::tuple; __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple); diff --git a/device/selections/lines/monitoring/include/BeamCrossingLine.cuh b/device/selections/lines/monitoring/include/BeamCrossingLine.cuh index 0e15b26be09..645dd1f1246 100644 --- a/device/selections/lines/monitoring/include/BeamCrossingLine.cuh +++ b/device/selections/lines/monitoring/include/BeamCrossingLine.cuh @@ -21,6 +21,8 @@ namespace beam_crossing_line { HOST_OUTPUT(host_line_data_t, LineData) host_line_data; DEVICE_INPUT(dev_odin_data_t, ODINData) dev_odin_data; HOST_OUTPUT(host_fn_parameters_t, char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct beam_crossing_line_t : public SelectionAlgorithm, Parameters, ODINLine { @@ -32,6 +34,15 @@ namespace beam_crossing_line { }; __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_beam_crossing_type {this, "beam_crossing_type", 0, "ODIN beam crossing type [0-3]"}; }; diff --git a/device/selections/lines/monitoring/include/BeamGasLine.cuh b/device/selections/lines/monitoring/include/BeamGasLine.cuh index 6dac9818fc6..fbef43deb0e 100644 --- a/device/selections/lines/monitoring/include/BeamGasLine.cuh +++ b/device/selections/lines/monitoring/include/BeamGasLine.cuh @@ -28,6 +28,8 @@ namespace beam_gas_line { DEVICE_INPUT(dev_odin_data_t, ODINData) dev_odin_data; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT(host_fn_parameters_t, char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct beam_gas_line_t : public SelectionAlgorithm, Parameters, Line { @@ -60,6 +62,15 @@ namespace beam_gas_line { return parameters.dev_offsets_velo_tracks[event_number]; } + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_min_velo_tracks {this, "min_velo_tracks", 1, "Minimum number of VELO tracks"}; Allen::Property m_beam_crossing_type {this, "beam_crossing_type", 1, "ODIN beam crossing type [0-3]"}; diff --git a/device/selections/lines/monitoring/include/VeloMicroBiasLine.cuh b/device/selections/lines/monitoring/include/VeloMicroBiasLine.cuh index 3d8572238a0..6abb87c29c9 100644 --- a/device/selections/lines/monitoring/include/VeloMicroBiasLine.cuh +++ b/device/selections/lines/monitoring/include/VeloMicroBiasLine.cuh @@ -24,6 +24,8 @@ namespace velo_micro_bias_line { DEVICE_INPUT(dev_offsets_velo_track_hit_number_t, unsigned) dev_offsets_velo_track_hit_number; HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT(host_fn_parameters_t, char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct velo_micro_bias_line_t : public SelectionAlgorithm, Parameters, EventLine { @@ -38,6 +40,15 @@ namespace velo_micro_bias_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_min_velo_tracks {this, "min_velo_tracks", 1, "Minimum number of VELO tracks"}; }; diff --git a/device/selections/lines/monitoring/include/ZRange_MaterialVertexSeedLine.cuh b/device/selections/lines/monitoring/include/ZRange_MaterialVertexSeedLine.cuh index bc65d690aa5..a2b179e2bf4 100644 --- a/device/selections/lines/monitoring/include/ZRange_MaterialVertexSeedLine.cuh +++ b/device/selections/lines/monitoring/include/ZRange_MaterialVertexSeedLine.cuh @@ -16,6 +16,9 @@ namespace z_range_materialvertex_seed_line { DEVICE_INPUT(dev_consolidated_interaction_seeds_t, float3) dev_consolidated_interaction_seeds; DEVICE_INPUT(dev_interaction_seeds_offsets_t, unsigned) dev_interaction_seeds_offsets; + + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; // SelectionAlgorithm definition @@ -47,6 +50,15 @@ namespace z_range_materialvertex_seed_line { // Selection function __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: // Commonly required properties // Line-specific properties diff --git a/device/selections/lines/monitoring/src/BeamCrossingLine.cu b/device/selections/lines/monitoring/src/BeamCrossingLine.cu index 7bbf2dd9103..b5dfbc16ce6 100644 --- a/device/selections/lines/monitoring/src/BeamCrossingLine.cu +++ b/device/selections/lines/monitoring/src/BeamCrossingLine.cu @@ -24,3 +24,13 @@ __device__ bool beam_crossing_line::beam_crossing_line_t::select( return false; } + +__device__ bool beam_crossing_line::beam_crossing_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/monitoring/src/BeamGasLine.cu b/device/selections/lines/monitoring/src/BeamGasLine.cu index 22005f9b85a..c0dcba963c7 100644 --- a/device/selections/lines/monitoring/src/BeamGasLine.cu +++ b/device/selections/lines/monitoring/src/BeamGasLine.cu @@ -43,3 +43,13 @@ __device__ bool beam_gas_line::beam_gas_line_t::select( velo_track_hit_number >= properties.minNHits && velo_track_state_poca_z > properties.minZ && velo_track_state_poca_z < properties.maxZ; } + +__device__ bool beam_gas_line::beam_gas_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/monitoring/src/VeloMicroBiasLine.cu b/device/selections/lines/monitoring/src/VeloMicroBiasLine.cu index db5864058a6..759a0ab401c 100644 --- a/device/selections/lines/monitoring/src/VeloMicroBiasLine.cu +++ b/device/selections/lines/monitoring/src/VeloMicroBiasLine.cu @@ -34,3 +34,13 @@ __device__ bool velo_micro_bias_line::velo_micro_bias_line_t::select( const auto number_of_velo_tracks = std::get<0>(input); return number_of_velo_tracks >= properties.min_velo_tracks; } + +__device__ bool velo_micro_bias_line::velo_micro_bias_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file diff --git a/device/selections/lines/monitoring/src/ZRange_MaterialVertexSeedLine.cu b/device/selections/lines/monitoring/src/ZRange_MaterialVertexSeedLine.cu index d69d96a7d4b..adc6d2ac755 100644 --- a/device/selections/lines/monitoring/src/ZRange_MaterialVertexSeedLine.cu +++ b/device/selections/lines/monitoring/src/ZRange_MaterialVertexSeedLine.cu @@ -50,3 +50,13 @@ __device__ bool z_range_materialvertex_seed_line::z_range_materialvertex_seed_li const auto& vertex_seed_z = std::get<0>(input); return vertex_seed_z >= properties.min_z_materialvertex_seed && vertex_seed_z < properties.max_z_materialvertex_seed; } + +__device__ bool z_range_materialvertex_seed_line::z_range_materialvertex_seed_line_t::fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel) +{ + return sel; +} \ No newline at end of file diff --git a/device/selections/lines/muon/include/DetJPsiToMuMuTaPLine.cuh b/device/selections/lines/muon/include/DetJPsiToMuMuTaPLine.cuh index 7b2a675da0f..bd0a522f561 100644 --- a/device/selections/lines/muon/include/DetJPsiToMuMuTaPLine.cuh +++ b/device/selections/lines/muon/include/DetJPsiToMuMuTaPLine.cuh @@ -56,6 +56,8 @@ namespace det_jpsitomumu_tap_line { DEVICE_OUTPUT(muprobe_chi2ndof_t, float) muprobe_chi2ndof; DEVICE_OUTPUT(mutag_eta_t, float) mutag_eta; DEVICE_OUTPUT(muprobe_eta_t, float) muprobe_eta; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct det_jpsitomumu_tap_line_t : public SelectionAlgorithm, @@ -138,7 +140,9 @@ namespace det_jpsitomumu_tap_line { mutag_chi2ndof_t, muprobe_chi2ndof_t, mutag_eta_t, - muprobe_eta_t>; + muprobe_eta_t, + evtNo_t, + runNo_t>; private: Allen::Property m_JpsiMinPt {this, "JpsiMinPt", 1000.f * Allen::Units::MeV, "JpsiMinPt description"}; diff --git a/device/selections/lines/muon/include/DiMuonSoftLine.cuh b/device/selections/lines/muon/include/DiMuonSoftLine.cuh index 5a93a3c4bd6..744188f80af 100644 --- a/device/selections/lines/muon/include/DiMuonSoftLine.cuh +++ b/device/selections/lines/muon/include/DiMuonSoftLine.cuh @@ -22,6 +22,8 @@ namespace di_muon_soft_line { HOST_OUTPUT(host_line_data_t, LineData) host_line_data; HOST_OUTPUT_WITH_DEPENDENCIES(host_fn_parameters_t, DEPENDENCIES(dev_particle_container_t), char) host_fn_parameters; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct di_muon_soft_line_t : public SelectionAlgorithm, @@ -50,6 +52,15 @@ namespace di_muon_soft_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_DMSoftM0 {this, "DMSoftM0", 400.f, "DMSoftM0 description"}; Allen::Property m_DMSoftM1 {this, "DMSoftM1", 475.f, "DMSoftM1 description"}; diff --git a/device/selections/lines/muon/include/OneMuonTrackLine.cuh b/device/selections/lines/muon/include/OneMuonTrackLine.cuh index 8f055f8c422..bbd46a3e0a3 100644 --- a/device/selections/lines/muon/include/OneMuonTrackLine.cuh +++ b/device/selections/lines/muon/include/OneMuonTrackLine.cuh @@ -26,6 +26,8 @@ namespace one_muon_track_line { DEVICE_INPUT(dev_number_of_events_t, unsigned) dev_number_of_events; DEVICE_INPUT(dev_muon_tracks_t, MuonTrack) dev_muon_tracks; DEVICE_INPUT(dev_muon_tracks_offsets_t, unsigned) dev_muon_tracks_offsets; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct one_muon_track_line_t : public SelectionAlgorithm, Parameters, Line { @@ -61,6 +63,15 @@ namespace one_muon_track_line { __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple input); + __device__ static bool fill_tuples( + const Parameters& parameters, + const DeviceProperties&, + std::tuple input, + unsigned index, + bool sel); + + using monitoring_types = std::tuple; + private: Allen::Property m_max_chi2x {this, "max_chi2x", 1.f, "Maximum chi2 for the xz plane"}; Allen::Property m_max_chi2y {this, "max_chi2y", 0.3f, "Maximum chi2 for the yz plane"}; diff --git a/device/selections/lines/muon/src/DiMuonSoftLine.cu b/device/selections/lines/muon/src/DiMuonSoftLine.cu index dbae04ab0f0..ab29bb8f4ff 100644 --- a/device/selections/lines/muon/src/DiMuonSoftLine.cu +++ b/device/selections/lines/muon/src/DiMuonSoftLine.cu @@ -34,4 +34,16 @@ __device__ bool di_muon_soft_line::di_muon_soft_line_t::select( vertex.doca12() < properties.DMSoftMaxDOCA && vertex.ip() / vertex.dz() < properties.DMSoftMaxIPDZ && vertex.clone_sin2() > properties.DMSoftGhost; return decision; + +} + + +__device__ bool di_muon_soft_line::di_muon_soft_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; } diff --git a/device/selections/lines/muon/src/OneMuonTrackLine.cu b/device/selections/lines/muon/src/OneMuonTrackLine.cu index 2954ec6b7cc..4ae771a703d 100644 --- a/device/selections/lines/muon/src/OneMuonTrackLine.cu +++ b/device/selections/lines/muon/src/OneMuonTrackLine.cu @@ -24,3 +24,13 @@ __device__ bool one_muon_track_line::one_muon_track_line_t::select( return decision; } + +__device__ bool one_muon_track_line::one_muon_track_line_t::fill_tuples( +const Parameters& parameters, +const DeviceProperties&, +std::tuple input, +unsigned index, +bool sel) +{ +return sel; +} \ No newline at end of file -- GitLab From 01cfae5f3c1dbc5cf646b42234effb541c88bff5 Mon Sep 17 00:00:00 2001 From: Aidan Richard Wiederhold Date: Tue, 29 Jul 2025 11:53:44 +0200 Subject: [PATCH 2/3] incorporate the smog tupling and change to downstreamgammatoee threshold --- configuration/python/AllenConf/HLT1.py | 4 ++-- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1000kHz.py | 2 +- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1100kHz.py | 2 +- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1200kHz.py | 2 +- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1300kHz.py | 2 +- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1400kHz.py | 2 +- ..._matching_and_downstream_with_parkf_tuned_mu5p3_1500kHz.py | 2 +- ...n_matching_and_downstream_with_parkf_tuned_mu5p3_800kHz.py | 2 +- ...n_matching_and_downstream_with_parkf_tuned_mu5p3_900kHz.py | 2 +- device/selections/lines/SMOG2/include/SMOG2_KsToPiPi.cuh | 4 +++- device/selections/lines/SMOG2/src/SMOG2_KsToPiPi.cu | 3 +-- 11 files changed, 14 insertions(+), 13 deletions(-) diff --git a/configuration/python/AllenConf/HLT1.py b/configuration/python/AllenConf/HLT1.py index c0ef0de513d..7b187d0f5d1 100644 --- a/configuration/python/AllenConf/HLT1.py +++ b/configuration/python/AllenConf/HLT1.py @@ -162,7 +162,7 @@ def default_physics_lines(reconstructed_objects, with_calo, with_muon, reconstructed_objects['downstream_secondary_vertices'], minPt=thresholds.DownstreamGammaToEE_minPt, name="Hlt1DownstreamGammaToEE", - post_scaler=0.2, + post_scaler=1., enable_monitoring=True, enable_tupling=enable_tupling), make_BuSca_line( # BuSca HLT1 Monitoring Line / Trigger disabled @@ -1026,7 +1026,7 @@ def default_SMOG2_lines(reconstructed_objects, minTrackPt=250., minMass=450., pre_scaler=0.3, - enable_tupling=False), + enable_tupling=enable_tupling), make_SMOG2_ditrack_line( dihadrons, minTrackPt=500., diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1000kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1000kHz.py index a5ec93e8fe7..f8ada72b525 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1000kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1000kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6000, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1100kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1100kHz.py index 76ccfebf2fb..a63b3f5c342 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1100kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1100kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6500, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1200kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1200kHz.py index d70c1e7dcd4..c256086db0e 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1200kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1200kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6000, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1300kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1300kHz.py index 4de4a40aef2..2f8d3ef6f98 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1300kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1300kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6500, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1400kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1400kHz.py index 91d1a28a12a..7a2fe26e4b8 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1400kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1400kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6000, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1500kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1500kHz.py index 5c3e42d1262..34e8672b3bb 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1500kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_1500kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6000, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_800kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_800kHz.py index 50f06fd29a4..2a1b9725164 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_800kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_800kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=1450, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6500, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_900kHz.py b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_900kHz.py index f3d42c12b09..901ef1e50d1 100644 --- a/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_900kHz.py +++ b/configuration/python/AllenConf/thresholds/forward_then_matching_and_downstream_with_parkf_tuned_mu5p3_900kHz.py @@ -44,5 +44,5 @@ threshold_settings = Thresholds( DownstreamTwoTrackKs_minTrackPt_piKs=550, DiProtonHighMass_P_minPt=5000, DiProtonHighMass_PP_minPt=6000, - DownstreamGammaToEE_minPt=1250, + DownstreamGammaToEE_minPt=2300, ) diff --git a/device/selections/lines/SMOG2/include/SMOG2_KsToPiPi.cuh b/device/selections/lines/SMOG2/include/SMOG2_KsToPiPi.cuh index 40ec8c97c45..898f96105ae 100644 --- a/device/selections/lines/SMOG2/include/SMOG2_KsToPiPi.cuh +++ b/device/selections/lines/SMOG2/include/SMOG2_KsToPiPi.cuh @@ -34,6 +34,8 @@ namespace SMOG2_kstopipi_line { DEVICE_OUTPUT(pt_t, float) pt; DEVICE_OUTPUT(minipchi2_t, float) minipchi2; DEVICE_OUTPUT(ip_t, float) ip; + DEVICE_OUTPUT(evtNo_t, uint64_t) evtNo; + DEVICE_OUTPUT(runNo_t, unsigned) runNo; }; struct SMOG2_kstopipi_line_t : public SelectionAlgorithm, @@ -63,7 +65,7 @@ namespace SMOG2_kstopipi_line { histogram_smogks_pt(algo.m_histogram_smogks_pt.data(ctx)) {} }; - using monitoring_types = std::tuple; + using monitoring_types = std::tuple; __device__ static bool select(const Parameters&, const DeviceProperties&, std::tuple); diff --git a/device/selections/lines/SMOG2/src/SMOG2_KsToPiPi.cu b/device/selections/lines/SMOG2/src/SMOG2_KsToPiPi.cu index 1d301077c8c..c990ec75bb7 100644 --- a/device/selections/lines/SMOG2/src/SMOG2_KsToPiPi.cu +++ b/device/selections/lines/SMOG2/src/SMOG2_KsToPiPi.cu @@ -61,12 +61,11 @@ __device__ bool SMOG2_kstopipi_line::SMOG2_kstopipi_line_t::fill_tuples( const auto trk2 = static_cast(particle.child(1)); parameters.sv_masses[index] = particle.m12(Allen::mPi, Allen::mPi); - parameters.minipchi2[index] = particle.minipchi2(); - parameters.ip[index] = particle.ip(); parameters.svz[index] = particle.vertex().z(); parameters.track1pt[index] = trk1->state().pt(); parameters.track2pt[index] = trk2->state().pt(); parameters.minipchi2[index] = particle.minipchi2(); + parameters.ip[index] = particle.ip(); parameters.pvz[index] = particle.pv().position.z; parameters.pt[index] = particle.vertex().pt(); } -- GitLab From 1fb5c322d14fb92ea474ef0b40ff719be4be2db6 Mon Sep 17 00:00:00 2001 From: Aidan Richard Wiederhold Date: Tue, 5 Aug 2025 16:26:18 +0200 Subject: [PATCH 3/3] add sequences for having M21/M23 on/off --- ...stream_with_parkf_no_ghostkiller_tuning.py | 2 +- ...am_with_parkf_no_ghostkiller_tuning_M21.py | 35 +++++++++++++++++++ ...ith_parkf_no_ghostkiller_tuning_M21_M23.py | 35 +++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21.py create mode 100644 configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21_M23.py diff --git a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py index ab3fc7ef3a4..fb8dcac18a9 100644 --- a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py +++ b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning.py @@ -23,7 +23,7 @@ from AllenConf.utils import initialize_number_of_events from AllenConf.utils import make_algorithm from AllenCore.configuration_options import is_allen_standalone -with make_velo_scifi_matches.bind(ghost_killer_threshold=1.), make_pr_velo_tracks.bind(missing_modules=[21]): +with make_velo_scifi_matches.bind(ghost_killer_threshold=1.): hlt1_node = setup_hlt1_node( tracking_type=TrackingType.FORWARD_THEN_MATCHING, threshold_settings=get_thresholds("tuning"), diff --git a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21.py b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21.py new file mode 100644 index 00000000000..ab3fc7ef3a4 --- /dev/null +++ b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21.py @@ -0,0 +1,35 @@ +############################################################################### +# (c) Copyright 2021 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "LICENSE". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +from AllenConf.HLT1 import setup_hlt1_node +from AllenCore.generator import generate +from AllenConf.enum_types import TrackingType +from AllenConf.get_thresholds import get_thresholds +from AllenConf.matching_reconstruction import make_velo_scifi_matches +from AllenConf.velo_reconstruction import make_pr_velo_tracks + +from PyConf.control_flow import NodeLogic, CompositeNode +from AllenConf.validators import mc_data_provider +from AllenConf.odin import decode_odin +from AllenCore.algorithms import reconstructible_signal_counter_t +from AllenConf.utils import initialize_number_of_events +from AllenConf.utils import make_algorithm +from AllenCore.configuration_options import is_allen_standalone + +with make_velo_scifi_matches.bind(ghost_killer_threshold=1.), make_pr_velo_tracks.bind(missing_modules=[21]): + hlt1_node = setup_hlt1_node( + tracking_type=TrackingType.FORWARD_THEN_MATCHING, + threshold_settings=get_thresholds("tuning"), + with_ut=True, + enableTupling=True, + enableDownstream=True, + with_fullKF=True) + +generate(hlt1_node) diff --git a/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21_M23.py b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21_M23.py new file mode 100644 index 00000000000..799acca61f3 --- /dev/null +++ b/configuration/python/AllenSequences/hlt1_pp_forward_then_matching_and_downstream_with_parkf_no_ghostkiller_tuning_M21_M23.py @@ -0,0 +1,35 @@ +############################################################################### +# (c) Copyright 2021 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the Apache License # +# version 2 (Apache-2.0), copied verbatim in the file "LICENSE". # +# # +# In applying this licence, CERN does not waive the privileges and immunities # +# granted to it by virtue of its status as an Intergovernmental Organization # +# or submit itself to any jurisdiction. # +############################################################################### +from AllenConf.HLT1 import setup_hlt1_node +from AllenCore.generator import generate +from AllenConf.enum_types import TrackingType +from AllenConf.get_thresholds import get_thresholds +from AllenConf.matching_reconstruction import make_velo_scifi_matches +from AllenConf.velo_reconstruction import make_pr_velo_tracks + +from PyConf.control_flow import NodeLogic, CompositeNode +from AllenConf.validators import mc_data_provider +from AllenConf.odin import decode_odin +from AllenCore.algorithms import reconstructible_signal_counter_t +from AllenConf.utils import initialize_number_of_events +from AllenConf.utils import make_algorithm +from AllenCore.configuration_options import is_allen_standalone + +with make_velo_scifi_matches.bind(ghost_killer_threshold=1.), make_pr_velo_tracks.bind(missing_modules=[21,23]): + hlt1_node = setup_hlt1_node( + tracking_type=TrackingType.FORWARD_THEN_MATCHING, + threshold_settings=get_thresholds("tuning"), + with_ut=True, + enableTupling=True, + enableDownstream=True, + with_fullKF=True) + +generate(hlt1_node) -- GitLab