From 70c7f9a654bb030bb8c567a4515d69cf3aec6816 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 16 Apr 2024 11:53:15 +0200 Subject: [PATCH 01/10] Add signal caching for V38 --- configs/V38nano/caching.yaml | 36 +--------- configs/V38nano/caching_signal.yaml | 106 ++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 35 deletions(-) create mode 100644 configs/V38nano/caching_signal.yaml diff --git a/configs/V38nano/caching.yaml b/configs/V38nano/caching.yaml index 4eec6a5a..30078c86 100644 --- a/configs/V38nano/caching.yaml +++ b/configs/V38nano/caching.yaml @@ -93,38 +93,4 @@ V38nano: L1TrackMET: [pt] L1TrackHT: [ht, mht] L1TrackJet: [pt, eta, phi] - L1TrackTripletWord: [pt] - L1ExtTrackHT: [ht, mht] -# # #### LLP -# # HtoLLPto4mu_Ctau900mm: -# # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v36/HTo2LongLivedTo4mu_MH-125_MFF-12_CTau-900mm_TuneCP5_14TeV-pythia8/HtoLLPto4mu_Ctau90cm_131_L1Fix_myIBv6_noTkTrg_resub/240403_222836/0000/L1Nano_*.root -# # trees_branches: -# # Events: -# # GenPart: "all" -# # ## Muons -# # L1gmtTkMuon: "all" -# # L1gmtMuon: "all" -# # L1gmtDispMuon: "all" -# # ## TF Muons -# # L1MuonKMTF: "all" -# # L1MuonOMTF: "all" -# # L1MuonEMTF: "all" -# # L1DispMuonKMTF: "all" -# # L1DispMuonOMTF: "all" -# # L1DispMuonEMTF: "all" -# HtoLLPto4b_M125_Phi60_ctau100: -# ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v37/HiddenGluGluH_mH-125_Phi-60_ctau-100_bbbb_TuneCP5_14TeV-pythia8/HiddenHto4b_M125_Phi60_ctau100_IBv8_wTT/240411_082132/0000/*.root -# trees_branches: -# Events: -# GenJet: "all" -# # # jets -# L1puppiJetSC4sums: [pt, phi] -# # L1puppiJetSC4: [pt, eta, phi] -# # L1puppiJetSC8: [pt, eta, phi] -# # L1puppiExtJetSC4: [pt, eta, phi, btagScore] -# # L1caloJet: [pt, eta, phi] -# ## track-only -# # L1TrackMET: [pt] -# L1TrackHT: [ht, mht] -# L1ExtTrackHT: [ht, mht] -# # L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] \ No newline at end of file diff --git a/configs/V38nano/caching_signal.yaml b/configs/V38nano/caching_signal.yaml new file mode 100644 index 00000000..34684e63 --- /dev/null +++ b/configs/V38nano/caching_signal.yaml @@ -0,0 +1,106 @@ +# # #### LLP +# # HtoLLPto4mu_Ctau900mm: +# # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v36/HTo2LongLivedTo4mu_MH-125_MFF-12_CTau-900mm_TuneCP5_14TeV-pythia8/HtoLLPto4mu_Ctau90cm_131_L1Fix_myIBv6_noTkTrg_resub/240403_222836/0000/L1Nano_*.root +# # trees_branches: +# # Events: +# # GenPart: "all" +# # ## Muons +# # L1gmtTkMuon: "all" +# # L1gmtMuon: "all" +# # L1gmtDispMuon: "all" +# # ## TF Muons +# # L1MuonKMTF: "all" +# # L1MuonOMTF: "all" +# # L1MuonEMTF: "all" +# # L1DispMuonKMTF: "all" +# # L1DispMuonOMTF: "all" +# # L1DispMuonEMTF: "all" +# HtoLLPto4b_M125_Phi60_ctau100: +# ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v37/HiddenGluGluH_mH-125_Phi-60_ctau-100_bbbb_TuneCP5_14TeV-pythia8/HiddenHto4b_M125_Phi60_ctau100_IBv8_wTT/240411_082132/0000/*.root +# trees_branches: +# Events: +# GenJet: "all" +# # # jets +# L1puppiJetSC4sums: [pt, phi] +# # L1puppiJetSC4: [pt, eta, phi] +# # L1puppiJetSC8: [pt, eta, phi] +# # L1puppiExtJetSC4: [pt, eta, phi, btagScore] +# # L1caloJet: [pt, eta, phi] +# ## track-only +# # L1TrackMET: [pt] +# L1TrackHT: [ht, mht] +# L1ExtTrackHT: [ht, mht] +# # L1TrackJet: [pt, eta, phi] + HHToBBTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/GluGluToHHTo2B2Tau_node_SM_TuneCP5_14TeV-madgraph-pythia8/HHTo2B2Tau_131_200PU_IBv9_wTT/240412_210926/0000/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + # L1hpsTau: "all" + L1caloTau: "all" + # L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + # L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + # L1puppiJetHisto: [pt, eta, phi] + # L1caloJet: [pt, eta, phi] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + + HtoLLPto4B_M125_Phi60_ctau100: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/HiddenGluGluH_mH-125_Phi-60_ctau-100_bbbb_TuneCP5_14TeV-pythia8/*/*/*/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + # L1hpsTau: "all" + L1caloTau: "all" + # L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + # L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + # L1puppiJetHisto: [pt, eta, phi] + # L1caloJet: [pt, eta, phi] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] From c22ed0ce87991f8c6c0a076e99979cefef52ea20 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 16 Apr 2024 11:53:50 +0200 Subject: [PATCH 02/10] Add disp muon ids for 38 --- configs/V38nano/object_performance/muon_matching_eta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/V38nano/object_performance/muon_matching_eta.yaml b/configs/V38nano/object_performance/muon_matching_eta.yaml index a340ccf7..bd247676 100644 --- a/configs/V38nano/object_performance/muon_matching_eta.yaml +++ b/configs/V38nano/object_performance/muon_matching_eta.yaml @@ -16,6 +16,7 @@ MuonsMatching_Eta_Pt2to5: - "abs({eta}) < 2.4" test_objects: L1gmtMuon:default: "eta" + L1gmtMuon:dR0p6: "eta" L1gmtTkMuon:default: "eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (2-5 GeV)" From 49bda1ec1337561eb130371703174ae62facfc40 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 19 Apr 2024 07:05:21 +0200 Subject: [PATCH 03/10] Updates for V38 --- configs/V38nano/README.md | 5 +- configs/V38nano/caching.yaml | 3 +- configs/V38nano/caching_signal.yaml | 149 +++++++++--------- .../object_performance/jets_trigger.yaml | 30 ++-- .../object_performance/met_ht_mht.yaml | 127 +++++++++------ .../object_performance/muonTF_trigger.yaml | 93 +++++++++++ .../object_performance/muon_matching_v2.yaml | 77 +++++++++ configs/V38nano/objects/muons.yaml | 12 +- configs/V38nano/rate_plots/disp_ht_sig.yaml | 13 ++ configs/V38nano/rate_plots/ht.yaml | 26 ++- configs/V38nano/rate_plots/jets.yaml | 4 +- 11 files changed, 392 insertions(+), 147 deletions(-) create mode 100644 configs/V38nano/object_performance/muonTF_trigger.yaml create mode 100644 configs/V38nano/object_performance/muon_matching_v2.yaml create mode 100644 configs/V38nano/rate_plots/disp_ht_sig.yaml diff --git a/configs/V38nano/README.md b/configs/V38nano/README.md index d82151a1..755a3791 100644 --- a/configs/V38nano/README.md +++ b/configs/V38nano/README.md @@ -1,4 +1,5 @@ -# V33 version +# V38 DT12x version -Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v33_1400pre3v1 +Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v38_1400pre3v9 +Uses the Annual Review branch 1400pre3v9 and includes rerunning the TrackTrigger. \ No newline at end of file diff --git a/configs/V38nano/caching.yaml b/configs/V38nano/caching.yaml index 30078c86..71867337 100644 --- a/configs/V38nano/caching.yaml +++ b/configs/V38nano/caching.yaml @@ -93,4 +93,5 @@ V38nano: L1TrackMET: [pt] L1TrackHT: [ht, mht] L1TrackJet: [pt, eta, phi] - L1TrackTripletWord: [pt] \ No newline at end of file + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] \ No newline at end of file diff --git a/configs/V38nano/caching_signal.yaml b/configs/V38nano/caching_signal.yaml index 34684e63..b1ed26e9 100644 --- a/configs/V38nano/caching_signal.yaml +++ b/configs/V38nano/caching_signal.yaml @@ -1,3 +1,79 @@ +V38nano: + HHToBBTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/GluGluToHHTo2B2Tau_node_SM_TuneCP5_14TeV-madgraph-pythia8/HHTo2B2Tau_131_200PU_IBv9_wTT/240412_210926/0000/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] + + HtoLLPto4B_M125_Phi60_ctau100: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/HiddenGluGluH_mH-125_Phi-60_ctau-100_bbbb_TuneCP5_14TeV-pythia8/*/*/*/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] # # #### LLP # # HtoLLPto4mu_Ctau900mm: # # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v36/HTo2LongLivedTo4mu_MH-125_MFF-12_CTau-900mm_TuneCP5_14TeV-pythia8/HtoLLPto4mu_Ctau90cm_131_L1Fix_myIBv6_noTkTrg_resub/240403_222836/0000/L1Nano_*.root @@ -31,76 +107,3 @@ # L1TrackHT: [ht, mht] # L1ExtTrackHT: [ht, mht] # # L1TrackJet: [pt, eta, phi] - HHToBBTauTau: - ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/GluGluToHHTo2B2Tau_node_SM_TuneCP5_14TeV-madgraph-pythia8/HHTo2B2Tau_131_200PU_IBv9_wTT/240412_210926/0000/*.root - trees_branches: - Events: - # PV - L1PV: [z0] - ## EG - L1tkPhoton: "all" - L1tkElectron: "all" - L1EGbarrel: "all" - L1EGendcap: "all" - ## MUONS - L1gmtTkMuon: "all" - L1gmtMuon: "all" # aka gmtMuon - L1gmtDispMuon: "all" - ## TAUS - L1nnPuppiTau: "all" - # L1hpsTau: "all" - L1caloTau: "all" - # L1nnCaloTau: "all" - ## MET/Sums - L1puppiMET: [pt, phi] - L1puppiMLMET: [pt] - L1puppiJetSC4sums: [pt, phi] - # L1puppiHistoJetSums: [pt, phi] - # # jets - L1puppiJetSC4: [pt, eta, phi] - L1puppiJetSC8: [pt, eta, phi] - L1puppiExtJetSC4: [pt, eta, phi, btagScore] - # L1puppiJetHisto: [pt, eta, phi] - # L1caloJet: [pt, eta, phi] - ## track-only - L1TrackMET: [pt] - L1TrackHT: [ht, mht] - L1TrackJet: [pt, eta, phi] - L1TrackTripletWord: [pt] - - HtoLLPto4B_M125_Phi60_ctau100: - ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v38/HiddenGluGluH_mH-125_Phi-60_ctau-100_bbbb_TuneCP5_14TeV-pythia8/*/*/*/*.root - trees_branches: - Events: - # PV - L1PV: [z0] - ## EG - L1tkPhoton: "all" - L1tkElectron: "all" - L1EGbarrel: "all" - L1EGendcap: "all" - ## MUONS - L1gmtTkMuon: "all" - L1gmtMuon: "all" # aka gmtMuon - L1gmtDispMuon: "all" - ## TAUS - L1nnPuppiTau: "all" - # L1hpsTau: "all" - L1caloTau: "all" - # L1nnCaloTau: "all" - ## MET/Sums - L1puppiMET: [pt, phi] - L1puppiMLMET: [pt] - L1puppiJetSC4sums: [pt, phi] - # L1puppiHistoJetSums: [pt, phi] - # # jets - L1puppiJetSC4: [pt, eta, phi] - L1puppiJetSC8: [pt, eta, phi] - L1puppiExtJetSC4: [pt, eta, phi, btagScore] - # L1puppiJetHisto: [pt, eta, phi] - # L1caloJet: [pt, eta, phi] - ## track-only - L1TrackMET: [pt] - L1TrackHT: [ht, mht] - L1TrackJet: [pt, eta, phi] - L1TrackTripletWord: [pt] diff --git a/configs/V38nano/object_performance/jets_trigger.yaml b/configs/V38nano/object_performance/jets_trigger.yaml index 4700dc09..b49f5cc5 100644 --- a/configs/V38nano/object_performance/jets_trigger.yaml +++ b/configs/V38nano/object_performance/jets_trigger.yaml @@ -14,12 +14,12 @@ JetTurnonBarrel: test_objects: # L1puppiJetHisto:default:barrel: "pt" L1puppiJetSC4:default:barrel: "pt" - # L1caloJet:default:barrel: "pt" - # L1TrackJet:default:barrel: "pt" + L1caloJet:default:barrel: "pt" + L1TrackJet:default:barrel: "pt" thresholds: [50, 100] - scalings: - method: "naive" - threshold: 0.95 + # scalings: + # method: "naive" + # threshold: 0.95 xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, barrel)" binning: @@ -43,12 +43,12 @@ JetTurnonEndcap: test_objects: # L1puppiJetHisto:default:endcap: "pt" L1puppiJetSC4:default:endcap: "pt" - # L1caloJet:default:endcap: "pt" - # L1TrackJet:default:endcap: "pt" + L1caloJet:default:endcap: "pt" + L1TrackJet:default:endcap: "pt" thresholds: [50, 100] - scalings: - method: "naive" - threshold: 0.95 + # scalings: + # method: "naive" + # threshold: 0.95 xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, endcap)" binning: @@ -72,11 +72,11 @@ JetTurnonForward: test_objects: # L1puppiJetHisto:default:forward: "pt" L1puppiJetSC4:default:forward: "pt" - # L1caloJet:default:forward: "pt" - # thresholds: [50, 100] - scalings: - method: "naive" - threshold: 0.95 + L1caloJet:default:forward: "pt" + thresholds: [50, 100] + # scalings: + # method: "naive" + # threshold: 0.95 xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, forward)" binning: diff --git a/configs/V38nano/object_performance/met_ht_mht.yaml b/configs/V38nano/object_performance/met_ht_mht.yaml index 5207d6e3..bd1eacf3 100644 --- a/configs/V38nano/object_performance/met_ht_mht.yaml +++ b/configs/V38nano/object_performance/met_ht_mht.yaml @@ -1,4 +1,31 @@ -HT_90perc: +# HT_90perc: +# sample: TT +# version: V38nano +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen HT" +# trafo: "HT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# test_objects: +# # L1puppiHistoJetSums:HT: "pt" +# L1puppiJetSC4sums:HT: "pt" +# L1TrackHT:HT: "ht" +# thresholds: [350] +# scalings: +# method: "naive" +# threshold: 0.90 +# xlabel: "Gen. HT (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# binning: +# min: 0 +# max: 750 +# step: 20 + +TkHT_90perc: sample: TT version: V38nano reference_object: @@ -11,10 +38,10 @@ HT_90perc: - "abs({eta}) < 2.4" - "{pt} > 30" test_objects: - L1puppiHistoJetSums:HT: "pt" + # L1puppiHistoJetSums:HT: "pt" L1puppiJetSC4sums:HT: "pt" L1TrackHT:HT: "ht" - thresholds: [350] + thresholds: [150, 350] scalings: method: "naive" threshold: 0.90 @@ -25,54 +52,54 @@ HT_90perc: max: 750 step: 20 -MHT_50perc: - sample: TT - version: V38nano - reference_object: - object: "GenJet" - x_arg: "pt" - label: "Gen MHT" - cuts: - object: - - "abs({eta}) < 2.4" - - "{pt} > 30" - trafo: "MHT" - test_objects: - L1puppiHistoJetSums:MHT: "pt" - L1puppiJetSC4sums:MHT: "pt" - L1TrackHT:MHT: "mht" - thresholds: [70, 150] - scalings: - method: "naive" - threshold: 0.50 - xlabel: "Gen. MHT30 (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - binning: - min: 0 - max: 500 - step: 20 +# MHT_50perc: +# sample: TT +# version: V38nano +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen MHT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# trafo: "MHT" +# test_objects: +# L1puppiHistoJetSums:MHT: "pt" +# L1puppiJetSC4sums:MHT: "pt" +# L1TrackHT:MHT: "mht" +# thresholds: [70, 150] +# scalings: +# method: "naive" +# threshold: 0.50 +# xlabel: "Gen. MHT30 (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# binning: +# min: 0 +# max: 500 +# step: 20 -MET_90perc: - sample: TT - version: V38nano - reference_object: - object: "GenMET" - x_arg: "pt" - label: "Gen MET" - test_objects: - L1puppiMET:default: "pt" - L1puppiMLMET:default: "pt" - L1TrackMET:default: "pt" - thresholds: [125, 150, 175, 200] - xlabel: "Gen. MET (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - scalings: - method: "naive" - threshold: 0.90 - binning: - min: 0 - max: 500 - step: 20 +# MET_90perc: +# sample: TT +# version: V38nano +# reference_object: +# object: "GenMET" +# x_arg: "pt" +# label: "Gen MET" +# test_objects: +# L1puppiMET:default: "pt" +# L1puppiMLMET:default: "pt" +# L1TrackMET:default: "pt" +# thresholds: [125, 150, 175, 200] +# xlabel: "Gen. MET (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# scalings: +# method: "naive" +# threshold: 0.90 +# binning: +# min: 0 +# max: 500 +# step: 20 # MET_90perc_scTanh: # sample: TT diff --git a/configs/V38nano/object_performance/muonTF_trigger.yaml b/configs/V38nano/object_performance/muonTF_trigger.yaml new file mode 100644 index 00000000..4a1cc020 --- /dev/null +++ b/configs/V38nano/object_performance/muonTF_trigger.yaml @@ -0,0 +1,93 @@ +MuonTFsTrigger_Barrel: + sample: DYLL_M50 + version: V38nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +# MuonTFsTrigger_Overlap: +# sample: DYLL_M50 +# version: V38nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 0.83" +# - "abs({eta}) < 1.24" +# test_objects: +# L1gmtMuon:default:overlap: "pt" +# L1MuonKMTF:default:overlap: "pt" +# L1MuonOMTF:default:overlap: "pt" +# L1MuonEMTF:default:overlap: "pt" +# L1gmtTkMuon:default:overlap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 + +# MuonTFsTrigger_Endcap: +# sample: DYLL_M50 +# version: V38nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 1.24" +# test_objects: +# L1gmtMuon:default:endcap: "pt" +# L1MuonKMTF:default:endcap: "pt" +# L1MuonOMTF:default:endcap: "pt" +# L1MuonEMTF:default:endcap: "pt" +# L1gmtTkMuon:default:endcap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 diff --git a/configs/V38nano/object_performance/muon_matching_v2.yaml b/configs/V38nano/object_performance/muon_matching_v2.yaml new file mode 100644 index 00000000..d3902da4 --- /dev/null +++ b/configs/V38nano/object_performance/muon_matching_v2.yaml @@ -0,0 +1,77 @@ +MuonsMatchingBarrel_Alt: + sample: DYLL_M50 + version: V38nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtMuon:dR0p6:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + # L1gmtTkMuon:VLooseDr0p6:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingOverlap_Alt: + sample: DYLL_M50 + version: V38nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtMuon:dR0p6:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingEndcap_Alt: + sample: DYLL_M50 + version: V38nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtMuon:dR0p6:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V38nano/objects/muons.yaml b/configs/V38nano/objects/muons.yaml index 478fabeb..9ae378bc 100644 --- a/configs/V38nano/objects/muons.yaml +++ b/configs/V38nano/objects/muons.yaml @@ -45,14 +45,20 @@ L1gmtTkMuon: L1gmtMuon: label: "GMT Muon" - match_dR: 0.3 + match_dR: 0.6 eta_ranges: inclusive: [0, 7] barrel: [0, 0.83] overlap: [0.83, 1.24] endcap: [1.24, 2.4] ids: - default: {} + + default: + cuts: + overlap: + - "{hwQual} >= 12" + endcap: + - "{hwQual} >= 14" dR0p6: label: "GMT Muon, match dR < 0.6" match_dR: 0.6 @@ -60,7 +66,7 @@ L1gmtMuon: L1gmtDispMuon: label: "GMT Displaced Muon" - match_dR: 0.3 + match_dR: 0.6 eta_ranges: inclusive: [0, 7] barrel: [0, 0.83] diff --git a/configs/V38nano/rate_plots/disp_ht_sig.yaml b/configs/V38nano/rate_plots/disp_ht_sig.yaml new file mode 100644 index 00000000..acba1b3e --- /dev/null +++ b/configs/V38nano/rate_plots/disp_ht_sig.yaml @@ -0,0 +1,13 @@ + +DispHTRates_Signal: + sample: HtoLLPto4B_M125_Phi60_ctau100 + version: V38nano + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + - L1ExtTrackHT:HT + binning: + min: 50 + max: 975 + step: 25 diff --git a/configs/V38nano/rate_plots/ht.yaml b/configs/V38nano/rate_plots/ht.yaml index c4107b28..e3efeba0 100644 --- a/configs/V38nano/rate_plots/ht.yaml +++ b/configs/V38nano/rate_plots/ht.yaml @@ -4,7 +4,7 @@ HTRates: test_objects: # - L1puppiHistoJetSums:HT - L1puppiJetSC4sums:HT - # - L1TrackHT:HT + - L1TrackHT:HT binning: min: 50 max: 975 @@ -34,3 +34,27 @@ DispHTRates: min: 50 max: 975 step: 25 +# MHTRates: +# sample: MinBias +# version: V38nano +# test_objects: +# # - L1puppiHistoJetSums:MHT +# - L1puppiJetSC4sums:MHT +# - L1TrackHT:MHT +# binning: +# min: 50 +# max: 975 +# step: 25 + +# DispHTRates: +# sample: MinBias +# version: V38nano +# test_objects: +# # - L1puppiHistoJetSums:HT +# - L1puppiJetSC4sums:HT +# - L1TrackHT:HT +# - L1ExtTrackHT:HT +# binning: +# min: 50 +# max: 975 +# step: 25 diff --git a/configs/V38nano/rate_plots/jets.yaml b/configs/V38nano/rate_plots/jets.yaml index d0a06144..d20998dd 100644 --- a/configs/V38nano/rate_plots/jets.yaml +++ b/configs/V38nano/rate_plots/jets.yaml @@ -2,9 +2,9 @@ JetDefaultRates: sample: MinBias version: V38nano test_objects: - - L1puppiJetHisto:default + # - L1puppiJetHisto:default - L1puppiJetSC4:default - - L1caloJet:default + # - L1caloJet:default # - L1TrackJet:default binning: min: 40 From 182aba83233592cb5c277252ddae599739e402c4 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 19 Apr 2024 07:05:56 +0200 Subject: [PATCH 04/10] Add V38_DT12x configs --- configs/V38nano_DT12x/README.md | 6 + configs/V38nano_DT12x/caching.yaml | 58 ++++++++ .../object_performance/muonTF_matching.yaml | 82 +++++++++++ .../muonTF_matching_eta.yaml | 56 ++++++++ .../object_performance/muonTF_trigger.yaml | 93 ++++++++++++ .../object_performance/muon_matching.yaml | 73 ++++++++++ .../object_performance/muon_matching_eta.yaml | 51 +++++++ .../object_performance/muon_matching_v2.yaml | 77 ++++++++++ .../object_performance/muon_trigger.yaml | 84 +++++++++++ .../object_performance/tkmuon_matching.yaml | 85 +++++++++++ .../tkmuon_matching_eta.yaml | 58 ++++++++ .../object_performance/tkmuon_trigger.yaml | 96 +++++++++++++ configs/V38nano_DT12x/objects/electrons.yaml | 46 ++++++ configs/V38nano_DT12x/objects/jets.yaml | 93 ++++++++++++ configs/V38nano_DT12x/objects/met_ht_mht.yaml | 69 +++++++++ configs/V38nano_DT12x/objects/muons.yaml | 133 ++++++++++++++++++ configs/V38nano_DT12x/objects/photons.yaml | 29 ++++ configs/V38nano_DT12x/objects/taus.yaml | 61 ++++++++ configs/V38nano_DT12x/rate_plots/bjet.yaml | 10 ++ .../V38nano_DT12x/rate_plots/disp_ht_sig.yaml | 13 ++ .../V38nano_DT12x/rate_plots/disp_muons.yaml | 40 ++++++ configs/V38nano_DT12x/rate_plots/eg.yaml | 12 ++ configs/V38nano_DT12x/rate_plots/ht.yaml | 36 +++++ configs/V38nano_DT12x/rate_plots/jets.yaml | 84 +++++++++++ configs/V38nano_DT12x/rate_plots/met.yaml | 11 ++ configs/V38nano_DT12x/rate_plots/muons.yaml | 34 +++++ configs/V38nano_DT12x/rate_plots/taus.yaml | 25 ++++ configs/V38nano_DT12x/rate_plots/test.yml | 13 ++ configs/V38nano_DT12x/rate_plots/tkmuons.yaml | 51 +++++++ 29 files changed, 1579 insertions(+) create mode 100644 configs/V38nano_DT12x/README.md create mode 100644 configs/V38nano_DT12x/caching.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muonTF_matching.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muon_matching.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml create mode 100644 configs/V38nano_DT12x/object_performance/muon_trigger.yaml create mode 100644 configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml create mode 100644 configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml create mode 100644 configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml create mode 100644 configs/V38nano_DT12x/objects/electrons.yaml create mode 100644 configs/V38nano_DT12x/objects/jets.yaml create mode 100644 configs/V38nano_DT12x/objects/met_ht_mht.yaml create mode 100644 configs/V38nano_DT12x/objects/muons.yaml create mode 100644 configs/V38nano_DT12x/objects/photons.yaml create mode 100644 configs/V38nano_DT12x/objects/taus.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/bjet.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/disp_ht_sig.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/disp_muons.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/eg.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/ht.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/jets.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/met.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/muons.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/taus.yaml create mode 100644 configs/V38nano_DT12x/rate_plots/test.yml create mode 100644 configs/V38nano_DT12x/rate_plots/tkmuons.yaml diff --git a/configs/V38nano_DT12x/README.md b/configs/V38nano_DT12x/README.md new file mode 100644 index 00000000..5f545258 --- /dev/null +++ b/configs/V38nano_DT12x/README.md @@ -0,0 +1,6 @@ +# V38 DT12x version + +Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v38_1400pre3v9 + +Uses the Annual Review branch 1400pre3v9 with modified DT (Drift Tube) TPs corresponding to the 125x release. +Included rerunning the TrackTrigger, and thus is similar to pure V38. \ No newline at end of file diff --git a/configs/V38nano_DT12x/caching.yaml b/configs/V38nano_DT12x/caching.yaml new file mode 100644 index 00000000..5710e2af --- /dev/null +++ b/configs/V38nano_DT12x/caching.yaml @@ -0,0 +1,58 @@ +V38nano_DT12x: + DYLL_M50: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/IBv9_muons/IBv9_Combined/12DT_wTT/ForArthurPartial/DYToLL_IBv9_12DT.root + trees_branches: + Events: + GenPart: "all" + ## EG + # L1tkElectron: "all" + # L1EGbarrel: "all" + # L1EGendcap: "all" + ## Muons + L1gmtTkMuon: "all" + L1gmtMuon: "all" + # L1gmtDispMuon: "all" + ## TF Muons + L1MuonKMTF: "all" + L1MuonOMTF: "all" + L1MuonEMTF: "all" + # L1DispMuonKMTF: "all" + # L1DispMuonOMTF: "all" + # L1DispMuonEMTF: "all" +# MinBias: +# ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/IBv9_muons/IBv9_Combined/12DT_wTT/ForArthurPartial/Minbias.root +# trees_branches: +# Events: +# # # PV +# # L1PV: [z0] +# # ## EG +# # L1tkPhoton: "all" +# # L1tkElectron: "all" +# # L1EGbarrel: "all" +# # L1EGendcap: "all" +# # ## MUONS +# L1gmtTkMuon: "all" +# L1gmtMuon: "all" # aka gmtMuon +# L1gmtDispMuon: "all" +# ## TAUS +# L1nnPuppiTau: "all" +# L1hpsTau: "all" +# L1caloTau: "all" +# L1nnCaloTau: "all" +# ## MET/Sums +# L1puppiMET: [pt, phi] +# L1puppiMLMET: [pt] +# L1puppiJetSC4sums: [pt, phi] +# L1puppiHistoJetSums: [pt, phi] +# # # jets +# L1puppiJetSC4: [pt, eta, phi] +# L1puppiJetSC8: [pt, eta, phi] +# L1puppiExtJetSC4: [pt, eta, phi, btagScore] +# L1puppiJetHisto: [pt, eta, phi] +# L1caloJet: [pt, eta, phi] +# ## track-only +# L1TrackMET: [pt] +# L1TrackHT: [ht, mht] +# L1TrackJet: [pt, eta, phi] +# L1TrackTripletWord: [pt] +# L1ExtTrackHT: [ht] \ No newline at end of file diff --git a/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml b/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml new file mode 100644 index 00000000..7ed00a6a --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml @@ -0,0 +1,82 @@ +MuonTFsMatchingBarrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingOverlap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1MuonKMTF:default:overlap: "pt" + L1MuonOMTF:default:overlap: "pt" + L1MuonEMTF:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingEndcap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1MuonKMTF:default:endcap: "pt" + L1MuonOMTF:default:endcap: "pt" + L1MuonEMTF:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml new file mode 100644 index 00000000..1a0276c9 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml @@ -0,0 +1,56 @@ +MuonTFsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonTFsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml new file mode 100644 index 00000000..17fc4974 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml @@ -0,0 +1,93 @@ +MuonTFsTrigger_Barrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +# MuonTFsTrigger_Overlap: +# sample: DYLL_M50 +# version: V38nano_DT12x_DT12x +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 0.83" +# - "abs({eta}) < 1.24" +# test_objects: +# L1gmtMuon:default:overlap: "pt" +# L1MuonKMTF:default:overlap: "pt" +# L1MuonOMTF:default:overlap: "pt" +# L1MuonEMTF:default:overlap: "pt" +# L1gmtTkMuon:default:overlap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 + +# MuonTFsTrigger_Endcap: +# sample: DYLL_M50 +# version: V38nano_DT12x_DT12x +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 1.24" +# test_objects: +# L1gmtMuon:default:endcap: "pt" +# L1MuonKMTF:default:endcap: "pt" +# L1MuonOMTF:default:endcap: "pt" +# L1MuonEMTF:default:endcap: "pt" +# L1gmtTkMuon:default:endcap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 diff --git a/configs/V38nano_DT12x/object_performance/muon_matching.yaml b/configs/V38nano_DT12x/object_performance/muon_matching.yaml new file mode 100644 index 00000000..d8315aee --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muon_matching.yaml @@ -0,0 +1,73 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingOverlap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingEndcap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..f1aabd67 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml @@ -0,0 +1,51 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1gmtMuon:dR0p6: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml b/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml new file mode 100644 index 00000000..300438b1 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml @@ -0,0 +1,77 @@ +MuonsMatchingBarrel_Alt: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtMuon:dR0p6:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + # L1gmtTkMuon:VLooseDr0p6:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingOverlap_Alt: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtMuon:dR0p6:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingEndcap_Alt: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtMuon:dR0p6:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V38nano_DT12x/object_performance/muon_trigger.yaml b/configs/V38nano_DT12x/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..8e1ef5b5 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/muon_trigger.yaml @@ -0,0 +1,84 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Overlap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Endcap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml new file mode 100644 index 00000000..a0b606d0 --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml @@ -0,0 +1,85 @@ +TkMuonsMatchingBarrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingOverlap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingEndcap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml new file mode 100644 index 00000000..d6cdda7d --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml @@ -0,0 +1,58 @@ +TkMuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TkMuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml new file mode 100644 index 00000000..78a46f0f --- /dev/null +++ b/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml @@ -0,0 +1,96 @@ +TkMuonsTrigger_Barrel: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + # L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Overlap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + # L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Endcap: + sample: DYLL_M50 + version: V38nano_DT12x_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + # L1gmtMuon:default:endcap: "pt" + # L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V38nano_DT12x/objects/electrons.yaml b/configs/V38nano_DT12x/objects/electrons.yaml new file mode 100644 index 00000000..d96a7f7d --- /dev/null +++ b/configs/V38nano_DT12x/objects/electrons.yaml @@ -0,0 +1,46 @@ +L1tkElectron: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 5] + ids: + NoIso: + label: "TkElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "({eleId} == 1) | ({pt} < 25)" + NoIsoForIso: + # This id is exclusively used for the + # isoloation wp derivation + label: "TkElectron, no ID" + cuts: + inclusive: + - "abs({eta}) < 2.7" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + endcap: + - "abs({relIso}) < 0.28" + +L1EG: + match_dR: 0.2 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 3.0] + label: "EG" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 3.0" + barrel: + - "{eleId} == 1" + endcap: + - "{saId} == 1" diff --git a/configs/V38nano_DT12x/objects/jets.yaml b/configs/V38nano_DT12x/objects/jets.yaml new file mode 100644 index 00000000..cbc35d90 --- /dev/null +++ b/configs/V38nano_DT12x/objects/jets.yaml @@ -0,0 +1,93 @@ +L1caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + cuts: + inclusive: + - "abs({eta}) < 7" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiExtJetSC4: + match_dR: 0.35 + label: "Seeded Cone Extended PuppiJet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + bjetnn: + label: "SC Extended PuppiJet, BtagScore > 0.71" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{btagScore} > 0.71" + +L1puppiJetHisto: + match_dR: 0.3 + label: "Histogrammed PuppiJet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiJetSC4: + match_dR: 0.35 + label: "Seeded Cone PuppiJet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiJetSC8: + match_dR: 0.35 + label: "Seeded Cone PuppiJet 8" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1TrackJet: + match_dR: 0.4 + label: "Tracker Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + + diff --git a/configs/V38nano_DT12x/objects/met_ht_mht.yaml b/configs/V38nano_DT12x/objects/met_ht_mht.yaml new file mode 100644 index 00000000..8dbdb2fd --- /dev/null +++ b/configs/V38nano_DT12x/objects/met_ht_mht.yaml @@ -0,0 +1,69 @@ +# phase1PuppiHT: +# label: "Histogrammed Puppi HT" +# ids: +# default: {} + +# phase1PuppiMHT: +# label: "Phase1 Puppi MHT" +# ids: +# default: {} + +L1puppiMET: + label: "Puppi MET" + ids: + default: {} + +L1puppiMLMET: + label: "Puppi MLMET" + ids: + default: {} + +L1puppiJetSC4sums: + ids: + HT: + label: "SeededCone HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "SeededCone MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1puppiHistoJetSums: + ids: + HT: + label: "Histogrammed Puppi HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "Histogrammed Puppi MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1TrackHT: + ids: + HT: + label: "Tracker HT" + MHT: + label: "Tracker MHT" + +L1ExtTrackHT: + ids: + HT: + label: "ext. Tracker HT" + MHT: + label: "ext. Tracker MHT" + +L1TrackMET: + label: "Tracker MET" + ids: + default: {} + +L1TrackTripletWord: + label: "Track Triplet for W3Pi" + ids: + default: {} \ No newline at end of file diff --git a/configs/V38nano_DT12x/objects/muons.yaml b/configs/V38nano_DT12x/objects/muons.yaml new file mode 100644 index 00000000..4a1e5b13 --- /dev/null +++ b/configs/V38nano_DT12x/objects/muons.yaml @@ -0,0 +1,133 @@ +GenPart: + label: "Gen Muon" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "(({statusFlags}>>7)&1) == 1" + +L1gmtTkMuon: + label: "GMT TkMuon" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + label: "GMT TkMuon, Loose ID" + cuts: + inclusive: + - "{hwQual} >= 3" + VLoose: # x.numberOfMatches() > 0 + label: "GMT TkMuon, VLoose ID" + cuts: + inclusive: + - "{hwQual} >= 1" + Loose: # x.numberOfMatches() >1 + label: "GMT TkMuon, Loose ID" + cuts: + inclusive: + - "{hwQual} >= 3" + Medium: # x.stubs().size()>1 + label: "GMT TkMuon, Medium ID" + cuts: + inclusive: + - "{hwQual} >= 7" + Tight: # x.numberOfMatches()>2 + label: "GMT TkMuon, Tight ID" + cuts: + inclusive: + - "{hwQual} >= 15" + +L1gmtMuon: + label: "GMT Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + cuts: + overlap: + - "{hwQual} >= 12" + endcap: + - "{hwQual} >= 14" + dR0p6: + label: "GMT Muon, match dR < 0.6" + match_dR: 0.6 + cuts: {} + +L1gmtDispMuon: + label: "GMT Displaced Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + dXYge8: + label: "Disp. Muon, dXY>8" + cuts: + endcap: + - "{d0} >= 8" + dXYge8Qual15: + label: "Disp. Muon, dXY>8, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + - "{d0} >= 8" + qual15: + label: "Disp. Muon, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + qual15_Eta2p0: + label: "Disp. Muon, eta < 2, qual>=15" + cuts: + inclusive: + - "abs({eta}) < 2" + endcap: + - "{hwQual} >= 15" + +L1MuonKMTF: + label: "KMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonOMTF: + label: "OMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonEMTF: + label: "EMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + + \ No newline at end of file diff --git a/configs/V38nano_DT12x/objects/photons.yaml b/configs/V38nano_DT12x/objects/photons.yaml new file mode 100644 index 00000000..12d51f0c --- /dev/null +++ b/configs/V38nano_DT12x/objects/photons.yaml @@ -0,0 +1,29 @@ +L1tkPhoton: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 5] + barrel: [0, 1.479] + endcap: [1.479, 2.4] + ids: + NoIso: + label: "L1tkPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 5" + barrel: + - "{eleId} == 1" + endcap: + - "{phoId} == 1" + Iso: + label: "L1tkIsoPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 5" + barrel: + - "abs({relIso}) < 0.25" + - "{eleId} == 1" + endcap: + - "abs({relIso}) < 0.205" + - "{phoId} == 1" diff --git a/configs/V38nano_DT12x/objects/taus.yaml b/configs/V38nano_DT12x/objects/taus.yaml new file mode 100644 index 00000000..11e49a74 --- /dev/null +++ b/configs/V38nano_DT12x/objects/taus.yaml @@ -0,0 +1,61 @@ +L1nnPuppiTau: + label: "NN Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + # - "{passLooseNN}==1" + # Current IB (22 Feb recipe) does not have updated WP, so cut on NN score rather than checking passLooseNN + - "{chargedIso} > 0.22" + +L1hpsTau: + label: "HPS Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + +L1caloTau: + label: "Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + PtGe20: + label: "Calo Tau, pt > 20" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 20" + +L1nnCaloTau: + label: "NN Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{hwQual}==3" diff --git a/configs/V38nano_DT12x/rate_plots/bjet.yaml b/configs/V38nano_DT12x/rate_plots/bjet.yaml new file mode 100644 index 00000000..92af29fa --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/bjet.yaml @@ -0,0 +1,10 @@ +BJetRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1puppiExtJetSC4:default + - L1puppiExtJetSC4:bjetnn + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V38nano_DT12x/rate_plots/disp_ht_sig.yaml b/configs/V38nano_DT12x/rate_plots/disp_ht_sig.yaml new file mode 100644 index 00000000..72a23ce6 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/disp_ht_sig.yaml @@ -0,0 +1,13 @@ + +DispHTRates_Signal: + sample: HtoLLPto4B_M125_Phi60_ctau100 + version: V38nano_DT12x + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + - L1ExtTrackHT:HT + binning: + min: 50 + max: 975 + step: 25 diff --git a/configs/V38nano_DT12x/rate_plots/disp_muons.yaml b/configs/V38nano_DT12x/rate_plots/disp_muons.yaml new file mode 100644 index 00000000..550b7132 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/disp_muons.yaml @@ -0,0 +1,40 @@ +gmtDispMuon: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtMuon:default + - L1gmtDispMuon:default + binning: + min: 0 + max: 75 + step: 3 + +gmtDispMuonByRegion: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1gmtMuon:default + # - L1gmtDispMuon:default + - L1gmtDispMuon:default:barrel + - L1gmtDispMuon:default:overlap + - L1gmtDispMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +gmtDispMuonEndcap: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1gmtDispMuon:default:barrel + # - L1gmtDispMuon:default:overlap + - L1gmtDispMuon:default:endcap + - L1gmtDispMuon:dXYge8:endcap + - L1gmtDispMuon:dXYge8Qual15:endcap + - L1gmtDispMuon:qual15:endcap + - L1gmtDispMuon:qual15_Eta2p0:endcap + binning: + min: 0 + max: 75 + step: 3 \ No newline at end of file diff --git a/configs/V38nano_DT12x/rate_plots/eg.yaml b/configs/V38nano_DT12x/rate_plots/eg.yaml new file mode 100644 index 00000000..becfac42 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/eg.yaml @@ -0,0 +1,12 @@ +EGRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1EG:default + - L1tkElectron:NoIso + - L1tkElectron:Iso + - L1tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 diff --git a/configs/V38nano_DT12x/rate_plots/ht.yaml b/configs/V38nano_DT12x/rate_plots/ht.yaml new file mode 100644 index 00000000..8354d76a --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/ht.yaml @@ -0,0 +1,36 @@ +HTRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + binning: + min: 50 + max: 975 + step: 25 + +# MHTRates: +# sample: MinBias +# version: V38nano_DT12x +# test_objects: +# # - L1puppiHistoJetSums:MHT +# - L1puppiJetSC4sums:MHT +# - L1TrackHT:MHT +# binning: +# min: 50 +# max: 975 +# step: 25 + +# DispHTRates: +# sample: MinBias +# version: V38nano_DT12x +# test_objects: +# # - L1puppiHistoJetSums:HT +# - L1puppiJetSC4sums:HT +# - L1TrackHT:HT +# - L1ExtTrackHT:HT +# binning: +# min: 50 +# max: 975 +# step: 25 diff --git a/configs/V38nano_DT12x/rate_plots/jets.yaml b/configs/V38nano_DT12x/rate_plots/jets.yaml new file mode 100644 index 00000000..5f6a9c1d --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/jets.yaml @@ -0,0 +1,84 @@ +JetDefaultRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1puppiJetHisto:default + - L1puppiJetSC4:default + # - L1caloJet:default + # - L1TrackJet:default + binning: + min: 40 + max: 420 + step: 20 + +# JetsByRegion: +# sample: MinBias +# version: V38nano_DT12x +# test_objects: +# - L1puppiJetSC4:default:barrel +# - L1puppiJetSC4:default:endcap +# - L1puppiJetSC4:default:forward +# - L1caloJet:default:barrel +# - L1caloJet:default:endcap +# - L1caloJet:default:forward +# # - L1TrackJet:default:barrel +# # - L1TrackJet:default:endcap +# binning: +# min: 40 +# max: 420 +# step: 20 + +JetExtendedRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1puppiJetSC4:default:inclusive + - L1puppiExtJetSC4:default:inclusive + # - L1puppiExtJetSC4:default:barrel + # - L1puppiExtJetSC4:default:endcap + # - L1puppiExtJetSC4:default:forward + binning: + min: 40 + max: 420 + step: 20 + +JetExtendedRatesByRegion: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1puppiJetSC4:default:barrel + # - L1puppiJetSC4:default:endcap + # - L1puppiJetSC4:default:forward + - L1puppiExtJetSC4:default:barrel + - L1puppiExtJetSC4:default:endcap + - L1puppiExtJetSC4:default:forward + binning: + min: 40 + max: 420 + step: 20 + +# JetSC8Rates: +# sample: MinBias +# version: V38nano_DT12x +# test_objects: +# - L1puppiJetSC4:default +# - L1puppiJetSC8:default +# binning: +# min: 40 +# max: 420 +# step: 20 + + +# JetSC8Rates_byRegion: +# sample: MinBias +# version: V38nano_DT12x +# test_objects: +# # - L1puppiJetSC4:default +# - L1puppiJetSC8:default +# - L1puppiJetSC8:default:barrel +# - L1puppiJetSC8:default:endcap +# - L1puppiJetSC8:default:forward +# binning: +# min: 40 +# max: 420 +# step: 20 diff --git a/configs/V38nano_DT12x/rate_plots/met.yaml b/configs/V38nano_DT12x/rate_plots/met.yaml new file mode 100644 index 00000000..79619963 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/met.yaml @@ -0,0 +1,11 @@ +METRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1puppiMET:default + - L1puppiMLMET:default + # - L1TrackMET:default + binning: + min: 50 + max: 500 + step: 25 diff --git a/configs/V38nano_DT12x/rate_plots/muons.yaml b/configs/V38nano_DT12x/rate_plots/muons.yaml new file mode 100644 index 00000000..b6251b83 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/muons.yaml @@ -0,0 +1,34 @@ +gmtMuonByRegion: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtMuon:default:barrel + - L1gmtMuon:default:overlap + - L1gmtMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByRegion: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtTkMuon:default:barrel + - L1gmtTkMuon:default:overlap + - L1gmtTkMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +MuonRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtMuon:default + - L1gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V38nano_DT12x/rate_plots/taus.yaml b/configs/V38nano_DT12x/rate_plots/taus.yaml new file mode 100644 index 00000000..911de0ed --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/taus.yaml @@ -0,0 +1,25 @@ +TauRates: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1nnPuppiTau:default + - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 + +TauRatesByRegion: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1caloTau:default:barrel + - L1caloTau:default:endcap + - L1nnPuppiTau:default:barrel + - L1nnPuppiTau:default:endcap + binning: + min: 10 + max: 155 + step: 5 diff --git a/configs/V38nano_DT12x/rate_plots/test.yml b/configs/V38nano_DT12x/rate_plots/test.yml new file mode 100644 index 00000000..92658714 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/test.yml @@ -0,0 +1,13 @@ +JetSC8Rates_byRegion2: + sample: MinBias + version: V38nano_DT12x + test_objects: + # - L1puppiJetSC4:default + - L1puppiJetSC8:default + - L1puppiJetSC8:default:inclusive + - L1puppiJetSC8:default:barrel + #- L1puppiJetSC8:default:endcap + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V38nano_DT12x/rate_plots/tkmuons.yaml b/configs/V38nano_DT12x/rate_plots/tkmuons.yaml new file mode 100644 index 00000000..06f87f26 --- /dev/null +++ b/configs/V38nano_DT12x/rate_plots/tkmuons.yaml @@ -0,0 +1,51 @@ +gmtTkMuonByID: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtTkMuon:VLoose + - L1gmtTkMuon:Loose + - L1gmtTkMuon:Medium + - L1gmtTkMuon:Tight + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_barrel: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtTkMuon:VLoose:barrel + - L1gmtTkMuon:Loose:barrel + - L1gmtTkMuon:Medium:barrel + - L1gmtTkMuon:Tight:barrel + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_overlap: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtTkMuon:VLoose:overlap + - L1gmtTkMuon:Loose:overlap + - L1gmtTkMuon:Medium:overlap + - L1gmtTkMuon:Tight:overlap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_endcap: + sample: MinBias + version: V38nano_DT12x + test_objects: + - L1gmtTkMuon:VLoose:endcap + - L1gmtTkMuon:Loose:endcap + - L1gmtTkMuon:Medium:endcap + - L1gmtTkMuon:Tight:endcap + binning: + min: 0 + max: 75 + step: 3 \ No newline at end of file From d7df99542cd1f056a020ac9acaf51c60ee9252a5 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 19 Apr 2024 07:13:37 +0200 Subject: [PATCH 05/10] Fix version name --- configs/V38nano_DT12x/caching.yaml | 30 +++++++++---------- .../object_performance/muonTF_matching.yaml | 6 ++-- .../muonTF_matching_eta.yaml | 4 +-- .../object_performance/muonTF_trigger.yaml | 6 ++-- .../object_performance/muon_matching.yaml | 6 ++-- .../object_performance/muon_matching_eta.yaml | 4 +-- .../object_performance/muon_matching_v2.yaml | 6 ++-- .../object_performance/muon_trigger.yaml | 6 ++-- .../object_performance/tkmuon_matching.yaml | 6 ++-- .../tkmuon_matching_eta.yaml | 4 +-- .../object_performance/tkmuon_trigger.yaml | 6 ++-- 11 files changed, 42 insertions(+), 42 deletions(-) diff --git a/configs/V38nano_DT12x/caching.yaml b/configs/V38nano_DT12x/caching.yaml index 5710e2af..d84b8952 100644 --- a/configs/V38nano_DT12x/caching.yaml +++ b/configs/V38nano_DT12x/caching.yaml @@ -19,21 +19,21 @@ V38nano_DT12x: # L1DispMuonKMTF: "all" # L1DispMuonOMTF: "all" # L1DispMuonEMTF: "all" -# MinBias: -# ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/IBv9_muons/IBv9_Combined/12DT_wTT/ForArthurPartial/Minbias.root -# trees_branches: -# Events: -# # # PV -# # L1PV: [z0] -# # ## EG -# # L1tkPhoton: "all" -# # L1tkElectron: "all" -# # L1EGbarrel: "all" -# # L1EGendcap: "all" -# # ## MUONS -# L1gmtTkMuon: "all" -# L1gmtMuon: "all" # aka gmtMuon -# L1gmtDispMuon: "all" + MinBias: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/IBv9_muons/IBv9_Combined/12DT_wTT/ForArthurPartial/Minbias.root + trees_branches: + Events: +# # PV +# L1PV: [z0] +# ## EG +# L1tkPhoton: "all" +# L1tkElectron: "all" +# L1EGbarrel: "all" +# L1EGendcap: "all" +# ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" # ## TAUS # L1nnPuppiTau: "all" # L1hpsTau: "all" diff --git a/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml b/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml index 7ed00a6a..d232595c 100644 --- a/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml +++ b/configs/V38nano_DT12x/object_performance/muonTF_matching.yaml @@ -1,6 +1,6 @@ MuonTFsMatchingBarrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -27,7 +27,7 @@ MuonTFsMatchingBarrel: MuonTFsMatchingOverlap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -55,7 +55,7 @@ MuonTFsMatchingOverlap: MuonTFsMatchingEndcap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml index 1a0276c9..6786473f 100644 --- a/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml +++ b/configs/V38nano_DT12x/object_performance/muonTF_matching_eta.yaml @@ -1,6 +1,6 @@ MuonTFsMatching_Eta_Pt2to5: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -29,7 +29,7 @@ MuonTFsMatching_Eta_Pt2to5: MuonTFsMatching_Eta_Pt15toInf: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml index 17fc4974..d5e1f0dd 100644 --- a/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml +++ b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml @@ -1,6 +1,6 @@ MuonTFsTrigger_Barrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -31,7 +31,7 @@ MuonTFsTrigger_Barrel: # MuonTFsTrigger_Overlap: # sample: DYLL_M50 -# version: V38nano_DT12x_DT12x +# version: V38nano_DT12x # match_test_to_ref: True # reference_object: # object: "GenPart" @@ -63,7 +63,7 @@ MuonTFsTrigger_Barrel: # MuonTFsTrigger_Endcap: # sample: DYLL_M50 -# version: V38nano_DT12x_DT12x +# version: V38nano_DT12x # match_test_to_ref: True # reference_object: # object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muon_matching.yaml b/configs/V38nano_DT12x/object_performance/muon_matching.yaml index d8315aee..d60ff9db 100644 --- a/configs/V38nano_DT12x/object_performance/muon_matching.yaml +++ b/configs/V38nano_DT12x/object_performance/muon_matching.yaml @@ -1,6 +1,6 @@ MuonsMatchingBarrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -24,7 +24,7 @@ MuonsMatchingBarrel: MuonsMatchingOverlap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -49,7 +49,7 @@ MuonsMatchingOverlap: MuonsMatchingEndcap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml index f1aabd67..59ee5e08 100644 --- a/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml +++ b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml @@ -1,6 +1,6 @@ MuonsMatching_Eta_Pt2to5: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -27,7 +27,7 @@ MuonsMatching_Eta_Pt2to5: MuonsMatching_Eta_Pt15toInf: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml b/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml index 300438b1..0d8e6e52 100644 --- a/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml +++ b/configs/V38nano_DT12x/object_performance/muon_matching_v2.yaml @@ -1,6 +1,6 @@ MuonsMatchingBarrel_Alt: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -26,7 +26,7 @@ MuonsMatchingBarrel_Alt: MuonsMatchingOverlap_Alt: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -52,7 +52,7 @@ MuonsMatchingOverlap_Alt: MuonsMatchingEndcap_Alt: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/muon_trigger.yaml b/configs/V38nano_DT12x/object_performance/muon_trigger.yaml index 8e1ef5b5..0ff812ac 100644 --- a/configs/V38nano_DT12x/object_performance/muon_trigger.yaml +++ b/configs/V38nano_DT12x/object_performance/muon_trigger.yaml @@ -1,6 +1,6 @@ MuonsTrigger_Barrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -28,7 +28,7 @@ MuonsTrigger_Barrel: MuonsTrigger_Overlap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -57,7 +57,7 @@ MuonsTrigger_Overlap: MuonsTrigger_Endcap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml index a0b606d0..3c4fe5ea 100644 --- a/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml +++ b/configs/V38nano_DT12x/object_performance/tkmuon_matching.yaml @@ -1,6 +1,6 @@ TkMuonsMatchingBarrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -28,7 +28,7 @@ TkMuonsMatchingBarrel: TkMuonsMatchingOverlap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -57,7 +57,7 @@ TkMuonsMatchingOverlap: TkMuonsMatchingEndcap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml index d6cdda7d..18a90e1b 100644 --- a/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml +++ b/configs/V38nano_DT12x/object_performance/tkmuon_matching_eta.yaml @@ -1,6 +1,6 @@ TkMuonsMatching_Eta_Pt2to5: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -30,7 +30,7 @@ TkMuonsMatching_Eta_Pt2to5: TkMuonsMatching_Eta_Pt15toInf: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" diff --git a/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml b/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml index 78a46f0f..0935cf6e 100644 --- a/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml +++ b/configs/V38nano_DT12x/object_performance/tkmuon_trigger.yaml @@ -1,6 +1,6 @@ TkMuonsTrigger_Barrel: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -32,7 +32,7 @@ TkMuonsTrigger_Barrel: TkMuonsTrigger_Overlap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" @@ -65,7 +65,7 @@ TkMuonsTrigger_Overlap: TkMuonsTrigger_Endcap: sample: DYLL_M50 - version: V38nano_DT12x_DT12x + version: V38nano_DT12x match_test_to_ref: True reference_object: object: "GenPart" From ff04718af2f79a1cdbf132242c5ed59c88f3d5a8 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 19 Apr 2024 22:29:41 +0200 Subject: [PATCH 06/10] More V38/DT12 configs --- configs/V38nano/objects/muons.yaml | 7 +- configs/V38nano_DT12x/caching.yaml | 60 +- .../object_performance/muonTF_trigger.yaml | 122 ++-- .../object_performance/muon_matching_eta.yaml | 83 ++- configs/V38nano_DT12x/objects/jets.yaml | 10 + configs/V38nano_DT12x/objects/pv.yaml | 4 + .../rate_table/v38_Step1And2_cfg.yml | 4 + .../rate_table/v38_Step1_cfg.yml | 4 + .../rate_table/v38_Step2_cfg.yml | 4 + .../rate_table/v38_menu_Step1.yml | 445 +++++++++++++++ .../rate_table/v38_menu_Step1and2.yml | 532 ++++++++++++++++++ .../rate_table/v38_menu_Step2.yml | 125 ++++ 12 files changed, 1279 insertions(+), 121 deletions(-) create mode 100644 configs/V38nano_DT12x/objects/pv.yaml create mode 100644 configs/V38nano_DT12x/rate_table/v38_Step1And2_cfg.yml create mode 100644 configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml create mode 100644 configs/V38nano_DT12x/rate_table/v38_Step2_cfg.yml create mode 100644 configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml create mode 100644 configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml create mode 100644 configs/V38nano_DT12x/rate_table/v38_menu_Step2.yml diff --git a/configs/V38nano/objects/muons.yaml b/configs/V38nano/objects/muons.yaml index 9ae378bc..96b2e80d 100644 --- a/configs/V38nano/objects/muons.yaml +++ b/configs/V38nano/objects/muons.yaml @@ -52,7 +52,6 @@ L1gmtMuon: overlap: [0.83, 1.24] endcap: [1.24, 2.4] ids: - default: cuts: overlap: @@ -62,7 +61,11 @@ L1gmtMuon: dR0p6: label: "GMT Muon, match dR < 0.6" match_dR: 0.6 - cuts: {} + cuts: + overlap: + - "{hwQual} >= 12" + endcap: + - "{hwQual} >= 14" L1gmtDispMuon: label: "GMT Displaced Muon" diff --git a/configs/V38nano_DT12x/caching.yaml b/configs/V38nano_DT12x/caching.yaml index d84b8952..1201c37b 100644 --- a/configs/V38nano_DT12x/caching.yaml +++ b/configs/V38nano_DT12x/caching.yaml @@ -23,36 +23,36 @@ V38nano_DT12x: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/IBv9_muons/IBv9_Combined/12DT_wTT/ForArthurPartial/Minbias.root trees_branches: Events: -# # PV -# L1PV: [z0] -# ## EG -# L1tkPhoton: "all" -# L1tkElectron: "all" -# L1EGbarrel: "all" -# L1EGendcap: "all" -# ## MUONS + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS L1gmtTkMuon: "all" L1gmtMuon: "all" # aka gmtMuon L1gmtDispMuon: "all" -# ## TAUS -# L1nnPuppiTau: "all" -# L1hpsTau: "all" -# L1caloTau: "all" -# L1nnCaloTau: "all" -# ## MET/Sums -# L1puppiMET: [pt, phi] -# L1puppiMLMET: [pt] -# L1puppiJetSC4sums: [pt, phi] -# L1puppiHistoJetSums: [pt, phi] -# # # jets -# L1puppiJetSC4: [pt, eta, phi] -# L1puppiJetSC8: [pt, eta, phi] -# L1puppiExtJetSC4: [pt, eta, phi, btagScore] -# L1puppiJetHisto: [pt, eta, phi] -# L1caloJet: [pt, eta, phi] -# ## track-only -# L1TrackMET: [pt] -# L1TrackHT: [ht, mht] -# L1TrackJet: [pt, eta, phi] -# L1TrackTripletWord: [pt] -# L1ExtTrackHT: [ht] \ No newline at end of file + ## TAUS + L1nnPuppiTau: "all" + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] \ No newline at end of file diff --git a/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml index d5e1f0dd..c65961be 100644 --- a/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml +++ b/configs/V38nano_DT12x/object_performance/muonTF_trigger.yaml @@ -29,65 +29,65 @@ MuonTFsTrigger_Barrel: max: 50 step: 1.5 -# MuonTFsTrigger_Overlap: -# sample: DYLL_M50 -# version: V38nano_DT12x -# match_test_to_ref: True -# reference_object: -# object: "GenPart" -# x_arg: "eta" -# label: "Gen Muons" -# cuts: -# event: -# - "(({statusFlags}>>7)&1) == 1" -# - "abs({pdgId}) == 13" -# object: -# - "abs({eta}) > 0.83" -# - "abs({eta}) < 1.24" -# test_objects: -# L1gmtMuon:default:overlap: "pt" -# L1MuonKMTF:default:overlap: "pt" -# L1MuonOMTF:default:overlap: "pt" -# L1MuonEMTF:default:overlap: "pt" -# L1gmtTkMuon:default:overlap: "pt" -# xlabel: "Gen. pT (GeV)" -# ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" -# thresholds: [20, 25] -# # scalings: -# # method: "naive" -# # threshold: 0.95 -# binning: -# min: 0 -# max: 50 -# step: 1.5 +MuonTFsTrigger_Overlap: + sample: DYLL_M50 + version: V38nano_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1MuonKMTF:default:overlap: "pt" + L1MuonOMTF:default:overlap: "pt" + L1MuonEMTF:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 -# MuonTFsTrigger_Endcap: -# sample: DYLL_M50 -# version: V38nano_DT12x -# match_test_to_ref: True -# reference_object: -# object: "GenPart" -# x_arg: "eta" -# label: "Gen Muons" -# cuts: -# event: -# - "(({statusFlags}>>7)&1) == 1" -# - "abs({pdgId}) == 13" -# object: -# - "abs({eta}) > 1.24" -# test_objects: -# L1gmtMuon:default:endcap: "pt" -# L1MuonKMTF:default:endcap: "pt" -# L1MuonOMTF:default:endcap: "pt" -# L1MuonEMTF:default:endcap: "pt" -# L1gmtTkMuon:default:endcap: "pt" -# xlabel: "Gen. pT (GeV)" -# ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" -# thresholds: [20, 25] -# # scalings: -# # method: "naive" -# # threshold: 0.95 -# binning: -# min: 0 -# max: 50 -# step: 1.5 +MuonTFsTrigger_Endcap: + sample: DYLL_M50 + version: V38nano_DT12x + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1MuonKMTF:default:endcap: "pt" + L1MuonOMTF:default:endcap: "pt" + L1MuonEMTF:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml index 59ee5e08..14e5c798 100644 --- a/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml +++ b/configs/V38nano_DT12x/object_performance/muon_matching_eta.yaml @@ -1,4 +1,56 @@ -MuonsMatching_Eta_Pt2to5: +# MuonsMatching_Eta_Pt2to5: +# sample: DYLL_M50 +# version: V38nano_DT12x +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# - "{pt} > 2" +# - "{pt} < 5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1gmtMuon:default: "eta" +# L1gmtMuon:dR0p6: "eta" +# L1gmtTkMuon:default: "eta" +# xlabel: "Gen. $\\eta$" +# ylabel: "Matching Efficiency (2-5 GeV)" +# binning: +# min: -3 +# max: 3 +# step: 0.2 + +# MuonsMatching_Eta_Pt15toInf: +# sample: DYLL_M50 +# version: V38nano_DT12x +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# - "{pt} > 15" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1gmtMuon:default: "eta" +# L1gmtTkMuon:default: "eta" +# xlabel: "Gen. $\\eta$" +# ylabel: "Matching Efficiency (>15 GeV)" +# binning: +# min: -3 +# max: 3 +# step: 0.2 + +MuonsMatching_Eta_Pt2to5_status1: sample: DYLL_M50 version: V38nano_DT12x match_test_to_ref: True @@ -8,7 +60,7 @@ MuonsMatching_Eta_Pt2to5: label: "Gen Muons" cuts: event: - - "(({statusFlags}>>7)&1) == 1" + - "{status} == 1" - "abs({pdgId}) == 13" - "{pt} > 2" - "{pt} < 5" @@ -23,29 +75,4 @@ MuonsMatching_Eta_Pt2to5: binning: min: -3 max: 3 - step: 0.2 - -MuonsMatching_Eta_Pt15toInf: - sample: DYLL_M50 - version: V38nano_DT12x - match_test_to_ref: True - reference_object: - object: "GenPart" - x_arg: "eta" - label: "Gen Muons" - cuts: - event: - - "(({statusFlags}>>7)&1) == 1" - - "abs({pdgId}) == 13" - - "{pt} > 15" - object: - - "abs({eta}) < 2.4" - test_objects: - L1gmtMuon:default: "eta" - L1gmtTkMuon:default: "eta" - xlabel: "Gen. $\\eta$" - ylabel: "Matching Efficiency (>15 GeV)" - binning: - min: -3 - max: 3 - step: 0.2 + step: 0.2 \ No newline at end of file diff --git a/configs/V38nano_DT12x/objects/jets.yaml b/configs/V38nano_DT12x/objects/jets.yaml index cbc35d90..481cccda 100644 --- a/configs/V38nano_DT12x/objects/jets.yaml +++ b/configs/V38nano_DT12x/objects/jets.yaml @@ -28,6 +28,11 @@ L1puppiExtJetSC4: cuts: inclusive: - "abs({eta}) < 5" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" bjetnn: label: "SC Extended PuppiJet, BtagScore > 0.71" cuts: @@ -62,6 +67,11 @@ L1puppiJetSC4: cuts: inclusive: - "abs({eta}) < 7" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" L1puppiJetSC8: match_dR: 0.35 diff --git a/configs/V38nano_DT12x/objects/pv.yaml b/configs/V38nano_DT12x/objects/pv.yaml new file mode 100644 index 00000000..25fea9c0 --- /dev/null +++ b/configs/V38nano_DT12x/objects/pv.yaml @@ -0,0 +1,4 @@ +L1PV: + label: "Primary Vertex" + ids: + default: {} diff --git a/configs/V38nano_DT12x/rate_table/v38_Step1And2_cfg.yml b/configs/V38nano_DT12x/rate_table/v38_Step1And2_cfg.yml new file mode 100644 index 00000000..bf9a7881 --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_Step1And2_cfg.yml @@ -0,0 +1,4 @@ +version: "V38nano_DT12x" +sample: "MinBias" +menu_config: "configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml" +table_fname: "rates_Step1and2" diff --git a/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml b/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml new file mode 100644 index 00000000..dd8a7e89 --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml @@ -0,0 +1,4 @@ +version: "V38nano_DT12x" +sample: "MinBias" +menu_config: "configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml" +table_fname: "rates_full_TkMuonMediumID_JetPt25" diff --git a/configs/V38nano_DT12x/rate_table/v38_Step2_cfg.yml b/configs/V38nano_DT12x/rate_table/v38_Step2_cfg.yml new file mode 100644 index 00000000..4f45a47a --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_Step2_cfg.yml @@ -0,0 +1,4 @@ +version: "V38nano_DT12x" +sample: "MinBias" +menu_config: "configs/V38nano_DT12x/rate_table/v38_menu_Step2.yml" +table_fname: "rates_Step2" diff --git a/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml b/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml new file mode 100644 index 00000000..4949be47 --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml @@ -0,0 +1,445 @@ +L1_PFHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 450.0 + obj: L1puppiJetSC4sums:HT +L1_PFMHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 135.5 + obj: L1puppiJetSC4sums:MHT +L1_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 200.0 + obj: L1puppiMET:default +# L1_PFMLMet: +# cross_masks: [] +# leg1: +# threshold_cut: offline_pt >= 200.0 +# obj: L1puppiMLMET:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:Medium +L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: + cross_masks: + - abs(leg2.eta) < 2.4 + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) < 0.4 + - abs(leg5.eta-leg4.eta) < 1.6 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium +L1_SingleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkPhoton:Iso + +L1_DoubleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkPhoton:Iso + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkPhoton:Iso +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default +L1_SingleEGEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 51.0 + obj: L1EG:default:inclusive +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_SinglePfJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC4:PtGe25 +L1_SingleTkEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkElectron:NoIso:inclusive +L1_SingleTkEleIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 28.0 + obj: L1tkElectron:Iso:inclusive +L1_SingleTkMu: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1gmtTkMuon:Medium +L1_TkEleIso_EG: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1EG:default:inclusive +L1_TkEleIso_PFHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 26.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiJetSC4sums:HT +L1_TkEleIso_PFIsoTau: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 45.0 + obj: L1nnPuppiTau:default +L1_TkEle_PFJet_dRMin: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) > 0.3 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 28.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_TkEle_TkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 10.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1gmtTkMuon:Medium +L1_TkMu_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 6 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_PfHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 6 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 320.0 + obj: L1puppiJetSC4sums:HT +L1_TkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 110.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 120.0 + obj: L1puppiMET:default +L1_TkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 23.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_TkEleIso: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1tkElectron:Iso:inclusive +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3.5 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 2.5 + obj: L1gmtTkMuon:Medium +L1_DoubleTkEle_PFHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg4: + threshold_cut: offline_pt > 390.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleEGEle: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 37.0 + obj: L1EG:default:inclusive + leg2: + threshold_cut: offline_pt >= 24.0 + obj: L1EG:default:inclusive +L1_DoublePFJet_MassMin: + cross_masks: + - (leg1 + leg2).mass > 620 + leg1: + threshold_cut: offline_pt >= 160.0 + obj: L1puppiJetSC4:PtGe25 + leg2: + threshold_cut: offline_pt >= 35.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoublePFJet_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 112.0 + obj: L1puppiJetSC4:PtGe25 + leg2: + threshold_cut: leg2.offline_pt >= 112.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 25.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkElectron:NoIso:inclusive +L1_DoubleTkMu: + cross_masks: + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: offline_pt > 15.0 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:Medium +L1_DoubleTkMu_PfHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg4: + threshold_cut: offline_pt >= 300.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleTkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg4: + threshold_cut: offline_pt >= 60.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 130.0 + obj: L1puppiMET:default +L1_DoubleTkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 9.0 + obj: L1tkElectron:NoIso:inclusive +L1_PFHTT_QuadJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 400.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: offline_pt >= 70.0 + obj: L1puppiJetSC4:PtGe25 + leg3: + threshold_cut: offline_pt >= 55.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_PFIsoTau_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 55.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiMET:default +L1_PFIsoTau_TkMu: + cross_masks: + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 42.0 + obj: L1nnPuppiTau:default + leg3: + threshold_cut: offline_pt >= 18.0 + obj: L1gmtTkMuon:Medium \ No newline at end of file diff --git a/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml b/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml new file mode 100644 index 00000000..1b6764bb --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml @@ -0,0 +1,532 @@ +L1_PFHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 450.0 + obj: L1puppiJetSC4sums:HT +L1_PFMHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 135.5 + obj: L1puppiJetSC4sums:MHT +L1_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 200.0 + obj: L1puppiMET:default +# L1_PFMLMet: +# cross_masks: [] +# leg1: +# threshold_cut: offline_pt >= 200.0 +# obj: L1puppiMLMET:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:Medium +L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: + cross_masks: + - abs(leg2.eta) < 2.4 + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) < 0.4 + - abs(leg5.eta-leg4.eta) < 1.6 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium +L1_SingleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkPhoton:Iso + +L1_DoubleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkPhoton:Iso + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkPhoton:Iso +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default +L1_SingleEGEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 51.0 + obj: L1EG:default:inclusive +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_SinglePfJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC4:PtGe25 +L1_SingleTkEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkElectron:NoIso:inclusive +L1_SingleTkEleIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 28.0 + obj: L1tkElectron:Iso:inclusive +L1_SingleTkMu: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1gmtTkMuon:Medium +L1_TkEleIso_EG: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1EG:default:inclusive +L1_TkEleIso_PFHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 26.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiJetSC4sums:HT +L1_TkEleIso_PFIsoTau: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 45.0 + obj: L1nnPuppiTau:default +L1_TkEle_PFJet_dRMin: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) > 0.3 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 28.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_TkEle_TkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 10.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1gmtTkMuon:Medium +L1_TkMu_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 6 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_PfHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 6 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 320.0 + obj: L1puppiJetSC4sums:HT +L1_TkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 110.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 120.0 + obj: L1puppiMET:default +L1_TkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 23.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_TkEleIso: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1tkElectron:Iso:inclusive +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:Medium +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 3.5 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 2.5 + obj: L1gmtTkMuon:Medium +L1_DoubleTkEle_PFHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg4: + threshold_cut: offline_pt > 390.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleEGEle: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 37.0 + obj: L1EG:default:inclusive + leg2: + threshold_cut: offline_pt >= 24.0 + obj: L1EG:default:inclusive +L1_DoublePFJet_MassMin: + cross_masks: + - (leg1 + leg2).mass > 620 + leg1: + threshold_cut: offline_pt >= 160.0 + obj: L1puppiJetSC4:PtGe25 + leg2: + threshold_cut: offline_pt >= 35.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoublePFJet_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 112.0 + obj: L1puppiJetSC4:PtGe25 + leg2: + threshold_cut: leg2.offline_pt >= 112.0 + obj: L1puppiJetSC4:PtGe25 +L1_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 25.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkElectron:NoIso:inclusive +L1_DoubleTkMu: + cross_masks: + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: offline_pt > 15.0 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 7 + obj: L1gmtTkMuon:Medium +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:Medium +L1_DoubleTkMu_PfHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg4: + threshold_cut: offline_pt >= 300.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleTkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:Medium + leg4: + threshold_cut: offline_pt >= 60.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 130.0 + obj: L1puppiMET:default +L1_DoubleTkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg2: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:Medium + leg3: + threshold_cut: offline_pt >= 9.0 + obj: L1tkElectron:NoIso:inclusive +L1_PFHTT_QuadJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 400.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: offline_pt >= 70.0 + obj: L1puppiJetSC4:PtGe25 + leg3: + threshold_cut: offline_pt >= 55.0 + obj: L1puppiJetSC4:PtGe25 + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:PtGe25 +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_PFIsoTau_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 55.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiMET:default +L1_PFIsoTau_TkMu: + cross_masks: + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 42.0 + obj: L1nnPuppiTau:default + leg3: + threshold_cut: offline_pt >= 18.0 + obj: L1gmtTkMuon:Medium +################################# +########## STEP 2 +################################# +### SC8 wide cone jet seeds +L1_SinglePfJet8: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC8:default +L1_DoublePFJet8_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 200.0 + obj: L1puppiJetSC8:default + leg2: + threshold_cut: leg2.offline_pt >= 200.0 + obj: L1puppiJetSC8:default +### Bjet seed +L1_PFHTT_QuadJet_BTagNNScore: + cross_masks: + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default +############################## +### Displaced Muons +############################## +L1_SingleDispMu: + cross_masks: [] + leg1: + threshold_cut: pt >= 22.0 + obj: L1gmtDispMuon:qual15_Eta2p0 +# L1_SingleDispMu_BMTF: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:default:barrel +# L1_SingleDispMu_OMTF: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:default:overlap +# # L1_SingleDispMu_EMTF: +# # cross_masks: [] +# # leg1: +# # threshold_cut: pt >= 22.0 +# # obj: L1gmtDispMuon:default:endcap +# L1_SingleDispMu_EMTF_SQ_eta2p0: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:qual15_Eta2p0:endcap +L1_DoubleDispMu: + cross_masks: [] + # - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 15.0 + obj: L1gmtDispMuon:default + leg2: + threshold_cut: pt > 7 + obj: L1gmtDispMuon:default +# ############################## +# ### GTT +# ############################## +L1_W3pi_GTT: + cross_masks: [] + leg1: + threshold_cut: pt > -99 + obj: L1TrackTripletWord:default +# L1_TkDispHT: +# cross_masks: [] +# leg1: +# threshold_cut: ht >= 200 +# obj: L1ExtTrackHT:HT \ No newline at end of file diff --git a/configs/V38nano_DT12x/rate_table/v38_menu_Step2.yml b/configs/V38nano_DT12x/rate_table/v38_menu_Step2.yml new file mode 100644 index 00000000..1399f49d --- /dev/null +++ b/configs/V38nano_DT12x/rate_table/v38_menu_Step2.yml @@ -0,0 +1,125 @@ +### SC8 wide cone jet seeds +L1_SinglePfJet8: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC8:default +L1_DoublePFJet8_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 200.0 + obj: L1puppiJetSC8:default + leg2: + threshold_cut: leg2.offline_pt >= 200.0 + obj: L1puppiJetSC8:default +### Bjet seed +L1_PFHTT_QuadJet_BTagNNScore: + cross_masks: + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default +# ############################## +# ### Displaced Muons +# ############################## +L1_SingleDispMu: + cross_masks: [] + leg1: + threshold_cut: pt >= 22.0 + obj: L1gmtDispMuon:qual15_Eta2p0 +# L1_SingleDispMu_BMTF: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:default:barrel +# L1_SingleDispMu_OMTF: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:default:overlap +# # L1_SingleDispMu_EMTF: +# # cross_masks: [] +# # leg1: +# # threshold_cut: pt >= 22.0 +# # obj: L1gmtDispMuon:default:endcap +# L1_SingleDispMu_EMTF_SQ_eta2p0: +# cross_masks: [] +# leg1: +# threshold_cut: pt >= 22.0 +# obj: L1gmtDispMuon:qual15_Eta2p0:endcap +L1_DoubleDispMu: + cross_masks: [] + leg1: + threshold_cut: pt > 15.0 + obj: L1gmtDispMuon:default + leg2: + threshold_cut: pt > 7 + obj: L1gmtDispMuon:default +# # ############################## +# # ### GTT +# # ############################## +L1_W3pi_GTT: + cross_masks: [] + leg1: + threshold_cut: pt > -99 + obj: L1TrackTripletWord:default +# L1_TkDispHT: +# cross_masks: [] +# leg1: +# threshold_cut: ht >= 200 +# obj: L1ExtTrackHT:HT + + +# #### FOR DEBUG +# #### STEP1 muons +# L1_SingleTkMu: +# cross_masks: [] +# leg1: +# threshold_cut: offline_pt >= 22.0 +# obj: L1gmtTkMuon:Medium +# L1_TripleTkMu: +# cross_masks: +# - abs(leg2.z0-leg1.z0) < 1 +# - abs(leg3.z0-leg1.z0) < 1 +# leg1: +# threshold_cut: pt > 5 +# obj: L1gmtTkMuon:Medium +# leg2: +# threshold_cut: pt > 3 +# obj: L1gmtTkMuon:Medium +# leg3: +# threshold_cut: pt > 3 +# obj: L1gmtTkMuon:Medium +# L1_DoubleTkMu: +# cross_masks: +# - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) +# leg1: +# threshold_cut: offline_pt > 15.0 +# obj: L1gmtTkMuon:Medium +# leg2: +# threshold_cut: pt > 7 +# obj: L1gmtTkMuon:Medium +# L1_DoubleTkMu4_SQ_OS_dR_Max1p2: +# cross_masks: +# - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) +# - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) +# - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) +# leg1: +# threshold_cut: pt > 4 +# obj: L1gmtTkMuon:Medium +# leg2: +# threshold_cut: pt > 4 +# obj: L1gmtTkMuon:Medium \ No newline at end of file From 3c11b34ec333044e0f156029356d665779bb1cd4 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 22 Apr 2024 11:59:33 +0200 Subject: [PATCH 07/10] Update tkMuon ID for v38/AR24 --- configs/V38nano_DT12x/objects/muons.yaml | 4 +- .../rate_table/v38_Step1_cfg.yml | 2 +- .../rate_table/v38_menu_Step1.yml | 200 ++++++++--------- .../rate_table/v38_menu_Step1and2.yml | 203 +++++++++--------- 4 files changed, 208 insertions(+), 201 deletions(-) diff --git a/configs/V38nano_DT12x/objects/muons.yaml b/configs/V38nano_DT12x/objects/muons.yaml index 4a1e5b13..64aa4414 100644 --- a/configs/V38nano_DT12x/objects/muons.yaml +++ b/configs/V38nano_DT12x/objects/muons.yaml @@ -18,10 +18,10 @@ L1gmtTkMuon: endcap: [1.24, 2.4] ids: default: - label: "GMT TkMuon, Loose ID" + label: "GMT TkMuon" cuts: inclusive: - - "{hwQual} >= 3" + - "({hwQual} >=3) | (({pt} > 8) & ({hwQual} >= 1))" # Loose(>=3) for pt < 8 VLoose(>=1) for pt > 8 VLoose: # x.numberOfMatches() > 0 label: "GMT TkMuon, VLoose ID" cuts: diff --git a/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml b/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml index dd8a7e89..96cbd69e 100644 --- a/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml +++ b/configs/V38nano_DT12x/rate_table/v38_Step1_cfg.yml @@ -1,4 +1,4 @@ version: "V38nano_DT12x" sample: "MinBias" menu_config: "configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml" -table_fname: "rates_full_TkMuonMediumID_JetPt25" +table_fname: "menu_Step1" diff --git a/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml b/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml index 4949be47..99e74e38 100644 --- a/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml +++ b/configs/V38nano_DT12x/rate_table/v38_menu_Step1.yml @@ -18,18 +18,6 @@ L1_PFMet: # leg1: # threshold_cut: offline_pt >= 200.0 # obj: L1puppiMLMET:default -L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: - cross_masks: - - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) - - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) - - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) - - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 4.4 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 4.4 - obj: L1gmtTkMuon:Medium L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: cross_masks: - abs(leg2.eta) < 2.4 @@ -41,7 +29,7 @@ L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: obj: L1PV:default leg2: threshold_cut: offline_pt >= 12.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 40.0 obj: L1puppiJetSC4:PtGe25 @@ -51,26 +39,11 @@ L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: leg5: threshold_cut: offline_pt >= 40.0 obj: L1puppiJetSC4:PtGe25 -L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: - cross_masks: - - (abs(leg1.eta) < 1.5) - - (abs(leg2.eta) < 1.5) - - ((leg1.deltaR(leg2) < 1.4)) - - ((leg1.charge*leg2.charge < 0.0)) - - ((abs(leg2.z0-leg1.z0) < 1)) - - ((leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium L1_SingleTkPhoIso: cross_masks: [] leg1: threshold_cut: offline_pt >= 36.0 obj: L1tkPhoton:Iso - L1_DoubleTkPhoIso: cross_masks: [] leg1: @@ -117,7 +90,7 @@ L1_SingleTkMu: cross_masks: [] leg1: threshold_cut: offline_pt >= 22.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_TkEleIso_EG: cross_masks: - leg1.deltaR(leg2) > 0.1 @@ -172,14 +145,14 @@ L1_TkEle_TkMu: obj: L1tkElectron:NoIso:inclusive leg2: threshold_cut: offline_pt >= 20.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_TkMu_DoubleTkEle: cross_masks: - abs(leg2.z0-leg1.z0) < 1 - abs(leg3.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 6 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 17.0 obj: L1tkElectron:NoIso:inclusive @@ -194,7 +167,7 @@ L1_TkMu_PfHTT: obj: L1PV:default leg2: threshold_cut: pt > 6 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 320.0 obj: L1puppiJetSC4sums:HT @@ -206,7 +179,7 @@ L1_TkMu_PfJet_PfMet: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 110.0 obj: L1puppiJetSC4:PtGe25 @@ -218,7 +191,7 @@ L1_TkMu_TkEle: - abs(leg2.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 23.0 obj: L1tkElectron:NoIso:inclusive @@ -227,54 +200,10 @@ L1_TkMu_TkEleIso: - abs(leg2.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 20.0 obj: L1tkElectron:Iso:inclusive -L1_TripleTkMu: - cross_masks: - - abs(leg2.z0-leg1.z0) < 1 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium -L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: - cross_masks: - - (leg1+leg2).mass < 9.0 - - leg1.charge*leg2.charge < 0.0 - - abs(leg2.z0-leg1.z0) < 1 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium -L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: - cross_masks: - - abs(leg2.z0-leg1.z0) < 1 - - leg1.charge*leg3.charge < 0.0 - - (leg1+leg3).mass > 5.0 - - (leg1+leg3).mass < 17.0 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3.5 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 2.5 - obj: L1gmtTkMuon:Medium L1_DoubleTkEle_PFHTT: cross_masks: - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) @@ -333,21 +262,10 @@ L1_DoubleTkMu: - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) leg1: threshold_cut: offline_pt > 15.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium -L1_DoubleTkMu4_SQ_OS_dR_Max1p2: - cross_masks: - - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) - - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) - - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 4 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 4 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_DoubleTkMu_PfHTT: cross_masks: - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) @@ -358,10 +276,10 @@ L1_DoubleTkMu_PfHTT: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg4: threshold_cut: offline_pt >= 300.0 obj: L1puppiJetSC4sums:HT @@ -374,10 +292,10 @@ L1_DoubleTkMu_PfJet_PfMet: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg4: threshold_cut: offline_pt >= 60.0 obj: L1puppiJetSC4:PtGe25 @@ -390,10 +308,10 @@ L1_DoubleTkMu_TkEle: - abs(leg3.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 9.0 obj: L1tkElectron:NoIso:inclusive @@ -442,4 +360,88 @@ L1_PFIsoTau_TkMu: obj: L1nnPuppiTau:default leg3: threshold_cut: offline_pt >= 18.0 - obj: L1gmtTkMuon:Medium \ No newline at end of file + obj: L1gmtTkMuon:VLoose +######################## +###### BPH SEEDS ####### +######################## +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:default +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3.5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 2.5 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:default \ No newline at end of file diff --git a/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml b/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml index 1b6764bb..58573404 100644 --- a/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml +++ b/configs/V38nano_DT12x/rate_table/v38_menu_Step1and2.yml @@ -1,3 +1,6 @@ +################################# +########## STEP 1 +################################# L1_PFHTT: cross_masks: [] leg1: @@ -18,18 +21,6 @@ L1_PFMet: # leg1: # threshold_cut: offline_pt >= 200.0 # obj: L1puppiMLMET:default -L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: - cross_masks: - - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) - - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) - - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) - - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 4.4 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 4.4 - obj: L1gmtTkMuon:Medium L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: cross_masks: - abs(leg2.eta) < 2.4 @@ -41,7 +32,7 @@ L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: obj: L1PV:default leg2: threshold_cut: offline_pt >= 12.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 40.0 obj: L1puppiJetSC4:PtGe25 @@ -51,26 +42,11 @@ L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: leg5: threshold_cut: offline_pt >= 40.0 obj: L1puppiJetSC4:PtGe25 -L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: - cross_masks: - - (abs(leg1.eta) < 1.5) - - (abs(leg2.eta) < 1.5) - - ((leg1.deltaR(leg2) < 1.4)) - - ((leg1.charge*leg2.charge < 0.0)) - - ((abs(leg2.z0-leg1.z0) < 1)) - - ((leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium L1_SingleTkPhoIso: cross_masks: [] leg1: threshold_cut: offline_pt >= 36.0 obj: L1tkPhoton:Iso - L1_DoubleTkPhoIso: cross_masks: [] leg1: @@ -117,7 +93,7 @@ L1_SingleTkMu: cross_masks: [] leg1: threshold_cut: offline_pt >= 22.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_TkEleIso_EG: cross_masks: - leg1.deltaR(leg2) > 0.1 @@ -172,14 +148,14 @@ L1_TkEle_TkMu: obj: L1tkElectron:NoIso:inclusive leg2: threshold_cut: offline_pt >= 20.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_TkMu_DoubleTkEle: cross_masks: - abs(leg2.z0-leg1.z0) < 1 - abs(leg3.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 6 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 17.0 obj: L1tkElectron:NoIso:inclusive @@ -194,7 +170,7 @@ L1_TkMu_PfHTT: obj: L1PV:default leg2: threshold_cut: pt > 6 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 320.0 obj: L1puppiJetSC4sums:HT @@ -206,7 +182,7 @@ L1_TkMu_PfJet_PfMet: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 110.0 obj: L1puppiJetSC4:PtGe25 @@ -218,7 +194,7 @@ L1_TkMu_TkEle: - abs(leg2.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 23.0 obj: L1tkElectron:NoIso:inclusive @@ -227,54 +203,10 @@ L1_TkMu_TkEleIso: - abs(leg2.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: offline_pt >= 20.0 obj: L1tkElectron:Iso:inclusive -L1_TripleTkMu: - cross_masks: - - abs(leg2.z0-leg1.z0) < 1 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium -L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: - cross_masks: - - (leg1+leg2).mass < 9.0 - - leg1.charge*leg2.charge < 0.0 - - abs(leg2.z0-leg1.z0) < 1 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 0 - obj: L1gmtTkMuon:Medium -L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: - cross_masks: - - abs(leg2.z0-leg1.z0) < 1 - - leg1.charge*leg3.charge < 0.0 - - (leg1+leg3).mass > 5.0 - - (leg1+leg3).mass < 17.0 - - abs(leg3.z0-leg1.z0) < 1 - leg1: - threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 3.5 - obj: L1gmtTkMuon:Medium - leg3: - threshold_cut: pt > 2.5 - obj: L1gmtTkMuon:Medium L1_DoubleTkEle_PFHTT: cross_masks: - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) @@ -333,21 +265,10 @@ L1_DoubleTkMu: - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) leg1: threshold_cut: offline_pt > 15.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: pt > 7 - obj: L1gmtTkMuon:Medium -L1_DoubleTkMu4_SQ_OS_dR_Max1p2: - cross_masks: - - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) - - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) - - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) - leg1: - threshold_cut: pt > 4 - obj: L1gmtTkMuon:Medium - leg2: - threshold_cut: pt > 4 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose L1_DoubleTkMu_PfHTT: cross_masks: - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) @@ -358,10 +279,10 @@ L1_DoubleTkMu_PfHTT: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg4: threshold_cut: offline_pt >= 300.0 obj: L1puppiJetSC4sums:HT @@ -374,10 +295,10 @@ L1_DoubleTkMu_PfJet_PfMet: obj: L1PV:default leg2: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: pt > 3 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg4: threshold_cut: offline_pt >= 60.0 obj: L1puppiJetSC4:PtGe25 @@ -390,10 +311,10 @@ L1_DoubleTkMu_TkEle: - abs(leg3.z0-leg1.z0) < 1 leg1: threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg2: threshold_cut: pt > 5 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose leg3: threshold_cut: offline_pt >= 9.0 obj: L1tkElectron:NoIso:inclusive @@ -442,7 +363,91 @@ L1_PFIsoTau_TkMu: obj: L1nnPuppiTau:default leg3: threshold_cut: offline_pt >= 18.0 - obj: L1gmtTkMuon:Medium + obj: L1gmtTkMuon:VLoose +######################## +###### BPH SEEDS ####### +######################## +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 4.4 + obj: L1gmtTkMuon:default +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt > 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 3.5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt > 2.5 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt > 4 + obj: L1gmtTkMuon:default ################################# ########## STEP 2 ################################# From 02ff594adba45795778dd0d1141de55042d45042 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 22 Apr 2024 12:04:35 +0200 Subject: [PATCH 08/10] Dont compute pure rate by default --- menu_tools/rate_table/rate_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu_tools/rate_table/rate_table.py b/menu_tools/rate_table/rate_table.py index 1b5b02a9..b10caeed 100755 --- a/menu_tools/rate_table/rate_table.py +++ b/menu_tools/rate_table/rate_table.py @@ -22,7 +22,7 @@ def main(): menu_table.save_table() menu_table.dump_masks() - menu_table.compute_tot_and_pure() + # menu_table.compute_tot_and_pure() if __name__ == "__main__": main() From c15f8601a5c5317732281730e301492505af24b5 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 22 Apr 2024 12:55:48 +0200 Subject: [PATCH 09/10] Use explicit bits for tkMuon ID --- configs/V38nano_DT12x/objects/muons.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/configs/V38nano_DT12x/objects/muons.yaml b/configs/V38nano_DT12x/objects/muons.yaml index 64aa4414..290ea88e 100644 --- a/configs/V38nano_DT12x/objects/muons.yaml +++ b/configs/V38nano_DT12x/objects/muons.yaml @@ -6,7 +6,7 @@ GenPart: gen_electron_default: cuts: inclusive: - - "(({statusFlags}>>7)&1) == 1" + - "({statusFlags}>>7)&1 == 1" L1gmtTkMuon: label: "GMT TkMuon" @@ -21,27 +21,27 @@ L1gmtTkMuon: label: "GMT TkMuon" cuts: inclusive: - - "({hwQual} >=3) | (({pt} > 8) & ({hwQual} >= 1))" # Loose(>=3) for pt < 8 VLoose(>=1) for pt > 8 + - "(({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1))" # Loose (bit 2) for pt < 8 VLoose (bit 1) for pt > 8 VLoose: # x.numberOfMatches() > 0 label: "GMT TkMuon, VLoose ID" cuts: inclusive: - - "{hwQual} >= 1" + - "({hwQual}>>0)&1 == 1" Loose: # x.numberOfMatches() >1 label: "GMT TkMuon, Loose ID" cuts: inclusive: - - "{hwQual} >= 3" + - "({hwQual}>>1)&1 == 1" Medium: # x.stubs().size()>1 label: "GMT TkMuon, Medium ID" cuts: inclusive: - - "{hwQual} >= 7" + - "({hwQual}>>2)&1 == 1" Tight: # x.numberOfMatches()>2 label: "GMT TkMuon, Tight ID" cuts: inclusive: - - "{hwQual} >= 15" + - "({hwQual}>>3)&1 == 1" L1gmtMuon: label: "GMT Muon" From 85bac32f626024c96a9d62a8615c6b17d2148dc7 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 22 Apr 2024 13:14:28 +0200 Subject: [PATCH 10/10] Add notebooks for menu analysis --- menu_tools/rate_table/L1Table.ipynb | 218 ++++++++++++++++ menu_tools/rate_table/Pure_rate.ipynb | 362 ++++++++++++++++++++++++++ 2 files changed, 580 insertions(+) create mode 100644 menu_tools/rate_table/L1Table.ipynb create mode 100644 menu_tools/rate_table/Pure_rate.ipynb diff --git a/menu_tools/rate_table/L1Table.ipynb b/menu_tools/rate_table/L1Table.ipynb new file mode 100644 index 00000000..1baff32c --- /dev/null +++ b/menu_tools/rate_table/L1Table.ipynb @@ -0,0 +1,218 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from collections import defaultdict\n", + "import csv\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "! ls /eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/*.csv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#fname = \"/afs/cern.ch/user/a/alobanov/work/L1T/phase2/menu/MenuTools/test/Phase2-L1MenuTools/outputs/V38nano_DT12x/rate_tables/rates_Step2_V38nano_DT12x.csv\"\n", + "# fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/rate_table_V38_DT12x/rates_Step1and2_V38nano_DT12x.csv\"\n", + "\n", + "# Step1\n", + "#fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/menu_Step1_V38nano_DT12x.csv\"\n", + "# Step1+2\n", + "fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/rates_Step1and2_V38nano_DT12x.csv\"\n", + "df = pd.read_csv(fname)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "### UNCOMMENT FOR OFFLINE THRESHOLDS -> DERIVED EXTERNALLY \n", + "\n", + "# l1_obj = []\n", + "# thresholds = defaultdict(list)\n", + "# with open(\"onl2off_th_update.txt\") as f:\n", + "# for line in f:\n", + "# if \"####\" in line: continue\n", + "# if \"L1_\" in line:\n", + "# l1_obj.append(line)\n", + "# obj = line\n", + "# if \"leg\" in line:\n", + "# legs = line.split(',')\n", + "# _dict = {}\n", + "# _dict[legs[0].split(' Eta = ')[0]] = {'offline': legs[1].split(' = ')[1], 'online': legs[2].split(' = ')[1][:-1]}\n", + "# thresholds[obj[:-1]].append(_dict)\n", + "# # print(line) \n", + "\n", + "# l1_thresholds = defaultdict(list)\n", + "# rates = defaultdict(list)\n", + "# for _obj in thresholds:\n", + "# # if _obj == 'L1_PFMHTT': continue # not in menu\n", + "# dfi= df[df.seed==_obj]\n", + "# if(len(dfi) == 0):\n", + "# print(f\"... {_obj} missing ...\")\n", + "# continue\n", + "# rates[_obj] = float(dfi.rate)\n", + "# offlines = []\n", + "# onlines = []\n", + "# for legs in thresholds[_obj]:\n", + "# for leg in legs:\n", + "# onlines.append(int(float(legs[leg]['online'])))\n", + "# offlines.append(int(float(legs[leg]['offline'])))\n", + "# l1_thresholds[_obj] = (onlines, offlines)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l1_names_map = {\n", + " \"Single/Double/Triple Lepton (electron, muon) seeds\":\n", + " {\"L1_SingleTkMu\": [\"Single tkMuon\", r\"$|\\eta|<2.4$\", \"95\"],\n", + " \"L1_DoubleTkMu\": [\"Double tkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"95\"],\n", + "# \"L1_DoubleTkMu9_SQ\": [\"\\color{black}Double TkMuon 9 SQ\", r\"$|\\eta|<2.4$\", \"?\"], \n", + " \"L1_SingleTkEle\": [\"Single tkElectron\", r\"$|\\eta|<2.4$\", \"93\"],\n", + " \"L1_SingleTkEleIso\": [\"Single tkIsoElectron\", r\"$|\\eta|<2.4$\", \"93\"],\n", + " \"L1_TkEleIso_EG\": [\"TkIsoElectron-StaEG\", r\"$|\\eta|<2.4$\", \"93,99\"],\n", + " \"L1_DoubleTkEle\": [\"Double tkElectron\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"93\"],\n", + " \"L1_SingleEGEle\": [\"Single StaEG\", r\"$|\\eta|<2.4$\", \"99\"],\n", + " \"L1_DoubleEGEle\": [\"Double StaEG\", r\"$|\\eta|<2.4$\", \"99\"],},\n", + " \n", + " \"Photon seeds\":\n", + " {\"L1_SingleTkPhoIso\": [\"Single TkIsoPhoton\", r\"$|\\eta|<2.4$\", \"97\"],\n", + " \"L1_DoubleTkPhoIso\": [\"Double TkIsoPhoton\", r\"$|\\eta|<2.4$\", \"97\"],},\n", + " \n", + " \"Tau seeds\":\n", + " {\"L1_SinglePFTau\": [\"Single CaloTau\", r\"$|\\eta|<2.172$\", \"99\"],\n", + " \"L1_PFTau_PFTau\": [\"Double CaloTau\", r\"$|\\eta|<2.172$, ${\\Delta}R >0.5$\", \"99\"],\n", + " \"L1_PFIsoTau_PFIsoTau\": [\"Double PuppiTau\", r\"$|\\eta|<2.172$, ${\\Delta}R >0.5$, $\\text{LooseNN} > 0$\", \"90\"],},\n", + " \n", + " r\"Hadronic seeds (jets,\\HT)\":\n", + " {\"L1_SinglePfJet\": [\"Single PuppiJet\", r\"$|\\eta|<2.4$\", \"100\"],\n", + " \"L1_DoublePFJet_dEtaMax\": [\"Double PuppiJet\", r\"$|\\eta|<2.4$, ${\\Delta}\\eta <1.6$\", \"100\"],\n", + " \"L1_PFHTT\": [\"Puppi\\HT\", r\"jets: $|\\eta|<2.4$, $\\pt >30$\", \"100\"],\n", + " \"L1_PFMHTT\": [r\"Puppi$\\slashed{\\ensuremath{H}}_{\\mathrm{T}}$\", r\"jets: $|\\eta|<2.4$, $\\pt >30$\", \"100\"],\n", + " \"L1_PFHTT_QuadJet\": [\"QuadPuppiJets-Puppi\\HT(**)\", r\"jets: $|\\eta|<2.4$, $\\pt >25$\", \"100,100\"],},\n", + "\n", + " r\"\\ETmiss seeds\":\n", + " {\"L1_PFMet\": [r\"PuppiE_{T}^{miss}\", \"\", \"100\"],},\n", + " \n", + " \"Cross Lepton seeds\":\n", + " {\"L1_TkMu_TkEleIso\": [\"TkMuon-TkIsoElectron\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"95,93\"],\n", + " \"L1_TkMu_TkEle\": [\"TkMuon-TkElectron\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"95,93\"],\n", + " \"L1_TkEle_TkMu\": [\"\\color{black}TkElectron-TkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"93,95\"],\n", + " \"L1_TripleTkMu\": [\"Triple TkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, Qual $>$ 0\", \"95\"],\n", + " \"L1_TkMu_DoubleTkEle\": [\"TkMuon-DoubleTkElectron\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"95,93\"],\n", + " \"L1_DoubleTkMu_TkEle\": [\"DoubleTkMuon-TkElectron\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, Qual $>$ 0\", \"95,93\"],\n", + " \"L1_PFIsoTau_TkMu\": [\"PuppiTau-TkMuon\", r\" $|\\eta|<2.172$, $|\\eta|<2.1$, ${\\Delta}z <1$, $\\text{LooseNN} > 0$\", \"90,95\"],\n", + " \"L1_TkEleIso_PFIsoTau\": [\"TkIsoElectron-PuppiTau\", r\"$|\\eta|<2.172$, $|\\eta|<2.1$, ${\\Delta}z <1$, $\\text{LooseNN} > 0$\", \"93,90\"],},\n", + " \n", + " \"Cross Hadronic-Lepton seeds\":\n", + " {\"L1_TkMu_PfHTT\": [r\"TkMuon-Puppi\\HT\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"95,100\"],\n", + " \"L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax\": [\"TkMuon-TriplePuppiJet\", r\"$|\\eta|<2.4$, ${\\Delta}R_{j1\\mu}<0.4$,${\\Delta}\\eta_{j2j3}<1.6$, ${\\Delta}z <1$\", \"95,100\"],\n", + " \"L1_DoubleTkEle_PFHTT\": [\"DoubleTkElectron-Puppi\\HT\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$\", \"93,100\"],\n", + " \"L1_DoubleTkMu_PfHTT\": [\"DoubleTkMuon-Puppi\\HT\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, Qual $>$ 0\", \"93,100\"],\n", + " \"L1_DoubleTkMu_PfJet_PfMet\": [\"DoubleTkMuon-PuppiJet-PuppiETmiss\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, Qual $>$ 0\", \"95,100,100\"],\n", + " \"L1_TkEleIso_PFHTT\": [\"TkIsoElectron-Puppi\\HT\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, $\\text{LooseNN} > 0$\", \"93,100\"],\n", + " \"L1_TkEle_PFJet_dRMin\": [\"TkElectron-PuppiJet (**)\", r\"$|\\eta|<2.1$, $|\\eta|<2.4$, ${\\Delta}R>0.3$, ${\\Delta}z <1$\", \"93,100\"],\n", + " \"L1_PFIsoTau_PFMet\": [\"PuppiTau-PuppiE_{T}^{miss}\", r\"$|\\eta|<2.172$, $\\text{LooseNN} > 0$\", \"90,100\"],\n", + " \"L1_TkMu_PfJet_PfMet\": [\"TkMuon-PuppiJet-PuppiETmiss\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, Qual $>$ 0\", \"95,100,100\"],},\n", + " \n", + " \"VBF seeds\":\n", + " {\"L1_DoublePFJet_MassMin\": [\"Double PuppiJets (**)\", r\"$|\\eta|<5$, $m_{jj}>620$\", \"100\"]},\n", + " \n", + " \"BPH seeds\": {\n", + " \"L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4\": [\"\\color{black}Double TkMuon\", r\"$|\\eta|<1.5$, ${\\Delta}z <1$, ${\\Delta}R <1.4$, $q_1\\times q_2 <0$\", \"95\"],\n", + " \"L1_DoubleTkMu4_SQ_OS_dR_Max1p2\": [\"\\color{black}Double TkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, ${\\Delta}R <1.5$, $q_1\\times q_2 <0$, Qual $>$ 0\", \"95\"],\n", + " \"L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18\": [\"\\color{black}Double TkMuon\", r\"$|\\eta|<2.0$, ${\\Delta}z <1$, $7 < m <18$, $q_1\\times q_2 <0$, Qual $>$ 0\", \"95\"],\n", + " \"L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9\": [\"Triple TkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$, $0< m <9$, $q_1\\times q_2 <0$, Qual $>$ 0\", \"95\"],\n", + " \"L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17\": [\"Triple TkMuon\", r\"$|\\eta|<2.4$, ${\\Delta}z <1$,$5 $ 0\", \"95\"],\n", + " },\n", + " \n", + " \"Step2 seeds\":{\n", + " \"L1_PFHTT_QuadJet_BTagNNScore\": [\"QuadPuppiJets-Puppi\\HT\", r\"$|\\eta|<2.4$, Tot. b-tag score $>$ 2.2\", \"95\"],\n", + " \"L1_SinglePfJet8\": [\"Single Ak8 PuppiJet\", r\"$|\\eta|<2.4$\", \"100\"],\n", + " \"L1_DoublePFJet8_dEtaMax\": [\"Double Ak8 PuppiJet\", r\"$|\\eta|<2.4$, ${\\Delta}\\eta_{j1j2}<1.6$\", \"100\"], \n", + " \n", + " \"L1_SingleDispMu\": [\"Single Displaced Muon\", r\"$|\\eta|<2.0$, Qual $\\geq$ 15\", \"99\"],\n", + " \"L1_DoubleDispMu\": [\"Single Displaced Muon\", r\"$|\\eta|<2.4$\", \"99\"],\n", + " \n", + " \"L1_W3pi_GTT\": [\"Track Triplet for W3Pi\", \"\", \"100\"],\n", + " }\n", + "\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tot_rate = int(df[df.seed=='Total'].rate)\n", + "tot_rate_30pc = int(1.3*tot_rate)\n", + "my_rates = []\n", + "# print('L1 Trigger seeds & Offline Threshold(s) at 90\\% or 95\\% [GeV] & Online Threshold(s) (Barrel) [kHz] & Rate [kHz] \\\\\\\\')\n", + "for seed in l1_names_map:\n", + " print(f\"\\\\hline \\\\multicolumn{{5}}{{|l|}}{{{seed}}} \\\\\\\\\")\n", + " for obj in l1_names_map[seed]:\n", + " if obj not in l1_thresholds.keys(): continue\n", + " print(f\"\\\\hline {l1_names_map[seed][obj][0]}\", end = \" & \") #obj.replace('_', '\\_'), end=\" & \")\n", + " print(*l1_thresholds[obj][1], end= \" & \", sep = \",\")\n", + "# if \"0.0\" in l1_thresholds[obj][0]:\n", + "# print(\"--\", sep=\",\", end = \" & \")\n", + "# else:\n", + "# print(*l1_thresholds[obj][0], sep=\",\", end = \" & \")\n", + " print(int(rates[obj]), end = \" & \")\n", + " my_rates.append(rates[obj])\n", + " print(l1_names_map[seed][obj][1], end = \" & \")\n", + " print(l1_names_map[seed][obj][2], end = '\\\\\\\\\\n')\n", + " print(\"\\\\hline\")\n", + "\n", + "print(\"\\\\hline\")\n", + "print(f\"\\multicolumn{{3}}{{|l}}{{Rate for above Trigger seeds}} & \\\\multicolumn{{2}}{{r|}}{{{{\\color{{black}}{tot_rate}}}}}\\\\\\\\\")\n", + "print(\"\\\\hline\")\n", + "print(f\"\\multicolumn{{3}}{{|l}}{{\\\\bf Total \\\\Lone Menu Rate (+30\\\\%)}} & \\\\multicolumn{{2}}{{r|}}{{{{\\color{{black}}{tot_rate_30pc}}}}}\\\\\\\\\")\n", + "print(\"\\\\hline\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/menu_tools/rate_table/Pure_rate.ipynb b/menu_tools/rate_table/Pure_rate.ipynb new file mode 100644 index 00000000..afafea9f --- /dev/null +++ b/menu_tools/rate_table/Pure_rate.ipynb @@ -0,0 +1,362 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "1b8a651b", + "metadata": {}, + "outputs": [], + "source": [ + "# import argparse \n", + "import os, sys \n", + "\n", + "import awkward as ak\n", + " \n", + "import matplotlib.pyplot as plt \n", + "import mplhep as hep \n", + "plt.style.use(hep.style.CMS)\n", + "\n", + "from matplotlib.colors import LogNorm\n", + "\n", + "# import uproot\n", + "\n", + "import numpy as np \n", + "import pandas as pd\n", + " \n", + "from glob import glob" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67769805", + "metadata": {}, + "outputs": [], + "source": [ + "plt.rcParams['figure.facecolor'] = \"white\"" + ] + }, + { + "cell_type": "markdown", + "id": "582d9747", + "metadata": {}, + "source": [ + "# compare masks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5e91706a", + "metadata": {}, + "outputs": [], + "source": [ + "! ls /eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/*.parquet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92cb4a57", + "metadata": {}, + "outputs": [], + "source": [ + "# fname = \"~/cernbox/SWAN_projects/L1T-Ph2-Menu/rates/menu/outputs/new_fwk_rates/V29_fromCache_Full_wBtag/rates_full_wBtag_V29_masks.parquet\"\n", + "# fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano/rate_tables/rates_full_Final_V38nano_masks.parquet\"\n", + "#fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/menu_Step1_tkMuVLoose_V38nano_DT12x_masks.parquet\"\n", + "# fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/menu_Step1_V38nano_DT12x_masks.parquet\"\n", + "fname = \"/eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/rates_Step1and2_V38nano_DT12x_masks.parquet\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e522641", + "metadata": {}, + "outputs": [], + "source": [ + "new_masks = ak.from_parquet(fname)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44712c41", + "metadata": {}, + "outputs": [], + "source": [ + "new_masks" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f7a10a4c", + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "# new fwk\n", + "df_masks = ak.to_dataframe(new_masks)" + ] + }, + { + "cell_type": "markdown", + "id": "048a9bc0", + "metadata": {}, + "source": [ + "### Pure" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f3d1bfee", + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "test_seed = \"L1_DoublePFJet_dEtaMax\"\n", + "\n", + "or_all_excl_seed = False\n", + "\n", + "for seed in new_masks.fields:\n", + " if seed == test_seed: continue\n", + " \n", + " or_all_excl_seed = or_all_excl_seed | new_masks[seed]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a725d02a", + "metadata": {}, + "outputs": [], + "source": [ + "np.sum((or_all_excl_seed==False) & new_masks[seed])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "005dd97c", + "metadata": {}, + "outputs": [], + "source": [ + "np.sum(new_masks[seed])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ad6c26a", + "metadata": {}, + "outputs": [], + "source": [ + "np.sum(or_all_excl_seed)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "058c7b0d", + "metadata": {}, + "outputs": [], + "source": [ + "df_masks[seed].sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89bf081b", + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "\n", + "counts = {}\n", + "\n", + "for seed in df_masks.columns:\n", + " counts[seed] = {\n", + " \"total\": df_masks[seed].sum(), \n", + " \"pure\" : ((df_masks[seed]==True)&~(df_masks.drop(seed, axis=1).any(axis=1))).sum()}\n", + "\n", + "df_counts = pd.DataFrame(counts).T" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5c409f4", + "metadata": {}, + "outputs": [], + "source": [ + "df_counts.sort_values(\"total\", ascending=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ced193f", + "metadata": {}, + "outputs": [], + "source": [ + "df_counts.sort_values(\"total\", ascending=False).plot.barh(figsize = (10,20))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7140bb52", + "metadata": {}, + "outputs": [], + "source": [ + "ax = df_counts.sort_values(\"total\", ascending=False).plot.barh(figsize = (10,20))\n", + "ax.set_xscale(\"log\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0f9727ac", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21738288", + "metadata": {}, + "outputs": [], + "source": [ + "sel = df_counts.index.str.contains(\"Mu\")\n", + "df_counts[sel].sort_values(\"total\", ascending=False).plot.barh(figsize = (10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b444b84a", + "metadata": {}, + "outputs": [], + "source": [ + "# df_counts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ec1e086e", + "metadata": {}, + "outputs": [], + "source": [ + "f,axs = plt.subplots(1,3,figsize = (20,16), sharey = True)\n", + "# hep.cms.label(ax=axs[0], llabel=\"Phase-2 Simulation\", rlabel = \"14 TeV\")\n", + "# hep.cms.label(ax=axs[0], llabel=\"Phase-2 Simulation\")\n", + "# hep.cms.label(ax=axs[2], label = \"14 TeV\")\n", + "\n", + "ax1,ax2,ax3 = axs\n", + "rate_fact = 11.2*2700/len(df_masks)\n", + "df = df_counts.sort_values(\"pure\")*rate_fact\n", + "df.plot(kind = \"barh\", ax = ax1)\n", + "df.plot(kind = \"barh\", ax = ax2)\n", + "\n", + "ax1.set_xlabel(\"L1 Rate [kHz]\")\n", + "ax1.grid()\n", + "\n", + "ax2.set_xscale(\"log\")\n", + "ax2.set_xlabel(\"L1 Rate [kHz]\")\n", + "ax2.grid()\n", + "\n", + "# pure/total\n", + "(df.pure/df.total).plot(kind = \"barh\", ax = ax3, legend = False, color = \"C2\")\n", + "\n", + "# ax3.set_xscale(\"log\")\n", + "ax3.set_xlabel(\"Pure/Total\")\n", + "ax3.grid()\n", + "\n", + "\n", + "plt.subplots_adjust(wspace=0, hspace=0)\n", + "\n", + "plt.tight_layout()\n", + "\n", + "for ext in [\".png\",\".pdf\"]:\n", + " outfname = fname.replace(\".parquet\",f\"_pureRates{ext}\")\n", + " plt.savefig(outfname)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0409d04f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4b8bb96", + "metadata": {}, + "outputs": [], + "source": [ + "outfname" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36a75bd5", + "metadata": {}, + "outputs": [], + "source": [ + "! ls /eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables/menu_Step1_V38nano_DT12x_masks_pureRates.png" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e4b3c97", + "metadata": {}, + "outputs": [], + "source": [ + "! readlink -f /eos/home-a/alobanov/www/L1T/Phase2/menu/Validation/NewMenuTools/V38nano_DT12x/rate_tables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9ddb8fe", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}