From c0fc08f14794ce65f217c5f152b7b28b018dafd0 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 1 Mar 2024 08:10:21 +0100 Subject: [PATCH 01/49] Remove all_rate config --- configs/V29/rate_plots/all_rate_plots.yaml | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 configs/V29/rate_plots/all_rate_plots.yaml diff --git a/configs/V29/rate_plots/all_rate_plots.yaml b/configs/V29/rate_plots/all_rate_plots.yaml new file mode 100644 index 00000000..02381752 --- /dev/null +++ b/configs/V29/rate_plots/all_rate_plots.yaml @@ -0,0 +1,59 @@ +HTRates: + sample: MinBias + version: V29 + test_objects: + - phase1PuppiHT:default + - seededConePuppiHT:default + # - trackerJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetDefaultRates: + sample: MinBias + version: V29 + test_objects: + - phase1PuppiJet:default + - seededConePuppiJet:default + # - trackerJet:default + binning: + min: 40 + max: 420 + step: 20 + +ElectronDefaultRates: + sample: MinBias + version: V29 + test_objects: + - EG:default + - tkElectron:NoIso + - tkElectron:Iso + - tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 + +MuonRates: + sample: MinBias + version: V29 + test_objects: + - gmtMuon:default + # - gmtMuon:oldRateID + - gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 + +TauRates: + sample: MinBias + version: V29 + test_objects: + - nnTau:default + - caloTau:default + binning: + min: 10 + max: 155 + step: 5 From 73fb42e30fb351889907325698a18d40c9069360 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 6 Feb 2024 12:07:40 +0100 Subject: [PATCH 02/49] Add L1nano compatability to caching and utils --- menu_tools/caching/cache_objects.py | 10 +++++++++- menu_tools/object_performance/turnon_collection.py | 8 +++++++- menu_tools/utils/utils.py | 7 ++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/menu_tools/caching/cache_objects.py b/menu_tools/caching/cache_objects.py index 4c304755..6388d121 100755 --- a/menu_tools/caching/cache_objects.py +++ b/menu_tools/caching/cache_objects.py @@ -258,7 +258,13 @@ def _ak_array_in_chunk(self, arr, chunk_array, branches): def _concat_array_from_ntuples(self): fnames = glob.glob(self._ntuple_path)[:] - branches = [self._object + x for x in self._branches] + ## Nano + if self._tree == "Events": + branches = [f"{self._object}_{x}" for x in self._branches] + ## menu ntuple + else: + branches = [self._object + x for x in self._branches] + all_arrays = {x.removeprefix("part"): [] for x in branches} for fname in tqdm(fnames): @@ -282,11 +288,13 @@ def _concat_array_from_ntuples(self): if self._object.startswith("part"): all_arrays = {**all_arrays, **self._ref_part_iso} + if len(all_arrays) > 1: self._final_ak_array = ak.zip({**all_arrays}) else: self._final_ak_array = ak.Array(all_arrays) + def _cache_file_exists(self): """ Checks if there is parquet file in cache diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index 50e13556..faf77e1c 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -24,7 +24,13 @@ def _transform_key(self, raw_key: str, obj: str): NTuple branch names for quality and region to "quality"/"region". """ - key = raw_key.removeprefix(obj).lower() + ## nano + if ("_" in raw_key) and ("dr_0" not in raw_key): + key = raw_key.removeprefix(obj).split("_")[-1] + ## menu ntuples + else: + key = raw_key.removeprefix(obj).lower() + if "qual" in key: return "quality" else: diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index 576cf067..6a10580a 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -63,7 +63,12 @@ def get_branches(ntuple_path: str, tree: str, obj: str): else: prefix = "L1PhaseII/" - obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if obj in x] + ## nano + if tree == "Events": + obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] + ## no nano + else: + obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(obj)] return obj_branches From 61b01e6bc372192293d520015adeeee073e977fb Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 6 Feb 2024 15:21:39 +0100 Subject: [PATCH 03/49] Add first V32 nano configs for ele and muons --- configs/V32nano/caching.yaml | 14 ++++ .../object_performance/electron_iso.yaml | 50 ++++++++++++ .../object_performance/electron_matching.yaml | 51 ++++++++++++ .../electron_matching_eta.yaml | 52 ++++++++++++ .../object_performance/electron_trigger.yaml | 57 +++++++++++++ .../object_performance/muon_matching.yaml | 73 +++++++++++++++++ .../object_performance/muon_matching_eta.yaml | 50 ++++++++++++ .../object_performance/muon_trigger.yaml | 81 +++++++++++++++++++ configs/V32nano/objects/electrons.yaml | 78 ++++++++++++++++++ configs/V32nano/objects/muons.yaml | 35 ++++++++ 10 files changed, 541 insertions(+) create mode 100644 configs/V32nano/caching.yaml create mode 100644 configs/V32nano/object_performance/electron_iso.yaml create mode 100644 configs/V32nano/object_performance/electron_matching.yaml create mode 100644 configs/V32nano/object_performance/electron_matching_eta.yaml create mode 100644 configs/V32nano/object_performance/electron_trigger.yaml create mode 100644 configs/V32nano/object_performance/muon_matching.yaml create mode 100644 configs/V32nano/object_performance/muon_matching_eta.yaml create mode 100644 configs/V32nano/object_performance/muon_trigger.yaml create mode 100644 configs/V32nano/objects/electrons.yaml create mode 100644 configs/V32nano/objects/muons.yaml diff --git a/configs/V32nano/caching.yaml b/configs/V32nano/caching.yaml new file mode 100644 index 00000000..fc10a523 --- /dev/null +++ b/configs/V32nano/caching.yaml @@ -0,0 +1,14 @@ +V32nano: + DYLL_M50: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/DYToLL_M-50_TuneCP5_14TeV-pythia8/DY_M50_131_200PU_v32_reL1only/240205_120621/0000/l1nano_*.root + trees_branches: + Events: + GenPart: "all" + prunedGenPart: "all" + GenVisTau: "all" + # L1scJet: [pt, eta, phi] + # L1scExtJet: [pt, eta, phi, btagScore] + L1gmtTkMuon: "all" + L1StaMu: "all" # aka gmtMuon + L1tkElectron: "all" + L1nnTau: "all" \ No newline at end of file diff --git a/configs/V32nano/object_performance/electron_iso.yaml b/configs/V32nano/object_performance/electron_iso.yaml new file mode 100644 index 00000000..ad547602 --- /dev/null +++ b/configs/V32nano/object_performance/electron_iso.yaml @@ -0,0 +1,50 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "prunedGenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + L1tkElectron:NoIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "prunedGenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.479" + object: + - "abs({eta}) < 2.4" + test_objects: + L1tkElectron:NoIsoForIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V32nano/object_performance/electron_matching.yaml b/configs/V32nano/object_performance/electron_matching.yaml new file mode 100644 index 00000000..0df1b274 --- /dev/null +++ b/configs/V32nano/object_performance/electron_matching.yaml @@ -0,0 +1,51 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "prunedGenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingEndcap: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "prunedGenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V32nano/object_performance/electron_matching_eta.yaml b/configs/V32nano/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..0d5774b7 --- /dev/null +++ b/configs/V32nano/object_performance/electron_matching_eta.yaml @@ -0,0 +1,52 @@ +ElectronsMatching_Eta_Pt10to25: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "prunedGenPart" + x_arg: "eta" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + # EG:default: "eta" + L1tkElectron:NoIso: "eta" + L1tkElectron:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +ElectronsMatching_Eta_Pt25toInf: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "prunedGenPart" + x_arg: "eta" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "{pt} > 25" + object: + - "abs({eta}) < 3.0" + test_objects: + # EG:default: "eta" + L1tkElectron:NoIso: "eta" + L1tkElectron:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32nano/object_performance/electron_trigger.yaml b/configs/V32nano/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..4317ccc9 --- /dev/null +++ b/configs/V32nano/object_performance/electron_trigger.yaml @@ -0,0 +1,57 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:barrel: "Pt" + tkElectron:NoIso:barrel: "Pt" + tkElectron:Iso:barrel: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +ElectronsTriggerEndcap: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:endcap: "Pt" + tkElectron:NoIso:endcap: "Pt" + tkElectron:Iso:endcap: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V32nano/object_performance/muon_matching.yaml b/configs/V32nano/object_performance/muon_matching.yaml new file mode 100644 index 00000000..f39c2a07 --- /dev/null +++ b/configs/V32nano/object_performance/muon_matching.yaml @@ -0,0 +1,73 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V32nano + 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: + L1StaMu: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: V32nano + 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: + L1StaMu: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: V32nano + 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: + L1StaMu: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/V32nano/object_performance/muon_matching_eta.yaml b/configs/V32nano/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..8b155842 --- /dev/null +++ b/configs/V32nano/object_performance/muon_matching_eta.yaml @@ -0,0 +1,50 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V32nano + 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: + L1StaMu:default: "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: V32nano + 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: + L1StaMu: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/V32nano/object_performance/muon_trigger.yaml b/configs/V32nano/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..676411cd --- /dev/null +++ b/configs/V32nano/object_performance/muon_trigger.yaml @@ -0,0 +1,81 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "Pt" + gmtTkMuon: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: V32nano + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "Pt" + gmtTkMuon: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: V32nano + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + test_objects: + gmtMuon:default:endcap: "Pt" + gmtTkMuon: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/V32nano/objects/electrons.yaml b/configs/V32nano/objects/electrons.yaml new file mode 100644 index 00000000..b6460a5c --- /dev/null +++ b/configs/V32nano/objects/electrons.yaml @@ -0,0 +1,78 @@ +# part_e: +# label: "Gen Electron" +# eta_ranges: +# inclusive: [0, 7] +# ids: +# gen_electron_default: +# cuts: +# inclusive: +# - "{dr_0.3} < 0.15" +GenPart: + label: "Gen Electron" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "(({statusFlags}>>7)&1) == 1" + +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 id in barrel" + cuts: + inclusive: + - "abs({eta}) < 2.7" + barrel: + - "({eleId} == 1) | ({pt} < 25)" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + - "({eleId} == 1) | ({pt} < 25)" + endcap: + - "abs({relIso}) < 0.28" + IsoNoIDinEE: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + - "({eleId} == 1) | ({pt} < 25)" + endcap: + - "abs({relIso}) < 0.28" + +# EG: +# 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: +# - "{passessaid} == 1" diff --git a/configs/V32nano/objects/muons.yaml b/configs/V32nano/objects/muons.yaml new file mode 100644 index 00000000..fb0d86ea --- /dev/null +++ b/configs/V32nano/objects/muons.yaml @@ -0,0 +1,35 @@ +GenPart: + label: "Gen Muon" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "(({statusFlags}>>7)&1) == 1" + + +L1StaMu: + label: "GMT 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: {} + +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: + cuts: + inclusive: + - "({hwQual} > 0) | ({pt} > 8)" # quality criterion only to be appied for p_T < 8 GeV From 51445e874c81741eac884bce67a3e5bca6da238d Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 6 Feb 2024 15:58:21 +0100 Subject: [PATCH 04/49] Add V31 and V32 menu ntuple configs --- configs/V31/caching.yaml | 83 ++++++++ configs/V31/object_performance/bJetEff.yaml | 30 +++ .../V31/object_performance/electron_iso.yaml | 48 +++++ .../object_performance/electron_matching.yaml | 49 +++++ .../electron_matching_eta.yaml | 50 +++++ .../object_performance/electron_trigger.yaml | 57 ++++++ .../V31/object_performance/jets_matching.yaml | 92 +++++++++ .../object_performance/jets_matching_eta.yaml | 92 +++++++++ .../jets_matching_wBTag.yaml | 136 +++++++++++++ .../V31/object_performance/jets_trigger.yaml | 82 ++++++++ .../object_performance/jets_trigger_fwd.yaml | 26 +++ .../V31/object_performance/met_ht_mht.yaml | 149 ++++++++++++++ configs/V31/object_performance/mht.yaml | 52 +++++ .../V31/object_performance/muon_matching.yaml | 70 +++++++ .../object_performance/muon_matching_eta.yaml | 48 +++++ .../V31/object_performance/muon_trigger.yaml | 81 ++++++++ .../V31/object_performance/photon_iso.yaml | 49 +++++ .../object_performance/photons_matching.yaml | 49 +++++ .../photons_matching_eta.yaml | 50 +++++ .../object_performance/photons_trigger.yaml | 57 ++++++ .../slim/.backups/.cele.yaml~ | 19 ++ configs/V31/object_performance/slim/cele.yaml | 18 ++ configs/V31/object_performance/slim/cjet.yaml | 22 ++ .../slim/compare_gammas.yaml | 18 ++ .../object_performance/slim/compare_jets.yaml | 22 ++ .../object_performance/slim/compare_mus.yaml | 18 ++ .../object_performance/slim/comparisons.yaml | 79 ++++++++ .../slim/egamma_trigger_inclusive.yaml | 85 ++++++++ .../slim/egamma_trigger_tkiso_inclusive.yaml | 62 ++++++ .../V31/object_performance/slim/ele_test.yaml | 45 +++++ .../slim/electron_matching.yaml | 191 ++++++++++++++++++ .../slim/electrons_comparisons.yaml | 18 ++ .../slim/jets_matching.yaml | 128 ++++++++++++ .../slim/jets_matching_eta.yaml | 64 ++++++ .../slim/jets_trigger_inclusive.yaml | 30 +++ .../slim/jets_trigger_sc_inclusive.yaml | 22 ++ configs/V31/object_performance/slim/met.yaml | 84 ++++++++ .../slim/muon_matching.yaml | 104 ++++++++++ .../slim/muon_trigger_gmtTK_inclusive.yaml | 27 +++ .../slim/muon_trigger_inclusive.yaml | 31 +++ .../V31/object_performance/slim/pho_test.yaml | 47 +++++ .../slim/photons_matching.yaml | 191 ++++++++++++++++++ .../object_performance/slim/tau_matching.yaml | 67 ++++++ .../slim/tau_matching_eta.yaml | 137 +++++++++++++ .../slim/tau_trigger_inclusive.yaml | 31 +++ .../V31/object_performance/tau_matching.yaml | 47 +++++ .../object_performance/tau_matching_wHH.yaml | 47 +++++ .../V31/object_performance/tau_trigger.yaml | 111 ++++++++++ .../version_comparison.yaml | 44 ++++ configs/V31/objects/electrons.yaml | 69 +++++++ configs/V31/objects/jets.yaml | 70 +++++++ configs/V31/objects/met_ht_mht.yaml | 39 ++++ configs/V31/objects/muons.yaml | 24 +++ configs/V31/objects/photons.yaml | 27 +++ configs/V31/objects/taus.yaml | 29 +++ configs/V32/caching.yaml | 80 ++++++++ configs/V32/object_performance/bJetEff.yaml | 30 +++ .../V32/object_performance/electron_iso.yaml | 48 +++++ .../object_performance/electron_matching.yaml | 49 +++++ .../electron_matching_eta.yaml | 50 +++++ .../object_performance/electron_trigger.yaml | 57 ++++++ .../V32/object_performance/jets_matching.yaml | 92 +++++++++ .../object_performance/jets_matching_eta.yaml | 92 +++++++++ .../jets_matching_wBTag.yaml | 136 +++++++++++++ .../V32/object_performance/jets_trigger.yaml | 82 ++++++++ .../object_performance/jets_trigger_fwd.yaml | 26 +++ .../V32/object_performance/met_ht_mht.yaml | 149 ++++++++++++++ configs/V32/object_performance/mht.yaml | 52 +++++ .../V32/object_performance/muon_matching.yaml | 70 +++++++ .../object_performance/muon_matching_eta.yaml | 48 +++++ .../V32/object_performance/muon_trigger.yaml | 81 ++++++++ .../V32/object_performance/photon_iso.yaml | 49 +++++ .../object_performance/photons_matching.yaml | 49 +++++ .../photons_matching_eta.yaml | 50 +++++ .../object_performance/photons_trigger.yaml | 57 ++++++ .../V32/object_performance/tau_matching.yaml | 47 +++++ .../object_performance/tau_matching_wHH.yaml | 47 +++++ .../V32/object_performance/tau_trigger.yaml | 111 ++++++++++ .../version_comparison.yaml | 44 ++++ configs/V32/objects/electrons.yaml | 69 +++++++ configs/V32/objects/jets.yaml | 70 +++++++ configs/V32/objects/met_ht_mht.yaml | 39 ++++ configs/V32/objects/muons.yaml | 24 +++ configs/V32/objects/photons.yaml | 27 +++ configs/V32/objects/taus.yaml | 29 +++ configs/V32/rate_plots/all_rate_plots.yaml | 59 ++++++ 86 files changed, 5330 insertions(+) create mode 100644 configs/V31/caching.yaml create mode 100644 configs/V31/object_performance/bJetEff.yaml create mode 100644 configs/V31/object_performance/electron_iso.yaml create mode 100644 configs/V31/object_performance/electron_matching.yaml create mode 100644 configs/V31/object_performance/electron_matching_eta.yaml create mode 100644 configs/V31/object_performance/electron_trigger.yaml create mode 100644 configs/V31/object_performance/jets_matching.yaml create mode 100644 configs/V31/object_performance/jets_matching_eta.yaml create mode 100644 configs/V31/object_performance/jets_matching_wBTag.yaml create mode 100644 configs/V31/object_performance/jets_trigger.yaml create mode 100644 configs/V31/object_performance/jets_trigger_fwd.yaml create mode 100644 configs/V31/object_performance/met_ht_mht.yaml create mode 100644 configs/V31/object_performance/mht.yaml create mode 100644 configs/V31/object_performance/muon_matching.yaml create mode 100644 configs/V31/object_performance/muon_matching_eta.yaml create mode 100644 configs/V31/object_performance/muon_trigger.yaml create mode 100644 configs/V31/object_performance/photon_iso.yaml create mode 100644 configs/V31/object_performance/photons_matching.yaml create mode 100644 configs/V31/object_performance/photons_matching_eta.yaml create mode 100644 configs/V31/object_performance/photons_trigger.yaml create mode 100644 configs/V31/object_performance/slim/.backups/.cele.yaml~ create mode 100644 configs/V31/object_performance/slim/cele.yaml create mode 100644 configs/V31/object_performance/slim/cjet.yaml create mode 100644 configs/V31/object_performance/slim/compare_gammas.yaml create mode 100644 configs/V31/object_performance/slim/compare_jets.yaml create mode 100644 configs/V31/object_performance/slim/compare_mus.yaml create mode 100644 configs/V31/object_performance/slim/comparisons.yaml create mode 100644 configs/V31/object_performance/slim/egamma_trigger_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/egamma_trigger_tkiso_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/ele_test.yaml create mode 100644 configs/V31/object_performance/slim/electron_matching.yaml create mode 100644 configs/V31/object_performance/slim/electrons_comparisons.yaml create mode 100644 configs/V31/object_performance/slim/jets_matching.yaml create mode 100644 configs/V31/object_performance/slim/jets_matching_eta.yaml create mode 100644 configs/V31/object_performance/slim/jets_trigger_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/jets_trigger_sc_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/met.yaml create mode 100644 configs/V31/object_performance/slim/muon_matching.yaml create mode 100644 configs/V31/object_performance/slim/muon_trigger_gmtTK_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/muon_trigger_inclusive.yaml create mode 100644 configs/V31/object_performance/slim/pho_test.yaml create mode 100644 configs/V31/object_performance/slim/photons_matching.yaml create mode 100644 configs/V31/object_performance/slim/tau_matching.yaml create mode 100644 configs/V31/object_performance/slim/tau_matching_eta.yaml create mode 100644 configs/V31/object_performance/slim/tau_trigger_inclusive.yaml create mode 100644 configs/V31/object_performance/tau_matching.yaml create mode 100644 configs/V31/object_performance/tau_matching_wHH.yaml create mode 100644 configs/V31/object_performance/tau_trigger.yaml create mode 100644 configs/V31/object_performance/version_comparison.yaml create mode 100644 configs/V31/objects/electrons.yaml create mode 100644 configs/V31/objects/jets.yaml create mode 100644 configs/V31/objects/met_ht_mht.yaml create mode 100644 configs/V31/objects/muons.yaml create mode 100644 configs/V31/objects/photons.yaml create mode 100644 configs/V31/objects/taus.yaml create mode 100644 configs/V32/caching.yaml create mode 100644 configs/V32/object_performance/bJetEff.yaml create mode 100644 configs/V32/object_performance/electron_iso.yaml create mode 100644 configs/V32/object_performance/electron_matching.yaml create mode 100644 configs/V32/object_performance/electron_matching_eta.yaml create mode 100644 configs/V32/object_performance/electron_trigger.yaml create mode 100644 configs/V32/object_performance/jets_matching.yaml create mode 100644 configs/V32/object_performance/jets_matching_eta.yaml create mode 100644 configs/V32/object_performance/jets_matching_wBTag.yaml create mode 100644 configs/V32/object_performance/jets_trigger.yaml create mode 100644 configs/V32/object_performance/jets_trigger_fwd.yaml create mode 100644 configs/V32/object_performance/met_ht_mht.yaml create mode 100644 configs/V32/object_performance/mht.yaml create mode 100644 configs/V32/object_performance/muon_matching.yaml create mode 100644 configs/V32/object_performance/muon_matching_eta.yaml create mode 100644 configs/V32/object_performance/muon_trigger.yaml create mode 100644 configs/V32/object_performance/photon_iso.yaml create mode 100644 configs/V32/object_performance/photons_matching.yaml create mode 100644 configs/V32/object_performance/photons_matching_eta.yaml create mode 100644 configs/V32/object_performance/photons_trigger.yaml create mode 100644 configs/V32/object_performance/tau_matching.yaml create mode 100644 configs/V32/object_performance/tau_matching_wHH.yaml create mode 100644 configs/V32/object_performance/tau_trigger.yaml create mode 100644 configs/V32/object_performance/version_comparison.yaml create mode 100644 configs/V32/objects/electrons.yaml create mode 100644 configs/V32/objects/jets.yaml create mode 100644 configs/V32/objects/met_ht_mht.yaml create mode 100644 configs/V32/objects/muons.yaml create mode 100644 configs/V32/objects/photons.yaml create mode 100644 configs/V32/objects/taus.yaml create mode 100644 configs/V32/rate_plots/all_rate_plots.yaml diff --git a/configs/V31/caching.yaml b/configs/V31/caching.yaml new file mode 100644 index 00000000..56f0a78e --- /dev/null +++ b/configs/V31/caching.yaml @@ -0,0 +1,83 @@ +V31: + DYLL_M50: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/DYToLL_M-50_TuneCP5_14TeV-pythia8/DY_M50_1252_200PU_v29_13x_fixTkPhi/230822_121429/0000/L*.root + trees_branches: + genTree/L1GenTree: + part_mu: [Id, Stat, Pt, Eta, Phi] + part_e: [Id, Stat, Pt, Eta, Phi] + l1PhaseIITree/L1PhaseIITree: + tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, EGRefPt, EGRefEta, EGRefPhi, HGC, PassesEleID, PassesPhoID] + EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] + gmtMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, Bx] + gmtTkMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, NStubs, Bx] + z0L1TkPV: "all" + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/TT_TuneCP5_14TeV-powheg-pythia8/TT_131_200PU_v29_13x_fixTkPhi/230822_122619/0000/L*.root + trees_branches: + genTree/L1GenTree: + genMetTrue: "all" + jet: "all" + l1PhaseIITree/L1PhaseIITree: + puppiMET: "all" + phase1PuppiJet: "all" + phase1PuppiMHT: "all" + phase1PuppiHT: "all" + seededConePuppiJet: [Pt, Et, Eta, Phi] + seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] + seededConePuppiHT: "all" + seededConePuppiMHT: "all" + trackerJet: [Pt, Eta, Phi] + trackerMET: "all" + trackerMHT: "all" + trackerHT: "all" + # caloJet: "all" + caloJet: [Et, Pt, Eta, Phi] + ## DEBUG + #tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, EGRefPt, EGRefEta, EGRefPhi, HGC, PassesEleID, PassesPhoID] + #tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] + z0L1TkPV: "all" + VBFHToTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v29_13x_fixTkPhi/230822_122634/0000/L*.root + trees_branches: + genTree/L1GenTree: + part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] + l1PhaseIITree/L1PhaseIITree: + nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + caloTau: [Et, Eta, Pt, Phi, Iso, HwQual, Bx] + HHToTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/GluGluToHHTo2B2Tau_node_SM_TuneCP5_14TeV-madgraph-pythia8/HHTo2B2Tau_131_200PU_v29_13x_fixTkPhi/230824_130354/0000/L*.root + trees_branches: + genTree/L1GenTree: + part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] + l1PhaseIITree/L1PhaseIITree: + nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + caloTau: [Et, Eta, Pt, Phi, Iso, HwQual] + Hgg: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/GluGluHToGG_M-125_TuneCP5_14TeV-powheg-pythia8/GluGluHToGG_131_200PU_v29_13x_fixTkPhi/230822_122650/0000/L*.root + trees_branches: + genTree/L1GenTree: + part_gamma: [Id, Stat, Pt, Eta, Phi] + l1PhaseIITree/L1PhaseIITree: + tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID, TrkIsoPV] + EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] + MinBias: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/13X/v29/MinBias_TuneCP5_14TeV-pythia8/MinBias_131_v29_13x_fixTkPhi/230825_103803/M*.root + trees_branches: + l1PhaseIITree/L1PhaseIITree: + puppiMET: "all" + # phase1PuppiJet: "all" + # phase1PuppiMHT: "all" + # phase1PuppiHT: "all" + seededConePuppiJet: [Pt, Et, Eta, Phi] + seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] + seededConeExtendedPuppiHT: "all" + seededConePuppiHT: "all" + seededConePuppiMHT: "all" + tkElectron: [Pt, Et, Eta, Phi, Chg, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] + EG: [Pt, Et, Eta, Phi, Iso, HwQual, HGC, PassesEleID, PassesSaID] + gmtTkMuon: [Pt, Eta, Phi, Z0, D0, Chg, Qual ] + nnTau: [Et, Eta, Pt, Phi, Z0, PassTightNN, Chg, DXY, PassLooseNN] + tkPhoton: [Pt, Et, Eta, Phi, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] + z0L1TkPV: "all" + caloTau: [Et, Eta, Pt, Phi, Iso, HwQual] + diff --git a/configs/V31/object_performance/bJetEff.yaml b/configs/V31/object_performance/bJetEff.yaml new file mode 100644 index 00000000..eaa197fb --- /dev/null +++ b/configs/V31/object_performance/bJetEff.yaml @@ -0,0 +1,30 @@ +BJetEff_Pt: + files: + JetMatching_Pt_Pt30ToInf_genBJets_-999_V31: + object: seededConeExtendedPuppiJet + dir: outputs/V31/turnons/ + label: "Signal: Matched b-jets" + JetMatching_Pt_Pt30ToInf_genNotBJets_-999_V31: + object: seededConeExtendedPuppiJet + dir: outputs/V31/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + watermark: "BJet_Pt" + save_dir: "outputs/V31/BJet/turnons" + + +BJetEff_Eta: + files: + JetMatching_Eta_Pt30ToInf_genBJets_-999_V31: + object: seededConeExtendedPuppiJet + dir: outputs/V31/turnons/ + label: "Signal: Matched b-jets" + JetMatching_Eta_Pt30ToInf_genNotBJets_-999_V31: + object: seededConeExtendedPuppiJet + dir: outputs/V31/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency" + watermark: "BJet_Eta" + save_dir: "outputs/V31/BJet/turnons" diff --git a/configs/V31/object_performance/electron_iso.yaml b/configs/V31/object_performance/electron_iso.yaml new file mode 100644 index 00000000..e3495dae --- /dev/null +++ b/configs/V31/object_performance/electron_iso.yaml @@ -0,0 +1,48 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + tkElectron:NoIso: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.479" + object: + - "abs({eta}) < 2.4" + test_objects: + tkElectron:NoIsoForIso: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V31/object_performance/electron_matching.yaml b/configs/V31/object_performance/electron_matching.yaml new file mode 100644 index 00000000..80145763 --- /dev/null +++ b/configs/V31/object_performance/electron_matching.yaml @@ -0,0 +1,49 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkElectron:NoIso: "Pt" + tkElectron:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingEndcap: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkElectron:NoIso: "Pt" + tkElectron:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/electron_matching_eta.yaml b/configs/V31/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..c88dd333 --- /dev/null +++ b/configs/V31/object_performance/electron_matching_eta.yaml @@ -0,0 +1,50 @@ +ElectronsMatching_Eta_Pt10to25: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Eta" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkElectron:NoIso: "Eta" + tkElectron:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +ElectronsMatching_Eta_Pt25toInf: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Eta" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 25" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkElectron:NoIso: "Eta" + tkElectron:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V31/object_performance/electron_trigger.yaml b/configs/V31/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..df459773 --- /dev/null +++ b/configs/V31/object_performance/electron_trigger.yaml @@ -0,0 +1,57 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:barrel: "Pt" + tkElectron:NoIso:barrel: "Pt" + tkElectron:Iso:barrel: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +ElectronsTriggerEndcap: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:endcap: "Pt" + tkElectron:NoIso:endcap: "Pt" + tkElectron:Iso:endcap: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V31/object_performance/jets_matching.yaml b/configs/V31/object_performance/jets_matching.yaml new file mode 100644 index 00000000..fb3555be --- /dev/null +++ b/configs/V31/object_performance/jets_matching.yaml @@ -0,0 +1,92 @@ +JetMatchingForward_3p7to7: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 3.7" + object: + - "abs({eta}) < 5" + test_objects: + caloJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 300 + step: 5 + +JetMatchingBarrel: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + trackerJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + trackerJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V31 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V31/object_performance/jets_matching_eta.yaml b/configs/V31/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..396bb674 --- /dev/null +++ b/configs/V31/object_performance/jets_matching_eta.yaml @@ -0,0 +1,92 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Eta" + seededConePuppiJet:default: "Eta" + trackerJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Eta" + seededConePuppiJet:default: "Eta" + trackerJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + caloJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5.5 + max: 5.5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + caloJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -7 + max: 7 + step: 0.25 diff --git a/configs/V31/object_performance/jets_matching_wBTag.yaml b/configs/V31/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..50cd0938 --- /dev/null +++ b/configs/V31/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,136 @@ +JetMatching_Eta_Pt40To100_ExtendedVsRegular: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet:default: "Eta" + seededConeExtendedPuppiJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_ExtendedVsRegular: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet:default: "Eta" + seededConeExtendedPuppiJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genBJets: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonflavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotBJets: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonflavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genBJets: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonflavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotBJets: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonflavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V31/object_performance/jets_trigger.yaml b/configs/V31/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..34bd677d --- /dev/null +++ b/configs/V31/object_performance/jets_trigger.yaml @@ -0,0 +1,82 @@ +JetTurnonBarrel: + version: V31 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default:barrel: "Pt" + seededConePuppiJet:default:barrel: "Pt" + trackerJet:default:barrel: "Pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcap: + version: V31 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default:endcap: "Pt" + seededConePuppiJet:default:endcap: "Pt" + trackerJet:default:endcap: "Pt" + thresholds: [50] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForward: + version: V31 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default:forward: "Pt" + seededConePuppiJet:default:forward: "Pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V31/object_performance/jets_trigger_fwd.yaml b/configs/V31/object_performance/jets_trigger_fwd.yaml new file mode 100644 index 00000000..1775d462 --- /dev/null +++ b/configs/V31/object_performance/jets_trigger_fwd.yaml @@ -0,0 +1,26 @@ +JetTurnonFwd_3p7to7: + sample: TT + version: V31 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 3.7" + object: + - "abs({eta}) < 7" + test_objects: + phase1PuppiJet:default:forward: "Pt" + seededConePuppiJet:default:forward: "Pt" + thresholds: [50,100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: r'Trigger Efficiency ( GeV, $3.6<\eta<6$)' + binning: + min: 0 + max: 300 + step: 10 diff --git a/configs/V31/object_performance/met_ht_mht.yaml b/configs/V31/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..6a93d431 --- /dev/null +++ b/configs/V31/object_performance/met_ht_mht.yaml @@ -0,0 +1,149 @@ +HT_90perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + trackerHT:default: "" + phase1PuppiHT:default: "" + seededConePuppiHT:default: "" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +HT_50perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + trackerHT:default: "" + phase1PuppiHT:default: "" + seededConePuppiHT:default: "" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.50 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +MHT_50perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + trackerMHT:default: "" + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + 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_90perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + trackerMHT:default: "" + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +MET_90perc: + sample: TT + version: V31 + reference_object: + object: "genMetTrue" + x_arg: "" + label: "Gen MET" + test_objects: + trackerMET:default: "" + puppiMET:default: "et" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 + +MET_50perc: + sample: TT + version: V31 + reference_object: + object: "genMetTrue" + x_arg: "" + label: "Gen MET" + test_objects: + trackerMET:default: "" + puppiMET:default: "et" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V31/object_performance/mht.yaml b/configs/V31/object_performance/mht.yaml new file mode 100644 index 00000000..4658ff01 --- /dev/null +++ b/configs/V31/object_performance/mht.yaml @@ -0,0 +1,52 @@ +MHT30_90perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +MHT30_50perc: + sample: TT + version: V31 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + trackerMHT:default: "" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.50 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V31/object_performance/muon_matching.yaml b/configs/V31/object_performance/muon_matching.yaml new file mode 100644 index 00000000..d8684fcb --- /dev/null +++ b/configs/V31/object_performance/muon_matching.yaml @@ -0,0 +1,70 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "Pt" + gmtTkMuon:default:barrel: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingOverlap: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "Pt" + gmtTkMuon:default:overlap: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingEndcap: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default:endcap: "Pt" + gmtTkMuon:default:endcap: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/muon_matching_eta.yaml b/configs/V31/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..4a948de0 --- /dev/null +++ b/configs/V31/object_performance/muon_matching_eta.yaml @@ -0,0 +1,48 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Eta" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default: "Eta" + gmtTkMuon: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: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Eta" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default: "Eta" + gmtTkMuon:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V31/object_performance/muon_trigger.yaml b/configs/V31/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..fd0fbe34 --- /dev/null +++ b/configs/V31/object_performance/muon_trigger.yaml @@ -0,0 +1,81 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "Pt" + gmtTkMuon: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: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "Pt" + gmtTkMuon: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: V31 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + test_objects: + gmtMuon:default:endcap: "Pt" + gmtTkMuon: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/V31/object_performance/photon_iso.yaml b/configs/V31/object_performance/photon_iso.yaml new file mode 100644 index 00000000..6a55b569 --- /dev/null +++ b/configs/V31/object_performance/photon_iso.yaml @@ -0,0 +1,49 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V31 + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + tkPhoton:NoIso:barrel: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +PhotonIsolation_Endcap: + sample: Hgg + version: V31 + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.479" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) > 1.479" + test_objects: + tkPhoton:NoIso:endcap: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V31/object_performance/photons_matching.yaml b/configs/V31/object_performance/photons_matching.yaml new file mode 100644 index 00000000..76167a8a --- /dev/null +++ b/configs/V31/object_performance/photons_matching.yaml @@ -0,0 +1,49 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkPhoton:NoIso: "Pt" + tkPhoton:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Endcap: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkPhoton:NoIso: "Pt" + tkPhoton:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/photons_matching_eta.yaml b/configs/V31/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..ddc39d4c --- /dev/null +++ b/configs/V31/object_performance/photons_matching_eta.yaml @@ -0,0 +1,50 @@ +PhotonsMatching_Eta_Pt10to25: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkPhoton:NoIso: "Eta" + tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +PhotonsMatching_Eta_Pt25toInf: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} >= 25" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkPhoton:NoIso: "Eta" + tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V31/object_performance/photons_trigger.yaml b/configs/V31/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..4ee00e33 --- /dev/null +++ b/configs/V31/object_performance/photons_trigger.yaml @@ -0,0 +1,57 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:barrel: "Pt" + tkPhoton:NoIso:barrel: "Pt" + tkPhoton:Iso:barrel: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Endcap: + sample: Hgg + version: V31 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:endcap: "Pt" + tkPhoton:NoIso:endcap: "Pt" + tkPhoton:Iso:endcap: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V31/object_performance/slim/.backups/.cele.yaml~ b/configs/V31/object_performance/slim/.backups/.cele.yaml~ new file mode 100644 index 00000000..91ccd23e --- /dev/null +++ b/configs/V31/object_performance/slim/.backups/.cele.yaml~ @@ -0,0 +1,19 @@ + +Electrons_Turnons_V29: + files: + ElectronsMatching_10_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>10)" + ElectronsMatching_20_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>20)" + ElectronsMatching_30_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_tkIsoEle_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/cele.yaml b/configs/V31/object_performance/slim/cele.yaml new file mode 100644 index 00000000..65c3f929 --- /dev/null +++ b/configs/V31/object_performance/slim/cele.yaml @@ -0,0 +1,18 @@ +Electrons_Turnons_V29: + files: + ElectronsMatching_10_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>10)" + ElectronsMatching_20_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>20)" + ElectronsMatching_30_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_tkIsoEle_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/cjet.yaml b/configs/V31/object_performance/slim/cjet.yaml new file mode 100644 index 00000000..b3af3c02 --- /dev/null +++ b/configs/V31/object_performance/slim/cjet.yaml @@ -0,0 +1,22 @@ +Jets_Turnons_V29: + files: + JetMatching_25_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>25)" + JetMatching_50_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>50)" + JetMatching_75_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>75)" + JetMatching_100_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>100)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_SCJet_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/compare_gammas.yaml b/configs/V31/object_performance/slim/compare_gammas.yaml new file mode 100644 index 00000000..00a041b2 --- /dev/null +++ b/configs/V31/object_performance/slim/compare_gammas.yaml @@ -0,0 +1,18 @@ +Photons_Turnons_V29: + files: + PhotonsTrigger_Iso_Inclusive_10_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>10)" + PhotonsTrigger_Iso_Inclusive_20_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>20)" + PhotonsTrigger_Iso_Inclusive_30_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency" + watermark: "V29_tkIsoPhoton_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/compare_jets.yaml b/configs/V31/object_performance/slim/compare_jets.yaml new file mode 100644 index 00000000..0d787d2f --- /dev/null +++ b/configs/V31/object_performance/slim/compare_jets.yaml @@ -0,0 +1,22 @@ +Jets_Turnons_V29: + files: + JetTurnon_SC_Inclusive_25_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>25)" + JetTurnon_SC_Inclusive_50_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>50)" + JetTurnon_SC_Inclusive_75_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>75)" + JetTurnon_SC_Inclusive_100_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>100)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency" + watermark: "V29_SCJet_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/compare_mus.yaml b/configs/V31/object_performance/slim/compare_mus.yaml new file mode 100644 index 00000000..e07ffa49 --- /dev/null +++ b/configs/V31/object_performance/slim/compare_mus.yaml @@ -0,0 +1,18 @@ +Muons_Turnons_V29: + files: + MuonsTrigger_gmtkMu_Inclusive_5_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>5)" + MuonsTrigger_gmtkMu_Inclusive_15_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>15)" + MuonsTrigger_gmtkMu_Inclusive_25_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>25)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency" + watermark: "V29_gmtTkMuon_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/comparisons.yaml b/configs/V31/object_performance/slim/comparisons.yaml new file mode 100644 index 00000000..b45fc48f --- /dev/null +++ b/configs/V31/object_performance/slim/comparisons.yaml @@ -0,0 +1,79 @@ +Photons_Turnons_V29: + files: + PhotonsMatching_10_-999_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>10)" + PhotonsMatching_20_-999_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>20)" + PhotonsMatching_30_-999_V29: + object: tkIsoPhoton + dir: outputs/V29/turnons/ + label: "tkIsoPhoton (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_tkIsoPhoton_Comp" + save_dir: "outputs/V29/turnons" + +Jets_Turnons_V29: + files: + JetMatching_25_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>25)" + JetMatching_50_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>50)" + JetMatching_75_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>75)" + JetMatching_100_-999_V29: + object: seededConePuppiJet + dir: outputs/V29/turnons/ + label: "SC PuppiJet (L1 $p_T$>100)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_SCJet_Comp" + save_dir: "outputs/V29/turnons" + +Electrons_Turnons_V29: + files: + ElectronsMatching_10_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>10)" + ElectronsMatching_20_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>20)" + ElectronsMatching_30_-999_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_tkIsoEle_Comp" + save_dir: "outputs/V29/turnons" + +Muons_Turnons_V29: + files: + MuonsMatching_5_-999_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>5)" + MuonsMatching_15_-999_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>15)" + MuonsMatching_25_-999_V29: + object: gmtTkMuon + dir: outputs/V29/turnons/ + label: "GMT TkMuon (L1 $p_T$>25)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + watermark: "V29_gmtTkMuon_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/egamma_trigger_inclusive.yaml b/configs/V31/object_performance/slim/egamma_trigger_inclusive.yaml new file mode 100644 index 00000000..fd66981f --- /dev/null +++ b/configs/V31/object_performance/slim/egamma_trigger_inclusive.yaml @@ -0,0 +1,85 @@ +ElectronsTrigger_Inclusive: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + EG: + suffix: "Pt" + label: "EG" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + tkElectron: + suffix: "Pt" + label: "tkElectron" + match_dR: 0.15 + cuts: + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "tkIsoElectron" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "{passeseleid} == 1" + thresholds: [30] #[10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Inclusive: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + EG: + suffix: "Pt" + label: "EG" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "{passeseleid} == 1" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton" + quality_id: "QUAL_125x_tkPhoID" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + thresholds: [30] #[10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V31/object_performance/slim/egamma_trigger_tkiso_inclusive.yaml b/configs/V31/object_performance/slim/egamma_trigger_tkiso_inclusive.yaml new file mode 100644 index 00000000..d2b367c4 --- /dev/null +++ b/configs/V31/object_performance/slim/egamma_trigger_tkiso_inclusive.yaml @@ -0,0 +1,62 @@ +ElectronsTrigger_Iso_Inclusive: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "tkIsoElectron" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "{passeseleid} == 1" + thresholds: [10, 20, 30] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Iso_Inclusive: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + thresholds: [10, 20, 30] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V31/object_performance/slim/ele_test.yaml b/configs/V31/object_performance/slim/ele_test.yaml new file mode 100644 index 00000000..a43c6949 --- /dev/null +++ b/configs/V31/object_performance/slim/ele_test.yaml @@ -0,0 +1,45 @@ +ElectronsMatching_25: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 25" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + tkElectron: + suffix: "Pt" + label: "TkElectron" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "TkIsoElectron" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "{passeseleid} == 1" + - "abs({eta}) < 2.5" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 0 + max: 150 + step: 3 diff --git a/configs/V31/object_performance/slim/electron_matching.yaml b/configs/V31/object_performance/slim/electron_matching.yaml new file mode 100644 index 00000000..5463cb9f --- /dev/null +++ b/configs/V31/object_performance/slim/electron_matching.yaml @@ -0,0 +1,191 @@ +ElectronsMatching_10: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 10 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 10" + tkElectron: + suffix: "Pt" + label: "TkElectron (L1 $p_{T}$ > 10 GeV)" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 10" + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "TkIsoElectron (L1 $p_{T}$ > 10 GeV)" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{passeseleid} == 1" + - "{pt} > 10" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 3 + +ElectronsMatching_20: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 20 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 20" + tkElectron: + suffix: "Pt" + label: "TkElectron (L1 $p_{T}$ > 20 GeV)" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 20" + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "TkIsoElectron (L1 $p_{T}$ > 20 GeV)" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{passeseleid} == 1" + - "{pt} > 20" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 3 + +ElectronsMatching_25: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 25 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + tkElectron: + suffix: "Pt" + label: "TkElectron (L1 $p_{T}$ > 25 GeV)" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "TkIsoElectron (L1 $p_{T}$ > 25 GeV)" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{passeseleid} == 1" + - "{pt} > 25" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 3 + +ElectronsMatching_30: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_e" + suffix: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 30 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 30" + tkElectron: + suffix: "Pt" + label: "TkElectron (L1 $p_{T}$ > 30 GeV)" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 30" + - "{passeseleid} == 1" + tkIsoElectron: + base_obj: "tkElectron" + suffix: "Pt" + label: "TkIsoElectron (L1 $p_{T}$ > 30 GeV)" + iso_BB: 0.13 + iso_EE: 0.28 + iso_branch: "trkiso" + match_dR: 0.15 + cuts: + - "abs({eta}) < 2.5" + - "{passeseleid} == 1" + - "{pt} > 30" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 3 diff --git a/configs/V31/object_performance/slim/electrons_comparisons.yaml b/configs/V31/object_performance/slim/electrons_comparisons.yaml new file mode 100644 index 00000000..c5e35714 --- /dev/null +++ b/configs/V31/object_performance/slim/electrons_comparisons.yaml @@ -0,0 +1,18 @@ +Electrons_Turnons_V29: + files: + ElectronsTrigger_Iso_Inclusive_10_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>10)" + ElectronsTrigger_Iso_Inclusive_20_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>20)" + ElectronsTrigger_Iso_Inclusive_30_V29: + object: tkIsoElectron + dir: outputs/V29/turnons/ + label: "tkIsoElectron (L1 $p_T$>30)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency" + watermark: "V29_tkIsoEle_Comp" + save_dir: "outputs/V29/turnons" diff --git a/configs/V31/object_performance/slim/jets_matching.yaml b/configs/V31/object_performance/slim/jets_matching.yaml new file mode 100644 index 00000000..d8c38fd5 --- /dev/null +++ b/configs/V31/object_performance/slim/jets_matching.yaml @@ -0,0 +1,128 @@ +JetMatching_25: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + cuts: + object: + - "abs({eta}) < 2.5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet (L1 $p_{T}$ > 25 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + trackerJet: + match_dR: 0.4 + suffix: "Pt" + label: "Tracker Jet (L1 $p_{T}$ > 25 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 500 + step: 10 + +JetMatching_50: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + cuts: + object: + - "abs({eta}) < 2.5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet (L1 $p_{T}$ > 50 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 50" + trackerJet: + match_dR: 0.4 + suffix: "Pt" + label: "Tracker Jet (L1 $p_{T}$ > 50 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 50" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 500 + step: 10 + +JetMatching_75: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + cuts: + object: + - "abs({eta}) < 2.5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet (L1 $p_{T}$ > 75 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 75" + trackerJet: + match_dR: 0.4 + suffix: "Pt" + label: "Tracker Jet (L1 $p_{T}$ > 75 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 75" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 500 + step: 10 + +JetMatching_160: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + cuts: + object: + - "abs({eta}) < 2.5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet (L1 $p_{T}$ > 160 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 160" + trackerJet: + match_dR: 0.4 + suffix: "Pt" + label: "Tracker Jet (L1 $p_{T}$ > 160 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 160" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 500 + step: 10 + diff --git a/configs/V31/object_performance/slim/jets_matching_eta.yaml b/configs/V31/object_performance/slim/jets_matching_eta.yaml new file mode 100644 index 00000000..eb3aad26 --- /dev/null +++ b/configs/V31/object_performance/slim/jets_matching_eta.yaml @@ -0,0 +1,64 @@ +JetMatching_Eta_Pt40To100: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Eta" + label: "Seeded Cone PuppiJet" + cuts: + - "abs({eta}) < 5" + trackerJet: + match_dR: 0.4 + suffix: "Eta" + label: "Tracker Jet" + cuts: + - "abs({eta}) < 2.4" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Eta" + label: "Seeded Cone PuppiJet" + cuts: + - "abs({eta}) < 5" + trackerJet: + match_dR: 0.4 + suffix: "Eta" + label: "Tracker Jet" + cuts: + - "abs({eta}) < 2.4" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 diff --git a/configs/V31/object_performance/slim/jets_trigger_inclusive.yaml b/configs/V31/object_performance/slim/jets_trigger_inclusive.yaml new file mode 100644 index 00000000..52bb659d --- /dev/null +++ b/configs/V31/object_performance/slim/jets_trigger_inclusive.yaml @@ -0,0 +1,30 @@ +JetTurnon_Inclusive: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + test_objects: + phase1PuppiJet: + match_dR: 0.3 + suffix: "Pt" + label: "Histogrammed PuppiJet" + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet" + trackerJet: + match_dR: 0.4 + suffix: "Pt" + label: "Tracker Jet" + thresholds: [100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V31/object_performance/slim/jets_trigger_sc_inclusive.yaml b/configs/V31/object_performance/slim/jets_trigger_sc_inclusive.yaml new file mode 100644 index 00000000..bff95210 --- /dev/null +++ b/configs/V31/object_performance/slim/jets_trigger_sc_inclusive.yaml @@ -0,0 +1,22 @@ +JetTurnon_SC_Inclusive: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen Jets" + test_objects: + seededConePuppiJet: + match_dR: 0.35 + suffix: "Pt" + label: "Seeded Cone PuppiJet" + thresholds: [25, 50, 75, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V31/object_performance/slim/met.yaml b/configs/V31/object_performance/slim/met.yaml new file mode 100644 index 00000000..6ad199f6 --- /dev/null +++ b/configs/V31/object_performance/slim/met.yaml @@ -0,0 +1,84 @@ +MET: + sample: TT + default_version: V29 + reference_object: + object: "genMetTrue" + suffix: "" + label: "Gen MET" + test_objects: + puppiMET: + suffix: "et" + label: "Puppi MET" + trackerMET: + suffix: "" + label: "Tracker MET" + thresholds: [90] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 + +MHT30: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + seededConePuppiMHT: + suffix: "et" + label: "SeededCone MHT" + trackerMHT: + suffix: "" + label: "Tracker MHT" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +HT: + sample: TT + default_version: V29 + reference_object: + object: "jet" + suffix: "Pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + seededConePuppiHT: + suffix: "" + label: "SeededCone HT" + trackerHT: + suffix: "" + label: "Tracker HT" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 diff --git a/configs/V31/object_performance/slim/muon_matching.yaml b/configs/V31/object_performance/slim/muon_matching.yaml new file mode 100644 index 00000000..755f0c12 --- /dev/null +++ b/configs/V31/object_performance/slim/muon_matching.yaml @@ -0,0 +1,104 @@ +MuonsMatching_5: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_mu" + suffix: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon: + suffix: "Pt" + label: "GMT Muon (L1 $p_{T}$ > 5 GeV)" + match_dR: 0.3 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 5" + gmtTkMuon: + suffix: "Pt" + label: "GMT TkMuon (L1 $p_{T}$ > 5 GeV)" + match_dR: 0.1 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 5" + - "({quality}) > 0" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatching_15: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_mu" + suffix: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon: + suffix: "Pt" + label: "GMT Muon (L1 $p_{T}$ > 15 GeV)" + match_dR: 0.3 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 15" + gmtTkMuon: + suffix: "Pt" + label: "GMT TkMuon (L1 $p_{T}$ > 15 GeV)" + match_dR: 0.1 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 15" + - "({quality}) > 0" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatching_20: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_mu" + suffix: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon: + suffix: "Pt" + label: "GMT Muon (L1 $p_{T}$ > 20 GeV)" + match_dR: 0.3 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 20" + gmtTkMuon: + suffix: "Pt" + label: "GMT TkMuon (L1 $p_{T}$ > 20 GeV)" + match_dR: 0.1 + cuts: + - "abs({eta}) < 2.4" + - "{pt} > 20" + - "({quality}) > 0" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/slim/muon_trigger_gmtTK_inclusive.yaml b/configs/V31/object_performance/slim/muon_trigger_gmtTK_inclusive.yaml new file mode 100644 index 00000000..9036e9fc --- /dev/null +++ b/configs/V31/object_performance/slim/muon_trigger_gmtTK_inclusive.yaml @@ -0,0 +1,27 @@ +MuonsTrigger_gmtkMu_Inclusive: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_mu" + suffix: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + gmtTkMuon: + suffix: "Pt" + label: "GMT TkMuon" + match_dR: 0.3 + cuts: + - "({quality}) > 0" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + thresholds: [5, 15, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V31/object_performance/slim/muon_trigger_inclusive.yaml b/configs/V31/object_performance/slim/muon_trigger_inclusive.yaml new file mode 100644 index 00000000..afc6b492 --- /dev/null +++ b/configs/V31/object_performance/slim/muon_trigger_inclusive.yaml @@ -0,0 +1,31 @@ +MuonsTrigger_Inclusive: + sample: DYLL_M50 + default_version: V29 + reference_object: + object: "part_mu" + suffix: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + gmtMuon: + suffix: "Pt" + label: "GMT Muon" + match_dR: 0.3 + gmtTkMuon: + suffix: "Pt" + label: "GMT TkMuon" + match_dR: 0.3 + cuts: + - "({quality}) > 0" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (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/V31/object_performance/slim/pho_test.yaml b/configs/V31/object_performance/slim/pho_test.yaml new file mode 100644 index 00000000..6caafc17 --- /dev/null +++ b/configs/V31/object_performance/slim/pho_test.yaml @@ -0,0 +1,47 @@ +PhotonsMatching_25: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton" + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/slim/photons_matching.yaml b/configs/V31/object_performance/slim/photons_matching.yaml new file mode 100644 index 00000000..db57ed8a --- /dev/null +++ b/configs/V31/object_performance/slim/photons_matching.yaml @@ -0,0 +1,191 @@ +PhotonsMatching_10: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 10 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 10" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton (L1 $p_{T}$ > 10 GeV)" + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 10" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton (L1 $p_{T}$ > 10 GeV)" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 10" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_20: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 20 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 20" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton (L1 $p_{T}$ > 20 GeV)" + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 20" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton (L1 $p_{T}$ > 20 GeV)" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 20" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_25: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 25 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton (L1 $p_{T}$ > 25 GeV)" + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton (L1 $p_{T}$ > 25 GeV)" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_30: + sample: Hgg + default_version: V29 + reference_object: + object: "part_gamma" + suffix: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + EG: + suffix: "Pt" + label: "EG (L1 $p_{T}$ > 30 GeV)" + match_dR: 0.2 + quality_id: "QUAL_125x_EGID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 30" + tkPhoton: + match_dR: 0.15 + suffix: "Pt" + label: "tkPhoton (L1 $p_{T}$ > 30 GeV)" + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 30" + tkIsoPhoton: + base_obj: "tkPhoton" + match_dR: 0.15 + suffix: "Pt" + label: "tkIsoPhoton (L1 $p_{T}$ > 30 GeV)" + iso_EE: 0.2 + iso_BB: 0.2 + iso_branch: trkiso + quality_id: "QUAL_125x_tkPhoID" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 30" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V31/object_performance/slim/tau_matching.yaml b/configs/V31/object_performance/slim/tau_matching.yaml new file mode 100644 index 00000000..09dba5c3 --- /dev/null +++ b/configs/V31/object_performance/slim/tau_matching.yaml @@ -0,0 +1,67 @@ +TausMatching_25: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 2.5" + test_objects: + nnTau: + suffix: "Pt" + label: "NN Tau (L1 $p_{T}$ > 25 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 25" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Pt" + label: "Calo Tau (L1 $p_{T}$ > 60 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 60" + match_dR: 0.3 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 6 + +TausMatching_75: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + nnTau: + suffix: "Pt" + label: "NN Tau (L1 $p_{T}$ > 25 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 75" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Pt" + label: "Calo Tau (L1 $p_{T}$ > 25 GeV)" + cuts: + - "abs({eta}) < 2.5" + - "{pt} > 75" + match_dR: 0.3 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Efficiency" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V31/object_performance/slim/tau_matching_eta.yaml b/configs/V31/object_performance/slim/tau_matching_eta.yaml new file mode 100644 index 00000000..0982ca3f --- /dev/null +++ b/configs/V31/object_performance/slim/tau_matching_eta.yaml @@ -0,0 +1,137 @@ +TauMatching_Eta_Pt10to25: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Eta" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 10" + - "{pt} > 25" + object: + - "abs({eta}) < 2.5" + test_objects: + nnTau: + suffix: "Eta" + label: "NN Tau" + cuts: + - "abs({eta}) < 2.5" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Eta" + label: "Calo Tau" + cuts: + - "abs({eta}) < 2.5" + match_dR: 0.3 + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TausMatching_Eta_Pt25toInf: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Eta" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 25" + object: + - "abs({eta}) < 2.5" + test_objects: + nnTau: + suffix: "Eta" + label: "NN Tau" + cuts: + - "abs({eta}) < 2.5" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Eta" + label: "Calo Tau" + cuts: + - "abs({eta}) < 2.5" + match_dR: 0.3 + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TauMatching_Eta_Pt40to100: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Eta" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 100" + - "{pt} > 40" + object: + - "abs({eta}) < 2.5" + test_objects: + nnTau: + suffix: "Eta" + label: "NN Tau" + cuts: + - "abs({eta}) < 2.5" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Eta" + label: "Calo Tau" + cuts: + - "abs({eta}) < 2.5" + match_dR: 0.3 + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($40 < p_T < 100$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TausMatching_Eta_Pt100toInf: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Eta" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 100" + object: + - "abs({eta}) < 2.5" + test_objects: + nnTau: + suffix: "Eta" + label: "NN Tau" + cuts: + - "abs({eta}) < 2.5" + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Eta" + label: "Calo Tau" + cuts: + - "abs({eta}) < 2.5" + match_dR: 0.3 + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 100$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V31/object_performance/slim/tau_trigger_inclusive.yaml b/configs/V31/object_performance/slim/tau_trigger_inclusive.yaml new file mode 100644 index 00000000..90989e9b --- /dev/null +++ b/configs/V31/object_performance/slim/tau_trigger_inclusive.yaml @@ -0,0 +1,31 @@ +TauTrigger_Inclusive: + sample: VBFHToTauTau + default_version: V29 + reference_object: + object: "part_tau" + suffix: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + test_objects: + nnTau: + suffix: "Pt" + label: "NN Tau" + cuts: + - "{passloosenn}==1" + match_dR: 0.1 + caloTau: + suffix: "Pt" + label: "Calo Tau" + match_dR: 0.3 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (L1 $p_T > $ GeV)" + thresholds: [25] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V31/object_performance/tau_matching.yaml b/configs/V31/object_performance/tau_matching.yaml new file mode 100644 index 00000000..f0468abd --- /dev/null +++ b/configs/V31/object_performance/tau_matching.yaml @@ -0,0 +1,47 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +TausMatchingEndcap: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V31/object_performance/tau_matching_wHH.yaml b/configs/V31/object_performance/tau_matching_wHH.yaml new file mode 100644 index 00000000..5f9f7aa4 --- /dev/null +++ b/configs/V31/object_performance/tau_matching_wHH.yaml @@ -0,0 +1,47 @@ +HHTausMatchingBarrel: + sample: HHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +HHTausMatchingEndcap: + sample: HHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V31/object_performance/tau_trigger.yaml b/configs/V31/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..084cdd11 --- /dev/null +++ b/configs/V31/object_performance/tau_trigger.yaml @@ -0,0 +1,111 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "Pt" + caloTau:default:barrel: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "Pt" + caloTau:default:endcap: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerBarrel_50perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "Pt" + caloTau:default:barrel: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_50perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "Pt" + caloTau:default:endcap: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V31/object_performance/version_comparison.yaml b/configs/V31/object_performance/version_comparison.yaml new file mode 100644 index 00000000..3ea2df9e --- /dev/null +++ b/configs/V31/object_performance/version_comparison.yaml @@ -0,0 +1,44 @@ +V22_V29_GMTMuonsBarrel_Comparison: + files: + MuonsTrigger_20_V22: + object: gmtMuon + dir: outputs/V22/turnons/ + label: "GMT Muon (V22)" + MuonsTrigger_20_V29: + object: gmtMuon + dir: outputs/V29/turnons/ + label: "GMT Muon (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_gmtMuonBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" + +V22_V29_ElectronsBarrel_Comparison: + files: + ElectronsTriggerBarrel_30_V22: + object: tkElectron + dir: outputs/V22/turnons/ + label: "tkElectron (V22)" + ElectronsTriggerBarrel_30_V29: + object: tkElectron + dir: outputs/V29/turnons/ + label: "tkElectron (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_EGBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" + +V22_V29_GMTtkMuonsBarrel_Comparison: + files: + MuonsTrigger_20_V22: + object: gmtMuon + dir: outputs/V22/turnons/ + label: "GMT tkMuon (V22)" + MuonsTrigger_20_V29: + object: gmtMuon + dir: outputs/V29/turnons/ + label: "GMT tkMuon (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_gmtTkMuonBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" diff --git a/configs/V31/objects/electrons.yaml b/configs/V31/objects/electrons.yaml new file mode 100644 index 00000000..7580e86e --- /dev/null +++ b/configs/V31/objects/electrons.yaml @@ -0,0 +1,69 @@ +part_e: + label: "Gen Electron" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "{dr_0.3} < 0.15" + +tkElectron: + 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" + - "({passeseleid} == 1) | ({pt} < 25)" + NoIsoForIso: + # This id is exclusively used for the + # isoloation wp derivation + label: "TkElectron id in barrel" + cuts: + inclusive: + - "abs({eta}) < 2.7" + barrel: + - "({passeseleid} == 1) | ({pt} < 25)" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.13" + - "({passeseleid} == 1) | ({pt} < 25)" + endcap: + - "abs({trkiso}) < 0.28" + IsoNoIDinEE: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.13" + - "({passeseleid} == 1) | ({pt} < 25)" + endcap: + - "abs({trkiso}) < 0.28" + +EG: + 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: + - "{passeseleid} == 1" + endcap: + - "{passessaid} == 1" diff --git a/configs/V31/objects/jets.yaml b/configs/V31/objects/jets.yaml new file mode 100644 index 00000000..b2128853 --- /dev/null +++ b/configs/V31/objects/jets.yaml @@ -0,0 +1,70 @@ +caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + cuts: + inclusive: + - "abs({eta}) < 7" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +seededConeExtendedPuppiJet: + match_dR: 0.35 + label: "Seeded Cone Extended PuppiJet" + eta_ranges: + inclusive: [0, 7] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + bjetnn: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{bjetnn} > 0.71" + +phase1PuppiJet: + 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" + +seededConePuppiJet: + 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" + +trackerJet: + 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/V31/objects/met_ht_mht.yaml b/configs/V31/objects/met_ht_mht.yaml new file mode 100644 index 00000000..8e0a6e45 --- /dev/null +++ b/configs/V31/objects/met_ht_mht.yaml @@ -0,0 +1,39 @@ +phase1PuppiHT: + label: "Histogrammed Puppi HT" + ids: + default: {} + +phase1PuppiMHT: + label: "Phase1 Puppi MHT" + ids: + default: {} + +puppiMET: + label: "Puppi MET" + ids: + default: {} + +seededConePuppiHT: + label: "SeededCone HT" + ids: + default: {} + +seededConePuppiMHT: + label: "SeededCone MHT" + ids: + default: {} + +trackerHT: + label: "Tracker HT" + ids: + default: {} + +trackerMET: + label: "Tracker MET" + ids: + default: {} + +trackerMHT: + label: "Tracker MHT" + ids: + default: {} diff --git a/configs/V31/objects/muons.yaml b/configs/V31/objects/muons.yaml new file mode 100644 index 00000000..06a6bc43 --- /dev/null +++ b/configs/V31/objects/muons.yaml @@ -0,0 +1,24 @@ +gmtMuon: + label: "GMT 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: {} + +gmtTkMuon: + 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: + cuts: + inclusive: + - "({quality} > 0) | ({pt} > 8)" # quality criterion only to be appied for p_T < 8 GeV diff --git a/configs/V31/objects/photons.yaml b/configs/V31/objects/photons.yaml new file mode 100644 index 00000000..c2075e19 --- /dev/null +++ b/configs/V31/objects/photons.yaml @@ -0,0 +1,27 @@ +tkPhoton: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 5] + barrel: [0, 1.479] + endcap: [1.479, 2.4] + ids: + NoIso: + label: "tkPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "{passeseleid} == 1" + endcap: + - "{passesphoid} == 1" + Iso: + label: "tkIsoPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.2" + - "{passeseleid} == 1" + endcap: + - "abs({trkiso}) < 0.2" + - "{passesphoid} == 1" diff --git a/configs/V31/objects/taus.yaml b/configs/V31/objects/taus.yaml new file mode 100644 index 00000000..2f1bf535 --- /dev/null +++ b/configs/V31/objects/taus.yaml @@ -0,0 +1,29 @@ +nnTau: + label: "NN Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + cuts: + inclusive: + - "{passloosenn}==1" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{passloosenn}==1" + +caloTau: + 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" diff --git a/configs/V32/caching.yaml b/configs/V32/caching.yaml new file mode 100644 index 00000000..2c6e68b1 --- /dev/null +++ b/configs/V32/caching.yaml @@ -0,0 +1,80 @@ +V32: + DYLL_M50: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/DYToLL_M-50_TuneCP5_14TeV-pythia8/DY_M50_131_200PU_v32_reL1only/240205_120621/0000/L1NtuplePhaseII_Step1_*.root + trees_branches: + genTree/L1GenTree: + part_mu: [Id, Stat, Pt, Eta, Phi] + part_e: [Id, Stat, Pt, Eta, Phi] + l1PhaseIITree/L1PhaseIITree: + tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] + EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] + gmtMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, Bx] + gmtTkMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, NStubs, Bx] + # TT: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/TT_1252_crab_v29_Snap3/230413_214422/0000/*.root + # trees_branches: + # genTree/L1GenTree: + # genMetTrue: "all" + # jet: "all" + # l1PhaseIITree/L1PhaseIITree: + # puppiMET: "all" + # phase1PuppiJet: "all" + # phase1PuppiMHT: "all" + # phase1PuppiHT: "all" + # seededConePuppiJet: [Pt, Et, Eta, Phi] + # seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] + # seededConePuppiHT: "all" + # seededConePuppiMHT: "all" + # trackerJet: [Pt, Eta, Phi] + # trackerMET: "all" + # trackerMHT: "all" + # trackerHT: "all" + # # caloJet: "all" + # caloJet: [Et, Pt, Eta, Phi] + # ## DEBUG + # #tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] + # #tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] + # VBFHToTauTau: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/VBFHToTauTau_1252_crab_v29_Snap3/230413_214647/*/*.root + # trees_branches: + # genTree/L1GenTree: + # part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] + # l1PhaseIITree/L1PhaseIITree: + # nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + # caloTau: [Et, Eta, Pt, Phi, Iso, HwQual, Bx] + # HHToTauTau: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/HHToTauTau_1252_crab_v29_Snap3/230417_072539/0000/*.root + # trees_branches: + # genTree/L1GenTree: + # part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] + # l1PhaseIITree/L1PhaseIITree: + # nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + # caloTau: [Et, Eta, Pt, Phi, Iso, HwQual] + # Hgg: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/GluGluHToGG_1252_crab_v29_Snap3/230413_214505/0000/*.root + # trees_branches: + # genTree/L1GenTree: + # part_gamma: [Id, Stat, Pt, Eta, Phi] + # l1PhaseIITree/L1PhaseIITree: + # tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID, TrkIsoPV] + # EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] + # MinBias: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/MinBias_1252_crb_v29_Snap3/230413_214525/*/*.root + # trees_branches: + # l1PhaseIITree/L1PhaseIITree: + # puppiMET: "all" + # phase1PuppiJet: "all" + # phase1PuppiMHT: "all" + # phase1PuppiHT: "all" + # seededConePuppiJet: [Pt, Et, Eta, Phi] + # seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] + # seededConePuppiHT: "all" + # seededConePuppiMHT: "all" + # tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] + # EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] + # gmtTkMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, NStubs, Bx] + # nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + # tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID, TrkIsoPV] + # z0L1TkPV: "all" + # caloTau: [Et, Eta, Pt, Phi, Iso, HwQual, Bx] + diff --git a/configs/V32/object_performance/bJetEff.yaml b/configs/V32/object_performance/bJetEff.yaml new file mode 100644 index 00000000..eff40260 --- /dev/null +++ b/configs/V32/object_performance/bJetEff.yaml @@ -0,0 +1,30 @@ +BJetEff_Pt: + files: + JetMatching_Pt_Pt30ToInf_genBJets_-999_V32: + object: seededConeExtendedPuppiJet + dir: outputs/V32/turnons/ + label: "Signal: Matched b-jets" + JetMatching_Pt_Pt30ToInf_genNotBJets_-999_V32: + object: seededConeExtendedPuppiJet + dir: outputs/V32/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + watermark: "BJet_Pt" + save_dir: "outputs/V32/BJet/turnons" + + +BJetEff_Eta: + files: + JetMatching_Eta_Pt30ToInf_genBJets_-999_V32: + object: seededConeExtendedPuppiJet + dir: outputs/V32/turnons/ + label: "Signal: Matched b-jets" + JetMatching_Eta_Pt30ToInf_genNotBJets_-999_V32: + object: seededConeExtendedPuppiJet + dir: outputs/V32/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency" + watermark: "BJet_Eta" + save_dir: "outputs/V32/BJet/turnons" diff --git a/configs/V32/object_performance/electron_iso.yaml b/configs/V32/object_performance/electron_iso.yaml new file mode 100644 index 00000000..225fc3ff --- /dev/null +++ b/configs/V32/object_performance/electron_iso.yaml @@ -0,0 +1,48 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + tkElectron:NoIso: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.479" + object: + - "abs({eta}) < 2.4" + test_objects: + tkElectron:NoIsoForIso: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V32/object_performance/electron_matching.yaml b/configs/V32/object_performance/electron_matching.yaml new file mode 100644 index 00000000..b906d149 --- /dev/null +++ b/configs/V32/object_performance/electron_matching.yaml @@ -0,0 +1,49 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkElectron:NoIso: "Pt" + tkElectron:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingEndcap: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkElectron:NoIso: "Pt" + tkElectron:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V32/object_performance/electron_matching_eta.yaml b/configs/V32/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..bc1d34ca --- /dev/null +++ b/configs/V32/object_performance/electron_matching_eta.yaml @@ -0,0 +1,50 @@ +ElectronsMatching_Eta_Pt10to25: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Eta" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkElectron:NoIso: "Eta" + tkElectron:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +ElectronsMatching_Eta_Pt25toInf: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Eta" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 25" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkElectron:NoIso: "Eta" + tkElectron:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32/object_performance/electron_trigger.yaml b/configs/V32/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..03e13307 --- /dev/null +++ b/configs/V32/object_performance/electron_trigger.yaml @@ -0,0 +1,57 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:barrel: "Pt" + tkElectron:NoIso:barrel: "Pt" + tkElectron:Iso:barrel: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +ElectronsTriggerEndcap: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_e" + x_arg: "Pt" + label: "Gen Electrons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + EG:default:endcap: "Pt" + tkElectron:NoIso:endcap: "Pt" + tkElectron:Iso:endcap: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V32/object_performance/jets_matching.yaml b/configs/V32/object_performance/jets_matching.yaml new file mode 100644 index 00000000..6adaafc1 --- /dev/null +++ b/configs/V32/object_performance/jets_matching.yaml @@ -0,0 +1,92 @@ +JetMatchingForward_3p7to7: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 3.7" + object: + - "abs({eta}) < 5" + test_objects: + caloJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 300 + step: 5 + +JetMatchingBarrel: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + trackerJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + trackerJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V32 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Pt" + seededConePuppiJet:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V32/object_performance/jets_matching_eta.yaml b/configs/V32/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..6c2a7dde --- /dev/null +++ b/configs/V32/object_performance/jets_matching_eta.yaml @@ -0,0 +1,92 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Eta" + seededConePuppiJet:default: "Eta" + trackerJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default: "Eta" + seededConePuppiJet:default: "Eta" + trackerJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + caloJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5.5 + max: 5.5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + caloJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -7 + max: 7 + step: 0.25 diff --git a/configs/V32/object_performance/jets_matching_wBTag.yaml b/configs/V32/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..1155301a --- /dev/null +++ b/configs/V32/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,136 @@ +JetMatching_Eta_Pt40To100_ExtendedVsRegular: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet:default: "Eta" + seededConeExtendedPuppiJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_ExtendedVsRegular: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + seededConePuppiJet:default: "Eta" + seededConeExtendedPuppiJet:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genBJets: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonflavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotBJets: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonflavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genBJets: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonflavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotBJets: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonflavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + seededConeExtendedPuppiJet:bjetnn: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V32/object_performance/jets_trigger.yaml b/configs/V32/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..79135f33 --- /dev/null +++ b/configs/V32/object_performance/jets_trigger.yaml @@ -0,0 +1,82 @@ +JetTurnonBarrel: + version: V32 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default:barrel: "Pt" + seededConePuppiJet:default:barrel: "Pt" + trackerJet:default:barrel: "Pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcap: + version: V32 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + phase1PuppiJet:default:endcap: "Pt" + seededConePuppiJet:default:endcap: "Pt" + trackerJet:default:endcap: "Pt" + thresholds: [50] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForward: + version: V32 + sample: TT + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + phase1PuppiJet:default:forward: "Pt" + seededConePuppiJet:default:forward: "Pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V32/object_performance/jets_trigger_fwd.yaml b/configs/V32/object_performance/jets_trigger_fwd.yaml new file mode 100644 index 00000000..72403b75 --- /dev/null +++ b/configs/V32/object_performance/jets_trigger_fwd.yaml @@ -0,0 +1,26 @@ +JetTurnonFwd_3p7to7: + sample: TT + version: V32 + match_test_to_ref: True + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 3.7" + object: + - "abs({eta}) < 7" + test_objects: + phase1PuppiJet:default:forward: "Pt" + seededConePuppiJet:default:forward: "Pt" + thresholds: [50,100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: r'Trigger Efficiency ( GeV, $3.6<\eta<6$)' + binning: + min: 0 + max: 300 + step: 10 diff --git a/configs/V32/object_performance/met_ht_mht.yaml b/configs/V32/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..ffe47626 --- /dev/null +++ b/configs/V32/object_performance/met_ht_mht.yaml @@ -0,0 +1,149 @@ +HT_90perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + trackerHT:default: "" + phase1PuppiHT:default: "" + seededConePuppiHT:default: "" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +HT_50perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + trackerHT:default: "" + phase1PuppiHT:default: "" + seededConePuppiHT:default: "" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.50 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +MHT_50perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + trackerMHT:default: "" + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + 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_90perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + trackerMHT:default: "" + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +MET_90perc: + sample: TT + version: V32 + reference_object: + object: "genMetTrue" + x_arg: "" + label: "Gen MET" + test_objects: + trackerMET:default: "" + puppiMET:default: "et" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 + +MET_50perc: + sample: TT + version: V32 + reference_object: + object: "genMetTrue" + x_arg: "" + label: "Gen MET" + test_objects: + trackerMET:default: "" + puppiMET:default: "et" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V32/object_performance/mht.yaml b/configs/V32/object_performance/mht.yaml new file mode 100644 index 00000000..894b0e50 --- /dev/null +++ b/configs/V32/object_performance/mht.yaml @@ -0,0 +1,52 @@ +MHT30_90perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +MHT30_50perc: + sample: TT + version: V32 + reference_object: + object: "jet" + x_arg: "Pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + trackerMHT:default: "" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.50 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V32/object_performance/muon_matching.yaml b/configs/V32/object_performance/muon_matching.yaml new file mode 100644 index 00000000..6385e986 --- /dev/null +++ b/configs/V32/object_performance/muon_matching.yaml @@ -0,0 +1,70 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "Pt" + gmtTkMuon:default:barrel: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingOverlap: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "Pt" + gmtTkMuon:default:overlap: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonsMatchingEndcap: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default:endcap: "Pt" + gmtTkMuon:default:endcap: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V32/object_performance/muon_matching_eta.yaml b/configs/V32/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..c374f939 --- /dev/null +++ b/configs/V32/object_performance/muon_matching_eta.yaml @@ -0,0 +1,48 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Eta" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default: "Eta" + gmtTkMuon: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: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Eta" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + gmtMuon:default: "Eta" + gmtTkMuon:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32/object_performance/muon_trigger.yaml b/configs/V32/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..4cda46a4 --- /dev/null +++ b/configs/V32/object_performance/muon_trigger.yaml @@ -0,0 +1,81 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "Pt" + gmtTkMuon: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: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "Pt" + gmtTkMuon: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: V32 + match_test_to_ref: True + reference_object: + object: "part_mu" + x_arg: "Pt" + label: "Gen Muons" + cuts: + event: + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + test_objects: + gmtMuon:default:endcap: "Pt" + gmtTkMuon: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/V32/object_performance/photon_iso.yaml b/configs/V32/object_performance/photon_iso.yaml new file mode 100644 index 00000000..94f5d881 --- /dev/null +++ b/configs/V32/object_performance/photon_iso.yaml @@ -0,0 +1,49 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V32 + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + tkPhoton:NoIso:barrel: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +PhotonIsolation_Endcap: + sample: Hgg + version: V32 + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.479" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) > 1.479" + test_objects: + tkPhoton:NoIso:endcap: "trkiso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V32/object_performance/photons_matching.yaml b/configs/V32/object_performance/photons_matching.yaml new file mode 100644 index 00000000..1152eb66 --- /dev/null +++ b/configs/V32/object_performance/photons_matching.yaml @@ -0,0 +1,49 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkPhoton:NoIso: "Pt" + tkPhoton:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Endcap: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "Pt" + tkPhoton:NoIso: "Pt" + tkPhoton:Iso: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V32/object_performance/photons_matching_eta.yaml b/configs/V32/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..56347d17 --- /dev/null +++ b/configs/V32/object_performance/photons_matching_eta.yaml @@ -0,0 +1,50 @@ +PhotonsMatching_Eta_Pt10to25: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkPhoton:NoIso: "Eta" + tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +PhotonsMatching_Eta_Pt25toInf: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} >= 25" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + tkPhoton:NoIso: "Eta" + tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32/object_performance/photons_trigger.yaml b/configs/V32/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..d92c50ec --- /dev/null +++ b/configs/V32/object_performance/photons_trigger.yaml @@ -0,0 +1,57 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:barrel: "Pt" + tkPhoton:NoIso:barrel: "Pt" + tkPhoton:Iso:barrel: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Endcap: + sample: Hgg + version: V32 + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:endcap: "Pt" + tkPhoton:NoIso:endcap: "Pt" + tkPhoton:Iso:endcap: "Pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V32/object_performance/tau_matching.yaml b/configs/V32/object_performance/tau_matching.yaml new file mode 100644 index 00000000..f0468abd --- /dev/null +++ b/configs/V32/object_performance/tau_matching.yaml @@ -0,0 +1,47 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +TausMatchingEndcap: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V32/object_performance/tau_matching_wHH.yaml b/configs/V32/object_performance/tau_matching_wHH.yaml new file mode 100644 index 00000000..5f9f7aa4 --- /dev/null +++ b/configs/V32/object_performance/tau_matching_wHH.yaml @@ -0,0 +1,47 @@ +HHTausMatchingBarrel: + sample: HHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +HHTausMatchingEndcap: + sample: HHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default: "Pt" + caloTau:default: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V32/object_performance/tau_trigger.yaml b/configs/V32/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..084cdd11 --- /dev/null +++ b/configs/V32/object_performance/tau_trigger.yaml @@ -0,0 +1,111 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "Pt" + caloTau:default:barrel: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "Pt" + caloTau:default:endcap: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerBarrel_50perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "Pt" + caloTau:default:barrel: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_50perc: + sample: VBFHToTauTau + version: V29 + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "Pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "Pt" + caloTau:default:endcap: "Pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V32/object_performance/version_comparison.yaml b/configs/V32/object_performance/version_comparison.yaml new file mode 100644 index 00000000..3ea2df9e --- /dev/null +++ b/configs/V32/object_performance/version_comparison.yaml @@ -0,0 +1,44 @@ +V22_V29_GMTMuonsBarrel_Comparison: + files: + MuonsTrigger_20_V22: + object: gmtMuon + dir: outputs/V22/turnons/ + label: "GMT Muon (V22)" + MuonsTrigger_20_V29: + object: gmtMuon + dir: outputs/V29/turnons/ + label: "GMT Muon (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_gmtMuonBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" + +V22_V29_ElectronsBarrel_Comparison: + files: + ElectronsTriggerBarrel_30_V22: + object: tkElectron + dir: outputs/V22/turnons/ + label: "tkElectron (V22)" + ElectronsTriggerBarrel_30_V29: + object: tkElectron + dir: outputs/V29/turnons/ + label: "tkElectron (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_EGBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" + +V22_V29_GMTtkMuonsBarrel_Comparison: + files: + MuonsTrigger_20_V22: + object: gmtMuon + dir: outputs/V22/turnons/ + label: "GMT tkMuon (V22)" + MuonsTrigger_20_V29: + object: gmtMuon + dir: outputs/V29/turnons/ + label: "GMT tkMuon (V29)" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + watermark: "V22_V29_gmtTkMuonBarrel_Comp" + save_dir: "outputs/V22vs27/turnons" diff --git a/configs/V32/objects/electrons.yaml b/configs/V32/objects/electrons.yaml new file mode 100644 index 00000000..7580e86e --- /dev/null +++ b/configs/V32/objects/electrons.yaml @@ -0,0 +1,69 @@ +part_e: + label: "Gen Electron" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "{dr_0.3} < 0.15" + +tkElectron: + 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" + - "({passeseleid} == 1) | ({pt} < 25)" + NoIsoForIso: + # This id is exclusively used for the + # isoloation wp derivation + label: "TkElectron id in barrel" + cuts: + inclusive: + - "abs({eta}) < 2.7" + barrel: + - "({passeseleid} == 1) | ({pt} < 25)" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.13" + - "({passeseleid} == 1) | ({pt} < 25)" + endcap: + - "abs({trkiso}) < 0.28" + IsoNoIDinEE: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.13" + - "({passeseleid} == 1) | ({pt} < 25)" + endcap: + - "abs({trkiso}) < 0.28" + +EG: + 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: + - "{passeseleid} == 1" + endcap: + - "{passessaid} == 1" diff --git a/configs/V32/objects/jets.yaml b/configs/V32/objects/jets.yaml new file mode 100644 index 00000000..b2128853 --- /dev/null +++ b/configs/V32/objects/jets.yaml @@ -0,0 +1,70 @@ +caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + cuts: + inclusive: + - "abs({eta}) < 7" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +seededConeExtendedPuppiJet: + match_dR: 0.35 + label: "Seeded Cone Extended PuppiJet" + eta_ranges: + inclusive: [0, 7] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + bjetnn: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{bjetnn} > 0.71" + +phase1PuppiJet: + 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" + +seededConePuppiJet: + 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" + +trackerJet: + 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/V32/objects/met_ht_mht.yaml b/configs/V32/objects/met_ht_mht.yaml new file mode 100644 index 00000000..8e0a6e45 --- /dev/null +++ b/configs/V32/objects/met_ht_mht.yaml @@ -0,0 +1,39 @@ +phase1PuppiHT: + label: "Histogrammed Puppi HT" + ids: + default: {} + +phase1PuppiMHT: + label: "Phase1 Puppi MHT" + ids: + default: {} + +puppiMET: + label: "Puppi MET" + ids: + default: {} + +seededConePuppiHT: + label: "SeededCone HT" + ids: + default: {} + +seededConePuppiMHT: + label: "SeededCone MHT" + ids: + default: {} + +trackerHT: + label: "Tracker HT" + ids: + default: {} + +trackerMET: + label: "Tracker MET" + ids: + default: {} + +trackerMHT: + label: "Tracker MHT" + ids: + default: {} diff --git a/configs/V32/objects/muons.yaml b/configs/V32/objects/muons.yaml new file mode 100644 index 00000000..06a6bc43 --- /dev/null +++ b/configs/V32/objects/muons.yaml @@ -0,0 +1,24 @@ +gmtMuon: + label: "GMT 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: {} + +gmtTkMuon: + 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: + cuts: + inclusive: + - "({quality} > 0) | ({pt} > 8)" # quality criterion only to be appied for p_T < 8 GeV diff --git a/configs/V32/objects/photons.yaml b/configs/V32/objects/photons.yaml new file mode 100644 index 00000000..c2075e19 --- /dev/null +++ b/configs/V32/objects/photons.yaml @@ -0,0 +1,27 @@ +tkPhoton: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 5] + barrel: [0, 1.479] + endcap: [1.479, 2.4] + ids: + NoIso: + label: "tkPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "{passeseleid} == 1" + endcap: + - "{passesphoid} == 1" + Iso: + label: "tkIsoPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.2" + - "{passeseleid} == 1" + endcap: + - "abs({trkiso}) < 0.2" + - "{passesphoid} == 1" diff --git a/configs/V32/objects/taus.yaml b/configs/V32/objects/taus.yaml new file mode 100644 index 00000000..2f1bf535 --- /dev/null +++ b/configs/V32/objects/taus.yaml @@ -0,0 +1,29 @@ +nnTau: + label: "NN Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + cuts: + inclusive: + - "{passloosenn}==1" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{passloosenn}==1" + +caloTau: + 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" diff --git a/configs/V32/rate_plots/all_rate_plots.yaml b/configs/V32/rate_plots/all_rate_plots.yaml new file mode 100644 index 00000000..02381752 --- /dev/null +++ b/configs/V32/rate_plots/all_rate_plots.yaml @@ -0,0 +1,59 @@ +HTRates: + sample: MinBias + version: V29 + test_objects: + - phase1PuppiHT:default + - seededConePuppiHT:default + # - trackerJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetDefaultRates: + sample: MinBias + version: V29 + test_objects: + - phase1PuppiJet:default + - seededConePuppiJet:default + # - trackerJet:default + binning: + min: 40 + max: 420 + step: 20 + +ElectronDefaultRates: + sample: MinBias + version: V29 + test_objects: + - EG:default + - tkElectron:NoIso + - tkElectron:Iso + - tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 + +MuonRates: + sample: MinBias + version: V29 + test_objects: + - gmtMuon:default + # - gmtMuon:oldRateID + - gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 + +TauRates: + sample: MinBias + version: V29 + test_objects: + - nnTau:default + - caloTau:default + binning: + min: 10 + max: 155 + step: 5 From ee29be224ce29b6039df3019578a2c9c1ceed927 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 8 Feb 2024 19:56:53 +0100 Subject: [PATCH 05/49] Add local index for sums in nano to separate HT and MHT --- menu_tools/caching/cache_objects.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/menu_tools/caching/cache_objects.py b/menu_tools/caching/cache_objects.py index 6388d121..cb465a79 100755 --- a/menu_tools/caching/cache_objects.py +++ b/menu_tools/caching/cache_objects.py @@ -291,6 +291,12 @@ def _concat_array_from_ntuples(self): if len(all_arrays) > 1: self._final_ak_array = ak.zip({**all_arrays}) + # sums -> add local index + if "sums" in self._object.lower(): + self._final_ak_array[f"{self._object}_sumType"] = ak.local_index(self._final_ak_array) + self._branches += [f"{self._object}_sumType"] + print(self._final_ak_array.fields) + else: self._final_ak_array = ak.Array(all_arrays) From e24ce36535aee3a5e25fdfa01aca9a772abcb802 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 8 Feb 2024 20:08:02 +0100 Subject: [PATCH 06/49] Add configs for V32 and V32nano --- .gitignore | 4 + configs/V29/objects/electrons.yaml | 10 ++ .../V31/object_performance/jets_matching.yaml | 3 + .../object_performance/jets_matching_eta.yaml | 26 +--- .../V31/object_performance/jets_trigger.yaml | 5 +- configs/V32/caching.yaml | 58 ++++---- .../V32/object_performance/jets_matching.yaml | 41 ++---- .../object_performance/jets_matching_eta.yaml | 41 ++---- .../V32/object_performance/jets_trigger.yaml | 21 +-- .../object_performance/jets_trigger_fwd.yaml | 26 ---- configs/V32/objects/jets.yaml | 12 ++ configs/V32nano/caching.yaml | 28 +++- .../electron_matching_eta.yaml | 4 +- .../object_performance/electron_trigger.yaml | 16 +-- .../object_performance/jets_matching.yaml | 73 ++++++++++ .../object_performance/jets_matching_eta.yaml | 72 ++++++++++ .../jets_matching_wBTag.yaml | 136 ++++++++++++++++++ .../object_performance/jets_trigger.yaml | 85 +++++++++++ .../object_performance/muon_matching_eta.yaml | 4 +- .../object_performance/muon_trigger.yaml | 18 +-- 20 files changed, 512 insertions(+), 171 deletions(-) delete mode 100644 configs/V32/object_performance/jets_trigger_fwd.yaml create mode 100644 configs/V32nano/object_performance/jets_matching.yaml create mode 100644 configs/V32nano/object_performance/jets_matching_eta.yaml create mode 100644 configs/V32nano/object_performance/jets_matching_wBTag.yaml create mode 100644 configs/V32nano/object_performance/jets_trigger.yaml diff --git a/.gitignore b/.gitignore index 0c32cf82..bd846696 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,9 @@ rates/table/lib/* rates/table/rates_tables/* **/tmp/* outputs +<<<<<<< Updated upstream menu_tools.egg-info dist +======= +ph2-menu-tools +>>>>>>> Stashed changes diff --git a/configs/V29/objects/electrons.yaml b/configs/V29/objects/electrons.yaml index efb65634..c6006637 100644 --- a/configs/V29/objects/electrons.yaml +++ b/configs/V29/objects/electrons.yaml @@ -46,6 +46,16 @@ tkElectron: inclusive: - "abs({eta}) < 2.4" - "({passeseleid} == 1) | ({pt} < 25)" + IsoNoIDinEE: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({trkiso}) < 0.13" + - "({passeseleid} == 1) | ({pt} < 25)" + endcap: + - "abs({trkiso}) < 0.28" EG: match_dR: 0.2 diff --git a/configs/V31/object_performance/jets_matching.yaml b/configs/V31/object_performance/jets_matching.yaml index fb3555be..dbef18f0 100644 --- a/configs/V31/object_performance/jets_matching.yaml +++ b/configs/V31/object_performance/jets_matching.yaml @@ -36,6 +36,7 @@ JetMatchingBarrel: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" + caloJet:default: "Pt" trackerJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, barrel)" @@ -60,6 +61,7 @@ JetMatchingEndcap: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" + caloJet:default: "Pt" trackerJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, endcap)" @@ -84,6 +86,7 @@ JetMatchingForward: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" + caloJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, forward)" binning: diff --git a/configs/V31/object_performance/jets_matching_eta.yaml b/configs/V31/object_performance/jets_matching_eta.yaml index 396bb674..1bfa6331 100644 --- a/configs/V31/object_performance/jets_matching_eta.yaml +++ b/configs/V31/object_performance/jets_matching_eta.yaml @@ -15,6 +15,7 @@ JetMatching_Eta_Pt40To100: test_objects: phase1PuppiJet:default: "Eta" seededConePuppiJet:default: "Eta" + caloJet:default: "Eta" trackerJet:default: "Eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (40-100 GeV)" @@ -39,6 +40,7 @@ JetMatching_Eta_Pt100ToInf: test_objects: phase1PuppiJet:default: "Eta" seededConePuppiJet:default: "Eta" + caloJet:default: "Eta" trackerJet:default: "Eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (>100 GeV)" @@ -67,26 +69,4 @@ JetMatching_Eta_Pt100ToInf_extEta: binning: min: -5.5 max: 5.5 - step: 0.25 - -JetMatching_Eta_Pt100ToInf_extEta: - sample: TT - version: V31 - match_test_to_ref: True - reference_object: - object: "jet" - x_arg: "Eta" - label: "Gen Jets" - cuts: - event: - - "{pt} > 100" - object: - - "abs({eta}) < 7" - test_objects: - caloJet:default: "Eta" - xlabel: "Gen. $\\eta$" - ylabel: "Matching Efficiency (>100 GeV)" - binning: - min: -7 - max: 7 - step: 0.25 + step: 0.25 \ No newline at end of file diff --git a/configs/V31/object_performance/jets_trigger.yaml b/configs/V31/object_performance/jets_trigger.yaml index 34bd677d..64689056 100644 --- a/configs/V31/object_performance/jets_trigger.yaml +++ b/configs/V31/object_performance/jets_trigger.yaml @@ -14,6 +14,7 @@ JetTurnonBarrel: test_objects: phase1PuppiJet:default:barrel: "Pt" seededConePuppiJet:default:barrel: "Pt" + caloJet:default: "Pt" trackerJet:default:barrel: "Pt" thresholds: [50, 100] scalings: @@ -42,8 +43,9 @@ JetTurnonEndcap: test_objects: phase1PuppiJet:default:endcap: "Pt" seededConePuppiJet:default:endcap: "Pt" + caloJet:default: "Pt" trackerJet:default:endcap: "Pt" - thresholds: [50] + thresholds: [50, 100] scalings: method: "naive" threshold: 0.95 @@ -70,6 +72,7 @@ JetTurnonForward: test_objects: phase1PuppiJet:default:forward: "Pt" seededConePuppiJet:default:forward: "Pt" + caloJet:default: "Pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V32/caching.yaml b/configs/V32/caching.yaml index 2c6e68b1..857e53e3 100644 --- a/configs/V32/caching.yaml +++ b/configs/V32/caching.yaml @@ -10,38 +10,38 @@ V32: EG: [Pt, Et, Eta, Phi, Bx, Iso, HwQual, HGC, PassesEleID, PassesSaID] gmtMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, Bx] gmtTkMuon: [Pt, Eta, Phi, Z0, D0, IPt, IEta, IPhi, IZ0, ID0, Chg, Iso, Qual, Beta, NStubs, Bx] - # TT: - # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/TT_1252_crab_v29_Snap3/230413_214422/0000/*.root - # trees_branches: - # genTree/L1GenTree: - # genMetTrue: "all" - # jet: "all" - # l1PhaseIITree/L1PhaseIITree: - # puppiMET: "all" - # phase1PuppiJet: "all" - # phase1PuppiMHT: "all" - # phase1PuppiHT: "all" - # seededConePuppiJet: [Pt, Et, Eta, Phi] - # seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] - # seededConePuppiHT: "all" - # seededConePuppiMHT: "all" - # trackerJet: [Pt, Eta, Phi] - # trackerMET: "all" - # trackerMHT: "all" - # trackerHT: "all" - # # caloJet: "all" - # caloJet: [Et, Pt, Eta, Phi] + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/TT_TuneCP5_14TeV-powheg-pythia8/TT_131_200PU_v32_reL1only/240206_115846/0000/L1NtuplePhaseII_Step1_*.root + trees_branches: + genTree/L1GenTree: + # genMetTrue: "all" + jet: [Pt, Eta, Phi] + l1PhaseIITree/L1PhaseIITree: + # puppiMET: "all" + phase1PuppiJet: [Pt, Et, Eta, Phi] + # phase1PuppiMHT: "all" + # phase1PuppiHT: "all" + seededConePuppiJet: [Pt, Et, Eta, Phi] + seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] + # seededConePuppiHT: "all" + # seededConePuppiMHT: "all" + trackerJet: [Pt, Eta, Phi] + # trackerMET: "all" + # trackerMHT: "all" + # trackerHT: "all" + # caloJet: "all" + caloJet: [Et, Pt, Eta, Phi] # ## DEBUG # #tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] # #tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] - # VBFHToTauTau: - # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/VBFHToTauTau_1252_crab_v29_Snap3/230413_214647/*/*.root - # trees_branches: - # genTree/L1GenTree: - # part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] - # l1PhaseIITree/L1PhaseIITree: - # nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] - # caloTau: [Et, Eta, Pt, Phi, Iso, HwQual, Bx] + VBFHToTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/L1NtuplePhaseII_Step1_*.root + trees_branches: + genTree/L1GenTree: + part_tau: [Id, Stat, Pt, Eta, Phi, Parent, E] + l1PhaseIITree/L1PhaseIITree: + nnTau: [Et, Eta, Pt, Phi, FullIso, Z0, PassTightNN, Chg, DXY, PassLooseNN] + caloTau: [Et, Eta, Pt, Phi, Iso, HwQual, Bx] # HHToTauTau: # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/CMSSW_12_5_2p1/v29/HHToTauTau_1252_crab_v29_Snap3/230417_072539/0000/*.root # trees_branches: diff --git a/configs/V32/object_performance/jets_matching.yaml b/configs/V32/object_performance/jets_matching.yaml index 6adaafc1..2dc8cbf1 100644 --- a/configs/V32/object_performance/jets_matching.yaml +++ b/configs/V32/object_performance/jets_matching.yaml @@ -1,32 +1,10 @@ -JetMatchingForward_3p7to7: - sample: TT - version: V32 - match_test_to_ref: True - reference_object: - object: "jet" - x_arg: "Pt" - label: "Gen Jets" - cuts: - event: - - "abs({eta}) > 3.7" - object: - - "abs({eta}) < 5" - test_objects: - caloJet:default: "Pt" - xlabel: "Gen. $p_T$ (GeV)" - ylabel: "Trigger Efficiency ( GeV, forward)" - binning: - min: 0 - max: 300 - step: 5 - JetMatchingBarrel: sample: TT version: V32 match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -36,7 +14,8 @@ JetMatchingBarrel: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" - trackerJet:default: "Pt" + caloJet:default: "Pt" + # trackerJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, barrel)" binning: @@ -49,8 +28,8 @@ JetMatchingEndcap: version: V32 match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -60,7 +39,8 @@ JetMatchingEndcap: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" - trackerJet:default: "Pt" + caloJet:default: "Pt" + # trackerJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, endcap)" binning: @@ -73,8 +53,8 @@ JetMatchingForward: sample: TT match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -84,6 +64,7 @@ JetMatchingForward: test_objects: phase1PuppiJet:default: "Pt" seededConePuppiJet:default: "Pt" + caloJet:default: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, forward)" binning: diff --git a/configs/V32/object_performance/jets_matching_eta.yaml b/configs/V32/object_performance/jets_matching_eta.yaml index 6c2a7dde..0b457ca8 100644 --- a/configs/V32/object_performance/jets_matching_eta.yaml +++ b/configs/V32/object_performance/jets_matching_eta.yaml @@ -3,8 +3,8 @@ JetMatching_Eta_Pt40To100: version: V32 match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Eta" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "eta" label: "Gen Jets" cuts: event: @@ -15,7 +15,9 @@ JetMatching_Eta_Pt40To100: test_objects: phase1PuppiJet:default: "Eta" seededConePuppiJet:default: "Eta" - trackerJet:default: "Eta" + caloJet:default: "Eta" + caloJet:PtGr30: "Eta" + # trackerJet:default: "Eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (40-100 GeV)" binning: @@ -28,8 +30,8 @@ JetMatching_Eta_Pt100ToInf: version: V32 match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Eta" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "eta" label: "Gen Jets" cuts: event: @@ -39,7 +41,8 @@ JetMatching_Eta_Pt100ToInf: test_objects: phase1PuppiJet:default: "Eta" seededConePuppiJet:default: "Eta" - trackerJet:default: "Eta" + caloJet:default: "Eta" + # trackerJet:default: "Eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (>100 GeV)" binning: @@ -52,8 +55,8 @@ JetMatching_Eta_Pt100ToInf_extEta: version: V32 match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Eta" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "eta" label: "Gen Jets" cuts: event: @@ -68,25 +71,3 @@ JetMatching_Eta_Pt100ToInf_extEta: min: -5.5 max: 5.5 step: 0.25 - -JetMatching_Eta_Pt100ToInf_extEta: - sample: TT - version: V32 - match_test_to_ref: True - reference_object: - object: "jet" - x_arg: "Eta" - label: "Gen Jets" - cuts: - event: - - "{pt} > 100" - object: - - "abs({eta}) < 7" - test_objects: - caloJet:default: "Eta" - xlabel: "Gen. $\\eta$" - ylabel: "Matching Efficiency (>100 GeV)" - binning: - min: -7 - max: 7 - step: 0.25 diff --git a/configs/V32/object_performance/jets_trigger.yaml b/configs/V32/object_performance/jets_trigger.yaml index 79135f33..f6e3ff2f 100644 --- a/configs/V32/object_performance/jets_trigger.yaml +++ b/configs/V32/object_performance/jets_trigger.yaml @@ -3,8 +3,8 @@ JetTurnonBarrel: sample: TT match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -14,7 +14,8 @@ JetTurnonBarrel: test_objects: phase1PuppiJet:default:barrel: "Pt" seededConePuppiJet:default:barrel: "Pt" - trackerJet:default:barrel: "Pt" + caloJet:default:barrel: "Pt" + # trackerJet:default:barrel: "Pt" thresholds: [50, 100] scalings: method: "naive" @@ -31,8 +32,8 @@ JetTurnonEndcap: sample: TT match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -42,8 +43,9 @@ JetTurnonEndcap: test_objects: phase1PuppiJet:default:endcap: "Pt" seededConePuppiJet:default:endcap: "Pt" - trackerJet:default:endcap: "Pt" - thresholds: [50] + caloJet:default:barrel: "Pt" + # trackerJet:default:endcap: "Pt" + thresholds: [50, 100] scalings: method: "naive" threshold: 0.95 @@ -59,8 +61,8 @@ JetTurnonForward: sample: TT match_test_to_ref: True reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" # HACK -> using the nano GenJet parquet file here until fixing the menu ntuples + x_arg: "pt" label: "Gen Jets" cuts: event: @@ -70,6 +72,7 @@ JetTurnonForward: test_objects: phase1PuppiJet:default:forward: "Pt" seededConePuppiJet:default:forward: "Pt" + caloJet:default:barrel: "Pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V32/object_performance/jets_trigger_fwd.yaml b/configs/V32/object_performance/jets_trigger_fwd.yaml deleted file mode 100644 index 72403b75..00000000 --- a/configs/V32/object_performance/jets_trigger_fwd.yaml +++ /dev/null @@ -1,26 +0,0 @@ -JetTurnonFwd_3p7to7: - sample: TT - version: V32 - match_test_to_ref: True - reference_object: - object: "jet" - x_arg: "Pt" - label: "Gen Jets" - cuts: - event: - - "abs({eta}) > 3.7" - object: - - "abs({eta}) < 7" - test_objects: - phase1PuppiJet:default:forward: "Pt" - seededConePuppiJet:default:forward: "Pt" - thresholds: [50,100] - scalings: - method: "naive" - threshold: 0.95 - xlabel: "Gen. $p_T$ (GeV)" - ylabel: r'Trigger Efficiency ( GeV, $3.6<\eta<6$)' - binning: - min: 0 - max: 300 - step: 10 diff --git a/configs/V32/objects/jets.yaml b/configs/V32/objects/jets.yaml index b2128853..cdcbb2de 100644 --- a/configs/V32/objects/jets.yaml +++ b/configs/V32/objects/jets.yaml @@ -3,6 +3,9 @@ caloJet: 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" @@ -11,12 +14,21 @@ caloJet: cuts: inclusive: - "abs({eta}) < 7" + PtGr30: + label: "CaloJet, pt > 30" + cuts: + inclusive: + - "abs({eta}) < 7" + - "{pt} > 30" seededConeExtendedPuppiJet: 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: diff --git a/configs/V32nano/caching.yaml b/configs/V32nano/caching.yaml index fc10a523..8af47cbe 100644 --- a/configs/V32nano/caching.yaml +++ b/configs/V32nano/caching.yaml @@ -5,10 +5,34 @@ V32nano: Events: GenPart: "all" prunedGenPart: "all" - GenVisTau: "all" + # GenVisTau: "all" # L1scJet: [pt, eta, phi] # L1scExtJet: [pt, eta, phi, btagScore] L1gmtTkMuon: "all" L1StaMu: "all" # aka gmtMuon L1tkElectron: "all" - L1nnTau: "all" \ No newline at end of file + # L1nnTau: "all" + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/TT_TuneCP5_14TeV-powheg-pythia8/TT_131_200PU_v32_reL1only/240206_115846/0000/l1nano_*.root + trees_branches: + Events: + # gen + GenJet: "all" + GenMET: "all" + # sums + L1puppiMET: [pt, phi] + 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] + VBFHToTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/l1nano_*.root + trees_branches: + Events: + GenVisTau: "all" + L1nnTau: "all" + L1caloTau: "all" \ No newline at end of file diff --git a/configs/V32nano/object_performance/electron_matching_eta.yaml b/configs/V32nano/object_performance/electron_matching_eta.yaml index 0d5774b7..59fd44e2 100644 --- a/configs/V32nano/object_performance/electron_matching_eta.yaml +++ b/configs/V32nano/object_performance/electron_matching_eta.yaml @@ -1,4 +1,4 @@ -ElectronsMatching_Eta_Pt10to25: +ElectronsMatching_Eta_pt10to25: sample: DYLL_M50 version: V32nano match_test_to_ref: True @@ -25,7 +25,7 @@ ElectronsMatching_Eta_Pt10to25: max: 3 step: 0.2 -ElectronsMatching_Eta_Pt25toInf: +ElectronsMatching_Eta_pt25toInf: sample: DYLL_M50 version: V32nano match_test_to_ref: True diff --git a/configs/V32nano/object_performance/electron_trigger.yaml b/configs/V32nano/object_performance/electron_trigger.yaml index 4317ccc9..ade37626 100644 --- a/configs/V32nano/object_performance/electron_trigger.yaml +++ b/configs/V32nano/object_performance/electron_trigger.yaml @@ -4,7 +4,7 @@ ElectronsTriggerBarrel: match_test_to_ref: True reference_object: object: "part_e" - x_arg: "Pt" + x_arg: "pt" label: "Gen Electrons" cuts: event: @@ -13,9 +13,9 @@ ElectronsTriggerBarrel: object: - "abs({eta}) < 2.8" test_objects: - EG:default:barrel: "Pt" - tkElectron:NoIso:barrel: "Pt" - tkElectron:Iso:barrel: "Pt" + EG:default:barrel: "pt" + tkElectron:NoIso:barrel: "pt" + tkElectron:Iso:barrel: "pt" thresholds: [10, 20, 30, 40] scalings: method: "naive" @@ -33,7 +33,7 @@ ElectronsTriggerEndcap: match_test_to_ref: True reference_object: object: "part_e" - x_arg: "Pt" + x_arg: "pt" label: "Gen Electrons" cuts: event: @@ -42,9 +42,9 @@ ElectronsTriggerEndcap: object: - "abs({eta}) < 2.8" test_objects: - EG:default:endcap: "Pt" - tkElectron:NoIso:endcap: "Pt" - tkElectron:Iso:endcap: "Pt" + EG:default:endcap: "pt" + tkElectron:NoIso:endcap: "pt" + tkElectron:Iso:endcap: "pt" thresholds: [10, 20, 30, 40] scalings: method: "naive" diff --git a/configs/V32nano/object_performance/jets_matching.yaml b/configs/V32nano/object_performance/jets_matching.yaml new file mode 100644 index 00000000..959f2621 --- /dev/null +++ b/configs/V32nano/object_performance/jets_matching.yaml @@ -0,0 +1,73 @@ +JetMatchingBarrel: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + # trackerJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + # trackerJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V32nano/object_performance/jets_matching_eta.yaml b/configs/V32nano/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..c45acc25 --- /dev/null +++ b/configs/V32nano/object_performance/jets_matching_eta.yaml @@ -0,0 +1,72 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "eta" + L1puppiJetSC4:default: "eta" + L1caloJet:default: "eta" + # trackerJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "eta" + L1puppiJetSC4:default: "eta" + L1caloJet:default: "eta" + # trackerJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + L1caloJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5.5 + max: 5.5 + step: 0.25 diff --git a/configs/V32nano/object_performance/jets_matching_wBTag.yaml b/configs/V32nano/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..354c49dd --- /dev/null +++ b/configs/V32nano/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,136 @@ +JetMatching_Eta_pt40To100_ExtendedVsRegular: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC4:default: "Eta" + L1puppiExtJetSC4:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_pt100ToInf_ExtendedVsRegular: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC4:default: "Eta" + L1puppiExtJetSC4:default: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_pt30ToInf_genBJets: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_pt30ToInf_genNotBJets: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "Eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_pt_pt30ToInf_genBJets: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_pt_pt30ToInf_genNotBJets: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V32nano/object_performance/jets_trigger.yaml b/configs/V32nano/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..cc99e4cb --- /dev/null +++ b/configs/V32nano/object_performance/jets_trigger.yaml @@ -0,0 +1,85 @@ +JetTurnonBarrel: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default:barrel: "pt" + L1puppiJetSC4:default:barrel: "pt" + L1caloJet:default: "pt" + # trackerJet:default:barrel: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcap: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default:endcap: "pt" + L1puppiJetSC4:default:endcap: "pt" + L1caloJet:default: "pt" + # trackerJet:default:endcap: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForward: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default:forward: "pt" + L1puppiJetSC4:default:forward: "pt" + L1caloJet:default: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V32nano/object_performance/muon_matching_eta.yaml b/configs/V32nano/object_performance/muon_matching_eta.yaml index 8b155842..0d3d4418 100644 --- a/configs/V32nano/object_performance/muon_matching_eta.yaml +++ b/configs/V32nano/object_performance/muon_matching_eta.yaml @@ -1,4 +1,4 @@ -MuonsMatching_Eta_Pt2to5: +MuonsMatching_Eta_pt2to5: sample: DYLL_M50 version: V32nano match_test_to_ref: True @@ -24,7 +24,7 @@ MuonsMatching_Eta_Pt2to5: max: 3 step: 0.2 -MuonsMatching_Eta_Pt15toInf: +MuonsMatching_Eta_pt15toInf: sample: DYLL_M50 version: V32nano match_test_to_ref: True diff --git a/configs/V32nano/object_performance/muon_trigger.yaml b/configs/V32nano/object_performance/muon_trigger.yaml index 676411cd..6ef5156a 100644 --- a/configs/V32nano/object_performance/muon_trigger.yaml +++ b/configs/V32nano/object_performance/muon_trigger.yaml @@ -4,7 +4,7 @@ MuonsTrigger_Barrel: match_test_to_ref: True reference_object: object: "part_mu" - x_arg: "Pt" + x_arg: "pt" label: "Gen Muons" cuts: event: @@ -12,8 +12,8 @@ MuonsTrigger_Barrel: object: - "abs({eta}) < 0.83" test_objects: - gmtMuon:default:barrel: "Pt" - gmtTkMuon:default:barrel: "Pt" + gmtMuon:default:barrel: "pt" + gmtTkMuon:default:barrel: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" thresholds: [20, 25] @@ -31,7 +31,7 @@ MuonsTrigger_Overlap: match_test_to_ref: True reference_object: object: "part_mu" - x_arg: "Pt" + x_arg: "pt" label: "Gen Muons" cuts: event: @@ -40,8 +40,8 @@ MuonsTrigger_Overlap: - "abs({eta}) > 0.83" - "abs({eta}) < 1.24" test_objects: - gmtMuon:default:overlap: "Pt" - gmtTkMuon:default:overlap: "Pt" + gmtMuon:default:overlap: "pt" + gmtTkMuon:default:overlap: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" thresholds: [20, 25] @@ -59,7 +59,7 @@ MuonsTrigger_Endcap: match_test_to_ref: True reference_object: object: "part_mu" - x_arg: "Pt" + x_arg: "pt" label: "Gen Muons" cuts: event: @@ -67,8 +67,8 @@ MuonsTrigger_Endcap: object: - "abs({eta}) > 1.24" test_objects: - gmtMuon:default:endcap: "Pt" - gmtTkMuon:default:endcap: "Pt" + gmtMuon:default:endcap: "pt" + gmtTkMuon:default:endcap: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" thresholds: [20, 25] From 6472b1613735307a539cc7b1cb435d715eef0025 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 8 Feb 2024 20:19:06 +0100 Subject: [PATCH 07/49] Update bjet compare plot for v32nano --- .../V32nano/object_performance/bJetEff.yaml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 configs/V32nano/object_performance/bJetEff.yaml diff --git a/configs/V32nano/object_performance/bJetEff.yaml b/configs/V32nano/object_performance/bJetEff.yaml new file mode 100644 index 00000000..850c889d --- /dev/null +++ b/configs/V32nano/object_performance/bJetEff.yaml @@ -0,0 +1,30 @@ +BJetEff_pt: + files: + JetMatching_pt_pt30ToInf_genBJets_-999_V32nano: + object: L1puppiExtJetSC4:bjetnn:inclusive + dir: outputs/object_performance/V32nano/turnons/ + label: "Signal: Matched b-jets" + JetMatching_pt_pt30ToInf_genNotBJets_-999_V32nano: + object: L1puppiExtJetSC4:bjetnn:inclusive + dir: outputs/object_performance/V32nano/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + watermark: "BJet_pt" + save_dir: "outputs/object_performance/V32nano/turnons/" + + +BJetEff_Eta: + files: + JetMatching_Eta_pt30ToInf_genBJets_-999_V32nano: + object: L1puppiExtJetSC4:bjetnn:inclusive + dir: outputs/object_performance/V32nano/turnons/ + label: "Signal: Matched b-jets" + JetMatching_Eta_pt30ToInf_genNotBJets_-999_V32nano: + object: L1puppiExtJetSC4:bjetnn:inclusive + dir: outputs/object_performance/V32nano/turnons/ + label: "Background: Unmatched b-jets" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency" + watermark: "BJet_Eta" + save_dir: "outputs/object_performance/V32nano/turnons/" From 450d429c045532d6f519ed6dce143b26257b02a8 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 8 Feb 2024 20:19:19 +0100 Subject: [PATCH 08/49] Ad v32nano jet config --- configs/V32nano/objects/jets.yaml | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 configs/V32nano/objects/jets.yaml diff --git a/configs/V32nano/objects/jets.yaml b/configs/V32nano/objects/jets.yaml new file mode 100644 index 00000000..076ce64e --- /dev/null +++ b/configs/V32nano/objects/jets.yaml @@ -0,0 +1,70 @@ +L1caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + 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] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + bjetnn: + 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" + +# trackerJet: +# 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" From 6e667c340458f7df826407d70b9b938960fa0f68 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 8 Feb 2024 20:54:06 +0100 Subject: [PATCH 09/49] Add Taus for V32/nano --- .../V32/object_performance/tau_matching.yaml | 4 +- .../object_performance/tau_matching_wHH.yaml | 92 +++++++-------- .../V32/object_performance/tau_trigger.yaml | 8 +- .../object_performance/tau_matching.yaml | 47 ++++++++ .../object_performance/tau_matching_wHH.yaml | 47 ++++++++ .../object_performance/tau_trigger.yaml | 111 ++++++++++++++++++ 6 files changed, 257 insertions(+), 52 deletions(-) create mode 100644 configs/V32nano/object_performance/tau_matching.yaml create mode 100644 configs/V32nano/object_performance/tau_matching_wHH.yaml create mode 100644 configs/V32nano/object_performance/tau_trigger.yaml diff --git a/configs/V32/object_performance/tau_matching.yaml b/configs/V32/object_performance/tau_matching.yaml index f0468abd..a5728a5e 100644 --- a/configs/V32/object_performance/tau_matching.yaml +++ b/configs/V32/object_performance/tau_matching.yaml @@ -1,6 +1,6 @@ TausMatchingBarrel: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" @@ -24,7 +24,7 @@ TausMatchingBarrel: TausMatchingEndcap: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" diff --git a/configs/V32/object_performance/tau_matching_wHH.yaml b/configs/V32/object_performance/tau_matching_wHH.yaml index 5f9f7aa4..15800567 100644 --- a/configs/V32/object_performance/tau_matching_wHH.yaml +++ b/configs/V32/object_performance/tau_matching_wHH.yaml @@ -1,47 +1,47 @@ -HHTausMatchingBarrel: - sample: HHToTauTau - version: V29 - match_test_to_ref: True - reference_object: - object: "part_tau" - x_arg: "Pt" - label: "Gen Taus" - cuts: - event: - - "{dr_0.3} < 0.15" - - "abs({eta}) < 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - nnTau:default: "Pt" - caloTau:default: "Pt" - xlabel: "Gen. $p_T$ (GeV)" - ylabel: "Matching Efficiency (Barrel)" - binning: - min: 0 - max: 150 - step: 6 +# HHTausMatchingBarrel: +# sample: HHToTauTau +# version: V32 +# match_test_to_ref: True +# reference_object: +# object: "part_tau" +# x_arg: "Pt" +# label: "Gen Taus" +# cuts: +# event: +# - "{dr_0.3} < 0.15" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# nnTau:default: "Pt" +# caloTau:default: "Pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 150 +# step: 6 -HHTausMatchingEndcap: - sample: HHToTauTau - version: V29 - match_test_to_ref: True - reference_object: - object: "part_tau" - x_arg: "Pt" - label: "Gen Taus" - cuts: - event: - - "{dr_0.3} < 0.15" - - "abs({eta}) > 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - nnTau:default: "Pt" - caloTau:default: "Pt" - xlabel: "Gen. $p_T$ (GeV)" - ylabel: "Matching Efficiency (Endcap)" - binning: - min: 0 - max: 150 - step: 6 +# HHTausMatchingEndcap: +# sample: HHToTauTau +# version: V32 +# match_test_to_ref: True +# reference_object: +# object: "part_tau" +# x_arg: "Pt" +# label: "Gen Taus" +# cuts: +# event: +# - "{dr_0.3} < 0.15" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# nnTau:default: "Pt" +# caloTau:default: "Pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 150 +# step: 6 diff --git a/configs/V32/object_performance/tau_trigger.yaml b/configs/V32/object_performance/tau_trigger.yaml index 084cdd11..0c598819 100644 --- a/configs/V32/object_performance/tau_trigger.yaml +++ b/configs/V32/object_performance/tau_trigger.yaml @@ -1,6 +1,6 @@ TauTriggerBarrel_90perc: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" @@ -28,7 +28,7 @@ TauTriggerBarrel_90perc: TauTriggerEndcap_90perc: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" @@ -56,7 +56,7 @@ TauTriggerEndcap_90perc: TauTriggerBarrel_50perc: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" @@ -84,7 +84,7 @@ TauTriggerBarrel_50perc: TauTriggerEndcap_50perc: sample: VBFHToTauTau - version: V29 + version: V32 match_test_to_ref: True reference_object: object: "part_tau" diff --git a/configs/V32nano/object_performance/tau_matching.yaml b/configs/V32nano/object_performance/tau_matching.yaml new file mode 100644 index 00000000..71700a31 --- /dev/null +++ b/configs/V32nano/object_performance/tau_matching.yaml @@ -0,0 +1,47 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +TausMatchingEndcap: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V32nano/object_performance/tau_matching_wHH.yaml b/configs/V32nano/object_performance/tau_matching_wHH.yaml new file mode 100644 index 00000000..ce72201f --- /dev/null +++ b/configs/V32nano/object_performance/tau_matching_wHH.yaml @@ -0,0 +1,47 @@ +# HHTausMatchingBarrel: +# sample: HHToTauTau +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "part_tau" +# x_arg: "pt" +# label: "Gen Taus" +# cuts: +# event: +# - "{dr_0.3} < 0.15" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# nnTau:default: "pt" +# caloTau:default: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 150 +# step: 6 + +# HHTausMatchingEndcap: +# sample: HHToTauTau +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "part_tau" +# x_arg: "pt" +# label: "Gen Taus" +# cuts: +# event: +# - "{dr_0.3} < 0.15" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# nnTau:default: "pt" +# caloTau:default: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 150 +# step: 6 diff --git a/configs/V32nano/object_performance/tau_trigger.yaml b/configs/V32nano/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..3b16a862 --- /dev/null +++ b/configs/V32nano/object_performance/tau_trigger.yaml @@ -0,0 +1,111 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "pt" + caloTau:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "pt" + caloTau:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerBarrel_50perc: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:barrel: "pt" + caloTau:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_50perc: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_tau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + nnTau:default:endcap: "pt" + caloTau:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 From fb0c4d1ba677c8d6eab8b6b9c594532a41d122fe Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 9 Feb 2024 13:19:51 +0100 Subject: [PATCH 10/49] Fix version in 31 tau configs --- configs/V31/object_performance/tau_matching.yaml | 4 ++-- configs/V31/object_performance/tau_matching_wHH.yaml | 4 ++-- configs/V31/object_performance/tau_trigger.yaml | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/configs/V31/object_performance/tau_matching.yaml b/configs/V31/object_performance/tau_matching.yaml index f0468abd..6cce9064 100644 --- a/configs/V31/object_performance/tau_matching.yaml +++ b/configs/V31/object_performance/tau_matching.yaml @@ -1,6 +1,6 @@ TausMatchingBarrel: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" @@ -24,7 +24,7 @@ TausMatchingBarrel: TausMatchingEndcap: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" diff --git a/configs/V31/object_performance/tau_matching_wHH.yaml b/configs/V31/object_performance/tau_matching_wHH.yaml index 5f9f7aa4..e604d6fc 100644 --- a/configs/V31/object_performance/tau_matching_wHH.yaml +++ b/configs/V31/object_performance/tau_matching_wHH.yaml @@ -1,6 +1,6 @@ HHTausMatchingBarrel: sample: HHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" @@ -24,7 +24,7 @@ HHTausMatchingBarrel: HHTausMatchingEndcap: sample: HHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" diff --git a/configs/V31/object_performance/tau_trigger.yaml b/configs/V31/object_performance/tau_trigger.yaml index 084cdd11..7f31dfd0 100644 --- a/configs/V31/object_performance/tau_trigger.yaml +++ b/configs/V31/object_performance/tau_trigger.yaml @@ -1,6 +1,6 @@ TauTriggerBarrel_90perc: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" @@ -28,7 +28,7 @@ TauTriggerBarrel_90perc: TauTriggerEndcap_90perc: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" @@ -56,7 +56,7 @@ TauTriggerEndcap_90perc: TauTriggerBarrel_50perc: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" @@ -84,7 +84,7 @@ TauTriggerBarrel_50perc: TauTriggerEndcap_50perc: sample: VBFHToTauTau - version: V29 + version: V31 match_test_to_ref: True reference_object: object: "part_tau" From 06e9af222eb6883cc9c064c27629fd171409573d Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Fri, 9 Feb 2024 13:20:50 +0100 Subject: [PATCH 11/49] Add v32nano tau object config --- configs/V32nano/objects/taus.yaml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 configs/V32nano/objects/taus.yaml diff --git a/configs/V32nano/objects/taus.yaml b/configs/V32nano/objects/taus.yaml new file mode 100644 index 00000000..5c522ae4 --- /dev/null +++ b/configs/V32nano/objects/taus.yaml @@ -0,0 +1,26 @@ +L1nnTau: + 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" + +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" From 8dd1ef64fe80f940c1985075d3bbc26d952133a9 Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 15:59:55 +0000 Subject: [PATCH 12/49] Update object configs for new/updated objects --- configs/V32nano/objects/jets.yaml | 18 ++++++++++++-- configs/V32nano/objects/met_ht_mht.yaml | 9 +++++++ configs/V32nano/objects/taus.yaml | 31 ++++++++++++++++++++++++- 3 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 configs/V32nano/objects/met_ht_mht.yaml diff --git a/configs/V32nano/objects/jets.yaml b/configs/V32nano/objects/jets.yaml index 076ce64e..cfa6121f 100644 --- a/configs/V32nano/objects/jets.yaml +++ b/configs/V32nano/objects/jets.yaml @@ -1,5 +1,5 @@ L1caloJet: - match_dR: 0.3 + match_dR: 0.35 label: "Calo Jet" eta_ranges: inclusive: [0, 7] @@ -29,7 +29,7 @@ L1puppiExtJetSC4: - "{btagScore} > 0.71" L1puppiJetHisto: - match_dR: 0.3 + match_dR: 0.35 label: "Histogrammed PuppiJet" eta_ranges: inclusive: [0, 7] @@ -56,6 +56,20 @@ L1puppiJetSC4: 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" + # trackerJet: # match_dR: 0.4 # label: "Tracker Jet" diff --git a/configs/V32nano/objects/met_ht_mht.yaml b/configs/V32nano/objects/met_ht_mht.yaml new file mode 100644 index 00000000..e7e5c30d --- /dev/null +++ b/configs/V32nano/objects/met_ht_mht.yaml @@ -0,0 +1,9 @@ +L1puppiMET: + label: "Puppi MET" + ids: + default: {} + +L1puppiMLMET: + label: "Puppi ML MET" + ids: + default: {} \ No newline at end of file diff --git a/configs/V32nano/objects/taus.yaml b/configs/V32nano/objects/taus.yaml index 5c522ae4..34e696e3 100644 --- a/configs/V32nano/objects/taus.yaml +++ b/configs/V32nano/objects/taus.yaml @@ -10,7 +10,22 @@ L1nnTau: cuts: inclusive: - "abs({eta}) < 2.4" - - "{passLooseNN}==1" + # - "{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" @@ -24,3 +39,17 @@ L1caloTau: cuts: inclusive: - "abs({eta}) < 2.4" + +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" From a2027504336b686986e8202665f6396fa8e9e1e5 Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:03:53 +0000 Subject: [PATCH 13/49] Update caching config --- configs/V32nano/caching.yaml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/configs/V32nano/caching.yaml b/configs/V32nano/caching.yaml index 8af47cbe..fd9a7e53 100644 --- a/configs/V32nano/caching.yaml +++ b/configs/V32nano/caching.yaml @@ -17,10 +17,12 @@ V32nano: trees_branches: Events: # gen - GenJet: "all" + GenJet: [pt, eta, phi] + GenJetAK8: [pt, eta, phi] GenMET: "all" # sums L1puppiMET: [pt, phi] + L1puppiMLMET: "all" L1puppiJetSC4sums: [pt, phi] L1puppiHistoJetSums: [pt, phi] # jets @@ -35,4 +37,20 @@ V32nano: Events: GenVisTau: "all" L1nnTau: "all" - L1caloTau: "all" \ No newline at end of file + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + MinBias: + ntuple_path: + trees_branches: + Events: + L1puppiMET: "all" + L1puppiMLMET: "all" + L1nnTau: "all" + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] From 0c90231429648fbf4befb3deb517ade535035e58 Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:09:32 +0000 Subject: [PATCH 14/49] Add SC8 to jet matching and trigger configs. --- .../object_performance/jets_matching.yaml | 44 +++++++++++ .../object_performance/jets_matching_eta.yaml | 22 ++++++ .../object_performance/jets_trigger.yaml | 78 +++++++++++++++++++ 3 files changed, 144 insertions(+) diff --git a/configs/V32nano/object_performance/jets_matching.yaml b/configs/V32nano/object_performance/jets_matching.yaml index 959f2621..a8c7f071 100644 --- a/configs/V32nano/object_performance/jets_matching.yaml +++ b/configs/V32nano/object_performance/jets_matching.yaml @@ -71,3 +71,47 @@ JetMatchingForward: min: 0 max: 500 step: 10 + +JetMatchingBarrelSC8: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen AK8 Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcapSC8: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen AK8 Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 \ No newline at end of file diff --git a/configs/V32nano/object_performance/jets_matching_eta.yaml b/configs/V32nano/object_performance/jets_matching_eta.yaml index c45acc25..de12dd97 100644 --- a/configs/V32nano/object_performance/jets_matching_eta.yaml +++ b/configs/V32nano/object_performance/jets_matching_eta.yaml @@ -70,3 +70,25 @@ JetMatching_Eta_Pt100ToInf_extEta: min: -5.5 max: 5.5 step: 0.25 + +JetMatching_Eta_SC8_Pt100ToInf: + sample: TT + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC8:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 \ No newline at end of file diff --git a/configs/V32nano/object_performance/jets_trigger.yaml b/configs/V32nano/object_performance/jets_trigger.yaml index cc99e4cb..fe56ec22 100644 --- a/configs/V32nano/object_performance/jets_trigger.yaml +++ b/configs/V32nano/object_performance/jets_trigger.yaml @@ -83,3 +83,81 @@ JetTurnonForward: min: 0 max: 500 step: 10 + +JetTurnonBarrelSC8: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:barrel: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcapSC8: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:endcap: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForwardSC8: + version: V32nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC8:default:forward: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 From b8837e924fbcfcc07cfe0d205ec0ddd70bcc91d1 Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:13:48 +0000 Subject: [PATCH 15/49] Add new tau objects to performance config, update trigger config to nano, add matching eff vs eta for taus --- .../object_performance/tau_matching.yaml | 4 ++ .../object_performance/tau_matching_eta.yaml | 50 +++++++++++++++++++ .../object_performance/tau_trigger.yaml | 40 +++++++++------ 3 files changed, 78 insertions(+), 16 deletions(-) create mode 100644 configs/V32nano/object_performance/tau_matching_eta.yaml diff --git a/configs/V32nano/object_performance/tau_matching.yaml b/configs/V32nano/object_performance/tau_matching.yaml index 71700a31..c75fb1c6 100644 --- a/configs/V32nano/object_performance/tau_matching.yaml +++ b/configs/V32nano/object_performance/tau_matching.yaml @@ -14,7 +14,9 @@ TausMatchingBarrel: - "abs({eta}) < 2.4" test_objects: L1nnTau:default: "pt" + L1hpsTau:default: "pt" L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" binning: @@ -38,7 +40,9 @@ TausMatchingEndcap: - "abs({eta}) < 2.4" test_objects: L1nnTau:default: "pt" + L1hpsTau:default: "pt" L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Endcap)" binning: diff --git a/configs/V32nano/object_performance/tau_matching_eta.yaml b/configs/V32nano/object_performance/tau_matching_eta.yaml new file mode 100644 index 00000000..ddb84274 --- /dev/null +++ b/configs/V32nano/object_performance/tau_matching_eta.yaml @@ -0,0 +1,50 @@ +TauMatching_Eta_Pt40To100: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "eta" + label: "Gen Taus" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnTau:default: "eta" + L1hpsTau:default: "eta" + L1caloTau:default: "eta" + L1nnCaloTau:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -3.0 + max: 3.0 + step: 0.2 + +TauMatching_Eta_Pt100ToInf: + sample: VBFHToTauTau + version: V32nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "eta" + label: "Gen Taus" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1nnTau:default: "eta" + L1hpsTau:default: "eta" + L1caloTau:default: "eta" + L1nnCaloTau:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32nano/object_performance/tau_trigger.yaml b/configs/V32nano/object_performance/tau_trigger.yaml index 3b16a862..86115859 100644 --- a/configs/V32nano/object_performance/tau_trigger.yaml +++ b/configs/V32nano/object_performance/tau_trigger.yaml @@ -3,18 +3,20 @@ TauTriggerBarrel_90perc: version: V32nano match_test_to_ref: True reference_object: - object: "part_tau" + object: "GenVisTau" x_arg: "pt" label: "Gen Taus" cuts: event: - - "{dr_0.3} < 0.15" + # - "{dr_0.3} < 0.15" - "abs({eta}) < 1.5" object: - "abs({eta}) < 2.4" test_objects: - nnTau:default:barrel: "pt" - caloTau:default:barrel: "pt" + L1nnTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" thresholds: [20, 30] @@ -31,18 +33,20 @@ TauTriggerEndcap_90perc: version: V32nano match_test_to_ref: True reference_object: - object: "part_tau" + object: "GenVisTau" x_arg: "pt" label: "Gen Taus" cuts: event: - - "{dr_0.3} < 0.15" + # - "{dr_0.3} < 0.15" - "abs({eta}) > 1.5" object: - "abs({eta}) < 2.4" test_objects: - nnTau:default:endcap: "pt" - caloTau:default:endcap: "pt" + L1nnTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" thresholds: [20, 30] @@ -59,18 +63,20 @@ TauTriggerBarrel_50perc: version: V32nano match_test_to_ref: True reference_object: - object: "part_tau" + object: "GenVisTau" x_arg: "pt" label: "Gen Taus" cuts: event: - - "{dr_0.3} < 0.15" + # - "{dr_0.3} < 0.15" - "abs({eta}) < 1.5" object: - "abs({eta}) < 2.4" test_objects: - nnTau:default:barrel: "pt" - caloTau:default:barrel: "pt" + L1nnTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" thresholds: [20, 30] @@ -87,18 +93,20 @@ TauTriggerEndcap_50perc: version: V32nano match_test_to_ref: True reference_object: - object: "part_tau" + object: "GenVisTau" x_arg: "pt" label: "Gen Taus" cuts: event: - - "{dr_0.3} < 0.15" + # - "{dr_0.3} < 0.15" - "abs({eta}) > 1.5" object: - "abs({eta}) < 2.4" test_objects: - nnTau:default:endcap: "pt" - caloTau:default:endcap: "pt" + L1nnTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" thresholds: [20, 30] From bfa1419b29e069e899296e2aca65b105b538784b Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:20:27 +0000 Subject: [PATCH 16/49] Add comment for optional scalings for SC8 --- configs/scaling_thresholds.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/scaling_thresholds.yaml b/configs/scaling_thresholds.yaml index af0cbede..dcec63a7 100644 --- a/configs/scaling_thresholds.yaml +++ b/configs/scaling_thresholds.yaml @@ -1,4 +1,5 @@ Jet: {25, 30, 35, 40, 45, 50, 55, 60, 70, 75, 80, 85, 90, 100, 120, 125, 130, 140, 150, 175} +# Jet: {100, 120, 150, 175, 200, 250, 300} # Scalings for SC8, as min jet pt in nano is 100 GeV Muon: {7, 9, 10, 12, 14, 15, 17, 20, 26, 25, 27, 30} Tau: {27, 30, 40, 50, 60, 70} EG: {7, 9, 12, 14, 15, 17, 20, 26, 25, 27, 30, 40, 50} From 62d24412ed7a7e651bcf9fbb6346b46e92426c8a Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:21:33 +0000 Subject: [PATCH 17/49] Update rate tools to work with nano --- menu_tools/rate_plots/plotter.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/menu_tools/rate_plots/plotter.py b/menu_tools/rate_plots/plotter.py index 106851f7..051be015 100644 --- a/menu_tools/rate_plots/plotter.py +++ b/menu_tools/rate_plots/plotter.py @@ -89,6 +89,7 @@ def _plot_single_version_rate_curves(self): self._outdir, f"{version}_{self._online_offline}_{self.cfg.plot_name}", ) + print ('Saving to ',fname) plt.savefig(fname + ".png") plt.savefig(fname + ".pdf") @@ -184,7 +185,13 @@ def _transform_key(self, raw_key: str) -> str: key: string of with the l1 object name prefix removed, qual transformed to quality """ - key = raw_key.removeprefix(self.object.nano_obj_name).lower() + ## nano + if ("_" in raw_key): + key = raw_key.removeprefix(self.object.nano_obj_name).split("_")[-1] + ## menu ntuples + else: + key = raw_key.removeprefix(self.object.nano_obj_name).lower() + if "qual" in key: return "quality" return key From d6ef8c6ee0faaf4c86cefc0e51a80163cadaf048 Mon Sep 17 00:00:00 2001 From: Emyr Clement Date: Fri, 23 Feb 2024 16:31:33 +0000 Subject: [PATCH 18/49] Add rate config --- .../V32nano/rate_plots/all_rate_plots.yaml | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 configs/V32nano/rate_plots/all_rate_plots.yaml diff --git a/configs/V32nano/rate_plots/all_rate_plots.yaml b/configs/V32nano/rate_plots/all_rate_plots.yaml new file mode 100644 index 00000000..7f64c894 --- /dev/null +++ b/configs/V32nano/rate_plots/all_rate_plots.yaml @@ -0,0 +1,46 @@ +TauRates: + sample: MinBias + version: V32nano + test_objects: + - L1nnTau:default + - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 + +JetDefaultRates: + sample: MinBias + version: V32nano + test_objects: + - L1puppiJetHisto:default + - L1puppiJetSC4:default + - L1caloJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetSC8Rates: + sample: MinBias + version: V32nano + test_objects: + # - L1puppiJetSC4:default + - L1puppiJetSC8:default + binning: + min: 40 + max: 420 + step: 20 + +METRates: + sample: MinBias + version: V32nano + test_objects: + - L1puppiMET:default + - L1puppiMLMET:default + binning: + min: 50 + max: 300 + step: 10 From 3431f0f3c43428c348f7cd917f21f1fbacf39724 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 22 Feb 2024 12:28:03 +0100 Subject: [PATCH 19/49] Adaptations for nano for iso plot --- menu_tools/object_performance/turnon_collection.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index faf77e1c..05372626 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -105,7 +105,10 @@ def test_objects(self) -> list[tuple[Object, str]]: test_objects = self.cfg_plot.test_objects for obj_key, x_arg in test_objects.items(): obj = Object(obj_key, self.cfg_plot.version) - obj_args.append((obj, x_arg.lower())) + if "L1" in obj: + obj_args.append((obj, x_arg)) + else: + obj_args.append((obj, x_arg.lower())) return obj_args @@ -142,7 +145,7 @@ def _match_test_to_ref(self): pass_dR = dR < test_obj.match_dR pt_max = ak.argmax(ref_test["test"]["pt"][pass_dR], axis=-1, keepdims=True) - if "iso" not in x_arg: + if "iso" not in x_arg.lower(): self.numerators["ref"][str(test_obj)] = ref_test["ref"][x_arg][pass_dR][ pt_max ][:, :, 0] From 14218c07509ab3ab9d3e6cec6771d046791911b2 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 22 Feb 2024 12:36:57 +0100 Subject: [PATCH 20/49] Add OMTF ID to muons in v29 for checks --- configs/V29/object_performance/muon_matching.yaml | 1 + configs/V29/object_performance/muon_matching_eta.yaml | 1 + configs/V29/objects/muons.yaml | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configs/V29/object_performance/muon_matching.yaml b/configs/V29/object_performance/muon_matching.yaml index 67e974bb..501f1c04 100644 --- a/configs/V29/object_performance/muon_matching.yaml +++ b/configs/V29/object_performance/muon_matching.yaml @@ -37,6 +37,7 @@ MuonsMatchingOverlap: - "abs({eta}) < 1.24" test_objects: gmtMuon:default:overlap: "Pt" + gmtMuon:oldRateID:overlap: "Pt" gmtTkMuon:default:overlap: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (overlap)" diff --git a/configs/V29/object_performance/muon_matching_eta.yaml b/configs/V29/object_performance/muon_matching_eta.yaml index 8940c722..dfeec848 100644 --- a/configs/V29/object_performance/muon_matching_eta.yaml +++ b/configs/V29/object_performance/muon_matching_eta.yaml @@ -39,6 +39,7 @@ MuonsMatching_Eta_Pt15toInf: - "abs({eta}) < 2.4" test_objects: gmtMuon:default: "Eta" + gmtMuon:oldRateID: "Eta" gmtTkMuon:default: "Eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (>15 GeV)" diff --git a/configs/V29/objects/muons.yaml b/configs/V29/objects/muons.yaml index 77a8fe31..7a607325 100644 --- a/configs/V29/objects/muons.yaml +++ b/configs/V29/objects/muons.yaml @@ -7,7 +7,9 @@ gmtMuon: overlap: [0.83, 1.24] endcap: [1.24, 2.4] ids: - default: + default: {} + oldRateID: + label: "GMT Muon, Qual>=12 in OMTF" cuts: overlap: - "{quality} >= 12" From 4c044fcf96fac4d81edfd0bc739b3a5d1ec622bc Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 22 Feb 2024 12:37:25 +0100 Subject: [PATCH 21/49] Update rate config for v29 --- configs/V29/rate_plots/all_rate_plots.yaml | 90 +++++++++++----------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/configs/V29/rate_plots/all_rate_plots.yaml b/configs/V29/rate_plots/all_rate_plots.yaml index 02381752..e49aff68 100644 --- a/configs/V29/rate_plots/all_rate_plots.yaml +++ b/configs/V29/rate_plots/all_rate_plots.yaml @@ -1,59 +1,59 @@ -HTRates: - sample: MinBias - version: V29 - test_objects: - - phase1PuppiHT:default - - seededConePuppiHT:default - # - trackerJet:default - binning: - min: 40 - max: 420 - step: 20 +# HTRates: +# sample: MinBias +# version: V29 +# test_objects: +# - phase1PuppiHT:default +# - seededConePuppiHT:default +# # - trackerJet:default +# binning: +# min: 40 +# max: 420 +# step: 20 -JetDefaultRates: - sample: MinBias - version: V29 - test_objects: - - phase1PuppiJet:default - - seededConePuppiJet:default - # - trackerJet:default - binning: - min: 40 - max: 420 - step: 20 +# JetDefaultRates: +# sample: MinBias +# version: V29 +# test_objects: +# - phase1PuppiJet:default +# - seededConePuppiJet:default +# # - trackerJet:default +# binning: +# min: 40 +# max: 420 +# step: 20 -ElectronDefaultRates: - sample: MinBias - version: V29 - test_objects: - - EG:default - - tkElectron:NoIso - - tkElectron:Iso - - tkPhoton:Iso - binning: - min: 10 - max: 97 - step: 3 +# ElectronDefaultRates: +# sample: MinBias +# version: V29 +# test_objects: +# - EG:default +# - tkElectron:NoIso +# - tkElectron:Iso +# - tkPhoton:Iso +# binning: +# min: 10 +# max: 97 +# step: 3 MuonRates: sample: MinBias version: V29 test_objects: - gmtMuon:default - # - gmtMuon:oldRateID + - gmtMuon:oldRateID - gmtTkMuon:default binning: min: 0 max: 75 step: 3 -TauRates: - sample: MinBias - version: V29 - test_objects: - - nnTau:default - - caloTau:default - binning: - min: 10 - max: 155 - step: 5 +# TauRates: +# sample: MinBias +# version: V29 +# test_objects: +# - nnTau:default +# - caloTau:default +# binning: +# min: 10 +# max: 155 +# step: 5 From e84b14a31a1c3d1973e34188ada2331893f1f990 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 22 Feb 2024 12:39:16 +0100 Subject: [PATCH 22/49] Updates for V32 configs --- .../version_comparison.yaml | 30 +++++++++---------- .../V32/object_performance/jets_trigger.yaml | 4 +-- .../V32/object_performance/tau_matching.yaml | 2 ++ .../version_comparison.yaml | 30 +++++++++---------- configs/V32/objects/taus.yaml | 6 ++++ configs/V32/rate_plots/all_rate_plots.yaml | 10 +++---- 6 files changed, 45 insertions(+), 37 deletions(-) diff --git a/configs/V31/object_performance/version_comparison.yaml b/configs/V31/object_performance/version_comparison.yaml index 3ea2df9e..166cd6ed 100644 --- a/configs/V31/object_performance/version_comparison.yaml +++ b/configs/V31/object_performance/version_comparison.yaml @@ -1,44 +1,44 @@ -V22_V29_GMTMuonsBarrel_Comparison: +V22_V31_GMTMuonsBarrel_Comparison: files: MuonsTrigger_20_V22: object: gmtMuon dir: outputs/V22/turnons/ label: "GMT Muon (V22)" - MuonsTrigger_20_V29: + MuonsTrigger_20_V31: object: gmtMuon - dir: outputs/V29/turnons/ - label: "GMT Muon (V29)" + dir: outputs/V31/turnons/ + label: "GMT Muon (V31)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_gmtMuonBarrel_Comp" + watermark: "V22_V31_gmtMuonBarrel_Comp" save_dir: "outputs/V22vs27/turnons" -V22_V29_ElectronsBarrel_Comparison: +V22_V31_ElectronsBarrel_Comparison: files: ElectronsTriggerBarrel_30_V22: object: tkElectron dir: outputs/V22/turnons/ label: "tkElectron (V22)" - ElectronsTriggerBarrel_30_V29: + ElectronsTriggerBarrel_30_V31: object: tkElectron - dir: outputs/V29/turnons/ - label: "tkElectron (V29)" + dir: outputs/V31/turnons/ + label: "tkElectron (V31)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_EGBarrel_Comp" + watermark: "V22_V31_EGBarrel_Comp" save_dir: "outputs/V22vs27/turnons" -V22_V29_GMTtkMuonsBarrel_Comparison: +V22_V31_GMTtkMuonsBarrel_Comparison: files: MuonsTrigger_20_V22: object: gmtMuon dir: outputs/V22/turnons/ label: "GMT tkMuon (V22)" - MuonsTrigger_20_V29: + MuonsTrigger_20_V31: object: gmtMuon - dir: outputs/V29/turnons/ - label: "GMT tkMuon (V29)" + dir: outputs/V31/turnons/ + label: "GMT tkMuon (V31)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_gmtTkMuonBarrel_Comp" + watermark: "V22_V31_gmtTkMuonBarrel_Comp" save_dir: "outputs/V22vs27/turnons" diff --git a/configs/V32/object_performance/jets_trigger.yaml b/configs/V32/object_performance/jets_trigger.yaml index f6e3ff2f..d6b0cff5 100644 --- a/configs/V32/object_performance/jets_trigger.yaml +++ b/configs/V32/object_performance/jets_trigger.yaml @@ -43,7 +43,7 @@ JetTurnonEndcap: test_objects: phase1PuppiJet:default:endcap: "Pt" seededConePuppiJet:default:endcap: "Pt" - caloJet:default:barrel: "Pt" + caloJet:default:endcap: "Pt" # trackerJet:default:endcap: "Pt" thresholds: [50, 100] scalings: @@ -72,7 +72,7 @@ JetTurnonForward: test_objects: phase1PuppiJet:default:forward: "Pt" seededConePuppiJet:default:forward: "Pt" - caloJet:default:barrel: "Pt" + caloJet:default:forward: "Pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V32/object_performance/tau_matching.yaml b/configs/V32/object_performance/tau_matching.yaml index a5728a5e..5b94bce9 100644 --- a/configs/V32/object_performance/tau_matching.yaml +++ b/configs/V32/object_performance/tau_matching.yaml @@ -15,6 +15,7 @@ TausMatchingBarrel: test_objects: nnTau:default: "Pt" caloTau:default: "Pt" + caloTau:PtGe20: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" binning: @@ -39,6 +40,7 @@ TausMatchingEndcap: test_objects: nnTau:default: "Pt" caloTau:default: "Pt" + caloTau:PtGe20: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Endcap)" binning: diff --git a/configs/V32/object_performance/version_comparison.yaml b/configs/V32/object_performance/version_comparison.yaml index 3ea2df9e..b13021f3 100644 --- a/configs/V32/object_performance/version_comparison.yaml +++ b/configs/V32/object_performance/version_comparison.yaml @@ -1,44 +1,44 @@ -V22_V29_GMTMuonsBarrel_Comparison: +V22_V32_GMTMuonsBarrel_Comparison: files: MuonsTrigger_20_V22: object: gmtMuon dir: outputs/V22/turnons/ label: "GMT Muon (V22)" - MuonsTrigger_20_V29: + MuonsTrigger_20_V32: object: gmtMuon - dir: outputs/V29/turnons/ - label: "GMT Muon (V29)" + dir: outputs/V32/turnons/ + label: "GMT Muon (V32)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_gmtMuonBarrel_Comp" + watermark: "V22_V32_gmtMuonBarrel_Comp" save_dir: "outputs/V22vs27/turnons" -V22_V29_ElectronsBarrel_Comparison: +V22_V32_ElectronsBarrel_Comparison: files: ElectronsTriggerBarrel_30_V22: object: tkElectron dir: outputs/V22/turnons/ label: "tkElectron (V22)" - ElectronsTriggerBarrel_30_V29: + ElectronsTriggerBarrel_30_V32: object: tkElectron - dir: outputs/V29/turnons/ - label: "tkElectron (V29)" + dir: outputs/V32/turnons/ + label: "tkElectron (V32)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_EGBarrel_Comp" + watermark: "V22_V32_EGBarrel_Comp" save_dir: "outputs/V22vs27/turnons" -V22_V29_GMTtkMuonsBarrel_Comparison: +V22_V32_GMTtkMuonsBarrel_Comparison: files: MuonsTrigger_20_V22: object: gmtMuon dir: outputs/V22/turnons/ label: "GMT tkMuon (V22)" - MuonsTrigger_20_V29: + MuonsTrigger_20_V32: object: gmtMuon - dir: outputs/V29/turnons/ - label: "GMT tkMuon (V29)" + dir: outputs/V32/turnons/ + label: "GMT tkMuon (V32)" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" - watermark: "V22_V29_gmtTkMuonBarrel_Comp" + watermark: "V22_V32_gmtTkMuonBarrel_Comp" save_dir: "outputs/V22vs27/turnons" diff --git a/configs/V32/objects/taus.yaml b/configs/V32/objects/taus.yaml index 2f1bf535..e448794b 100644 --- a/configs/V32/objects/taus.yaml +++ b/configs/V32/objects/taus.yaml @@ -27,3 +27,9 @@ caloTau: cuts: inclusive: - "abs({eta}) < 2.4" + PtGe20: + label: "Calo Tau, pt > 20" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 20" diff --git a/configs/V32/rate_plots/all_rate_plots.yaml b/configs/V32/rate_plots/all_rate_plots.yaml index 02381752..0a56d0c9 100644 --- a/configs/V32/rate_plots/all_rate_plots.yaml +++ b/configs/V32/rate_plots/all_rate_plots.yaml @@ -1,6 +1,6 @@ HTRates: sample: MinBias - version: V29 + version: V32 test_objects: - phase1PuppiHT:default - seededConePuppiHT:default @@ -12,7 +12,7 @@ HTRates: JetDefaultRates: sample: MinBias - version: V29 + version: V32 test_objects: - phase1PuppiJet:default - seededConePuppiJet:default @@ -24,7 +24,7 @@ JetDefaultRates: ElectronDefaultRates: sample: MinBias - version: V29 + version: V32 test_objects: - EG:default - tkElectron:NoIso @@ -37,7 +37,7 @@ ElectronDefaultRates: MuonRates: sample: MinBias - version: V29 + version: V32 test_objects: - gmtMuon:default # - gmtMuon:oldRateID @@ -49,7 +49,7 @@ MuonRates: TauRates: sample: MinBias - version: V29 + version: V32 test_objects: - nnTau:default - caloTau:default From 8bd87f9880f99d374177684f6fdfb5ee8897947b Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Thu, 22 Feb 2024 13:20:52 +0100 Subject: [PATCH 23/49] Script to merge arrays e.g. barrel and endcap EG --- menu_tools/caching/merge_arrays.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 menu_tools/caching/merge_arrays.py diff --git a/menu_tools/caching/merge_arrays.py b/menu_tools/caching/merge_arrays.py new file mode 100644 index 00000000..e5702692 --- /dev/null +++ b/menu_tools/caching/merge_arrays.py @@ -0,0 +1,27 @@ +import awkward as ak + +version = "V32nano" +sample = "Hgg" +pattern = f"cache/f{version}/{version}_{sample}_%s.parquet" +objects = ["L1EGbarrel","L1EGendcap"] +target_object = "L1EG" + +print(f"Reading files as {pattern} for {objects}") +# arrs = [ak.from_parquet(pattern%obj) for obj in objects] +## rename fields to be consistent +# arrs [ak.zip({f.replace(obj):arr[f] for f in arr.fields}) for arr in arrs] +arrs = [] + +for obj in objects: + arr = ak.from_parquet(pattern%obj) + arr = ak.Array({f.replace(obj,target_object):arr[f] for f in arr.fields}) + print(obj, arr.fields) + arrs.append(arr) + +# reprocess -> ak.unzip +# arrs = [ak.Array(dict(zip([f.split("_")[-1] for f in arr.fields],ak.unzip(arr)))) for arr in arrs] +print("Merging") +merge_arr = ak.concatenate(arrs, axis=1) +print(merge_arr) +print(f"Writing merged array to: {pattern%target_object}") +ak.to_parquet(merge_arr, pattern%target_object) From 90b9cd9001f2921e415473cbe246c113893d1b6b Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 12:39:39 +0100 Subject: [PATCH 24/49] Make lower eta range cut inclusive --- menu_tools/object_performance/turnon_collection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index 05372626..ecd1b49d 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -276,7 +276,7 @@ def _apply_test_obj_cuts(self): ) eta_sel = ( abs(self.ak_arrays[str(test_obj)]["eta"]) - > test_obj.eta_ranges[range_i][0] + >= test_obj.eta_ranges[range_i][0] ) & ( abs(self.ak_arrays[str(test_obj)]["eta"]) < test_obj.eta_ranges[range_i][1] From 5566bde6d24dfa561e0955c79398a3eeb15a2b65 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 16:28:40 +0100 Subject: [PATCH 25/49] Fix all branch loading --- menu_tools/utils/utils.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index 6a10580a..a987d5d0 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -60,15 +60,18 @@ def get_branches(ntuple_path: str, tree: str, obj: str): all_branches = f[tree].keys() if "GenTree" in tree: prefix = "Generator/" - else: + elif "L1PhaseII" in tree: prefix = "L1PhaseII/" + elif "Events" in tree: + prefix = "Events/" ## nano if tree == "Events": - obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] + obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(prefix+obj)] ## no nano else: - obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(obj)] + print("here", obj) + obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] return obj_branches From c0d8e9aa8e88bbcfb7047290b3dc0a6a261c0786 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 17:49:02 +0100 Subject: [PATCH 26/49] Fixes for reading MET in nano --- menu_tools/object_performance/turnon_collection.py | 7 ++++++- menu_tools/utils/utils.py | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index ecd1b49d..55327389 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -51,7 +51,7 @@ def _load_array_from_parquet(self, obj: str): ) array = ak.from_parquet(fname) array_dict = {self._transform_key(key, obj): array[key] for key in array.fields} - if self.cfg_plot.reference_trafo: + if self.cfg_plot.reference_trafo and not obj.startswith("L1"): array = ak.Array(array_dict) else: array = ak.zip(array_dict) @@ -266,6 +266,9 @@ def _apply_test_obj_cuts(self): for test_obj, _ in self.test_objects: if not test_obj.cuts: continue + ## add dummy eta + if "eta" not in self.ak_arrays[str(test_obj)].fields: + self.ak_arrays[str(test_obj)]["eta"] = 0 for ( range_i, range_cuts, @@ -295,6 +298,8 @@ def _skim_to_hists(self) -> None: for test_obj, x_arg in self.test_objects: sel = self.ak_arrays[str(test_obj)][x_arg] > self.threshold + if (self.ak_arrays["ref"].ndim == 1) and (sel.ndim == 2): + sel = sel[:,0] ak_array = self._flatten_array(self.ak_arrays["ref"][ref_field][sel]) self.hists[str(test_obj)] = np.histogram(ak_array, bins=self.bins) diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index a987d5d0..44a19ab5 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -70,7 +70,6 @@ def get_branches(ntuple_path: str, tree: str, obj: str): obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(prefix+obj)] ## no nano else: - print("here", obj) obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] return obj_branches From b1328593a1e7a00a8a31c60f95e93bbcf821a5c4 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 17:49:26 +0100 Subject: [PATCH 27/49] Add pt cut in EG merge script --- menu_tools/caching/merge_arrays.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/menu_tools/caching/merge_arrays.py b/menu_tools/caching/merge_arrays.py index e5702692..e493e518 100644 --- a/menu_tools/caching/merge_arrays.py +++ b/menu_tools/caching/merge_arrays.py @@ -1,25 +1,23 @@ import awkward as ak version = "V32nano" -sample = "Hgg" -pattern = f"cache/f{version}/{version}_{sample}_%s.parquet" +sample = "DYLL_M50" +# sample = "Hgg" +pattern = f"cache/{version}/{version}_{sample}_%s.parquet" objects = ["L1EGbarrel","L1EGendcap"] target_object = "L1EG" print(f"Reading files as {pattern} for {objects}") -# arrs = [ak.from_parquet(pattern%obj) for obj in objects] -## rename fields to be consistent -# arrs [ak.zip({f.replace(obj):arr[f] for f in arr.fields}) for arr in arrs] arrs = [] for obj in objects: arr = ak.from_parquet(pattern%obj) arr = ak.Array({f.replace(obj,target_object):arr[f] for f in arr.fields}) + # apply 5 gev cut + arr = arr[arr[f"{target_object}_pt"] > 5] print(obj, arr.fields) arrs.append(arr) -# reprocess -> ak.unzip -# arrs = [ak.Array(dict(zip([f.split("_")[-1] for f in arr.fields],ak.unzip(arr)))) for arr in arrs] print("Merging") merge_arr = ak.concatenate(arrs, axis=1) print(merge_arr) From 81a82d0a06697e90fefe9193c16b9907046705db Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 17:50:38 +0100 Subject: [PATCH 28/49] Update for Jet/Sums in V32 --- configs/V32/caching.yaml | 22 +- .../V32/object_performance/met_ht_mht.yaml | 200 +++++++++--------- 2 files changed, 109 insertions(+), 113 deletions(-) diff --git a/configs/V32/caching.yaml b/configs/V32/caching.yaml index 857e53e3..e65db535 100644 --- a/configs/V32/caching.yaml +++ b/configs/V32/caching.yaml @@ -14,26 +14,22 @@ V32: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/TT_TuneCP5_14TeV-powheg-pythia8/TT_131_200PU_v32_reL1only/240206_115846/0000/L1NtuplePhaseII_Step1_*.root trees_branches: genTree/L1GenTree: - # genMetTrue: "all" + # genMetTrue: "all" # DOES NOT EXIST IN ABOVE jet: [Pt, Eta, Phi] l1PhaseIITree/L1PhaseIITree: - # puppiMET: "all" + puppiMET: "all" phase1PuppiJet: [Pt, Et, Eta, Phi] - # phase1PuppiMHT: "all" - # phase1PuppiHT: "all" + phase1PuppiMHT: "all" + phase1PuppiHT: "all" seededConePuppiJet: [Pt, Et, Eta, Phi] seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] - # seededConePuppiHT: "all" - # seededConePuppiMHT: "all" + seededConePuppiHT: "all" + seededConePuppiMHT: "all" trackerJet: [Pt, Eta, Phi] - # trackerMET: "all" - # trackerMHT: "all" - # trackerHT: "all" - # caloJet: "all" + trackerMET: "all" + trackerMHT: "all" + trackerHT: "all" caloJet: [Et, Pt, Eta, Phi] - # ## DEBUG - # #tkElectron: [Pt, Et, Eta, Phi, Chg, Bx, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] - # #tkPhoton: [Pt, Et, Eta, Phi, Bx, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] VBFHToTauTau: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/L1NtuplePhaseII_Step1_*.root trees_branches: diff --git a/configs/V32/object_performance/met_ht_mht.yaml b/configs/V32/object_performance/met_ht_mht.yaml index ffe47626..7354405f 100644 --- a/configs/V32/object_performance/met_ht_mht.yaml +++ b/configs/V32/object_performance/met_ht_mht.yaml @@ -2,8 +2,8 @@ HT_90perc: sample: TT version: V32 reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" + x_arg: "pt" label: "Gen HT" trafo: "HT" cuts: @@ -11,8 +11,8 @@ HT_90perc: - "abs({eta}) < 2.4" - "{pt} > 30" test_objects: - trackerHT:default: "" - phase1PuppiHT:default: "" + # trackerHT:default: "" + # phase1PuppiHT:default: "" seededConePuppiHT:default: "" thresholds: [350] scalings: @@ -25,39 +25,39 @@ HT_90perc: max: 750 step: 20 -HT_50perc: - sample: TT - version: V32 - reference_object: - object: "jet" - x_arg: "Pt" - label: "Gen HT" - trafo: "HT" - cuts: - object: - - "abs({eta}) < 2.4" - - "{pt} > 30" - test_objects: - trackerHT:default: "" - phase1PuppiHT:default: "" - seededConePuppiHT:default: "" - thresholds: [350] - scalings: - method: "naive" - threshold: 0.50 - xlabel: "Gen. HT (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - binning: - min: 0 - max: 750 - step: 20 +# HT_50perc: +# sample: TT +# version: V32 +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen HT" +# trafo: "HT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# test_objects: +# # trackerHT:default: "" +# # phase1PuppiHT:default: "" +# seededConePuppiHT:default: "" +# thresholds: [350] +# scalings: +# method: "naive" +# threshold: 0.50 +# xlabel: "Gen. HT (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# binning: +# min: 0 +# max: 750 +# step: 20 MHT_50perc: sample: TT version: V32 reference_object: - object: "jet" - x_arg: "Pt" + object: "GenJet" + x_arg: "pt" label: "Gen MHT" cuts: object: @@ -65,8 +65,8 @@ MHT_50perc: - "{pt} > 30" trafo: "MHT" test_objects: - trackerMHT:default: "" - phase1PuppiMHT:default: "et" + # trackerMHT:default: "" + # phase1PuppiMHT:default: "et" seededConePuppiMHT:default: "et" thresholds: [70, 150] scalings: @@ -79,71 +79,71 @@ MHT_50perc: max: 500 step: 20 -MHT_90perc: - sample: TT - version: V32 - reference_object: - object: "jet" - x_arg: "Pt" - label: "Gen MHT" - cuts: - object: - - "abs({eta}) < 2.4" - - "{pt} > 30" - trafo: "MHT" - test_objects: - trackerMHT:default: "" - phase1PuppiMHT:default: "et" - seededConePuppiMHT:default: "et" - thresholds: [70, 150] - scalings: - method: "naive" - threshold: 0.90 - xlabel: "Gen. MHT30 (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - binning: - min: 0 - max: 500 - step: 20 +# MHT_90perc: +# sample: TT +# version: V32 +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen MHT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# trafo: "MHT" +# test_objects: +# # trackerMHT:default: "" +# # phase1PuppiMHT:default: "et" +# seededConePuppiMHT:default: "et" +# thresholds: [70, 150] +# scalings: +# method: "naive" +# threshold: 0.90 +# xlabel: "Gen. MHT30 (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# binning: +# min: 0 +# max: 500 +# step: 20 -MET_90perc: - sample: TT - version: V32 - reference_object: - object: "genMetTrue" - x_arg: "" - label: "Gen MET" - test_objects: - trackerMET:default: "" - puppiMET:default: "et" - thresholds: [150] - 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: V32 +# reference_object: +# object: "genMetTrue" +# x_arg: "" +# label: "Gen MET" +# test_objects: +# # trackerMET:default: "" +# puppiMET:default: "et" +# thresholds: [150] +# xlabel: "Gen. MET (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# scalings: +# method: "naive" +# threshold: 0.90 +# binning: +# min: 0 +# max: 500 +# step: 20 -MET_50perc: - sample: TT - version: V32 - reference_object: - object: "genMetTrue" - x_arg: "" - label: "Gen MET" - test_objects: - trackerMET:default: "" - puppiMET:default: "et" - thresholds: [150] - xlabel: "Gen. MET (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - scalings: - method: "naive" - threshold: 0.50 - binning: - min: 0 - max: 500 - step: 20 +# MET_50perc: +# sample: TT +# version: V32 +# reference_object: +# object: "genMetTrue" +# x_arg: "" +# label: "Gen MET" +# test_objects: +# # trackerMET:default: "" +# puppiMET:default: "et" +# thresholds: [150] +# xlabel: "Gen. MET (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# scalings: +# method: "naive" +# threshold: 0.50 +# binning: +# min: 0 +# max: 500 +# step: 20 From 2037f50a483c0c131a26f4ebd9f9fcd1f976cb78 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 17:51:03 +0100 Subject: [PATCH 29/49] Updates for V32nano incl sums --- .gitignore | 3 - configs/V32nano/caching.yaml | 3 + .../object_performance/electron_matching.yaml | 60 +++++++++++++- .../electron_matching_eta.yaml | 12 +-- .../object_performance/electron_trigger.yaml | 82 ++++++++++++++++--- .../object_performance/met_ht_mht.yaml | 73 +++++++++++++++++ configs/V32nano/object_performance/mht.yaml | 52 ++++++++++++ .../object_performance/photon_iso.yaml | 49 +++++++++++ .../object_performance/photons_matching.yaml | 49 +++++++++++ .../photons_matching_eta.yaml | 50 +++++++++++ .../object_performance/photons_trigger.yaml | 57 +++++++++++++ .../object_performance/tau_matching.yaml | 2 + configs/V32nano/objects/electrons.yaml | 33 ++++---- configs/V32nano/objects/met_ht_mht.yaml | 43 +++++++++- configs/V32nano/objects/photons.yaml | 29 +++++++ configs/V32nano/objects/taus.yaml | 6 ++ 16 files changed, 563 insertions(+), 40 deletions(-) create mode 100644 configs/V32nano/object_performance/met_ht_mht.yaml create mode 100644 configs/V32nano/object_performance/mht.yaml create mode 100644 configs/V32nano/object_performance/photon_iso.yaml create mode 100644 configs/V32nano/object_performance/photons_matching.yaml create mode 100644 configs/V32nano/object_performance/photons_matching_eta.yaml create mode 100644 configs/V32nano/object_performance/photons_trigger.yaml create mode 100644 configs/V32nano/objects/photons.yaml diff --git a/.gitignore b/.gitignore index bd846696..84bfc36c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,9 +12,6 @@ rates/table/lib/* rates/table/rates_tables/* **/tmp/* outputs -<<<<<<< Updated upstream menu_tools.egg-info dist -======= ph2-menu-tools ->>>>>>> Stashed changes diff --git a/configs/V32nano/caching.yaml b/configs/V32nano/caching.yaml index fd9a7e53..dbfe1d63 100644 --- a/configs/V32nano/caching.yaml +++ b/configs/V32nano/caching.yaml @@ -12,6 +12,9 @@ V32nano: L1StaMu: "all" # aka gmtMuon L1tkElectron: "all" # L1nnTau: "all" + ## merge below with python3.11 menu_tools/caching/merge_arrays.py + L1EGbarrel: "all" + L1EGendcap: "all" TT: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/TT_TuneCP5_14TeV-powheg-pythia8/TT_131_200PU_v32_reL1only/240206_115846/0000/l1nano_*.root trees_branches: diff --git a/configs/V32nano/object_performance/electron_matching.yaml b/configs/V32nano/object_performance/electron_matching.yaml index 0df1b274..cc0dff23 100644 --- a/configs/V32nano/object_performance/electron_matching.yaml +++ b/configs/V32nano/object_performance/electron_matching.yaml @@ -3,7 +3,7 @@ ElectronsMatchingBarrel: version: V32nano match_test_to_ref: True reference_object: - object: "prunedGenPart" + object: "GenPart" x_arg: "pt" label: "Gen Electrons" cuts: @@ -14,7 +14,7 @@ ElectronsMatchingBarrel: object: - "abs({eta}) < 2.4" test_objects: - # EG:default: "pt" + L1EG:default: "pt" L1tkElectron:NoIso: "pt" L1tkElectron:Iso: "pt" xlabel: "Gen. $p_T$ (GeV)" @@ -24,12 +24,38 @@ ElectronsMatchingBarrel: max: 100 step: 3 +# ElectronsMatchingBarrel_wPrunedGenPart: +# sample: DYLL_M50 +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "prunedGenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1EG:default: "pt" +# L1tkElectron:NoIso: "pt" +# L1tkElectron:Iso: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 100 +# step: 3 + ElectronsMatchingEndcap: sample: DYLL_M50 version: V32nano match_test_to_ref: True reference_object: - object: "prunedGenPart" + object: "GenPart" x_arg: "pt" label: "Gen Electrons" cuts: @@ -40,7 +66,7 @@ ElectronsMatchingEndcap: object: - "abs({eta}) < 2.4" test_objects: - # EG:default: "pt" + L1EG:default: "pt" L1tkElectron:NoIso: "pt" L1tkElectron:Iso: "pt" xlabel: "Gen. $p_T$ (GeV)" @@ -49,3 +75,29 @@ ElectronsMatchingEndcap: min: 0 max: 100 step: 3 + +# ElectronsMatchingEndcap_wPrunedGenPart: +# sample: DYLL_M50 +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "prunedGenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1EG:default: "pt" +# L1tkElectron:NoIso: "pt" +# L1tkElectron:Iso: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 100 +# step: 3 diff --git a/configs/V32nano/object_performance/electron_matching_eta.yaml b/configs/V32nano/object_performance/electron_matching_eta.yaml index 59fd44e2..bc2ae201 100644 --- a/configs/V32nano/object_performance/electron_matching_eta.yaml +++ b/configs/V32nano/object_performance/electron_matching_eta.yaml @@ -1,9 +1,9 @@ -ElectronsMatching_Eta_pt10to25: +ElectronsMatching_Eta_Pt10to25: sample: DYLL_M50 version: V32nano match_test_to_ref: True reference_object: - object: "prunedGenPart" + object: "GenPart" x_arg: "eta" label: "Gen Electrons" cuts: @@ -15,7 +15,7 @@ ElectronsMatching_Eta_pt10to25: object: - "abs({eta}) < 3.0" test_objects: - # EG:default: "eta" + L1EG:default: "eta" L1tkElectron:NoIso: "eta" L1tkElectron:Iso: "eta" xlabel: "Gen. $\\eta$" @@ -25,12 +25,12 @@ ElectronsMatching_Eta_pt10to25: max: 3 step: 0.2 -ElectronsMatching_Eta_pt25toInf: +ElectronsMatching_Eta_Pt25toInf: sample: DYLL_M50 version: V32nano match_test_to_ref: True reference_object: - object: "prunedGenPart" + object: "GenPart" x_arg: "eta" label: "Gen Electrons" cuts: @@ -41,7 +41,7 @@ ElectronsMatching_Eta_pt25toInf: object: - "abs({eta}) < 3.0" test_objects: - # EG:default: "eta" + L1EG:default: "eta" L1tkElectron:NoIso: "eta" L1tkElectron:Iso: "eta" xlabel: "Gen. $\\eta$" diff --git a/configs/V32nano/object_performance/electron_trigger.yaml b/configs/V32nano/object_performance/electron_trigger.yaml index ade37626..460124f4 100644 --- a/configs/V32nano/object_performance/electron_trigger.yaml +++ b/configs/V32nano/object_performance/electron_trigger.yaml @@ -3,19 +3,20 @@ ElectronsTriggerBarrel: version: V32nano match_test_to_ref: True reference_object: - object: "part_e" + object: "GenPart" x_arg: "pt" label: "Gen Electrons" cuts: event: - - "{dr_0.3} < 0.15" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" - "abs({eta}) < 1.5" object: - "abs({eta}) < 2.8" test_objects: - EG:default:barrel: "pt" - tkElectron:NoIso:barrel: "pt" - tkElectron:Iso:barrel: "pt" + L1EG:default:barrel: "pt" + L1tkElectron:NoIso:barrel: "pt" + L1tkElectron:Iso:barrel: "pt" thresholds: [10, 20, 30, 40] scalings: method: "naive" @@ -32,19 +33,20 @@ ElectronsTriggerEndcap: version: V32nano match_test_to_ref: True reference_object: - object: "part_e" + object: "GenPart" x_arg: "pt" label: "Gen Electrons" cuts: event: - - "{dr_0.3} < 0.15" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" - "abs({eta}) > 1.5" object: - "abs({eta}) < 2.8" test_objects: - EG:default:endcap: "pt" - tkElectron:NoIso:endcap: "pt" - tkElectron:Iso:endcap: "pt" + L1EG:default:endcap: "pt" + L1tkElectron:NoIso:endcap: "pt" + L1tkElectron:Iso:endcap: "pt" thresholds: [10, 20, 30, 40] scalings: method: "naive" @@ -55,3 +57,63 @@ ElectronsTriggerEndcap: min: 0 max: 100 step: 1.5 + +# ElectronsTriggerBarrel_wPrunedGenPart: +# sample: DYLL_M50 +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "prunedGenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.8" +# test_objects: +# L1EG:default:barrel: "pt" +# L1tkElectron:NoIso:barrel: "pt" +# L1tkElectron:Iso:barrel: "pt" +# thresholds: [10, 20, 30, 40] +# scalings: +# method: "naive" +# threshold: 0.95 +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" +# binning: +# min: 0 +# max: 100 +# step: 1.5 + +# ElectronsTriggerEndcap_wPrunedGenPart: +# sample: DYLL_M50 +# version: V32nano +# match_test_to_ref: True +# reference_object: +# object: "prunedGenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.8" +# test_objects: +# # L1EG:default:endcap: "pt" +# L1tkElectron:NoIso:endcap: "pt" +# L1tkElectron:Iso:endcap: "pt" +# thresholds: [10, 20, 30, 40] +# scalings: +# method: "naive" +# threshold: 0.95 +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" +# binning: +# min: 0 +# max: 100 +# step: 1.5 diff --git a/configs/V32nano/object_performance/met_ht_mht.yaml b/configs/V32nano/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..16c1b3bf --- /dev/null +++ b/configs/V32nano/object_performance/met_ht_mht.yaml @@ -0,0 +1,73 @@ +HT_90perc: + sample: TT + version: V32nano + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + # trackerHT:default: "" + # phase1PuppiHT:default: "" + # seededConePuppiHT:default: "" + L1puppiJetSC4sums:HT: "pt" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +MHT_50perc: + sample: TT + version: V32nano + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + L1puppiJetSC4sums:MHT: "pt" + 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: V32nano + reference_object: + object: "GenMET" + x_arg: "pt" + label: "Gen MET" + test_objects: + # trackerMET:default: "" + L1puppiMET:default: "pt" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V32nano/object_performance/mht.yaml b/configs/V32nano/object_performance/mht.yaml new file mode 100644 index 00000000..45d51105 --- /dev/null +++ b/configs/V32nano/object_performance/mht.yaml @@ -0,0 +1,52 @@ +MHT30_90perc: + sample: TT + version: V32nano + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 + +MHT30_50perc: + sample: TT + version: V32nano + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen MHT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + trafo: "MHT" + test_objects: + phase1PuppiMHT:default: "et" + seededConePuppiMHT:default: "et" + trackerMHT:default: "" + thresholds: [70, 150] + scalings: + method: "naive" + threshold: 0.50 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V32nano/object_performance/photon_iso.yaml b/configs/V32nano/object_performance/photon_iso.yaml new file mode 100644 index 00000000..eb9b7cf0 --- /dev/null +++ b/configs/V32nano/object_performance/photon_iso.yaml @@ -0,0 +1,49 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V32nano + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + L1tkPhoton:NoIso:barrel: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +PhotonIsolation_Endcap: + sample: Hgg + version: V32nano + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.479" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) > 1.479" + test_objects: + L1tkPhoton:NoIso:endcap: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V32nano/object_performance/photons_matching.yaml b/configs/V32nano/object_performance/photons_matching.yaml new file mode 100644 index 00000000..5d26fd29 --- /dev/null +++ b/configs/V32nano/object_performance/photons_matching.yaml @@ -0,0 +1,49 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Endcap: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V32nano/object_performance/photons_matching_eta.yaml b/configs/V32nano/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..6798168e --- /dev/null +++ b/configs/V32nano/object_performance/photons_matching_eta.yaml @@ -0,0 +1,50 @@ +PhotonsMatching_Eta_pt10to25: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + L1tkPhoton:NoIso: "Eta" + L1tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +PhotonsMatching_Eta_pt25toInf: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "Eta" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "{pt} >= 25" + object: + - "abs({eta}) < 3.0" + test_objects: + EG:default: "Eta" + L1tkPhoton:NoIso: "Eta" + L1tkPhoton:Iso: "Eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V32nano/object_performance/photons_trigger.yaml b/configs/V32nano/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..90fe8ae0 --- /dev/null +++ b/configs/V32nano/object_performance/photons_trigger.yaml @@ -0,0 +1,57 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:barrel: "pt" + L1tkPhoton:NoIso:barrel: "pt" + L1tkPhoton:Iso:barrel: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Endcap: + sample: Hgg + version: V32nano + match_test_to_ref: True + reference_object: + object: "part_gamma" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + EG:default:endcap: "pt" + L1tkPhoton:NoIso:endcap: "pt" + L1tkPhoton:Iso:endcap: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V32nano/object_performance/tau_matching.yaml b/configs/V32nano/object_performance/tau_matching.yaml index c75fb1c6..d4c7700c 100644 --- a/configs/V32nano/object_performance/tau_matching.yaml +++ b/configs/V32nano/object_performance/tau_matching.yaml @@ -17,6 +17,7 @@ TausMatchingBarrel: L1hpsTau:default: "pt" L1caloTau:default: "pt" L1nnCaloTau:default: "pt" + L1caloTau:PtGe20: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Barrel)" binning: @@ -43,6 +44,7 @@ TausMatchingEndcap: L1hpsTau:default: "pt" L1caloTau:default: "pt" L1nnCaloTau:default: "pt" + L1caloTau:PtGe20: "Pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Matching Efficiency (Endcap)" binning: diff --git a/configs/V32nano/objects/electrons.yaml b/configs/V32nano/objects/electrons.yaml index b6460a5c..574b9770 100644 --- a/configs/V32nano/objects/electrons.yaml +++ b/configs/V32nano/objects/electrons.yaml @@ -60,19 +60,20 @@ L1tkElectron: endcap: - "abs({relIso}) < 0.28" -# EG: -# 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: -# - "{passessaid} == 1" +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" + - "{pt} > 5" + barrel: + - "{eleId} == 1" + endcap: + - "{saId} == 1" diff --git a/configs/V32nano/objects/met_ht_mht.yaml b/configs/V32nano/objects/met_ht_mht.yaml index e7e5c30d..ee9822af 100644 --- a/configs/V32nano/objects/met_ht_mht.yaml +++ b/configs/V32nano/objects/met_ht_mht.yaml @@ -6,4 +6,45 @@ L1puppiMET: L1puppiMLMET: label: "Puppi ML MET" ids: - default: {} \ No newline at end of file + defaultphase1PuppiHT: + label: "Histogrammed Puppi HT" + ids: + default: {} + +phase1PuppiMHT: + label: "Phase1 Puppi MHT" + ids: + default: {} + +L1puppiMET: + label: "Puppi MET" + ids: + default: {} + +L1puppiJetSC4sums: + label: "SeededCone HT" + ids: + HT: + cuts: + inclusive: + - "{sumType} == 0" + MHT: + cuts: + inclusive: + - "{sumType} == 1" + + +# trackerHT: +# label: "Tracker HT" +# ids: +# default: {} + +# trackerMET: +# label: "Tracker MET" +# ids: +# default: {} + +# trackerMHT: +# label: "Tracker MHT" +# ids: +# default: {} diff --git a/configs/V32nano/objects/photons.yaml b/configs/V32nano/objects/photons.yaml new file mode 100644 index 00000000..c0b26b21 --- /dev/null +++ b/configs/V32nano/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: + - "{passeseleid} == 1" + endcap: + - "{passesphoid} == 1" + Iso: + label: "tkIsoPhoton" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 5" + barrel: + - "abs({trkiso}) < 0.2" + - "{passeseleid} == 1" + endcap: + - "abs({trkiso}) < 0.2" + - "{passesphoid} == 1" diff --git a/configs/V32nano/objects/taus.yaml b/configs/V32nano/objects/taus.yaml index 34e696e3..80927659 100644 --- a/configs/V32nano/objects/taus.yaml +++ b/configs/V32nano/objects/taus.yaml @@ -39,6 +39,12 @@ L1caloTau: 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" From cdf5f7f97f94d14edd16c83bd5bfe53bbc8b1c2d Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 18:36:26 +0100 Subject: [PATCH 30/49] clean print for debug --- menu_tools/caching/cache_objects.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/menu_tools/caching/cache_objects.py b/menu_tools/caching/cache_objects.py index cb465a79..c6e2e0aa 100755 --- a/menu_tools/caching/cache_objects.py +++ b/menu_tools/caching/cache_objects.py @@ -295,8 +295,6 @@ def _concat_array_from_ntuples(self): if "sums" in self._object.lower(): self._final_ak_array[f"{self._object}_sumType"] = ak.local_index(self._final_ak_array) self._branches += [f"{self._object}_sumType"] - print(self._final_ak_array.fields) - else: self._final_ak_array = ak.Array(all_arrays) From 3737c75bc50b7c3f82f014bc37e91c6eb243e026 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 18:36:44 +0100 Subject: [PATCH 31/49] Add V33 configs --- configs/V33nano/README.md | 4 + configs/V33nano/caching.yaml | 47 ++++++ .../object_performance/electron_iso.yaml | 50 +++++++ .../object_performance/electron_matching.yaml | 103 +++++++++++++ .../electron_matching_eta.yaml | 52 +++++++ .../object_performance/electron_trigger.yaml | 119 +++++++++++++++ .../object_performance/jets_matching.yaml | 73 ++++++++++ .../object_performance/jets_matching_eta.yaml | 72 ++++++++++ .../jets_matching_wBTag.yaml | 136 ++++++++++++++++++ .../object_performance/jets_trigger.yaml | 85 +++++++++++ .../object_performance/met_ht_mht.yaml | 75 ++++++++++ .../object_performance/photon_iso.yaml | 51 +++++++ .../object_performance/photons_matching.yaml | 103 +++++++++++++ .../photons_matching_eta.yaml | 52 +++++++ .../object_performance/photons_trigger.yaml | 59 ++++++++ configs/V33nano/objects/electrons.yaml | 59 ++++++++ configs/V33nano/objects/jets.yaml | 70 +++++++++ configs/V33nano/objects/met_ht_mht.yaml | 57 ++++++++ configs/V33nano/objects/muons.yaml | 35 +++++ configs/V33nano/objects/photons.yaml | 29 ++++ configs/V33nano/objects/taus.yaml | 32 +++++ 21 files changed, 1363 insertions(+) create mode 100644 configs/V33nano/README.md create mode 100644 configs/V33nano/caching.yaml create mode 100644 configs/V33nano/object_performance/electron_iso.yaml create mode 100644 configs/V33nano/object_performance/electron_matching.yaml create mode 100644 configs/V33nano/object_performance/electron_matching_eta.yaml create mode 100644 configs/V33nano/object_performance/electron_trigger.yaml create mode 100644 configs/V33nano/object_performance/jets_matching.yaml create mode 100644 configs/V33nano/object_performance/jets_matching_eta.yaml create mode 100644 configs/V33nano/object_performance/jets_matching_wBTag.yaml create mode 100644 configs/V33nano/object_performance/jets_trigger.yaml create mode 100644 configs/V33nano/object_performance/met_ht_mht.yaml create mode 100644 configs/V33nano/object_performance/photon_iso.yaml create mode 100644 configs/V33nano/object_performance/photons_matching.yaml create mode 100644 configs/V33nano/object_performance/photons_matching_eta.yaml create mode 100644 configs/V33nano/object_performance/photons_trigger.yaml create mode 100644 configs/V33nano/objects/electrons.yaml create mode 100644 configs/V33nano/objects/jets.yaml create mode 100644 configs/V33nano/objects/met_ht_mht.yaml create mode 100644 configs/V33nano/objects/muons.yaml create mode 100644 configs/V33nano/objects/photons.yaml create mode 100644 configs/V33nano/objects/taus.yaml diff --git a/configs/V33nano/README.md b/configs/V33nano/README.md new file mode 100644 index 00000000..d82151a1 --- /dev/null +++ b/configs/V33nano/README.md @@ -0,0 +1,4 @@ +# V33 version + +Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v33_1400pre3v1 + diff --git a/configs/V33nano/caching.yaml b/configs/V33nano/caching.yaml new file mode 100644 index 00000000..57c71de5 --- /dev/null +++ b/configs/V33nano/caching.yaml @@ -0,0 +1,47 @@ +V33nano: + Hgg: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33/GluGluHToGG_M-125_TuneCP5_14TeV-powheg-pythia8/GluGluHToGG_131_200PU_IB1400pre3V1/240221_221354/0000/test_*.root + trees_branches: + Events: + GenPart: [pt, eta, phi, pdgId, statusFlags] + GenPart: [pt, eta, phi, pdgId, statusFlags] + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + DYLL_M50: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33_fromEmyr/dyToLL.root + trees_branches: + Events: + GenPart: "all" + # GenPart: "all" + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1tkElectron: "all" + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33_fromEmyr/ttbar.root + trees_branches: + Events: + # gen + GenJet: [pt, eta, phi] + GenMET: "all" + # 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] + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + # VBFHToTauTau: + # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/l1nano_*.root + # trees_branches: + # Events: + # GenVisTau: "all" + # L1nnTau: "all" + # L1caloTau: "all" \ No newline at end of file diff --git a/configs/V33nano/object_performance/electron_iso.yaml b/configs/V33nano/object_performance/electron_iso.yaml new file mode 100644 index 00000000..b3ebd0a8 --- /dev/null +++ b/configs/V33nano/object_performance/electron_iso.yaml @@ -0,0 +1,50 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + L1tkElectron:NoIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + iso_vs_efficiency: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.479" + object: + - "abs({eta}) < 2.4" + test_objects: + L1tkElectron:NoIsoForIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V33nano/object_performance/electron_matching.yaml b/configs/V33nano/object_performance/electron_matching.yaml new file mode 100644 index 00000000..af54f2ac --- /dev/null +++ b/configs/V33nano/object_performance/electron_matching.yaml @@ -0,0 +1,103 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingBarrel_wPrunedGenPart: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingEndcap: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 + +ElectronsMatchingEndcap_wPrunedGenPart: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + # EG:default: "pt" + L1tkElectron:NoIso: "pt" + L1tkElectron:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V33nano/object_performance/electron_matching_eta.yaml b/configs/V33nano/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..670637ea --- /dev/null +++ b/configs/V33nano/object_performance/electron_matching_eta.yaml @@ -0,0 +1,52 @@ +ElectronsMatching_Eta_pt10to25: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + # EG:default: "eta" + L1tkElectron:NoIso: "eta" + L1tkElectron:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +ElectronsMatching_Eta_pt25toInf: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "{pt} > 25" + object: + - "abs({eta}) < 3.0" + test_objects: + # EG:default: "eta" + L1tkElectron:NoIso: "eta" + L1tkElectron:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V33nano/object_performance/electron_trigger.yaml b/configs/V33nano/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..e07d9900 --- /dev/null +++ b/configs/V33nano/object_performance/electron_trigger.yaml @@ -0,0 +1,119 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + # L1EG:default:barrel: "pt" + L1tkElectron:NoIso:barrel: "pt" + L1tkElectron:Iso:barrel: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +ElectronsTriggerEndcap: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Electrons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.8" + test_objects: + # L1EG:default:endcap: "pt" + L1tkElectron:NoIso:endcap: "pt" + L1tkElectron:Iso:endcap: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +# ElectronsTriggerBarrel_wPrunedGenPart: +# sample: DYLL_M50 +# version: V33nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.8" +# test_objects: +# # L1EG:default:barrel: "pt" +# L1tkElectron:NoIso:barrel: "pt" +# L1tkElectron:Iso:barrel: "pt" +# thresholds: [10, 20, 30, 40] +# scalings: +# method: "naive" +# threshold: 0.95 +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" +# binning: +# min: 0 +# max: 100 +# step: 1.5 + +# ElectronsTriggerEndcap_wPrunedGenPart: +# sample: DYLL_M50 +# version: V33nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.8" +# test_objects: +# # L1EG:default:endcap: "pt" +# L1tkElectron:NoIso:endcap: "pt" +# L1tkElectron:Iso:endcap: "pt" +# thresholds: [10, 20, 30, 40] +# scalings: +# method: "naive" +# threshold: 0.95 +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" +# binning: +# min: 0 +# max: 100 +# step: 1.5 diff --git a/configs/V33nano/object_performance/jets_matching.yaml b/configs/V33nano/object_performance/jets_matching.yaml new file mode 100644 index 00000000..99114301 --- /dev/null +++ b/configs/V33nano/object_performance/jets_matching.yaml @@ -0,0 +1,73 @@ +JetMatchingBarrel: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + # trackerJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + # trackerJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "pt" + L1puppiJetSC4:default: "pt" + L1caloJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V33nano/object_performance/jets_matching_eta.yaml b/configs/V33nano/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..fb063e72 --- /dev/null +++ b/configs/V33nano/object_performance/jets_matching_eta.yaml @@ -0,0 +1,72 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "eta" + L1puppiJetSC4:default: "eta" + L1caloJet:default: "eta" + # trackerJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default: "eta" + L1puppiJetSC4:default: "eta" + L1caloJet:default: "eta" + # trackerJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_Pt100ToInf_extEta: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 7" + test_objects: + L1caloJet:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5.5 + max: 5.5 + step: 0.25 diff --git a/configs/V33nano/object_performance/jets_matching_wBTag.yaml b/configs/V33nano/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..24f08996 --- /dev/null +++ b/configs/V33nano/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,136 @@ +JetMatching_Eta_pt40To100_ExtendedVsRegular: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC4:default: "eta" + L1puppiExtJetSC4:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_pt100ToInf_ExtendedVsRegular: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC4:default: "eta" + L1puppiExtJetSC4:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 + +JetMatching_Eta_pt30ToInf_genBJets: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_pt30ToInf_genNotBJets: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_pt_pt30ToInf_genBJets: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) == 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_pt_pt30ToInf_genNotBJets: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) != 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiExtJetSC4:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V33nano/object_performance/jets_trigger.yaml b/configs/V33nano/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..8b865afb --- /dev/null +++ b/configs/V33nano/object_performance/jets_trigger.yaml @@ -0,0 +1,85 @@ +JetTurnonBarrel: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default:barrel: "pt" + L1puppiJetSC4:default:barrel: "pt" + L1caloJet:default: "pt" + # trackerJet:default:barrel: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcap: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetHisto:default:endcap: "pt" + L1puppiJetSC4:default:endcap: "pt" + L1caloJet:default: "pt" + # trackerJet:default:endcap: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForward: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetHisto:default:forward: "pt" + L1puppiJetSC4:default:forward: "pt" + L1caloJet:default: "pt" + thresholds: [50, 100] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V33nano/object_performance/met_ht_mht.yaml b/configs/V33nano/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..70112288 --- /dev/null +++ b/configs/V33nano/object_performance/met_ht_mht.yaml @@ -0,0 +1,75 @@ +HT_90perc: + sample: TT + version: V33nano + 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 + +MHT_50perc: + sample: TT + version: V33nano + 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: V33nano + reference_object: + object: "GenMET" + x_arg: "pt" + label: "Gen MET" + test_objects: + L1puppiMET:default: "pt" + L1puppiMLMET:default: "pt" + L1TrackMET:default: "pt" + thresholds: [150] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 diff --git a/configs/V33nano/object_performance/photon_iso.yaml b/configs/V33nano/object_performance/photon_iso.yaml new file mode 100644 index 00000000..2c34db04 --- /dev/null +++ b/configs/V33nano/object_performance/photon_iso.yaml @@ -0,0 +1,51 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V33nano + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) < 1.479" + object: + - "abs({eta}) < 1.479" + test_objects: + L1tkPhoton:NoIso:barrel: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +PhotonIsolation_Endcap: + sample: Hgg + version: V33nano + iso_vs_efficiency: True + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) > 1.479" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) > 1.479" + test_objects: + L1tkPhoton:NoIso:endcap: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Endcap)" + binning: + min: 0 + max: 0.5 + step: 0.005 + diff --git a/configs/V33nano/object_performance/photons_matching.yaml b/configs/V33nano/object_performance/photons_matching.yaml new file mode 100644 index 00000000..eb99814c --- /dev/null +++ b/configs/V33nano/object_performance/photons_matching.yaml @@ -0,0 +1,103 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Endcap: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Barrel_wPrunedGenParts: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +PhotonsMatching_Endcap_wPrunedGenParts: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default: "pt" + L1tkPhoton:NoIso: "pt" + L1tkPhoton:Iso: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V33nano/object_performance/photons_matching_eta.yaml b/configs/V33nano/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..a716ec10 --- /dev/null +++ b/configs/V33nano/object_performance/photons_matching_eta.yaml @@ -0,0 +1,52 @@ +PhotonsMatching_Eta_Pt10to25: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "{pt} < 25" + - "{pt} > 10" + object: + - "abs({eta}) < 3.0" + test_objects: + L1EG:default: "eta" + L1tkPhoton:NoIso: "eta" + L1tkPhoton:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($10 < p_T < 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +PhotonsMatching_Eta_Pt25toInf: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "{pt} >= 25" + object: + - "abs({eta}) < 3.0" + test_objects: + L1EG:default: "eta" + L1tkPhoton:NoIso: "eta" + L1tkPhoton:Iso: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency ($p_T > 25$ GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V33nano/object_performance/photons_trigger.yaml b/configs/V33nano/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..1b757a1f --- /dev/null +++ b/configs/V33nano/object_performance/photons_trigger.yaml @@ -0,0 +1,59 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default:barrel: "pt" + L1tkPhoton:NoIso:barrel: "pt" + L1tkPhoton:Iso:barrel: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 + +PhotonsTrigger_Endcap: + sample: Hgg + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Photons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 22" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1EG:default:endcap: "pt" + L1tkPhoton:NoIso:endcap: "pt" + L1tkPhoton:Iso:endcap: "pt" + thresholds: [10, 20, 30, 40] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + binning: + min: 0 + max: 100 + step: 1.5 diff --git a/configs/V33nano/objects/electrons.yaml b/configs/V33nano/objects/electrons.yaml new file mode 100644 index 00000000..0c49b554 --- /dev/null +++ b/configs/V33nano/objects/electrons.yaml @@ -0,0 +1,59 @@ +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 id in barrel" + cuts: + inclusive: + - "abs({eta}) < 2.7" + barrel: + - "({eleId} == 1) | ({pt} < 25)" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + - "({eleId} == 1) | ({pt} < 25)" + endcap: + - "abs({relIso}) < 0.28" + IsoNoIDinEE: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + - "({eleId} == 1) | ({pt} < 25)" + 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/V33nano/objects/jets.yaml b/configs/V33nano/objects/jets.yaml new file mode 100644 index 00000000..076ce64e --- /dev/null +++ b/configs/V33nano/objects/jets.yaml @@ -0,0 +1,70 @@ +L1caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + 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] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + bjetnn: + 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" + +# trackerJet: +# 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/V33nano/objects/met_ht_mht.yaml b/configs/V33nano/objects/met_ht_mht.yaml new file mode 100644 index 00000000..bb7611bd --- /dev/null +++ b/configs/V33nano/objects/met_ht_mht.yaml @@ -0,0 +1,57 @@ +# 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" + +L1TrackMET: + label: "Tracker MET" + ids: + default: {} \ No newline at end of file diff --git a/configs/V33nano/objects/muons.yaml b/configs/V33nano/objects/muons.yaml new file mode 100644 index 00000000..fb0d86ea --- /dev/null +++ b/configs/V33nano/objects/muons.yaml @@ -0,0 +1,35 @@ +GenPart: + label: "Gen Muon" + eta_ranges: + inclusive: [0, 7] + ids: + gen_electron_default: + cuts: + inclusive: + - "(({statusFlags}>>7)&1) == 1" + + +L1StaMu: + label: "GMT 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: {} + +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: + cuts: + inclusive: + - "({hwQual} > 0) | ({pt} > 8)" # quality criterion only to be appied for p_T < 8 GeV diff --git a/configs/V33nano/objects/photons.yaml b/configs/V33nano/objects/photons.yaml new file mode 100644 index 00000000..12d51f0c --- /dev/null +++ b/configs/V33nano/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/V33nano/objects/taus.yaml b/configs/V33nano/objects/taus.yaml new file mode 100644 index 00000000..8b1fb739 --- /dev/null +++ b/configs/V33nano/objects/taus.yaml @@ -0,0 +1,32 @@ +L1nnTau: + 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" + +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" From 99afacdf256611d3d6aa809bce01477edc8c1dce Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 18:55:09 +0100 Subject: [PATCH 32/49] More updates for v33 configs --- configs/V33nano/caching.yaml | 2 + .../object_performance/electron_matching.yaml | 104 +++++++++--------- .../electron_matching_eta.yaml | 8 +- .../object_performance/muon_matching.yaml | 73 ++++++++++++ .../object_performance/muon_matching_eta.yaml | 50 +++++++++ .../object_performance/muon_trigger.yaml | 87 +++++++++++++++ configs/V33nano/objects/muons.yaml | 2 +- 7 files changed, 269 insertions(+), 57 deletions(-) create mode 100644 configs/V33nano/object_performance/muon_matching.yaml create mode 100644 configs/V33nano/object_performance/muon_matching_eta.yaml create mode 100644 configs/V33nano/object_performance/muon_trigger.yaml diff --git a/configs/V33nano/caching.yaml b/configs/V33nano/caching.yaml index 57c71de5..3fd6dda6 100644 --- a/configs/V33nano/caching.yaml +++ b/configs/V33nano/caching.yaml @@ -18,6 +18,8 @@ V33nano: L1gmtTkMuon: "all" L1gmtMuon: "all" # aka gmtMuon L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" TT: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33_fromEmyr/ttbar.root trees_branches: diff --git a/configs/V33nano/object_performance/electron_matching.yaml b/configs/V33nano/object_performance/electron_matching.yaml index af54f2ac..fc9537cf 100644 --- a/configs/V33nano/object_performance/electron_matching.yaml +++ b/configs/V33nano/object_performance/electron_matching.yaml @@ -14,7 +14,7 @@ ElectronsMatchingBarrel: object: - "abs({eta}) < 2.4" test_objects: - # EG:default: "pt" + L1EG:default: "pt" L1tkElectron:NoIso: "pt" L1tkElectron:Iso: "pt" xlabel: "Gen. $p_T$ (GeV)" @@ -24,31 +24,31 @@ ElectronsMatchingBarrel: max: 100 step: 3 -ElectronsMatchingBarrel_wPrunedGenPart: - sample: DYLL_M50 - version: V33nano - match_test_to_ref: True - reference_object: - object: "GenPart" - x_arg: "pt" - label: "Gen Electrons" - cuts: - event: - - "(({statusFlags}>>7)&1) == 1" - - "abs({pdgId}) == 11" - - "abs({eta}) < 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - # EG:default: "pt" - L1tkElectron:NoIso: "pt" - L1tkElectron:Iso: "pt" - xlabel: "Gen. $p_T$ (GeV)" - ylabel: "Matching Efficiency (Barrel)" - binning: - min: 0 - max: 100 - step: 3 +# ElectronsMatchingBarrel_wPrunedGenPart: +# sample: DYLL_M50 +# version: V33nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1EG:default: "pt" +# L1tkElectron:NoIso: "pt" +# L1tkElectron:Iso: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 100 +# step: 3 ElectronsMatchingEndcap: sample: DYLL_M50 @@ -66,7 +66,7 @@ ElectronsMatchingEndcap: object: - "abs({eta}) < 2.4" test_objects: - # EG:default: "pt" + L1EG:default: "pt" L1tkElectron:NoIso: "pt" L1tkElectron:Iso: "pt" xlabel: "Gen. $p_T$ (GeV)" @@ -76,28 +76,28 @@ ElectronsMatchingEndcap: max: 100 step: 3 -ElectronsMatchingEndcap_wPrunedGenPart: - sample: DYLL_M50 - version: V33nano - match_test_to_ref: True - reference_object: - object: "GenPart" - x_arg: "pt" - label: "Gen Electrons" - cuts: - event: - - "(({statusFlags}>>7)&1) == 1" - - "abs({pdgId}) == 11" - - "abs({eta}) > 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - # EG:default: "pt" - L1tkElectron:NoIso: "pt" - L1tkElectron:Iso: "pt" - xlabel: "Gen. $p_T$ (GeV)" - ylabel: "Matching Efficiency (Endcap)" - binning: - min: 0 - max: 100 - step: 3 +# ElectronsMatchingEndcap_wPrunedGenPart: +# sample: DYLL_M50 +# version: V33nano +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "pt" +# label: "Gen Electrons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 11" +# - "abs({eta}) > 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# L1EG:default: "pt" +# L1tkElectron:NoIso: "pt" +# L1tkElectron:Iso: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 100 +# step: 3 diff --git a/configs/V33nano/object_performance/electron_matching_eta.yaml b/configs/V33nano/object_performance/electron_matching_eta.yaml index 670637ea..1b53eb95 100644 --- a/configs/V33nano/object_performance/electron_matching_eta.yaml +++ b/configs/V33nano/object_performance/electron_matching_eta.yaml @@ -1,4 +1,4 @@ -ElectronsMatching_Eta_pt10to25: +ElectronsMatching_Eta_Pt10to25: sample: DYLL_M50 version: V33nano match_test_to_ref: True @@ -15,7 +15,7 @@ ElectronsMatching_Eta_pt10to25: object: - "abs({eta}) < 3.0" test_objects: - # EG:default: "eta" + L1EG:default: "eta" L1tkElectron:NoIso: "eta" L1tkElectron:Iso: "eta" xlabel: "Gen. $\\eta$" @@ -25,7 +25,7 @@ ElectronsMatching_Eta_pt10to25: max: 3 step: 0.2 -ElectronsMatching_Eta_pt25toInf: +ElectronsMatching_Eta_Pt25toInf: sample: DYLL_M50 version: V33nano match_test_to_ref: True @@ -41,7 +41,7 @@ ElectronsMatching_Eta_pt25toInf: object: - "abs({eta}) < 3.0" test_objects: - # EG:default: "eta" + L1EG:default: "eta" L1tkElectron:NoIso: "eta" L1tkElectron:Iso: "eta" xlabel: "Gen. $\\eta$" diff --git a/configs/V33nano/object_performance/muon_matching.yaml b/configs/V33nano/object_performance/muon_matching.yaml new file mode 100644 index 00000000..214e26e7 --- /dev/null +++ b/configs/V33nano/object_performance/muon_matching.yaml @@ -0,0 +1,73 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V33nano + 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: V33nano + 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: V33nano + 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/V33nano/object_performance/muon_matching_eta.yaml b/configs/V33nano/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..8aea34d3 --- /dev/null +++ b/configs/V33nano/object_performance/muon_matching_eta.yaml @@ -0,0 +1,50 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V33nano + 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" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V33nano + 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/V33nano/object_performance/muon_trigger.yaml b/configs/V33nano/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..6365cf4f --- /dev/null +++ b/configs/V33nano/object_performance/muon_trigger.yaml @@ -0,0 +1,87 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) < 0.83" + test_objects: + gmtMuon:default:barrel: "pt" + gmtTkMuon: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: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + gmtMuon:default:overlap: "pt" + gmtTkMuon: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: V33nano + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{dr_0.3} < 0.15" + object: + - "abs({eta}) > 1.24" + test_objects: + gmtMuon:default:endcap: "pt" + gmtTkMuon: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/V33nano/objects/muons.yaml b/configs/V33nano/objects/muons.yaml index fb0d86ea..08bd371a 100644 --- a/configs/V33nano/objects/muons.yaml +++ b/configs/V33nano/objects/muons.yaml @@ -9,7 +9,7 @@ GenPart: - "(({statusFlags}>>7)&1) == 1" -L1StaMu: +L1gmtMuon: label: "GMT Muon" match_dR: 0.3 eta_ranges: From 4bad179109b7da728aabfb58e777b43143862aaf Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 27 Feb 2024 19:11:00 +0100 Subject: [PATCH 33/49] Add tkJets for v33 --- configs/V33nano/caching.yaml | 3 ++- .../object_performance/jets_matching.yaml | 4 ++-- .../object_performance/jets_matching_eta.yaml | 4 ++-- .../object_performance/jets_trigger.yaml | 4 ++-- configs/V33nano/objects/jets.yaml | 24 +++++++++---------- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/configs/V33nano/caching.yaml b/configs/V33nano/caching.yaml index 3fd6dda6..907925ba 100644 --- a/configs/V33nano/caching.yaml +++ b/configs/V33nano/caching.yaml @@ -25,7 +25,7 @@ V33nano: trees_branches: Events: # gen - GenJet: [pt, eta, phi] + GenJet: [pt, eta, phi, partonFlavour] GenMET: "all" # sums L1puppiMET: [pt, phi] @@ -40,6 +40,7 @@ V33nano: L1caloJet: [pt, eta, phi] L1TrackMET: [pt] L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] # VBFHToTauTau: # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/l1nano_*.root # trees_branches: diff --git a/configs/V33nano/object_performance/jets_matching.yaml b/configs/V33nano/object_performance/jets_matching.yaml index 99114301..29aaaa85 100644 --- a/configs/V33nano/object_performance/jets_matching.yaml +++ b/configs/V33nano/object_performance/jets_matching.yaml @@ -15,7 +15,7 @@ JetMatchingBarrel: L1puppiJetHisto:default: "pt" L1puppiJetSC4:default: "pt" L1caloJet:default: "pt" - # trackerJet:default: "pt" + L1TrackJet:default: "pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, barrel)" binning: @@ -40,7 +40,7 @@ JetMatchingEndcap: L1puppiJetHisto:default: "pt" L1puppiJetSC4:default: "pt" L1caloJet:default: "pt" - # trackerJet:default: "pt" + L1TrackJet:default: "pt" xlabel: "Gen. $p_T$ (GeV)" ylabel: "Trigger Efficiency ( GeV, endcap)" binning: diff --git a/configs/V33nano/object_performance/jets_matching_eta.yaml b/configs/V33nano/object_performance/jets_matching_eta.yaml index fb063e72..373606cd 100644 --- a/configs/V33nano/object_performance/jets_matching_eta.yaml +++ b/configs/V33nano/object_performance/jets_matching_eta.yaml @@ -16,7 +16,7 @@ JetMatching_Eta_Pt40To100: L1puppiJetHisto:default: "eta" L1puppiJetSC4:default: "eta" L1caloJet:default: "eta" - # trackerJet:default: "eta" + L1TrackJet:default: "eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (40-100 GeV)" binning: @@ -41,7 +41,7 @@ JetMatching_Eta_Pt100ToInf: L1puppiJetHisto:default: "eta" L1puppiJetSC4:default: "eta" L1caloJet:default: "eta" - # trackerJet:default: "eta" + L1TrackJet:default: "eta" xlabel: "Gen. $\\eta$" ylabel: "Matching Efficiency (>100 GeV)" binning: diff --git a/configs/V33nano/object_performance/jets_trigger.yaml b/configs/V33nano/object_performance/jets_trigger.yaml index 8b865afb..69ec7b75 100644 --- a/configs/V33nano/object_performance/jets_trigger.yaml +++ b/configs/V33nano/object_performance/jets_trigger.yaml @@ -15,7 +15,7 @@ JetTurnonBarrel: L1puppiJetHisto:default:barrel: "pt" L1puppiJetSC4:default:barrel: "pt" L1caloJet:default: "pt" - # trackerJet:default:barrel: "pt" + L1TrackJet:default:barrel: "pt" thresholds: [50, 100] scalings: method: "naive" @@ -44,7 +44,7 @@ JetTurnonEndcap: L1puppiJetHisto:default:endcap: "pt" L1puppiJetSC4:default:endcap: "pt" L1caloJet:default: "pt" - # trackerJet:default:endcap: "pt" + L1TrackJet:default:endcap: "pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V33nano/objects/jets.yaml b/configs/V33nano/objects/jets.yaml index 076ce64e..b4fc13a8 100644 --- a/configs/V33nano/objects/jets.yaml +++ b/configs/V33nano/objects/jets.yaml @@ -56,15 +56,15 @@ L1puppiJetSC4: inclusive: - "abs({eta}) < 7" -# trackerJet: -# 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" +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" From 36140d606e600c5152b88441144b1f4a1dcb7a75 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 28 Feb 2024 15:10:11 +0100 Subject: [PATCH 34/49] Fix order of cut application : first on test then on ref. Fixes Sums --- menu_tools/object_performance/turnon_collection.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index 55327389..b22c1210 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -105,7 +105,7 @@ def test_objects(self) -> list[tuple[Object, str]]: test_objects = self.cfg_plot.test_objects for obj_key, x_arg in test_objects.items(): obj = Object(obj_key, self.cfg_plot.version) - if "L1" in obj: + if "L1" in obj_key: obj_args.append((obj, x_arg)) else: obj_args.append((obj, x_arg.lower())) @@ -361,11 +361,12 @@ def get_efficiency(self, obj: Object): return eff, err def _apply_cuts(self): + # Apply cuts on test objects + self._apply_test_obj_cuts() + # Apply cuts on reference objects self._apply_reference_cuts() self._apply_reference_trafo() - # Apply cuts on test objects - self._apply_test_obj_cuts() def create_hists(self): self._load_arrays() From 57c230874833f53d4725c619ca6a89234cea021e Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 28 Feb 2024 15:20:21 +0100 Subject: [PATCH 35/49] Fixes for sums --- .../V32/object_performance/met_ht_mht.yaml | 10 ++-- configs/V32nano/object_performance/mht.yaml | 50 +++++++++++++------ configs/V32nano/objects/met_ht_mht.yaml | 45 ++++++----------- 3 files changed, 55 insertions(+), 50 deletions(-) diff --git a/configs/V32/object_performance/met_ht_mht.yaml b/configs/V32/object_performance/met_ht_mht.yaml index 7354405f..0cd78364 100644 --- a/configs/V32/object_performance/met_ht_mht.yaml +++ b/configs/V32/object_performance/met_ht_mht.yaml @@ -11,8 +11,8 @@ HT_90perc: - "abs({eta}) < 2.4" - "{pt} > 30" test_objects: - # trackerHT:default: "" - # phase1PuppiHT:default: "" + trackerHT:default: "" + phase1PuppiHT:default: "" seededConePuppiHT:default: "" thresholds: [350] scalings: @@ -65,8 +65,8 @@ MHT_50perc: - "{pt} > 30" trafo: "MHT" test_objects: - # trackerMHT:default: "" - # phase1PuppiMHT:default: "et" + trackerMHT:default: "" + phase1PuppiMHT:default: "et" seededConePuppiMHT:default: "et" thresholds: [70, 150] scalings: @@ -114,7 +114,7 @@ MHT_50perc: # x_arg: "" # label: "Gen MET" # test_objects: -# # trackerMET:default: "" +# trackerMET:default: "" # puppiMET:default: "et" # thresholds: [150] # xlabel: "Gen. MET (GeV)" diff --git a/configs/V32nano/object_performance/mht.yaml b/configs/V32nano/object_performance/mht.yaml index 45d51105..2af16291 100644 --- a/configs/V32nano/object_performance/mht.yaml +++ b/configs/V32nano/object_performance/mht.yaml @@ -1,4 +1,4 @@ -MHT30_90perc: +MHT_debug_METrefGenMHT: sample: TT version: V32nano reference_object: @@ -11,12 +11,12 @@ MHT30_90perc: - "{pt} > 30" trafo: "MHT" test_objects: - phase1PuppiMHT:default: "et" - seededConePuppiMHT:default: "et" - thresholds: [70, 150] - scalings: - method: "naive" - threshold: 0.90 + L1puppiMET:default: "pt" + #thresholds: [-1, 0, 70, 150, 500] + thresholds: [150] + # scalings: + # method: "naive" + # threshold: 0.50 xlabel: "Gen. MHT30 (GeV)" ylabel: "Trigger Efficiency ( GeV)" binning: @@ -24,7 +24,7 @@ MHT30_90perc: max: 500 step: 20 -MHT30_50perc: +MHT_debug: sample: TT version: V32nano reference_object: @@ -37,16 +37,36 @@ MHT30_50perc: - "{pt} > 30" trafo: "MHT" test_objects: - phase1PuppiMHT:default: "et" - seededConePuppiMHT:default: "et" - trackerMHT:default: "" - thresholds: [70, 150] - scalings: - method: "naive" - threshold: 0.50 + L1puppiJetSC4sums:MHT: "pt" + #thresholds: [-1, 0, 70, 150, 500] + thresholds: [150] + # scalings: + # method: "naive" + # threshold: 0.50 xlabel: "Gen. MHT30 (GeV)" ylabel: "Trigger Efficiency ( GeV)" binning: min: 0 max: 500 step: 20 + +MHT_debug_refL1MET: + sample: TT + version: V32nano + reference_object: + object: "L1puppiMET" + x_arg: "pt" + label: "Gen MHT" + test_objects: + L1puppiJetSC4sums:MHT: "pt" + # thresholds: [-1, 0, 70, 150, 500] + thresholds: [150] + # scalings: + # method: "naive" + # threshold: 0.50 + xlabel: "Gen. MHT30 (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 500 + step: 20 \ No newline at end of file diff --git a/configs/V32nano/objects/met_ht_mht.yaml b/configs/V32nano/objects/met_ht_mht.yaml index ee9822af..24c8e6d3 100644 --- a/configs/V32nano/objects/met_ht_mht.yaml +++ b/configs/V32nano/objects/met_ht_mht.yaml @@ -4,47 +4,32 @@ L1puppiMET: default: {} L1puppiMLMET: - label: "Puppi ML MET" - ids: - defaultphase1PuppiHT: - label: "Histogrammed Puppi HT" - ids: - default: {} - -phase1PuppiMHT: - label: "Phase1 Puppi MHT" - ids: - default: {} - -L1puppiMET: - label: "Puppi MET" + label: "Puppi MLMET" ids: default: {} L1puppiJetSC4sums: - label: "SeededCone HT" ids: HT: + label: "SeededCone HT" cuts: inclusive: - "{sumType} == 0" MHT: + label: "SeededCone MHT" cuts: inclusive: - "{sumType} == 1" - -# trackerHT: -# label: "Tracker HT" -# ids: -# default: {} - -# trackerMET: -# label: "Tracker MET" -# ids: -# default: {} - -# trackerMHT: -# label: "Tracker MHT" -# ids: -# default: {} +L1puppiHistoJetSums: + ids: + HT: + label: "Histogrammed Puppi HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "Histogrammed Puppi MHT" + cuts: + inclusive: + - "{sumType} == 1" From 2c7b6de99225cacf2fd4d5bd120826d9775dd3fb Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 28 Feb 2024 16:06:20 +0100 Subject: [PATCH 36/49] Fix getting all branches for nano --- menu_tools/utils/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index 44a19ab5..a0003b5d 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -63,11 +63,11 @@ def get_branches(ntuple_path: str, tree: str, obj: str): elif "L1PhaseII" in tree: prefix = "L1PhaseII/" elif "Events" in tree: - prefix = "Events/" + prefix = "" ## nano if tree == "Events": - obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(prefix+obj)] + obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] ## no nano else: obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] From 11787e7a92ecfcdfe9733049c5136d08f6e00179 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 28 Feb 2024 16:06:43 +0100 Subject: [PATCH 37/49] Updateing taus from v32 in v33 --- configs/V33nano/caching.yaml | 16 +-- .../object_performance/tau_matching.yaml | 53 ++++++++ .../object_performance/tau_matching_eta.yaml | 50 ++++++++ .../object_performance/tau_trigger.yaml | 119 ++++++++++++++++++ configs/V33nano/objects/taus.yaml | 39 +++++- 5 files changed, 265 insertions(+), 12 deletions(-) create mode 100644 configs/V33nano/object_performance/tau_matching.yaml create mode 100644 configs/V33nano/object_performance/tau_matching_eta.yaml create mode 100644 configs/V33nano/object_performance/tau_trigger.yaml diff --git a/configs/V33nano/caching.yaml b/configs/V33nano/caching.yaml index 907925ba..064fa109 100644 --- a/configs/V33nano/caching.yaml +++ b/configs/V33nano/caching.yaml @@ -41,10 +41,12 @@ V33nano: L1TrackMET: [pt] L1TrackHT: [ht, mht] L1TrackJet: [pt, eta, phi] - # VBFHToTauTau: - # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v32_reL1only/VBFHToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHToTauTau_131_200PU_v32_reL1only/240206_115854/0000/l1nano_*.root - # trees_branches: - # Events: - # GenVisTau: "all" - # L1nnTau: "all" - # L1caloTau: "all" \ No newline at end of file + VBFHToTauTau: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33_fromEmyr/vbfHTauTau.root + trees_branches: + Events: + GenVisTau: "all" + L1nnPuppiTau: "all" + L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" \ No newline at end of file diff --git a/configs/V33nano/object_performance/tau_matching.yaml b/configs/V33nano/object_performance/tau_matching.yaml new file mode 100644 index 00000000..fd0ff154 --- /dev/null +++ b/configs/V33nano/object_performance/tau_matching.yaml @@ -0,0 +1,53 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" +# L1caloTau:PtGe20: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 150 + step: 6 + +TausMatchingEndcap: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" +# L1caloTau:PtGe20: "Pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V33nano/object_performance/tau_matching_eta.yaml b/configs/V33nano/object_performance/tau_matching_eta.yaml new file mode 100644 index 00000000..cc342b62 --- /dev/null +++ b/configs/V33nano/object_performance/tau_matching_eta.yaml @@ -0,0 +1,50 @@ +TauMatching_Eta_Pt40To100: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "eta" + label: "Gen Taus" + cuts: + event: + - "{pt} > 40" + - "{pt} < 100" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "eta" + L1hpsTau:default: "eta" + L1caloTau:default: "eta" + L1nnCaloTau:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (40-100 GeV)" + binning: + min: -3.0 + max: 3.0 + step: 0.2 + +TauMatching_Eta_Pt100ToInf: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "eta" + label: "Gen Taus" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1nnPuppiTau:default: "eta" + L1hpsTau:default: "eta" + L1caloTau:default: "eta" + L1nnCaloTau:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V33nano/object_performance/tau_trigger.yaml b/configs/V33nano/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..c141d9e3 --- /dev/null +++ b/configs/V33nano/object_performance/tau_trigger.yaml @@ -0,0 +1,119 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerBarrel_50perc: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_50perc: + sample: VBFHToTauTau + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenVisTau" + x_arg: "pt" + label: "Gen Taus" + cuts: + event: + # - "{dr_0.3} < 0.15" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1nnPuppiTau:default: "pt" + L1hpsTau:default: "pt" + L1caloTau:default: "pt" + L1nnCaloTau:default: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" + thresholds: [20, 30] + scalings: + method: "naive" + threshold: 0.50 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V33nano/objects/taus.yaml b/configs/V33nano/objects/taus.yaml index 8b1fb739..11e49a74 100644 --- a/configs/V33nano/objects/taus.yaml +++ b/configs/V33nano/objects/taus.yaml @@ -1,4 +1,4 @@ -L1nnTau: +L1nnPuppiTau: label: "NN Tau" match_dR: 0.1 eta_ranges: @@ -10,7 +10,22 @@ L1nnTau: cuts: inclusive: - "abs({eta}) < 2.4" - - "{passLooseNN}==1" + # - "{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" @@ -24,9 +39,23 @@ L1caloTau: cuts: inclusive: - "abs({eta}) < 2.4" - PtGe20: - label: "Calo Tau, pt > 20" + 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" - - "{pt} > 20" + - "{hwQual}==3" From 65bebc015aac097ecde543d83532c5bba007aea8 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Sun, 3 Mar 2024 16:33:18 +0100 Subject: [PATCH 38/49] Add HACK for TrackerHT rate plots --- menu_tools/caching/merge_arrays.py | 4 ++-- menu_tools/rate_plots/plotter.py | 5 ++++- menu_tools/utils/scalings.py | 11 ++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/menu_tools/caching/merge_arrays.py b/menu_tools/caching/merge_arrays.py index e493e518..e4ef8873 100644 --- a/menu_tools/caching/merge_arrays.py +++ b/menu_tools/caching/merge_arrays.py @@ -1,7 +1,7 @@ import awkward as ak -version = "V32nano" -sample = "DYLL_M50" +version = "V33nano" +sample = "MinBias" # sample = "Hgg" pattern = f"cache/{version}/{version}_{sample}_%s.parquet" objects = ["L1EGbarrel","L1EGendcap"] diff --git a/menu_tools/rate_plots/plotter.py b/menu_tools/rate_plots/plotter.py index 051be015..187113db 100644 --- a/menu_tools/rate_plots/plotter.py +++ b/menu_tools/rate_plots/plotter.py @@ -29,6 +29,9 @@ def __init__(self, cfg, data, offline_pt: bool): self.data = data self.offline_pt = offline_pt + ## Overwrite outdir + self._outdir = os.path.join("outputs", self.cfg.version, "object_performance", "rates") + @property def _online_offline(self): if self.offline_pt: @@ -214,7 +217,7 @@ def _load_cached_arrays(self): # Apply scalings if so configured if self.apply_offline_conversion: arr = scalings.add_offline_pt(arr, self.object) - arr["pt"] = scalings.get_pt_branch(arr) + arr["pt"] = scalings.get_pt_branch(arr, str(self.object)) return arr diff --git a/menu_tools/utils/scalings.py b/menu_tools/utils/scalings.py index a4b5a941..4ff1a332 100644 --- a/menu_tools/utils/scalings.py +++ b/menu_tools/utils/scalings.py @@ -35,15 +35,20 @@ def load_scaling_params(obj: Object, eta_range: str) -> tuple[float, float]: return scaling_params["slope"], scaling_params["offset"] -def get_pt_branch(arr: ak.Array) -> ak.Array: +def get_pt_branch(arr: ak.Array, obj_name: str) -> ak.Array: if "pt" in arr.fields: pt_orig = arr.pt elif "et" in arr.fields: pt_orig = arr.et elif "" in arr.fields: pt_orig = arr[""] + ### HACK + elif "L1TrackHT:MHT" in obj_name: + pt_orig = arr["mht"] + elif "L1TrackHT:HT" in obj_name: + pt_orig = arr["ht"] else: - raise RuntimeError("Unknown pt branch!") + raise RuntimeError(f"Unknown pt branch for {obj_name}! in fields", arr.fields) return pt_orig @@ -51,7 +56,7 @@ def add_offline_pt(arr: ak.Array, obj: Object) -> ak.Array: """ Add offline pt to filed called `offline_pt` and return array """ - pt_orig = get_pt_branch(arr) + pt_orig = get_pt_branch(arr, str(obj)) new_pt = ak.zeros_like(pt_orig) if len(obj.eta_ranges) == 1 and list(obj.eta_ranges)[0] == "inclusive": From ad61d67c340a91abdb24f3ffed36a5eb0633ca5d Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Sun, 3 Mar 2024 17:21:48 +0100 Subject: [PATCH 39/49] Update v33 configs with new objects etc --- configs/V31/rate_plots/eg.yaml | 12 +++ configs/V31/rate_plots/ht.yaml | 11 +++ configs/V31/rate_plots/jets.yaml | 27 +++++++ configs/V31/rate_plots/met.yaml | 10 +++ configs/V31/rate_plots/muons.yaml | 22 ++++++ configs/V31/rate_plots/taus.yaml | 23 ++++++ configs/V32nano/objects/jets.yaml | 15 +--- configs/V33nano/caching.yaml | 43 +++++++++-- .../object_performance/jets_matching.yaml | 45 +++++++++++ .../object_performance/jets_matching_eta.yaml | 22 ++++++ .../jets_matching_wBTag.yaml | 12 +-- .../object_performance/jets_sc8_trigger.yaml | 77 +++++++++++++++++++ .../object_performance/jets_trigger.yaml | 6 +- configs/V33nano/objects/jets.yaml | 20 +++++ configs/V33nano/rate_plots/eg.yaml | 12 +++ configs/V33nano/rate_plots/ht.yaml | 23 ++++++ configs/V33nano/rate_plots/jets.yaml | 52 +++++++++++++ configs/V33nano/rate_plots/met.yaml | 11 +++ configs/V33nano/rate_plots/muons.yaml | 34 ++++++++ configs/V33nano/rate_plots/taus.yaml | 25 ++++++ menu_tools/rate_plots/plotter.py | 2 +- 21 files changed, 475 insertions(+), 29 deletions(-) create mode 100644 configs/V31/rate_plots/eg.yaml create mode 100644 configs/V31/rate_plots/ht.yaml create mode 100644 configs/V31/rate_plots/jets.yaml create mode 100644 configs/V31/rate_plots/met.yaml create mode 100644 configs/V31/rate_plots/muons.yaml create mode 100644 configs/V31/rate_plots/taus.yaml create mode 100644 configs/V33nano/object_performance/jets_sc8_trigger.yaml create mode 100644 configs/V33nano/rate_plots/eg.yaml create mode 100644 configs/V33nano/rate_plots/ht.yaml create mode 100644 configs/V33nano/rate_plots/jets.yaml create mode 100644 configs/V33nano/rate_plots/met.yaml create mode 100644 configs/V33nano/rate_plots/muons.yaml create mode 100644 configs/V33nano/rate_plots/taus.yaml diff --git a/configs/V31/rate_plots/eg.yaml b/configs/V31/rate_plots/eg.yaml new file mode 100644 index 00000000..0048997d --- /dev/null +++ b/configs/V31/rate_plots/eg.yaml @@ -0,0 +1,12 @@ +EGRates: + sample: MinBias + version: V31 + test_objects: + - EG:default + - tkElectron:NoIso + - tkElectron:Iso + - tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 diff --git a/configs/V31/rate_plots/ht.yaml b/configs/V31/rate_plots/ht.yaml new file mode 100644 index 00000000..fb652a7f --- /dev/null +++ b/configs/V31/rate_plots/ht.yaml @@ -0,0 +1,11 @@ +HTRates: + sample: MinBias + version: V31 + test_objects: + - phase1PuppiHT:default + - seededConePuppiHT:default + - trackerHT:default + binning: + min: 50 + max: 975 + step: 25 diff --git a/configs/V31/rate_plots/jets.yaml b/configs/V31/rate_plots/jets.yaml new file mode 100644 index 00000000..0cc482d3 --- /dev/null +++ b/configs/V31/rate_plots/jets.yaml @@ -0,0 +1,27 @@ +JetDefaultRates: + sample: MinBias + version: V31 + test_objects: + - phase1PuppiJet:default + - seededConePuppiJet:default + # - seededConeExtendedPuppiJet:default + - trackerJet:default + # - caloJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetsByRegion: + sample: MinBias + version: V31 + test_objects: + - phase1PuppiJet:default:barrel + - phase1PuppiJet:default:endcap + - seededConePuppiJet:default:barrel + - seededConePuppiJet:default:endcap + binning: + min: 40 + max: 420 + step: 20 + diff --git a/configs/V31/rate_plots/met.yaml b/configs/V31/rate_plots/met.yaml new file mode 100644 index 00000000..a97eda8b --- /dev/null +++ b/configs/V31/rate_plots/met.yaml @@ -0,0 +1,10 @@ +METRates: + sample: MinBias + version: V31 + test_objects: + - puppiMET:default + - trackerMET:default + binning: + min: 50 + max: 500 + step: 25 diff --git a/configs/V31/rate_plots/muons.yaml b/configs/V31/rate_plots/muons.yaml new file mode 100644 index 00000000..515a6d63 --- /dev/null +++ b/configs/V31/rate_plots/muons.yaml @@ -0,0 +1,22 @@ +gmtMuonByRegion: + sample: MinBias + version: V31 + test_objects: + - gmtMuon:default:barrel + - gmtMuon:default:overlap + - gmtMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +MuonRates: + sample: MinBias + version: V31 + test_objects: + - gmtMuon:default + - gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V31/rate_plots/taus.yaml b/configs/V31/rate_plots/taus.yaml new file mode 100644 index 00000000..9d6d90a5 --- /dev/null +++ b/configs/V31/rate_plots/taus.yaml @@ -0,0 +1,23 @@ +TauRates: + sample: MinBias + version: V31 + test_objects: + - nnTau:default + - caloTau:default + binning: + min: 10 + max: 155 + step: 5 + +TauRatesByRegion: + sample: MinBias + version: V31 + test_objects: + - caloTau:default:barrel + - caloTau:default:endcap + - nnTau:default:barrel + - nnTau:default:endcap + binning: + min: 10 + max: 155 + step: 5 diff --git a/configs/V32nano/objects/jets.yaml b/configs/V32nano/objects/jets.yaml index cfa6121f..b16315f7 100644 --- a/configs/V32nano/objects/jets.yaml +++ b/configs/V32nano/objects/jets.yaml @@ -68,17 +68,4 @@ L1puppiJetSC8: default: cuts: inclusive: - - "abs({eta}) < 7" - -# trackerJet: -# 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" + - "abs({eta}) < 7" \ No newline at end of file diff --git a/configs/V33nano/caching.yaml b/configs/V33nano/caching.yaml index 064fa109..e6af4c77 100644 --- a/configs/V33nano/caching.yaml +++ b/configs/V33nano/caching.yaml @@ -3,10 +3,9 @@ V33nano: ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33/GluGluHToGG_M-125_TuneCP5_14TeV-powheg-pythia8/GluGluHToGG_131_200PU_IB1400pre3V1/240221_221354/0000/test_*.root trees_branches: Events: - GenPart: [pt, eta, phi, pdgId, statusFlags] GenPart: [pt, eta, phi, pdgId, statusFlags] L1tkPhoton: "all" - L1tkElectron: "all" + # L1tkElectron: "all" L1EGbarrel: "all" L1EGendcap: "all" DYLL_M50: @@ -14,9 +13,8 @@ V33nano: trees_branches: Events: GenPart: "all" - # GenPart: "all" L1gmtTkMuon: "all" - L1gmtMuon: "all" # aka gmtMuon + L1gmtMuon: "all" L1tkElectron: "all" L1EGbarrel: "all" L1EGendcap: "all" @@ -26,6 +24,7 @@ V33nano: Events: # gen GenJet: [pt, eta, phi, partonFlavour] + GenJetAK8: [pt, eta, phi] GenMET: "all" # sums L1puppiMET: [pt, phi] @@ -49,4 +48,38 @@ V33nano: L1nnPuppiTau: "all" L1hpsTau: "all" L1caloTau: "all" - L1nnCaloTau: "all" \ No newline at end of file + L1nnCaloTau: "all" + MinBias: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/14X/v33_fromEmyr/minbias.root + trees_branches: + Events: + ## PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + ## 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] \ No newline at end of file diff --git a/configs/V33nano/object_performance/jets_matching.yaml b/configs/V33nano/object_performance/jets_matching.yaml index 29aaaa85..6f65cc15 100644 --- a/configs/V33nano/object_performance/jets_matching.yaml +++ b/configs/V33nano/object_performance/jets_matching.yaml @@ -71,3 +71,48 @@ JetMatchingForward: min: 0 max: 500 step: 10 + + +JetMatchingBarrelSC8: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen AK8 Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcapSC8: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen AK8 Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 \ No newline at end of file diff --git a/configs/V33nano/object_performance/jets_matching_eta.yaml b/configs/V33nano/object_performance/jets_matching_eta.yaml index 373606cd..88e2a3a5 100644 --- a/configs/V33nano/object_performance/jets_matching_eta.yaml +++ b/configs/V33nano/object_performance/jets_matching_eta.yaml @@ -70,3 +70,25 @@ JetMatching_Eta_Pt100ToInf_extEta: min: -5.5 max: 5.5 step: 0.25 + +JetMatching_Eta_SC8_Pt100ToInf: + sample: TT + version: V33nano + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 100" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC8:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 \ No newline at end of file diff --git a/configs/V33nano/object_performance/jets_matching_wBTag.yaml b/configs/V33nano/object_performance/jets_matching_wBTag.yaml index 24f08996..6c9d52f2 100644 --- a/configs/V33nano/object_performance/jets_matching_wBTag.yaml +++ b/configs/V33nano/object_performance/jets_matching_wBTag.yaml @@ -1,4 +1,4 @@ -JetMatching_Eta_pt40To100_ExtendedVsRegular: +JetMatching_Eta_Pt40To100_ExtendedVsRegular: sample: TT version: V33nano match_test_to_ref: True @@ -22,7 +22,7 @@ JetMatching_Eta_pt40To100_ExtendedVsRegular: max: 5 step: 0.25 -JetMatching_Eta_pt100ToInf_ExtendedVsRegular: +JetMatching_Eta_Pt100ToInf_ExtendedVsRegular: sample: TT version: V33nano match_test_to_ref: True @@ -45,7 +45,7 @@ JetMatching_Eta_pt100ToInf_ExtendedVsRegular: max: 5 step: 0.25 -JetMatching_Eta_pt30ToInf_genBJets: +JetMatching_Eta_Pt30ToInf_genBJets: sample: TT version: V33nano match_test_to_ref: True @@ -68,7 +68,7 @@ JetMatching_Eta_pt30ToInf_genBJets: max: 2.4 step: 0.25 -JetMatching_Eta_pt30ToInf_genNotBJets: +JetMatching_Eta_Pt30ToInf_genNotBJets: sample: TT version: V33nano match_test_to_ref: True @@ -91,7 +91,7 @@ JetMatching_Eta_pt30ToInf_genNotBJets: max: 2.4 step: 0.25 -JetMatching_pt_pt30ToInf_genBJets: +JetMatching_Pt_Pt30ToInf_genBJets: sample: TT version: V33nano match_test_to_ref: True @@ -113,7 +113,7 @@ JetMatching_pt_pt30ToInf_genBJets: max: 200 step: 10 -JetMatching_pt_pt30ToInf_genNotBJets: +JetMatching_Pt_Pt30ToInf_genNotBJets: sample: TT version: V33nano match_test_to_ref: True diff --git a/configs/V33nano/object_performance/jets_sc8_trigger.yaml b/configs/V33nano/object_performance/jets_sc8_trigger.yaml new file mode 100644 index 00000000..abbdf822 --- /dev/null +++ b/configs/V33nano/object_performance/jets_sc8_trigger.yaml @@ -0,0 +1,77 @@ +JetTurnonBarrelSC8: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:barrel: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonEndcapSC8: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC8:default:endcap: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetTurnonForwardSC8: + version: V33nano + sample: TT + match_test_to_ref: True + reference_object: + object: "GenJetAK8" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({eta}) > 2.4" + object: + - "abs({eta}) < 5" + test_objects: + L1puppiJetSC8:default:forward: "pt" + thresholds: [150] + scalings: + method: "naive" + threshold: 0.95 + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Trigger Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V33nano/object_performance/jets_trigger.yaml b/configs/V33nano/object_performance/jets_trigger.yaml index 69ec7b75..44665ff1 100644 --- a/configs/V33nano/object_performance/jets_trigger.yaml +++ b/configs/V33nano/object_performance/jets_trigger.yaml @@ -14,7 +14,7 @@ JetTurnonBarrel: test_objects: L1puppiJetHisto:default:barrel: "pt" L1puppiJetSC4:default:barrel: "pt" - L1caloJet:default: "pt" + L1caloJet:default:barrel: "pt" L1TrackJet:default:barrel: "pt" thresholds: [50, 100] scalings: @@ -43,7 +43,7 @@ JetTurnonEndcap: test_objects: L1puppiJetHisto:default:endcap: "pt" L1puppiJetSC4:default:endcap: "pt" - L1caloJet:default: "pt" + L1caloJet:default:endcap: "pt" L1TrackJet:default:endcap: "pt" thresholds: [50, 100] scalings: @@ -72,7 +72,7 @@ JetTurnonForward: test_objects: L1puppiJetHisto:default:forward: "pt" L1puppiJetSC4:default:forward: "pt" - L1caloJet:default: "pt" + L1caloJet:default:forward: "pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V33nano/objects/jets.yaml b/configs/V33nano/objects/jets.yaml index b4fc13a8..0e4882a2 100644 --- a/configs/V33nano/objects/jets.yaml +++ b/configs/V33nano/objects/jets.yaml @@ -3,6 +3,9 @@ L1caloJet: 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" @@ -17,6 +20,9 @@ L1puppiExtJetSC4: 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: @@ -56,6 +62,20 @@ L1puppiJetSC4: 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" diff --git a/configs/V33nano/rate_plots/eg.yaml b/configs/V33nano/rate_plots/eg.yaml new file mode 100644 index 00000000..12f54577 --- /dev/null +++ b/configs/V33nano/rate_plots/eg.yaml @@ -0,0 +1,12 @@ +EGRates: + sample: MinBias + version: V33nano + test_objects: + - L1EG:default + - L1tkElectron:NoIso + - L1tkElectron:Iso + - L1tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 diff --git a/configs/V33nano/rate_plots/ht.yaml b/configs/V33nano/rate_plots/ht.yaml new file mode 100644 index 00000000..ac15d4c3 --- /dev/null +++ b/configs/V33nano/rate_plots/ht.yaml @@ -0,0 +1,23 @@ +HTRates: + sample: MinBias + version: V33nano + test_objects: + - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + binning: + min: 50 + max: 975 + step: 25 + +MHTRates: + sample: MinBias + version: V33nano + test_objects: + - L1puppiHistoJetSums:MHT + - L1puppiJetSC4sums:MHT + - L1TrackHT:MHT + binning: + min: 50 + max: 975 + step: 25 diff --git a/configs/V33nano/rate_plots/jets.yaml b/configs/V33nano/rate_plots/jets.yaml new file mode 100644 index 00000000..1d6880fc --- /dev/null +++ b/configs/V33nano/rate_plots/jets.yaml @@ -0,0 +1,52 @@ +JetDefaultRates: + sample: MinBias + version: V33nano + test_objects: + - L1puppiJetHisto:default + - L1puppiJetSC4:default + - L1caloJet:default + - L1TrackJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetsByRegion: + sample: MinBias + version: V33nano + test_objects: + - L1puppiJetSC4:default:barrel + - L1puppiJetSC4:default:endcap + - L1caloJet:default:barrel + - L1caloJet:default:endcap + - L1TrackJet:default:barrel + - L1TrackJet:default:endcap + binning: + min: 40 + max: 420 + step: 20 + +JetSC8Rates: + sample: MinBias + version: V33nano + test_objects: + - L1puppiJetSC4:default + - L1puppiJetSC8:default + binning: + min: 40 + max: 420 + step: 20 + + +JetSC8Rates_byRegion: + sample: MinBias + version: V33nano + test_objects: + # - L1puppiJetSC4:default + - L1puppiJetSC8:default + - L1puppiJetSC8:default:barrel + - L1puppiJetSC8:default:endcap + binning: + min: 40 + max: 420 + step: 20 \ No newline at end of file diff --git a/configs/V33nano/rate_plots/met.yaml b/configs/V33nano/rate_plots/met.yaml new file mode 100644 index 00000000..c0a58061 --- /dev/null +++ b/configs/V33nano/rate_plots/met.yaml @@ -0,0 +1,11 @@ +METRates: + sample: MinBias + version: V33nano + test_objects: + - L1puppiMET:default + - L1puppiMLMET:default + - L1TrackMET:default + binning: + min: 50 + max: 500 + step: 25 diff --git a/configs/V33nano/rate_plots/muons.yaml b/configs/V33nano/rate_plots/muons.yaml new file mode 100644 index 00000000..7573ef0f --- /dev/null +++ b/configs/V33nano/rate_plots/muons.yaml @@ -0,0 +1,34 @@ +gmtMuonByRegion: + sample: MinBias + version: V33nano + test_objects: + - L1gmtMuon:default:barrel + - L1gmtMuon:default:overlap + - L1gmtMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByRegion: + sample: MinBias + version: V33nano + test_objects: + - L1gmtTkMuon:default:barrel + - L1gmtTkMuon:default:overlap + - L1gmtTkMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +MuonRates: + sample: MinBias + version: V33nano + test_objects: + - L1gmtMuon:default + - L1gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V33nano/rate_plots/taus.yaml b/configs/V33nano/rate_plots/taus.yaml new file mode 100644 index 00000000..1bb5775d --- /dev/null +++ b/configs/V33nano/rate_plots/taus.yaml @@ -0,0 +1,25 @@ +TauRates: + sample: MinBias + version: V33nano + test_objects: + - L1nnPuppiTau:default + - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 + +TauRatesByRegion: + sample: MinBias + version: V33nano + test_objects: + - L1caloTau:default:barrel + - L1caloTau:default:endcap + - L1nnPuppiTau:default:barrel + - L1nnPuppiTau:default:endcap + binning: + min: 10 + max: 155 + step: 5 diff --git a/menu_tools/rate_plots/plotter.py b/menu_tools/rate_plots/plotter.py index 187113db..3b7c65bf 100644 --- a/menu_tools/rate_plots/plotter.py +++ b/menu_tools/rate_plots/plotter.py @@ -68,7 +68,7 @@ def _plot_single_version_rate_curves(self): xvals = list(rate_values.keys()) yvals = list(rate_values.values()) - label = f"{obj_instances[version].plot_label} @ {version}" + label = f"{obj_instances[version].plot_label}" plot_dict[obj_specifier] = { "x_values": xvals, From a750599cd492247e870a13fb6acb93f05ec7ee16 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 4 Mar 2024 15:31:06 +0100 Subject: [PATCH 40/49] Add fake eta for sums in utils/objects --- menu_tools/utils/objects.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/menu_tools/utils/objects.py b/menu_tools/utils/objects.py index 16d02ad6..c553a137 100644 --- a/menu_tools/utils/objects.py +++ b/menu_tools/utils/objects.py @@ -172,12 +172,16 @@ def compute_selection_mask_for_object_cuts(obj: Object, ak_array: ak.Array) -> a if not obj.cuts: return sel + ## add fake eta + if "eta" not in ak_array["eta"].fields: + ak_array["eta"] = 0 + for range_i, range_cuts in obj.cuts.items(): # Initialize temporary mask (for rangei) with True everywhere _sel = ak.ones_like(ak_array[ak_array.fields[0]]) > 0 for cut in range_cuts: cut = re.sub(r"{([^&|]*)}", r"ak_array['\1']", cut) - eta_sel = (abs(ak_array["eta"]) > obj.eta_ranges[range_i][0]) & ( + eta_sel = (abs(ak_array["eta"]) >= obj.eta_ranges[range_i][0]) & ( abs(ak_array["eta"]) < obj.eta_ranges[range_i][1] ) _sel = _sel & (eval(cut) + ~eta_sel) From 23299d0885d3c992a30e08c66b81eae9e67a7e7b Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 4 Mar 2024 16:14:56 +0100 Subject: [PATCH 41/49] update v31 caching --- configs/V31/caching.yaml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/configs/V31/caching.yaml b/configs/V31/caching.yaml index 56f0a78e..fdf7dec0 100644 --- a/configs/V31/caching.yaml +++ b/configs/V31/caching.yaml @@ -65,9 +65,9 @@ V31: trees_branches: l1PhaseIITree/L1PhaseIITree: puppiMET: "all" - # phase1PuppiJet: "all" - # phase1PuppiMHT: "all" - # phase1PuppiHT: "all" + phase1PuppiJet: "all" + phase1PuppiMHT: "all" + phase1PuppiHT: "all" seededConePuppiJet: [Pt, Et, Eta, Phi] seededConeExtendedPuppiJet: [Pt, Et, Eta, Phi, BJetNN] seededConeExtendedPuppiHT: "all" @@ -76,8 +76,14 @@ V31: tkElectron: [Pt, Et, Eta, Phi, Chg, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] EG: [Pt, Et, Eta, Phi, Iso, HwQual, HGC, PassesEleID, PassesSaID] gmtTkMuon: [Pt, Eta, Phi, Z0, D0, Chg, Qual ] + gmtMuon: [Pt, Eta, Phi, Z0, D0, Chg, Qual ] nnTau: [Et, Eta, Pt, Phi, Z0, PassTightNN, Chg, DXY, PassLooseNN] tkPhoton: [Pt, Et, Eta, Phi, TrkIso, HwQual, HGC, PassesEleID, PassesPhoID] z0L1TkPV: "all" caloTau: [Et, Eta, Pt, Phi, Iso, HwQual] + trackerJet: [Pt, Eta, Phi] + trackerMET: "all" + trackerMHT: "all" + trackerHT: "all" + From b1ee39f52fc7254832d0e26d586d8c028b3f85de Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 4 Mar 2024 16:19:32 +0100 Subject: [PATCH 42/49] Move process out of file read function --- .gitignore | 1 + menu_tools/utils/utils.py | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 84bfc36c..7bc3c6ab 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ outputs menu_tools.egg-info dist ph2-menu-tools +prod_ph2-menu-tools diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index a0003b5d..6f9ff76f 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -58,19 +58,19 @@ def get_branches(ntuple_path: str, tree: str, obj: str): ntuple = glob.glob(ntuple_path)[0] with uproot.open(ntuple) as f: all_branches = f[tree].keys() - if "GenTree" in tree: - prefix = "Generator/" - elif "L1PhaseII" in tree: - prefix = "L1PhaseII/" - elif "Events" in tree: - prefix = "" - - ## nano - if tree == "Events": - obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] - ## no nano - else: - obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] + if "GenTree" in tree: + prefix = "Generator/" + elif "L1PhaseII" in tree: + prefix = "L1PhaseII/" + elif "Events" in tree: + prefix = "" + + ## nano + if tree == "Events": + obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] + ## no nano + else: + obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] return obj_branches From 4f07f07b9c5e564b604fcb8d3db826bd30c2c202 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Mon, 4 Mar 2024 18:24:40 +0100 Subject: [PATCH 43/49] Black formatting changes --- .gitignore | 1 + menu_tools/caching/cache_objects.py | 5 +++-- menu_tools/caching/merge_arrays.py | 10 +++++----- menu_tools/object_performance/turnon_collection.py | 2 +- menu_tools/rate_plots/plotter.py | 8 +++++--- menu_tools/utils/objects.py | 2 +- menu_tools/utils/utils.py | 6 +++++- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 7bc3c6ab..4a403794 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ menu_tools.egg-info dist ph2-menu-tools prod_ph2-menu-tools +dev_ph2-menu-tools diff --git a/menu_tools/caching/cache_objects.py b/menu_tools/caching/cache_objects.py index c6e2e0aa..5e286cb5 100755 --- a/menu_tools/caching/cache_objects.py +++ b/menu_tools/caching/cache_objects.py @@ -293,12 +293,13 @@ def _concat_array_from_ntuples(self): self._final_ak_array = ak.zip({**all_arrays}) # sums -> add local index if "sums" in self._object.lower(): - self._final_ak_array[f"{self._object}_sumType"] = ak.local_index(self._final_ak_array) + self._final_ak_array[f"{self._object}_sumType"] = ak.local_index( + self._final_ak_array + ) self._branches += [f"{self._object}_sumType"] else: self._final_ak_array = ak.Array(all_arrays) - def _cache_file_exists(self): """ Checks if there is parquet file in cache diff --git a/menu_tools/caching/merge_arrays.py b/menu_tools/caching/merge_arrays.py index e4ef8873..7e5aea62 100644 --- a/menu_tools/caching/merge_arrays.py +++ b/menu_tools/caching/merge_arrays.py @@ -4,16 +4,16 @@ sample = "MinBias" # sample = "Hgg" pattern = f"cache/{version}/{version}_{sample}_%s.parquet" -objects = ["L1EGbarrel","L1EGendcap"] +objects = ["L1EGbarrel", "L1EGendcap"] target_object = "L1EG" print(f"Reading files as {pattern} for {objects}") arrs = [] for obj in objects: - arr = ak.from_parquet(pattern%obj) - arr = ak.Array({f.replace(obj,target_object):arr[f] for f in arr.fields}) - # apply 5 gev cut + arr = ak.from_parquet(pattern % obj) + arr = ak.Array({f.replace(obj, target_object): arr[f] for f in arr.fields}) + # apply 5 gev cut arr = arr[arr[f"{target_object}_pt"] > 5] print(obj, arr.fields) arrs.append(arr) @@ -22,4 +22,4 @@ merge_arr = ak.concatenate(arrs, axis=1) print(merge_arr) print(f"Writing merged array to: {pattern%target_object}") -ak.to_parquet(merge_arr, pattern%target_object) +ak.to_parquet(merge_arr, pattern % target_object) diff --git a/menu_tools/object_performance/turnon_collection.py b/menu_tools/object_performance/turnon_collection.py index b22c1210..f916b6a9 100644 --- a/menu_tools/object_performance/turnon_collection.py +++ b/menu_tools/object_performance/turnon_collection.py @@ -299,7 +299,7 @@ def _skim_to_hists(self) -> None: for test_obj, x_arg in self.test_objects: sel = self.ak_arrays[str(test_obj)][x_arg] > self.threshold if (self.ak_arrays["ref"].ndim == 1) and (sel.ndim == 2): - sel = sel[:,0] + sel = sel[:, 0] ak_array = self._flatten_array(self.ak_arrays["ref"][ref_field][sel]) self.hists[str(test_obj)] = np.histogram(ak_array, bins=self.bins) diff --git a/menu_tools/rate_plots/plotter.py b/menu_tools/rate_plots/plotter.py index 3b7c65bf..c32f1514 100644 --- a/menu_tools/rate_plots/plotter.py +++ b/menu_tools/rate_plots/plotter.py @@ -30,7 +30,9 @@ def __init__(self, cfg, data, offline_pt: bool): self.offline_pt = offline_pt ## Overwrite outdir - self._outdir = os.path.join("outputs", self.cfg.version, "object_performance", "rates") + self._outdir = os.path.join( + "outputs", self.cfg.version, "object_performance", "rates" + ) @property def _online_offline(self): @@ -92,7 +94,7 @@ def _plot_single_version_rate_curves(self): self._outdir, f"{version}_{self._online_offline}_{self.cfg.plot_name}", ) - print ('Saving to ',fname) + print("Saving to ", fname) plt.savefig(fname + ".png") plt.savefig(fname + ".pdf") @@ -189,7 +191,7 @@ def _transform_key(self, raw_key: str) -> str: transformed to quality """ ## nano - if ("_" in raw_key): + if "_" in raw_key: key = raw_key.removeprefix(self.object.nano_obj_name).split("_")[-1] ## menu ntuples else: diff --git a/menu_tools/utils/objects.py b/menu_tools/utils/objects.py index c553a137..840d76d5 100644 --- a/menu_tools/utils/objects.py +++ b/menu_tools/utils/objects.py @@ -172,7 +172,7 @@ def compute_selection_mask_for_object_cuts(obj: Object, ak_array: ak.Array) -> a if not obj.cuts: return sel - ## add fake eta + ## add fake eta if "eta" not in ak_array["eta"].fields: ak_array["eta"] = 0 diff --git a/menu_tools/utils/utils.py b/menu_tools/utils/utils.py index 6f9ff76f..df53c38c 100644 --- a/menu_tools/utils/utils.py +++ b/menu_tools/utils/utils.py @@ -70,7 +70,11 @@ def get_branches(ntuple_path: str, tree: str, obj: str): obj_branches = [x.split("_")[-1] for x in all_branches if x.startswith(obj)] ## no nano else: - obj_branches = [x.removeprefix(prefix + obj) for x in all_branches if x.startswith(prefix+obj)] + obj_branches = [ + x.removeprefix(prefix + obj) + for x in all_branches + if x.startswith(prefix + obj) + ] return obj_branches From f68f3f31eb01efdfdf9ec87c09014e91c31190a4 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 6 Mar 2024 10:25:38 +0100 Subject: [PATCH 44/49] move compare configs for v31 --- .../object_performance/{bJetEff.yaml => comparisons/bJetEff.yml} | 0 .../object_performance/{ => comparisons}/version_comparison.yaml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename configs/V31/object_performance/{bJetEff.yaml => comparisons/bJetEff.yml} (100%) rename configs/V31/object_performance/{ => comparisons}/version_comparison.yaml (100%) diff --git a/configs/V31/object_performance/bJetEff.yaml b/configs/V31/object_performance/comparisons/bJetEff.yml similarity index 100% rename from configs/V31/object_performance/bJetEff.yaml rename to configs/V31/object_performance/comparisons/bJetEff.yml diff --git a/configs/V31/object_performance/version_comparison.yaml b/configs/V31/object_performance/comparisons/version_comparison.yaml similarity index 100% rename from configs/V31/object_performance/version_comparison.yaml rename to configs/V31/object_performance/comparisons/version_comparison.yaml From 55c618e010caf3eab0f680af192402094d9c871d Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 6 Mar 2024 10:25:53 +0100 Subject: [PATCH 45/49] Plot L1EG in v33 --- configs/V33nano/object_performance/electron_trigger.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/V33nano/object_performance/electron_trigger.yaml b/configs/V33nano/object_performance/electron_trigger.yaml index e07d9900..1b514982 100644 --- a/configs/V33nano/object_performance/electron_trigger.yaml +++ b/configs/V33nano/object_performance/electron_trigger.yaml @@ -14,7 +14,7 @@ ElectronsTriggerBarrel: object: - "abs({eta}) < 2.8" test_objects: - # L1EG:default:barrel: "pt" + L1EG:default:barrel: "pt" L1tkElectron:NoIso:barrel: "pt" L1tkElectron:Iso:barrel: "pt" thresholds: [10, 20, 30, 40] @@ -44,7 +44,7 @@ ElectronsTriggerEndcap: object: - "abs({eta}) < 2.8" test_objects: - # L1EG:default:endcap: "pt" + L1EG:default:endcap: "pt" L1tkElectron:NoIso:endcap: "pt" L1tkElectron:Iso:endcap: "pt" thresholds: [10, 20, 30, 40] @@ -74,7 +74,7 @@ ElectronsTriggerEndcap: # object: # - "abs({eta}) < 2.8" # test_objects: -# # L1EG:default:barrel: "pt" + # L1EG:default:barrel: "pt" # L1tkElectron:NoIso:barrel: "pt" # L1tkElectron:Iso:barrel: "pt" # thresholds: [10, 20, 30, 40] From 2aaf9a00b776b4903c866db42b7d4bf7a196cf77 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Wed, 6 Mar 2024 16:18:44 +0100 Subject: [PATCH 46/49] Add caloJets to V31 configs --- configs/V31/caching.yaml | 1 + .../V31/object_performance/jets_trigger.yaml | 6 ++-- .../object_performance/jets_trigger_fwd.yaml | 2 +- configs/V31/object_performance/mht.yaml | 28 +------------------ configs/V31/objects/jets.yaml | 3 ++ configs/V31/rate_plots/ht.yaml | 12 ++++++++ configs/V31/rate_plots/jets.yaml | 2 +- 7 files changed, 22 insertions(+), 32 deletions(-) diff --git a/configs/V31/caching.yaml b/configs/V31/caching.yaml index fdf7dec0..57d6c31a 100644 --- a/configs/V31/caching.yaml +++ b/configs/V31/caching.yaml @@ -73,6 +73,7 @@ V31: seededConeExtendedPuppiHT: "all" seededConePuppiHT: "all" seededConePuppiMHT: "all" + caloJet: [Et, Pt, Eta, Phi] tkElectron: [Pt, Et, Eta, Phi, Chg, TrkIso, PfIso, PuppiIso, zVtx, HwQual, HGC, PassesEleID, PassesPhoID] EG: [Pt, Et, Eta, Phi, Iso, HwQual, HGC, PassesEleID, PassesSaID] gmtTkMuon: [Pt, Eta, Phi, Z0, D0, Chg, Qual ] diff --git a/configs/V31/object_performance/jets_trigger.yaml b/configs/V31/object_performance/jets_trigger.yaml index 64689056..58511967 100644 --- a/configs/V31/object_performance/jets_trigger.yaml +++ b/configs/V31/object_performance/jets_trigger.yaml @@ -14,7 +14,7 @@ JetTurnonBarrel: test_objects: phase1PuppiJet:default:barrel: "Pt" seededConePuppiJet:default:barrel: "Pt" - caloJet:default: "Pt" + caloJet:default:barrel: "Pt" trackerJet:default:barrel: "Pt" thresholds: [50, 100] scalings: @@ -43,7 +43,7 @@ JetTurnonEndcap: test_objects: phase1PuppiJet:default:endcap: "Pt" seededConePuppiJet:default:endcap: "Pt" - caloJet:default: "Pt" + caloJet:default:endcap: "Pt" trackerJet:default:endcap: "Pt" thresholds: [50, 100] scalings: @@ -72,7 +72,7 @@ JetTurnonForward: test_objects: phase1PuppiJet:default:forward: "Pt" seededConePuppiJet:default:forward: "Pt" - caloJet:default: "Pt" + caloJet:default:forward: "Pt" thresholds: [50, 100] scalings: method: "naive" diff --git a/configs/V31/object_performance/jets_trigger_fwd.yaml b/configs/V31/object_performance/jets_trigger_fwd.yaml index 1775d462..ce0a68a3 100644 --- a/configs/V31/object_performance/jets_trigger_fwd.yaml +++ b/configs/V31/object_performance/jets_trigger_fwd.yaml @@ -12,7 +12,7 @@ JetTurnonFwd_3p7to7: object: - "abs({eta}) < 7" test_objects: - phase1PuppiJet:default:forward: "Pt" + #phase1PuppiJet:default:forward: "Pt" seededConePuppiJet:default:forward: "Pt" thresholds: [50,100] scalings: diff --git a/configs/V31/object_performance/mht.yaml b/configs/V31/object_performance/mht.yaml index 4658ff01..c2bdac75 100644 --- a/configs/V31/object_performance/mht.yaml +++ b/configs/V31/object_performance/mht.yaml @@ -1,29 +1,3 @@ -MHT30_90perc: - sample: TT - version: V31 - reference_object: - object: "jet" - x_arg: "Pt" - label: "Gen MHT" - cuts: - object: - - "abs({eta}) < 2.4" - - "{pt} > 30" - trafo: "MHT" - test_objects: - phase1PuppiMHT:default: "et" - seededConePuppiMHT:default: "et" - thresholds: [70, 150] - scalings: - method: "naive" - threshold: 0.90 - xlabel: "Gen. MHT30 (GeV)" - ylabel: "Trigger Efficiency ( GeV)" - binning: - min: 0 - max: 500 - step: 20 - MHT30_50perc: sample: TT version: V31 @@ -40,7 +14,7 @@ MHT30_50perc: phase1PuppiMHT:default: "et" seededConePuppiMHT:default: "et" trackerMHT:default: "" - thresholds: [70, 150] + thresholds: [70] scalings: method: "naive" threshold: 0.50 diff --git a/configs/V31/objects/jets.yaml b/configs/V31/objects/jets.yaml index b2128853..38a787ca 100644 --- a/configs/V31/objects/jets.yaml +++ b/configs/V31/objects/jets.yaml @@ -3,6 +3,9 @@ caloJet: 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" diff --git a/configs/V31/rate_plots/ht.yaml b/configs/V31/rate_plots/ht.yaml index fb652a7f..2a24a1bd 100644 --- a/configs/V31/rate_plots/ht.yaml +++ b/configs/V31/rate_plots/ht.yaml @@ -9,3 +9,15 @@ HTRates: min: 50 max: 975 step: 25 + +MHTRates: + sample: MinBias + version: V31 + test_objects: + - phase1PuppiMHT:default + - seededConePuppiMHT:default + - trackerMHT:default + binning: + min: 50 + max: 975 + step: 25 diff --git a/configs/V31/rate_plots/jets.yaml b/configs/V31/rate_plots/jets.yaml index 0cc482d3..8277fde3 100644 --- a/configs/V31/rate_plots/jets.yaml +++ b/configs/V31/rate_plots/jets.yaml @@ -6,7 +6,7 @@ JetDefaultRates: - seededConePuppiJet:default # - seededConeExtendedPuppiJet:default - trackerJet:default - # - caloJet:default + - caloJet:default binning: min: 40 max: 420 From 7be0bafdefb21670cf7b538527741d6e4481c85d Mon Sep 17 00:00:00 2001 From: EmyrClement Date: Thu, 7 Mar 2024 19:53:33 +0000 Subject: [PATCH 47/49] Use barrel/endcap/forward regions when deriving scalings for calo jets --- configs/V33nano/object_performance/jets_trigger.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/V33nano/object_performance/jets_trigger.yaml b/configs/V33nano/object_performance/jets_trigger.yaml index 69ec7b75..44665ff1 100644 --- a/configs/V33nano/object_performance/jets_trigger.yaml +++ b/configs/V33nano/object_performance/jets_trigger.yaml @@ -14,7 +14,7 @@ JetTurnonBarrel: test_objects: L1puppiJetHisto:default:barrel: "pt" L1puppiJetSC4:default:barrel: "pt" - L1caloJet:default: "pt" + L1caloJet:default:barrel: "pt" L1TrackJet:default:barrel: "pt" thresholds: [50, 100] scalings: @@ -43,7 +43,7 @@ JetTurnonEndcap: test_objects: L1puppiJetHisto:default:endcap: "pt" L1puppiJetSC4:default:endcap: "pt" - L1caloJet:default: "pt" + L1caloJet:default:endcap: "pt" L1TrackJet:default:endcap: "pt" thresholds: [50, 100] scalings: @@ -72,7 +72,7 @@ JetTurnonForward: test_objects: L1puppiJetHisto:default:forward: "pt" L1puppiJetSC4:default:forward: "pt" - L1caloJet:default: "pt" + L1caloJet:default:forward: "pt" thresholds: [50, 100] scalings: method: "naive" From 245f87d2e5d9e5323fd42c65d6206d965de6d4eb Mon Sep 17 00:00:00 2001 From: EmyrClement Date: Thu, 7 Mar 2024 19:54:54 +0000 Subject: [PATCH 48/49] Add barrel/endcap/forward regions to calo jet config --- configs/V33nano/objects/jets.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/V33nano/objects/jets.yaml b/configs/V33nano/objects/jets.yaml index b4fc13a8..46d533c0 100644 --- a/configs/V33nano/objects/jets.yaml +++ b/configs/V33nano/objects/jets.yaml @@ -3,6 +3,9 @@ L1caloJet: 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" From c92303ac2e3b69c4f1f27ccd528f0b45dea37db7 Mon Sep 17 00:00:00 2001 From: Artur Lobanov Date: Tue, 12 Mar 2024 11:09:55 +0100 Subject: [PATCH 49/49] Clean up configs --- .../V31/object_performance/tau_trigger.yaml | 56 -------------- configs/V31/objects/taus.yaml | 2 + .../object_performance/muon_trigger.yaml | 15 ++-- .../object_performance/tau_trigger.yaml | 76 ++----------------- configs/V33nano/objects/jets.yaml | 5 +- 5 files changed, 17 insertions(+), 137 deletions(-) diff --git a/configs/V31/object_performance/tau_trigger.yaml b/configs/V31/object_performance/tau_trigger.yaml index 7f31dfd0..9a99be32 100644 --- a/configs/V31/object_performance/tau_trigger.yaml +++ b/configs/V31/object_performance/tau_trigger.yaml @@ -53,59 +53,3 @@ TauTriggerEndcap_90perc: min: 0 max: 150 step: 6 - -TauTriggerBarrel_50perc: - sample: VBFHToTauTau - version: V31 - match_test_to_ref: True - reference_object: - object: "part_tau" - x_arg: "Pt" - label: "Gen Taus" - cuts: - event: - - "{dr_0.3} < 0.15" - - "abs({eta}) < 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - nnTau:default:barrel: "Pt" - caloTau:default:barrel: "Pt" - xlabel: "Gen. pT (GeV)" - ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" - thresholds: [20, 30] - scalings: - method: "naive" - threshold: 0.50 - binning: - min: 0 - max: 150 - step: 6 - -TauTriggerEndcap_50perc: - sample: VBFHToTauTau - version: V31 - match_test_to_ref: True - reference_object: - object: "part_tau" - x_arg: "Pt" - label: "Gen Taus" - cuts: - event: - - "{dr_0.3} < 0.15" - - "abs({eta}) > 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - nnTau:default:endcap: "Pt" - caloTau:default:endcap: "Pt" - xlabel: "Gen. pT (GeV)" - ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" - thresholds: [20, 30] - scalings: - method: "naive" - threshold: 0.50 - binning: - min: 0 - max: 150 - step: 6 diff --git a/configs/V31/objects/taus.yaml b/configs/V31/objects/taus.yaml index 2f1bf535..386adf5b 100644 --- a/configs/V31/objects/taus.yaml +++ b/configs/V31/objects/taus.yaml @@ -24,6 +24,8 @@ caloTau: endcap: [1.5, 2.4] ids: default: + label: "Calo Tau, pt>20" cuts: inclusive: - "abs({eta}) < 2.4" + - "{pt} > 20" diff --git a/configs/V33nano/object_performance/muon_trigger.yaml b/configs/V33nano/object_performance/muon_trigger.yaml index 6365cf4f..9453fdb8 100644 --- a/configs/V33nano/object_performance/muon_trigger.yaml +++ b/configs/V33nano/object_performance/muon_trigger.yaml @@ -10,12 +10,11 @@ MuonsTrigger_Barrel: event: - "(({statusFlags}>>7)&1) == 1" - "abs({pdgId}) == 13" - - "{dr_0.3} < 0.15" object: - "abs({eta}) < 0.83" test_objects: - gmtMuon:default:barrel: "pt" - gmtTkMuon:default:barrel: "pt" + L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" thresholds: [20, 25] @@ -39,13 +38,12 @@ MuonsTrigger_Overlap: event: - "(({statusFlags}>>7)&1) == 1" - "abs({pdgId}) == 13" - - "{dr_0.3} < 0.15" object: - "abs({eta}) > 0.83" - "abs({eta}) < 1.24" test_objects: - gmtMuon:default:overlap: "pt" - gmtTkMuon:default:overlap: "pt" + L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" thresholds: [20, 25] @@ -69,12 +67,11 @@ MuonsTrigger_Endcap: event: - "(({statusFlags}>>7)&1) == 1" - "abs({pdgId}) == 13" - - "{dr_0.3} < 0.15" object: - "abs({eta}) > 1.24" test_objects: - gmtMuon:default:endcap: "pt" - gmtTkMuon:default:endcap: "pt" + L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" thresholds: [20, 25] diff --git a/configs/V33nano/object_performance/tau_trigger.yaml b/configs/V33nano/object_performance/tau_trigger.yaml index c141d9e3..5c988399 100644 --- a/configs/V33nano/object_performance/tau_trigger.yaml +++ b/configs/V33nano/object_performance/tau_trigger.yaml @@ -13,10 +13,10 @@ TauTriggerBarrel_90perc: object: - "abs({eta}) < 2.4" test_objects: - L1nnPuppiTau:default: "pt" - L1hpsTau:default: "pt" - L1caloTau:default: "pt" - L1nnCaloTau:default: "pt" + L1nnPuppiTau:default:barrel: "pt" + L1hpsTau:default:barrel: "pt" + L1caloTau:default:barrel: "pt" + L1nnCaloTau:default:barrel: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" thresholds: [20, 30] @@ -43,10 +43,10 @@ TauTriggerEndcap_90perc: object: - "abs({eta}) < 2.4" test_objects: - L1nnPuppiTau:default: "pt" - L1hpsTau:default: "pt" - L1caloTau:default: "pt" - L1nnCaloTau:default: "pt" + L1nnPuppiTau:default:endcap: "pt" + L1hpsTau:default:endcap: "pt" + L1caloTau:default:endcap: "pt" + L1nnCaloTau:default:endcap: "pt" xlabel: "Gen. pT (GeV)" ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" thresholds: [20, 30] @@ -57,63 +57,3 @@ TauTriggerEndcap_90perc: min: 0 max: 150 step: 6 - -TauTriggerBarrel_50perc: - sample: VBFHToTauTau - version: V33nano - match_test_to_ref: True - reference_object: - object: "GenVisTau" - x_arg: "pt" - label: "Gen Taus" - cuts: - event: - # - "{dr_0.3} < 0.15" - - "abs({eta}) < 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - L1nnPuppiTau:default: "pt" - L1hpsTau:default: "pt" - L1caloTau:default: "pt" - L1nnCaloTau:default: "pt" - xlabel: "Gen. pT (GeV)" - ylabel: "Trigger Efficiency (barrel, L1 $p_T > $ GeV)" - thresholds: [20, 30] - scalings: - method: "naive" - threshold: 0.50 - binning: - min: 0 - max: 150 - step: 6 - -TauTriggerEndcap_50perc: - sample: VBFHToTauTau - version: V33nano - match_test_to_ref: True - reference_object: - object: "GenVisTau" - x_arg: "pt" - label: "Gen Taus" - cuts: - event: - # - "{dr_0.3} < 0.15" - - "abs({eta}) > 1.5" - object: - - "abs({eta}) < 2.4" - test_objects: - L1nnPuppiTau:default: "pt" - L1hpsTau:default: "pt" - L1caloTau:default: "pt" - L1nnCaloTau:default: "pt" - xlabel: "Gen. pT (GeV)" - ylabel: "Trigger Efficiency (endcap, L1 $p_T > $ GeV)" - thresholds: [20, 30] - scalings: - method: "naive" - threshold: 0.50 - binning: - min: 0 - max: 150 - step: 6 diff --git a/configs/V33nano/objects/jets.yaml b/configs/V33nano/objects/jets.yaml index 0e4882a2..087e1c87 100644 --- a/configs/V33nano/objects/jets.yaml +++ b/configs/V33nano/objects/jets.yaml @@ -84,7 +84,4 @@ L1TrackJet: barrel: [0, 1.5] endcap: [1.5, 2.4] ids: - default: - cuts: - inclusive: - - "abs({eta}) < 7" + default