diff --git a/cache b/cache index 5a2aa4fe..9afc6402 120000 --- a/cache +++ b/cache @@ -1 +1 @@ -/eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/cache \ No newline at end of file +/eos/user/s/stella/cache \ No newline at end of file diff --git a/central_cache/cache b/central_cache/cache new file mode 120000 index 00000000..5a2aa4fe --- /dev/null +++ b/central_cache/cache @@ -0,0 +1 @@ +/eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/alobanov/phase2/menu/ntuples/cache \ No newline at end of file diff --git a/configs/V44nano/caching.yaml b/configs/V44nano/caching.yaml index c8a4ab76..f94af2da 100644 --- a/configs/V44nano/caching.yaml +++ b/configs/V44nano/caching.yaml @@ -1,83 +1,23 @@ V44nano: - # Hgg: - # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/142pre1/v44/GluGluHToGG_M-125_TuneCP5_14TeV-powheg-pythia8/Hto2gg_Spring24_200PU_V44_reL1wTT/*/0000/*.root - # trees_branches: - # Events: - # GenPart: [pt, eta, phi, pdgId, statusFlags] - # L1tkPhoton: "all" - # L1EGbarrel: "all" - # L1EGendcap: "all" - # DYLL_M50: - # ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/142pre1/v44/DYToLL_M-50_TuneCP5_14TeV-pythia8/DY_M50_Spring24_200PU_V44_reL1wTT/*/0000/*.root - # trees_branches: - # Events: - # GenPart: "all" - # ## EG - # L1tkElectron: "all" - # L1EGbarrel: "all" - # L1EGendcap: "all" - # ## Muons - # L1gmtTkMuon: "all" - # L1gmtMuon: "all" - # L1gmtDispMuon: "all" - # ## TF Muons - # L1MuonKMTF: "all" - # L1MuonOMTF: "all" - # L1MuonEMTF: "all" - # L1DispMuonKMTF: "all" - # L1DispMuonOMTF: "all" - # L1DispMuonEMTF: "all" - TT: - ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/142pre1/v44/TT_TuneCP5_14TeV-powheg-pythia8/TT_Spring24_200PU_V44_reL1wTT/*/0000/*.root - trees_branches: - Events: - # gen - GenJet: [pt, eta, phi, partonFlavour] - GenJetAK8: [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] - L1TrackJet: [pt, eta, phi] - VBFHToTauTau: - ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/142pre1/v44/VBF_HToTauTau_M-125_TuneCP5_14TeV-powheg-pythia8/VBFHtoTaus_Spring24_200PU_V44_reL1wTT/*/0000/*.root - trees_branches: - Events: - GenPart: [pt, eta, phi, pdgId, statusFlags] - GenVisTau: "all" - L1nnPuppiTau: "all" - L1hpsTau: "all" - L1caloTau: "all" - L1nnCaloTau: "all" MinBias: - ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/142pre1/v44/MinBias_TuneCP5_14TeV-pythia8/MinBias_Spring24_200PU_V44_reL1wTT/*/0000/*.root + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/stella/phase2/menu/ntuples/MinBias_TuneCP5_14TeV-pythia8/MinBias_Spring24_140PU_V44_reL1wTT/250411_135445/0000/*.root trees_branches: Events: # PV L1PV: [z0] ## EG - L1tkPhoton: "all" - L1tkElectron: "all" - L1EGbarrel: "all" - L1EGendcap: "all" + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" ## MUONS - L1gmtTkMuon: "all" + L1gmtTkMuon: "all" L1gmtMuon: "all" # aka gmtMuon L1gmtDispMuon: "all" ## TAUS - L1nnPuppiTau: "all" - L1hpsTau: "all" - L1caloTau: "all" + L1nnPuppiTau: "all" + L1hpsTau: "all" + L1caloTau: "all" L1nnCaloTau: "all" ## MET/Sums L1puppiMET: [pt, phi] diff --git a/configs/V45nano_NGJets/README.md b/configs/V45nano_NGJets/README.md new file mode 100644 index 00000000..2fdfa0f2 --- /dev/null +++ b/configs/V45nano_NGJets/README.md @@ -0,0 +1,5 @@ +# V44 DT12x version + +Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v38_1400pre3v9 + +Uses the Annual Review branch 1400pre3v9 and includes rerunning the TrackTrigger. \ No newline at end of file diff --git a/configs/V45nano_NGJets/caching.yaml b/configs/V45nano_NGJets/caching.yaml new file mode 100644 index 00000000..51448f75 --- /dev/null +++ b/configs/V45nano_NGJets/caching.yaml @@ -0,0 +1,64 @@ +V45nano_NGJets: + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/151X/v45/TT_TuneCP5_14TeV-powheg-pythia8/TT_Spring24_200PU_V45_reL1wTT_NGJetNano/250506_203815/0000/*.root + trees_branches: + Events: + # gen + GenJet: [pt, eta, phi, partonFlavour] + GenJetAK8: [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] + L1TrackJet: [pt, eta, phi] + L1puppiJetSC4NG: [pt, eta, phi, udsTagScore, bTagScore, cTagScore, gTagScore] + + MinBias: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/151X/v45/MinBias_TuneCP5_14TeV-pythia8/MinBias_Spring24_200PUALCA_V45_reL1wTT_NGJetNano/250506_203903/0000/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + # L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + L1puppiJetSC4NGsums: [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] + L1puppiJetSC4NG: [pt, eta, phi, udsTagScore, bTagScore, cTagScore, gTagScore] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] diff --git a/configs/V45nano_NGJets/object_performance/disp_ht.yaml b/configs/V45nano_NGJets/object_performance/disp_ht.yaml new file mode 100644 index 00000000..bde28aab --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/disp_ht.yaml @@ -0,0 +1,53 @@ +HtoLLPto4b_M125_Phi60_ctau100_promptHT: + sample: HtoLLPto4b_M125_Phi60_ctau100 + version: V45nano_NGJets + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + L1puppiJetSC4sums:HT: "pt" + L1TrackHT:HT: "ht" + L1ExtTrackHT:HT: "ht" + thresholds: [50, 100] + # scalings: + # method: "naive" + # threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +# HtoLLPto4b_M125_Phi60_ctau100_dispHT: +# sample: HtoLLPto4b_M125_Phi60_ctau100 +# version: V45nano_NGJets +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen HT" +# trafo: "HT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# test_objects: +# L1puppiJetSC4sums:HT: "pt" +# L1TrackHT:HT: "ht" +# L1ExtTrackHT: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 diff --git a/configs/V45nano_NGJets/object_performance/electron_iso.yaml b/configs/V45nano_NGJets/object_performance/electron_iso.yaml new file mode 100644 index 00000000..6c1ee299 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/electron_iso.yaml @@ -0,0 +1,50 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets + 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:NoIsoForIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets + 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/V45nano_NGJets/object_performance/electron_matching.yaml b/configs/V45nano_NGJets/object_performance/electron_matching.yaml new file mode 100644 index 00000000..a720d56f --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/electron_matching.yaml @@ -0,0 +1,105 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets + 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:NoIsoNoLowPtID: "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: V45nano_NGJets +# 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 + version: V45nano_NGJets + 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:NoIsoNoLowPtID: "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: V45nano_NGJets +# 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/V45nano_NGJets/object_performance/electron_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..2c05fc09 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/electron_matching_eta.yaml @@ -0,0 +1,54 @@ +ElectronsMatching_Eta_Pt10to25: + sample: DYLL_M50 + version: V45nano_NGJets + 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: + L1EG:default: "eta" + L1tkElectron:NoIso: "eta" + # L1tkElectron:NoIsoNoLowPtID: "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: V45nano_NGJets + 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: + L1EG:default: "eta" + L1tkElectron:NoIso: "eta" + # L1tkElectron:NoIsoNoLowPtID: "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/V45nano_NGJets/object_performance/electron_purity.yaml b/configs/V45nano_NGJets/object_performance/electron_purity.yaml new file mode 100644 index 00000000..d3f6ba5d --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/electron_purity.yaml @@ -0,0 +1,53 @@ +# Purity_ElectronsBarrel: +# sample: DYLL_M50 +# version: V45nano_NGJets +# match_test_to_ref: True +# reference_object: +# object: "L1tkElectron" +# x_arg: "pt" +# label: "L1tkElectron" +# cuts: +# event: +# - "{eleId} == 1" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# GenPart:electron: "pt" +# L1EG:default: "pt" +# # L1tkElectron:NoIso: "pt" +# # L1tkElectron:NoIsoNoLowPtID: "pt" +# # L1tkElectron:Iso: "pt" +# xlabel: "L1 TkEle. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 100 +# step: 3 + +Purity_ElectronsEndcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1tkElectron" + x_arg: "pt" + label: "L1tkElectron" + cuts: + event: + - "{eleId} == 1" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:electron: "pt" + L1EG:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkEle. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets/object_performance/electron_trigger.yaml b/configs/V45nano_NGJets/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..7721d71c --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/electron_trigger.yaml @@ -0,0 +1,61 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V45nano_NGJets + 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:NoIsoNoLowPtID: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: V45nano_NGJets + 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:NoIsoNoLowPtID: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/V45nano_NGJets/object_performance/jets_matching.yaml b/configs/V45nano_NGJets/object_performance/jets_matching.yaml new file mode 100644 index 00000000..1ed99974 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching.yaml @@ -0,0 +1,118 @@ +JetMatchingBarrel: + sample: TT + version: V45nano_NGJets + 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" + L1TrackJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V45nano_NGJets + 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" + L1TrackJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V45nano_NGJets + 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: "Matching Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 + + +JetMatchingBarrelSC8: + sample: TT + version: V45nano_NGJets + 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: "Matching Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcapSC8: + sample: TT + version: V45nano_NGJets + 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: "Matching Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/jets_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..d9d50515 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching_eta.yaml @@ -0,0 +1,94 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V45nano_NGJets + 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" + L1TrackJet: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: V45nano_NGJets + 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" + L1TrackJet: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: V45nano_NGJets + 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 + +JetMatching_Eta_SC8_Pt100ToInf: + sample: TT + version: V45nano_NGJets + 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 diff --git a/configs/V45nano_NGJets/object_performance/jets_matching_wBTag.yaml b/configs/V45nano_NGJets/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..78a584b6 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,142 @@ +JetMatching_Eta_Pt40To100_ExtendedVsRegular: + sample: TT + version: V45nano_NGJets + 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" + L1puppiJetSC4NG: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: V45nano_NGJets + 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" + L1puppiJetSC4NG: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: V45nano_NGJets + 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" + L1puppiJetSC4NG: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: V45nano_NGJets + 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" + L1puppiJetSC4NG: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: V45nano_NGJets + 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" + L1puppiJetSC4NG:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotBJets: + sample: TT + version: V45nano_NGJets + 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" + L1puppiJetSC4NG:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/jets_matching_wCTag.yaml b/configs/V45nano_NGJets/object_performance/jets_matching_wCTag.yaml new file mode 100644 index 00000000..dd38d0dc --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching_wCTag.yaml @@ -0,0 +1,89 @@ +JetMatching_Eta_Pt30ToInf_genCJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) == 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotCJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) != 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genCJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) == 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotCJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) != 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/jets_matching_wGTag.yaml b/configs/V45nano_NGJets/object_performance/jets_matching_wGTag.yaml new file mode 100644 index 00000000..1219e153 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching_wGTag.yaml @@ -0,0 +1,89 @@ +JetMatching_Eta_Pt30ToInf_genGJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "{partonFlavour} == 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotGJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "{partonFlavour} != 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genGJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "{partonFlavour} == 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotGJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "{partonFlavour} != 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/jets_matching_wLightTag.yaml b/configs/V45nano_NGJets/object_performance/jets_matching_wLightTag.yaml new file mode 100644 index 00000000..bca0fba6 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_matching_wLightTag.yaml @@ -0,0 +1,93 @@ +JetMatching_Eta_Pt30ToInf_genLightJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) <= 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotLightJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) > 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genLightJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) <= 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotLightJets: + sample: TT + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) > 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/jets_sc8_trigger.yaml b/configs/V45nano_NGJets/object_performance/jets_sc8_trigger.yaml new file mode 100644 index 00000000..b7b87e89 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_sc8_trigger.yaml @@ -0,0 +1,77 @@ +JetTurnonBarrelSC8: + version: V45nano_NGJets + 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: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/jets_trigger.yaml b/configs/V45nano_NGJets/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..c1759210 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/jets_trigger.yaml @@ -0,0 +1,88 @@ +JetTurnonBarrel: + version: V45nano_NGJets + 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" + L1puppiJetSC4NG:default:barrel: "pt" + L1caloJet:default:barrel: "pt" + L1TrackJet: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: V45nano_NGJets + 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" + L1puppiJetSC4NG:default:endcap: "pt" + L1caloJet:default:endcap: "pt" + L1TrackJet: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: V45nano_NGJets + 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" + # L1puppiJetSC4NG:default:forward: "pt" + L1caloJet: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/V45nano_NGJets/object_performance/met_ht_mht.yaml b/configs/V45nano_NGJets/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..cc953267 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/met_ht_mht.yaml @@ -0,0 +1,124 @@ +HT_90perc: + sample: TT + version: V45nano_NGJets + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + # L1puppiHistoJetSums:HT: "pt" + L1puppiJetSC4sums:HT: "pt" + L1TrackHT:HT: "ht" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +# TkHT_90perc: +# sample: TT +# version: V45nano_NGJets +# 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: [150, 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: V45nano_NGJets + 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: V45nano_NGJets + reference_object: + object: "GenMET" + x_arg: "pt" + label: "Gen MET" + test_objects: + L1puppiMET:default: "pt" + L1puppiMLMET:default: "pt" + L1TrackMET:default: "pt" + thresholds: [125, 150, 175, 200] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 + +# MET_90perc_scTanh: +# sample: TT +# version: V45nano_NGJets +# reference_object: +# object: "GenMET" +# x_arg: "pt" +# label: "Gen MET" +# test_objects: +# L1puppiMET:default: "pt" +# L1puppiMLMET:default: "pt" +# L1TrackMET:default: "pt" +# thresholds: [125, 150, 175] +# xlabel: "Gen. MET (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# scalings: +# method: "errf" +# threshold: 0.90 +# binning: +# min: 0 +# max: 500 +# step: 20 diff --git a/configs/V45nano_NGJets/object_performance/muonTF_matching.yaml b/configs/V45nano_NGJets/object_performance/muonTF_matching.yaml new file mode 100644 index 00000000..67067a63 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muonTF_matching.yaml @@ -0,0 +1,82 @@ +MuonTFsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingOverlap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1MuonKMTF:default:overlap: "pt" + L1MuonOMTF:default:overlap: "pt" + L1MuonEMTF:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingEndcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1MuonKMTF:default:endcap: "pt" + L1MuonOMTF:default:endcap: "pt" + L1MuonEMTF:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets/object_performance/muonTF_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/muonTF_matching_eta.yaml new file mode 100644 index 00000000..6c9ad8d2 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muonTF_matching_eta.yaml @@ -0,0 +1,56 @@ +MuonTFsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonTFsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V45nano_NGJets/object_performance/muonTF_trigger.yaml b/configs/V45nano_NGJets/object_performance/muonTF_trigger.yaml new file mode 100644 index 00000000..f6cb9ee2 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muonTF_trigger.yaml @@ -0,0 +1,93 @@ +MuonTFsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +# MuonTFsTrigger_Overlap: +# sample: DYLL_M50 +# version: V45nano_NGJets +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 0.83" +# - "abs({eta}) < 1.24" +# test_objects: +# L1gmtMuon:default:overlap: "pt" +# L1MuonKMTF:default:overlap: "pt" +# L1MuonOMTF:default:overlap: "pt" +# L1MuonEMTF:default:overlap: "pt" +# L1gmtTkMuon:default:overlap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 + +# MuonTFsTrigger_Endcap: +# sample: DYLL_M50 +# version: V45nano_NGJets +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 1.24" +# test_objects: +# L1gmtMuon:default:endcap: "pt" +# L1MuonKMTF:default:endcap: "pt" +# L1MuonOMTF:default:endcap: "pt" +# L1MuonEMTF:default:endcap: "pt" +# L1gmtTkMuon:default:endcap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 diff --git a/configs/V45nano_NGJets/object_performance/muon_matching.yaml b/configs/V45nano_NGJets/object_performance/muon_matching.yaml new file mode 100644 index 00000000..3152b8f9 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muon_matching.yaml @@ -0,0 +1,73 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets + 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: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/muon_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..65b49a01 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muon_matching_eta.yaml @@ -0,0 +1,51 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1gmtMuon:dR0p6: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets + 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/V45nano_NGJets/object_performance/muon_trigger.yaml b/configs/V45nano_NGJets/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..d58c3965 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muon_trigger.yaml @@ -0,0 +1,84 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V45nano_NGJets/object_performance/muons_purity.yaml b/configs/V45nano_NGJets/object_performance/muons_purity.yaml new file mode 100644 index 00000000..509e8687 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/muons_purity.yaml @@ -0,0 +1,82 @@ +Purity_Muons_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) < 0.83" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Muons_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Overlap)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Muons_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets/object_performance/photon_iso.yaml b/configs/V45nano_NGJets/object_performance/photon_iso.yaml new file mode 100644 index 00000000..58a83ba8 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/photon_iso.yaml @@ -0,0 +1,51 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/photons_matching.yaml b/configs/V45nano_NGJets/object_performance/photons_matching.yaml new file mode 100644 index 00000000..3e21a8bd --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/photons_matching.yaml @@ -0,0 +1,159 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V45nano_NGJets + 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: V45nano_NGJets + 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: V45nano_NGJets +# 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: V45nano_NGJets +# 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_Pt30: +# sample: Hgg +# version: V45nano_NGJets +# 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" +# L1tkPhoton:NoIsoPt30: "pt" +# L1tkPhoton:IsoPt30: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 150 +# step: 3 + +# PhotonsMatching_Endcap_Pt30: +# sample: Hgg +# version: V45nano_NGJets +# 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" +# L1tkPhoton:NoIsoPt30: "pt" +# L1tkPhoton:IsoPt30: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 150 +# step: 3 diff --git a/configs/V45nano_NGJets/object_performance/photons_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..557e4c1e --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/photons_matching_eta.yaml @@ -0,0 +1,52 @@ +PhotonsMatching_Eta_Pt10to25: + sample: Hgg + version: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/photons_trigger.yaml b/configs/V45nano_NGJets/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..597efc7d --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/photons_trigger.yaml @@ -0,0 +1,59 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/tau_matching.yaml b/configs/V45nano_NGJets/object_performance/tau_matching.yaml new file mode 100644 index 00000000..73ba92d8 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tau_matching.yaml @@ -0,0 +1,53 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/tau_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/tau_matching_eta.yaml new file mode 100644 index 00000000..02f69f6b --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tau_matching_eta.yaml @@ -0,0 +1,50 @@ +TauMatching_Eta_Pt40To100: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: V45nano_NGJets + 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/V45nano_NGJets/object_performance/tau_matching_highPt.yaml b/configs/V45nano_NGJets/object_performance/tau_matching_highPt.yaml new file mode 100644 index 00000000..51c8dad6 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tau_matching_highPt.yaml @@ -0,0 +1,113 @@ +# TausMatchingBarrel_highPt: +# sample: VBFHToTauTau +# version: V45nano_NGJets +# 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: 400 +# step: 20 + +# TausMatchingEndcap_highPt: +# sample: VBFHToTauTau +# version: V45nano_NGJets +# 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: 400 +# step: 20 + +TauTriggerBarrel_90perc_highPt: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: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: [30, 50] + # scalings: + # method: "naive" + # threshold: 0.90 + binning: + min: 0 + max: 400 + step: 10 + +TauTriggerEndcap_90perc_highPt: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: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: [30, 50] + # scalings: + # method: "naive" + # threshold: 0.90 + binning: + min: 0 + max: 400 + step: 10 diff --git a/configs/V45nano_NGJets/object_performance/tau_purity.yaml b/configs/V45nano_NGJets/object_performance/tau_purity.yaml new file mode 100644 index 00000000..edcbe5ca --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tau_purity.yaml @@ -0,0 +1,96 @@ +Purity_Tau_Barrel: + sample: VBFHToTauTau + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "pt" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "L1 nnPuppiTau $p_T$ (GeV)" + ylabel: "Purity (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Tau_Endcap: + sample: VBFHToTauTau + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "pt" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "L1 nnPuppiTau $p_T$ (GeV)" + ylabel: "Purity (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Tau_Eta_Pt40: + sample: VBFHToTauTau + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "eta" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "{pt} > 40" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "eta" + L1caloTau:default: "eta" + xlabel: "L1 nnPuppiTau $\\eta$" + ylabel: "Purity (L1 $p_T$ > 40 GeV)" + binning: + min: -2.5 + max: 2.5 + step: 0.1 + +Purity_Tau_Eta_Pt100: + sample: VBFHToTauTau + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "eta" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "{pt} > 100" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "eta" + L1caloTau:default: "eta" + xlabel: "L1 nnPuppiTau $\\eta$" + ylabel: "Purity (L1 $p_T$ > 100 GeV)" + binning: + min: -2.5 + max: 2.5 + step: 0.1 + diff --git a/configs/V45nano_NGJets/object_performance/tau_trigger.yaml b/configs/V45nano_NGJets/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..d0bb509a --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tau_trigger.yaml @@ -0,0 +1,59 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: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] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V45nano_NGJets + 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: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] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V45nano_NGJets/object_performance/tkmuon_matching.yaml b/configs/V45nano_NGJets/object_performance/tkmuon_matching.yaml new file mode 100644 index 00000000..bc62c185 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tkmuon_matching.yaml @@ -0,0 +1,85 @@ +TkMuonsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingOverlap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingEndcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets/object_performance/tkmuon_matching_eta.yaml b/configs/V45nano_NGJets/object_performance/tkmuon_matching_eta.yaml new file mode 100644 index 00000000..e2a8084f --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tkmuon_matching_eta.yaml @@ -0,0 +1,58 @@ +TkMuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TkMuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V45nano_NGJets/object_performance/tkmuon_trigger.yaml b/configs/V45nano_NGJets/object_performance/tkmuon_trigger.yaml new file mode 100644 index 00000000..3d484769 --- /dev/null +++ b/configs/V45nano_NGJets/object_performance/tkmuon_trigger.yaml @@ -0,0 +1,96 @@ +TkMuonsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + # L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + # L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + # L1gmtMuon:default:endcap: "pt" + # L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V45nano_NGJets/objects/GenPart.md b/configs/V45nano_NGJets/objects/GenPart.md new file mode 100644 index 00000000..da9ae111 --- /dev/null +++ b/configs/V45nano_NGJets/objects/GenPart.md @@ -0,0 +1,44 @@ +# CMS Phase-2 Level-1 Object Definitions + +## GenPart +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] + +### IDs: + +#### electron +- **Label**: "Gen Electron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 11 + +#### muon +- **Label**: "Gen Muon" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 13 + + +## GenVisTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 5] +- **Label**: "GenVisTau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + diff --git a/configs/V45nano_NGJets/objects/GenPart.yaml b/configs/V45nano_NGJets/objects/GenPart.yaml new file mode 100644 index 00000000..e70d612f --- /dev/null +++ b/configs/V45nano_NGJets/objects/GenPart.yaml @@ -0,0 +1,34 @@ +GenPart: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 5] + ids: + electron: + label: "Gen Electron" + cuts: + inclusive: + - "abs({eta}) < 3" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + muon: + label: "Gen Muon" + cuts: + inclusive: + - "abs({eta}) < 3" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + +GenVisTau: + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 5] + label: "GenVisTau" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" \ No newline at end of file diff --git a/configs/V45nano_NGJets/objects/electrons.doc.html b/configs/V45nano_NGJets/objects/electrons.doc.html new file mode 100644 index 00000000..459e3f9a --- /dev/null +++ b/configs/V45nano_NGJets/objects/electrons.doc.html @@ -0,0 +1,325 @@ + + + + + + + + + +

L1tkElectron

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldExample ValueRequiredDescription
match_dR0.15  Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
eta_ranges    Lorem ipsum dolor sit amet, consecteteur.
  inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing elit b'cras' b'id' b'a' b'a'.
  barrelLorem ipsum dolor sit amet.
  endcapLorem ipsum dolor sit amet.
ids    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'arcu' b'ad' b'a' b'a' b'tellus' b'porta' b'vel' b'dui'.
  NoIso    Lorem ipsum dolor sit amet, consecteteur.
    labelTkElectron  Lorem ipsum dolor sit amet, consecteteur adipiscing.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing.
      inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing elit b'eros' b'mi' b'a' b'in'.
      endcapLorem ipsum dolor sit amet, consecteteur adipiscing.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'quis' b'ac'.
  NoIsoForIso    Lorem ipsum dolor.
    labelTkElectron, no ID  Lorem ipsum dolor sit amet, consecteteur.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
      inclusiveLorem ipsum.
  Iso    Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
    labelTkIsoElectron  Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'amet' b'ad' b'a'.
      inclusiveLorem ipsum dolor sit amet, consecteteur.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'odio'.
      endcapLorem ipsum.
Raw yaml:
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
+        endcap:
+        - ({eleId} == 1) | ({pt} < 25)
+        barrel:
+        - '{eleId} == 1'
+    NoIsoForIso:
+      label: TkElectron, no ID
+      cuts:
+        inclusive:
+        - abs({eta}) < 2.4
+    Iso:
+      label: TkIsoElectron
+      cuts:
+        inclusive:
+        - abs({eta}) < 2.4
+        barrel:
+        - abs({relIso}) < 0.13
+        endcap:
+        - abs({relIso}) < 0.28
+

L1EG

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldExample ValueRequiredDescription
match_dR0.2  Lorem ipsum dolor sit amet, consecteteur.
eta_ranges    Lorem ipsum dolor.
  inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing.
  barrelLorem ipsum.
  endcapLorem ipsum dolor sit amet, consecteteur adipiscing elit b'elit' b'in' b'mi'.
labelEG  Lorem ipsum dolor.
ids    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'nisl' b'ut' b'mi'.
  default    Lorem ipsum.
    cuts    Lorem ipsum.
      inclusiveLorem ipsum dolor sit amet, consecteteur.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'urna' b'et'.
      endcapLorem ipsum.
Raw yaml:
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'
+
\ No newline at end of file diff --git a/configs/V45nano_NGJets/objects/electrons.md b/configs/V45nano_NGJets/objects/electrons.md new file mode 100644 index 00000000..0f1cc42b --- /dev/null +++ b/configs/V45nano_NGJets/objects/electrons.md @@ -0,0 +1,58 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkElectron +- **Matching ΔR**: 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 + - **endcap**: + - ({eleId} == 1) | ({pt} < 25) + - **barrel**: + - {eleId} == 1 + +#### NoIsoForIso +- **Label**: "TkElectron, no ID" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + +#### Iso +- **Label**: "TkIsoElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **barrel**: + - abs({relIso}) < 0.13 + - **endcap**: + - abs({relIso}) < 0.28 + + +## L1EG +- **Matching ΔR**: 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/V45nano_NGJets/objects/electrons.yaml b/configs/V45nano_NGJets/objects/electrons.yaml new file mode 100644 index 00000000..162455cc --- /dev/null +++ b/configs/V45nano_NGJets/objects/electrons.yaml @@ -0,0 +1,50 @@ +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" + endcap: + - "({eleId} == 1) | ({pt} < 25)" + barrel: + - "{eleId} == 1" + NoIsoForIso: + # This id is exclusively used for the + # isoloation wp derivation + label: "TkElectron, no ID" + cuts: + inclusive: + - "abs({eta}) < 2.4" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + endcap: + - "abs({relIso}) < 0.28" + +L1EG: + match_dR: 0.2 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 3.0] + label: "EG" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 3.0" + barrel: + - "{eleId} == 1" + endcap: + - "{saId} == 1" + diff --git a/configs/V45nano_NGJets/objects/jets.md b/configs/V45nano_NGJets/objects/jets.md new file mode 100644 index 00000000..8953874e --- /dev/null +++ b/configs/V45nano_NGJets/objects/jets.md @@ -0,0 +1,173 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1caloJet +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Calo Jet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiExtJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Ext. SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 5 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "Ext. SC4, BtagScore > 0.71" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {btagScore} > 0.71 + + +## L1puppiJetHisto +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Histogrammed PuppiJet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + + +## L1puppiJetSC4NG +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "NG SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "NG SC4, BtagScore > 0.15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {bTagScore} > 0.15 + +#### cjetnn +- **Label**: "NG SC4, CtagScore > 0.099" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {cTagScore} > 0.099 + +#### gjetnn +- **Label**: "NG SC4, GtagScore > 0.59" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {gTagScore} > 0.59 + +#### lightjetnn +- **Label**: "NG SC4, LighttagScore > 0.54" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {udsTagScore} > 0.54 + + +## L1puppiJetSC8 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Seeded Cone PuppiJet 8" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1TrackJet +- **Matching ΔR**: 0.4 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Tracker Jet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + diff --git a/configs/V45nano_NGJets/objects/jets.yaml b/configs/V45nano_NGJets/objects/jets.yaml new file mode 100644 index 00000000..30819a68 --- /dev/null +++ b/configs/V45nano_NGJets/objects/jets.yaml @@ -0,0 +1,146 @@ +L1caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + cuts: + inclusive: + - "abs({eta}) < 7" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiExtJetSC4: + match_dR: 0.35 + label: "Ext. SC4" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + bjetnn: + label: "Ext. SC4, BtagScore > 0.71" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{btagScore} > 0.71" + +L1puppiJetHisto: + match_dR: 0.3 + label: "Histogrammed PuppiJet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiJetSC4: + match_dR: 0.35 + label: "SC4" + 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" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + +L1puppiJetSC4NG: + match_dR: 0.35 + label: "NG SC4" + 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" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + bjetnn: + label: "NG SC4, BtagScore > 0.15" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{bTagScore} > 0.15" + cjetnn: + label: "NG SC4, CtagScore > 0.099" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{cTagScore} > 0.099" + gjetnn: + label: "NG SC4, GtagScore > 0.59" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{gTagScore} > 0.59" + lightjetnn: + label: "NG SC4, LighttagScore > 0.54" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{udsTagScore} > 0.54" + +L1puppiJetSC8: + match_dR: 0.35 + label: "Seeded Cone PuppiJet 8" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1TrackJet: + match_dR: 0.4 + label: "Tracker Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + + diff --git a/configs/V45nano_NGJets/objects/met_ht_mht.md b/configs/V45nano_NGJets/objects/met_ht_mht.md new file mode 100644 index 00000000..660dfd8f --- /dev/null +++ b/configs/V45nano_NGJets/objects/met_ht_mht.md @@ -0,0 +1,90 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1puppiMET +- **Label**: "Puppi MET" + +### IDs: + +#### default + + +## L1puppiMLMET +- **Label**: "Puppi MLMET" + +### IDs: + +#### default + + +## L1puppiJetSC4sums + +### IDs: + +#### HT +- **Label**: "SeededCone HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "SeededCone MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1puppiHistoJetSums + +### IDs: + +#### HT +- **Label**: "Histogrammed Puppi HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "Histogrammed Puppi MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1TrackHT + +### IDs: + +#### HT +- **Label**: "Tracker HT" + +#### MHT +- **Label**: "Tracker MHT" + + +## L1ExtTrackHT + +### IDs: + +#### HT +- **Label**: "ext. Tracker HT" + +#### MHT +- **Label**: "ext. Tracker MHT" + + +## L1TrackMET +- **Label**: "Tracker MET" + +### IDs: + +#### default + + +## L1TrackTripletWord +- **Label**: "Track Triplet for W3Pi" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets/objects/met_ht_mht.yaml b/configs/V45nano_NGJets/objects/met_ht_mht.yaml new file mode 100644 index 00000000..8dbdb2fd --- /dev/null +++ b/configs/V45nano_NGJets/objects/met_ht_mht.yaml @@ -0,0 +1,69 @@ +# phase1PuppiHT: +# label: "Histogrammed Puppi HT" +# ids: +# default: {} + +# phase1PuppiMHT: +# label: "Phase1 Puppi MHT" +# ids: +# default: {} + +L1puppiMET: + label: "Puppi MET" + ids: + default: {} + +L1puppiMLMET: + label: "Puppi MLMET" + ids: + default: {} + +L1puppiJetSC4sums: + ids: + HT: + label: "SeededCone HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "SeededCone MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1puppiHistoJetSums: + ids: + HT: + label: "Histogrammed Puppi HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "Histogrammed Puppi MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1TrackHT: + ids: + HT: + label: "Tracker HT" + MHT: + label: "Tracker MHT" + +L1ExtTrackHT: + ids: + HT: + label: "ext. Tracker HT" + MHT: + label: "ext. Tracker MHT" + +L1TrackMET: + label: "Tracker MET" + ids: + default: {} + +L1TrackTripletWord: + label: "Track Triplet for W3Pi" + ids: + default: {} \ No newline at end of file diff --git a/configs/V45nano_NGJets/objects/muons.md b/configs/V45nano_NGJets/objects/muons.md new file mode 100644 index 00000000..ab724146 --- /dev/null +++ b/configs/V45nano_NGJets/objects/muons.md @@ -0,0 +1,150 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1gmtTkMuon +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT TkMuon" + +### IDs: + +#### default +- **Label**: "GMT TkMuon" +- **Cuts**: + - **inclusive**: + - (({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1)) + +#### VLoose +- **Label**: "GMT TkMuon, VLoose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>0)&1 == 1 + +#### Loose +- **Label**: "GMT TkMuon, Loose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>1)&1 == 1 + +#### Medium +- **Label**: "GMT TkMuon, Medium ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>2)&1 == 1 + +#### Tight +- **Label**: "GMT TkMuon, Tight ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>3)&1 == 1 + + +## L1gmtMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Muon" + +### IDs: + +#### default +- **Cuts**: + - **overlap**: + - {hwQual} >= 12 + - **endcap**: + - {hwQual} >= 14 + +#### dR0p6 +- **Label**: "GMT Muon, match dR < 0.6" +- **Cuts**: + + +## L1gmtDispMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Displaced Muon" + +### IDs: + +#### default + +#### dXYge8 +- **Label**: "Disp. Muon, dXY>8" +- **Cuts**: + - **endcap**: + - {d0} >= 8 + +#### dXYge8Qual15 +- **Label**: "Disp. Muon, dXY>8, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + - {d0} >= 8 + +#### qual15 +- **Label**: "Disp. Muon, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + +#### qual15_Eta2p0 +- **Label**: "Disp. Muon, eta < 2, qual>=15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2 + - **endcap**: + - {hwQual} >= 15 + + +## L1MuonKMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "KMTF Muon" + +### IDs: + +#### default + + +## L1MuonOMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "OMTF Muon" + +### IDs: + +#### default + + +## L1MuonEMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "EMTF Muon" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets/objects/muons.yaml b/configs/V45nano_NGJets/objects/muons.yaml new file mode 100644 index 00000000..d64009cc --- /dev/null +++ b/configs/V45nano_NGJets/objects/muons.yaml @@ -0,0 +1,122 @@ +L1gmtTkMuon: + label: "GMT TkMuon" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + label: "GMT TkMuon" + cuts: + inclusive: + - "(({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1))" # Loose (bit 2) for pt < 8 VLoose (bit 1) for pt > 8 + VLoose: # x.numberOfMatches() > 0 + label: "GMT TkMuon, VLoose ID" + cuts: + inclusive: + - "({hwQual}>>0)&1 == 1" + Loose: # x.numberOfMatches() >1 + label: "GMT TkMuon, Loose ID" + cuts: + inclusive: + - "({hwQual}>>1)&1 == 1" + Medium: # x.stubs().size()>1 + label: "GMT TkMuon, Medium ID" + cuts: + inclusive: + - "({hwQual}>>2)&1 == 1" + Tight: # x.numberOfMatches()>2 + label: "GMT TkMuon, Tight ID" + cuts: + inclusive: + - "({hwQual}>>3)&1 == 1" + +L1gmtMuon: + label: "GMT Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + cuts: + overlap: + - "{hwQual} >= 12" + endcap: + - "{hwQual} >= 14" + dR0p6: + label: "GMT Muon, match dR < 0.6" + match_dR: 0.6 + cuts: {} + +L1gmtDispMuon: + label: "GMT Displaced Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + dXYge8: + label: "Disp. Muon, dXY>8" + cuts: + endcap: + - "{d0} >= 8" + dXYge8Qual15: + label: "Disp. Muon, dXY>8, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + - "{d0} >= 8" + qual15: + label: "Disp. Muon, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + qual15_Eta2p0: + label: "Disp. Muon, eta < 2, qual>=15" + cuts: + inclusive: + - "abs({eta}) < 2" + endcap: + - "{hwQual} >= 15" + +L1MuonKMTF: + label: "KMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonOMTF: + label: "OMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonEMTF: + # Hello There + label: "EMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} diff --git a/configs/V45nano_NGJets/objects/objects.md b/configs/V45nano_NGJets/objects/objects.md new file mode 100644 index 00000000..2cf10add --- /dev/null +++ b/configs/V45nano_NGJets/objects/objects.md @@ -0,0 +1,640 @@ +# CMS Phase-2 Level-1 Object + +## Genpart +## GenPart +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] + +### IDs: +#### electron +- **Label**: "Gen Electron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 11 + +#### muon +- **Label**: "Gen Muon" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 13 + + +## GenVisTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 5] +- **Label**: "GenVisTau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + + + +## Electrons +## L1tkElectron +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] +>ets 1
test 2 + +### IDs: +#### NoIso +- **Label**: "TkElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **endcap**: + - ({eleId} == 1) | ({pt} < 25) + - **barrel**: + - {eleId} == 1 + +#### NoIsoForIso +- **Label**: "TkElectron, no ID" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + +#### Iso +- **Label**: "TkIsoElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **barrel**: + - abs({relIso}) < 0.13 + - **endcap**: + - abs({relIso}) < 0.28 + + +## L1EG +- **Matching ΔR**: 0.2 +- **Eta Ranges** (funny comment): + - **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 +>insert comment here + + + + +## Jets +## L1caloJet +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Calo Jet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiExtJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Ext. SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 5 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 +>comment 1
comment 2 + +#### bjetnn +- **Label**: "Ext. SC4, BtagScore > 0.71" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {btagScore} > 0.71 + + +## L1puppiJetHisto +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Histogrammed PuppiJet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + + +## L1puppiJetSC4NG +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "NG SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "NG SC4, BtagScore > 0.15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {bTagScore} > 0.15 + +#### cjetnn +- **Label**: "NG SC4, CtagScore > 0.099" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {cTagScore} > 0.099 + +#### gjetnn +- **Label**: "NG SC4, GtagScore > 0.59" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {gTagScore} > 0.59 + +#### lightjetnn +- **Label**: "NG SC4, LighttagScore > 0.54" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {udsTagScore} > 0.54 + + +## L1puppiJetSC8 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Seeded Cone PuppiJet 8" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1TrackJet +- **Matching ΔR**: 0.4 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Tracker Jet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + + + +## Met_ht_mht +## L1puppiMET +- **Label**: "Puppi MET" + +### IDs: +#### default + + +## L1puppiMLMET +- **Label**: "Puppi MLMET" + +### IDs: +#### default + + +## L1puppiJetSC4sums + +### IDs: +#### HT +- **Label**: "SeededCone HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "SeededCone MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1puppiHistoJetSums + +### IDs: +#### HT +- **Label**: "Histogrammed Puppi HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "Histogrammed Puppi MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1TrackHT + +### IDs: +#### HT +- **Label**: "Tracker HT" + +#### MHT +- **Label**: "Tracker MHT" + + +## L1ExtTrackHT + +### IDs: +#### HT +- **Label**: "ext. Tracker HT" + +#### MHT +- **Label**: "ext. Tracker MHT" + + +## L1TrackMET +- **Label**: "Tracker MET" + +### IDs: +#### default + + +## L1TrackTripletWord +- **Label**: "Track Triplet for W3Pi" + +### IDs: +#### default + + + + +## Muons +## L1gmtTkMuon +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT TkMuon" + +### IDs: +#### default +- **Label**: "GMT TkMuon" +- **Cuts**: + - **inclusive**: (Loose (bit 2) for pt < 8 VLoose (bit 1) for pt > 8) + - (({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1)) + +#### VLoose (x.numberOfMatches() > 0) +- **Label**: "GMT TkMuon, VLoose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>0)&1 == 1 + +#### Loose (x.numberOfMatches() >1) +- **Label**: "GMT TkMuon, Loose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>1)&1 == 1 + +#### Medium (x.stubs().size()>1) +- **Label**: "GMT TkMuon, Medium ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>2)&1 == 1 + +#### Tight (x.numberOfMatches()>2) +- **Label**: "GMT TkMuon, Tight ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>3)&1 == 1 + + +## L1gmtMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Muon" + +### IDs: +#### default +- **Cuts**: + - **overlap**: + - {hwQual} >= 12 + - **endcap**: + - {hwQual} >= 14 + +#### dR0p6 +- **Label**: "GMT Muon, match dR < 0.6" +- **Cuts**: + + +## L1gmtDispMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Displaced Muon" + +### IDs: +#### default + +#### dXYge8 +- **Label**: "Disp. Muon, dXY>8" +- **Cuts**: + - **endcap**: + - {d0} >= 8 + +#### dXYge8Qual15 +- **Label**: "Disp. Muon, dXY>8, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + - {d0} >= 8 + +#### qual15 +- **Label**: "Disp. Muon, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + +#### qual15_Eta2p0 +- **Label**: "Disp. Muon, eta < 2, qual>=15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2 + - **endcap**: + - {hwQual} >= 15 + + +## L1MuonKMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "KMTF Muon" + +### IDs: +#### default + + +## L1MuonOMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "OMTF Muon" + +### IDs: +#### default + + +## L1MuonEMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "EMTF Muon" + +### IDs: +#### default + + + + +## Photons +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + + + +## Pv +## L1PV +- **Label**: "Primary Vertex" + +### IDs: +#### default + + + + +## Taus +## L1nnPuppiTau +- **Matching ΔR**: 0.1 +- **Eta Ranges** (keys): + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] (values) +>etst +- **Label**: "NN Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {chargedIso} > 0.22 +>Current IB (22 Feb recipe) does not have updated WP, so cut on NN score rather than checking passLooseNN + + +## L1hpsTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +>etst +- **Label**: "HPS Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 +>test + + +## L1caloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Calo Tau" + +### IDs (test): +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1nnCaloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Calo Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {hwQual}==3 +>comment
comment + + + + diff --git a/configs/V45nano_NGJets/objects/photons.md b/configs/V45nano_NGJets/objects/photons.md new file mode 100644 index 00000000..0b784e97 --- /dev/null +++ b/configs/V45nano_NGJets/objects/photons.md @@ -0,0 +1,60 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + diff --git a/configs/V45nano_NGJets/objects/photons.yaml b/configs/V45nano_NGJets/objects/photons.yaml new file mode 100644 index 00000000..2565e821 --- /dev/null +++ b/configs/V45nano_NGJets/objects/photons.yaml @@ -0,0 +1,51 @@ +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" + NoIsoPt30: + label: "L1tkPhoton, pt>30" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 30" + 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" + IsoPt30: + label: "L1tkIsoPhoton, Pt>30" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 30" + barrel: + - "abs({relIso}) < 0.25" + - "{eleId} == 1" + endcap: + - "abs({relIso}) < 0.205" + - "{phoId} == 1" diff --git a/configs/V45nano_NGJets/objects/photons_org.md b/configs/V45nano_NGJets/objects/photons_org.md new file mode 100644 index 00000000..0b784e97 --- /dev/null +++ b/configs/V45nano_NGJets/objects/photons_org.md @@ -0,0 +1,60 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + diff --git a/configs/V45nano_NGJets/objects/pv.md b/configs/V45nano_NGJets/objects/pv.md new file mode 100644 index 00000000..20eb9309 --- /dev/null +++ b/configs/V45nano_NGJets/objects/pv.md @@ -0,0 +1,10 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1PV +- **Label**: "Primary Vertex" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets/objects/pv.yaml b/configs/V45nano_NGJets/objects/pv.yaml new file mode 100644 index 00000000..25fea9c0 --- /dev/null +++ b/configs/V45nano_NGJets/objects/pv.yaml @@ -0,0 +1,4 @@ +L1PV: + label: "Primary Vertex" + ids: + default: {} diff --git a/configs/V45nano_NGJets/objects/taus.md b/configs/V45nano_NGJets/objects/taus.md new file mode 100644 index 00000000..7b73d1cd --- /dev/null +++ b/configs/V45nano_NGJets/objects/taus.md @@ -0,0 +1,68 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1nnPuppiTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {chargedIso} > 0.22 + + +## L1hpsTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "HPS Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1caloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Calo Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1nnCaloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Calo Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {hwQual}==3 + + diff --git a/configs/V45nano_NGJets/objects/taus.yaml b/configs/V45nano_NGJets/objects/taus.yaml new file mode 100644 index 00000000..11e49a74 --- /dev/null +++ b/configs/V45nano_NGJets/objects/taus.yaml @@ -0,0 +1,61 @@ +L1nnPuppiTau: + label: "NN Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + # - "{passLooseNN}==1" + # Current IB (22 Feb recipe) does not have updated WP, so cut on NN score rather than checking passLooseNN + - "{chargedIso} > 0.22" + +L1hpsTau: + label: "HPS Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + +L1caloTau: + label: "Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + PtGe20: + label: "Calo Tau, pt > 20" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 20" + +L1nnCaloTau: + label: "NN Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{hwQual}==3" diff --git a/configs/V45nano_NGJets/rate_plots/bjet.yaml b/configs/V45nano_NGJets/rate_plots/bjet.yaml new file mode 100644 index 00000000..27180d14 --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/bjet.yaml @@ -0,0 +1,10 @@ +BJetRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1puppiExtJetSC4:default + - L1puppiExtJetSC4:bjetnn + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V45nano_NGJets/rate_plots/disp_muons.yaml b/configs/V45nano_NGJets/rate_plots/disp_muons.yaml new file mode 100644 index 00000000..a2ba8fae --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/disp_muons.yaml @@ -0,0 +1,24 @@ +gmtDispMuon: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtMuon:default + - L1gmtDispMuon:default + binning: + min: 0 + max: 75 + step: 3 + +gmtDispMuonByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + # - L1gmtMuon:default + # - L1gmtDispMuon:default + - L1gmtDispMuon:default:barrel + - L1gmtDispMuon:default:overlap + - L1gmtDispMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets/rate_plots/eg.yaml b/configs/V45nano_NGJets/rate_plots/eg.yaml new file mode 100644 index 00000000..02bd3498 --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/eg.yaml @@ -0,0 +1,38 @@ +EGRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1EG:default + - L1tkElectron:NoIso + - L1tkElectron:Iso + - L1tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 + +EG_NoIso_RatesByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1EG:default:barrel + - L1EG:default:endcap + - L1tkElectron:NoIso:barrel + - L1tkElectron:NoIso:endcap + binning: + min: 10 + max: 97 + step: 3 + +EG_Iso_RatesByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1tkElectron:Iso:barrel + - L1tkElectron:Iso:endcap + - L1tkPhoton:Iso:barrel + - L1tkPhoton:Iso:endcap + binning: + min: 10 + max: 97 + step: 3 diff --git a/configs/V45nano_NGJets/rate_plots/ht.yaml b/configs/V45nano_NGJets/rate_plots/ht.yaml new file mode 100644 index 00000000..2665914c --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/ht.yaml @@ -0,0 +1,60 @@ +HTRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + binning: + min: 50 + max: 975 + step: 25 + +MHTRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + # - L1puppiHistoJetSums:MHT + - L1puppiJetSC4sums:MHT + # - L1TrackHT:MHT + binning: + min: 50 + max: 975 + step: 25 + +DispHTRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + - L1ExtTrackHT:HT + binning: + min: 50 + max: 975 + step: 25 +# MHTRates: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# # - L1puppiHistoJetSums:MHT +# - L1puppiJetSC4sums:MHT +# - L1TrackHT:MHT +# binning: +# min: 50 +# max: 975 +# step: 25 + +# DispHTRates: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# # - L1puppiHistoJetSums:HT +# - L1puppiJetSC4sums:HT +# - L1TrackHT:HT +# - L1ExtTrackHT:HT +# binning: +# min: 50 +# max: 975 +# step: 25 diff --git a/configs/V45nano_NGJets/rate_plots/jets.yaml b/configs/V45nano_NGJets/rate_plots/jets.yaml new file mode 100644 index 00000000..40e851d1 --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/jets.yaml @@ -0,0 +1,74 @@ +# JetDefaultRates: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# - L1puppiJetSC4:default +# - L1puppiJetSC4NG:default +# - L1caloJet:default +# - L1TrackJet:default +# binning: +# min: 40 +# max: 420 +# step: 20 + +# JetsByRegion: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# - L1puppiJetSC4:default:barrel +# - L1puppiJetSC4:default:endcap +# - L1puppiJetSC4:default:forward +# - L1puppiJetSC4NG:default:barrel +# - L1puppiJetSC4NG:default:endcap +# - L1puppiJetSC4NG:default:forward +# - L1caloJet:default:barrel +# - L1caloJet:default:endcap +# - L1caloJet:default:forward +# binning: +# min: 40 +# max: 420 +# step: 20 + +# JetExtendedRates: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# - L1puppiJetSC4:default:inclusive +# - L1puppiJetSC4NG:default:inclusive +# - L1puppiExtJetSC4:default:inclusive +# - L1puppiExtJetSC4:bjetnn:inclusive +# - L1puppiJetSC4NG:bjetnn:inclusive +# binning: +# min: 40 +# max: 420 +# step: 20 + +JetExtendedRatesTags: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1puppiExtJetSC4:default:inclusive + - L1puppiJetSC4NG:default:inclusive + - L1puppiExtJetSC4:bjetnn:inclusive + - L1puppiJetSC4NG:bjetnn:inclusive + - L1puppiJetSC4NG:cjetnn:inclusive + - L1puppiJetSC4NG:lightjetnn:inclusive + - L1puppiJetSC4NG:gjetnn:inclusive + # - L1puppiJetSC4NG:taupjetnn:inclusive + # - L1puppiJetSC4NG:taunjetnn:inclusive + binning: + min: 40 + max: 420 + step: 20 + +# JetExtendedRatesByRegion: +# sample: MinBias +# version: V45nano_NGJets +# test_objects: +# - L1puppiExtJetSC4:default:barrel +# - L1puppiExtJetSC4:default:endcap +# - L1puppiExtJetSC4:default:forward +# binning: +# min: 40 +# max: 420 +# step: 20 diff --git a/configs/V45nano_NGJets/rate_plots/met.yaml b/configs/V45nano_NGJets/rate_plots/met.yaml new file mode 100644 index 00000000..3b75329d --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/met.yaml @@ -0,0 +1,11 @@ +METRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1puppiMET:default + - L1puppiMLMET:default + # - L1TrackMET:default + binning: + min: 50 + max: 500 + step: 25 diff --git a/configs/V45nano_NGJets/rate_plots/muons.yaml b/configs/V45nano_NGJets/rate_plots/muons.yaml new file mode 100644 index 00000000..ae0b7a44 --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/muons.yaml @@ -0,0 +1,34 @@ +gmtMuonByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtMuon:default:barrel + - L1gmtMuon:default:overlap + - L1gmtMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtTkMuon:default:barrel + - L1gmtTkMuon:default:overlap + - L1gmtTkMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +MuonRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtMuon:default + - L1gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets/rate_plots/taus.yaml b/configs/V45nano_NGJets/rate_plots/taus.yaml new file mode 100644 index 00000000..a7a6922d --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/taus.yaml @@ -0,0 +1,39 @@ +TauRates: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1nnPuppiTau:default + # - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 + +TauRatesByRegion: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1caloTau:default:barrel + - L1caloTau:default:endcap + - L1nnPuppiTau:default:barrel + - L1nnPuppiTau:default:endcap + binning: + min: 10 + max: 155 + step: 5 + +DiTauRates: + sample: MinBias + version: V45nano_NGJets + nObjects: 2 + test_objects: + - L1nnPuppiTau:default + # - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 diff --git a/configs/V45nano_NGJets/rate_plots/test.yml b/configs/V45nano_NGJets/rate_plots/test.yml new file mode 100644 index 00000000..4b521ca7 --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/test.yml @@ -0,0 +1,13 @@ +JetSC8Rates_byRegion2: + sample: MinBias + version: V45nano_NGJets + test_objects: + # - L1puppiJetSC4:default + - L1puppiJetSC8:default + - L1puppiJetSC8:default:inclusive + - L1puppiJetSC8:default:barrel + #- L1puppiJetSC8:default:endcap + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V45nano_NGJets/rate_plots/tkmuons.yaml b/configs/V45nano_NGJets/rate_plots/tkmuons.yaml new file mode 100644 index 00000000..59f7babe --- /dev/null +++ b/configs/V45nano_NGJets/rate_plots/tkmuons.yaml @@ -0,0 +1,51 @@ +gmtTkMuonByID: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtTkMuon:VLoose + - L1gmtTkMuon:Loose + - L1gmtTkMuon:Medium + - L1gmtTkMuon:Tight + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_barrel: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtTkMuon:VLoose:barrel + - L1gmtTkMuon:Loose:barrel + - L1gmtTkMuon:Medium:barrel + - L1gmtTkMuon:Tight:barrel + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_overlap: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtTkMuon:VLoose:overlap + - L1gmtTkMuon:Loose:overlap + - L1gmtTkMuon:Medium:overlap + - L1gmtTkMuon:Tight:overlap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_endcap: + sample: MinBias + version: V45nano_NGJets + test_objects: + - L1gmtTkMuon:VLoose:endcap + - L1gmtTkMuon:Loose:endcap + - L1gmtTkMuon:Medium:endcap + - L1gmtTkMuon:Tight:endcap + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets/rate_table/objects.md b/configs/V45nano_NGJets/rate_table/objects.md new file mode 100644 index 00000000..cc32d977 --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/objects.md @@ -0,0 +1,149 @@ +# CMS Phase-2 Level-1 Trigger + +## Step1_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step1_menu_cfg.yml +## L1_PFHTT + +## L1_PFMHTT + +## L1_PFMet + +## L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18 + +## L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax + +## L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4 + +## L1_SingleTkPhoIso + +## L1_DoubleTkPhoIso + +## L1_PFTau_PFTau + +## L1_SingleEGEle + +## L1_SinglePFTau + +## L1_SinglePfJet + +## L1_SingleTkEle + +## L1_SingleTkEleIso + +## L1_SingleTkMu + +## L1_TkEleIso_EG + +## L1_TkEleIso_PFHTT + +## L1_TkEleIso_PFIsoTau + +## L1_TkEle_PFJet_dRMin + +## L1_TkEle_TkMu + +## L1_TkMu_DoubleTkEle + +## L1_TkMu_PfHTT + +## L1_TkMu_PfJet_PfMet + +## L1_TkMu_TkEle + +## L1_TkMu_TkEleIso + +## L1_TripleTkMu + +## L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9 + +## L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17 + +## L1_DoubleTkEle_PFHTT + +## L1_DoubleEGEle + +## L1_DoublePFJet_MassMin + +## L1_DoublePFJet_dEtaMax + +## L1_DoubleTkEle + +## L1_DoubleTkMu + +## L1_DoubleTkMu4_SQ_OS_dR_Max1p2 + +## L1_DoubleTkMu_PfHTT + +## L1_DoubleTkMu_PfJet_PfMet + +## L1_DoubleTkMu_TkEle + +## L1_PFHTT_QuadJet + +## L1_PFIsoTau_PFIsoTau + +## L1_PFIsoTau_PFMet + +## L1_PFIsoTau_TkMu + + + +## Tau_only.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Tau_only_menu.yml +## L1_PFIsoTau_PFIsoTau + +## L1_SinglePFTau + +## L1_PFTau_PFTau + + + +## Test_for_p2gt.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_menu_cfg.yml +## L1_PFHTT_QuadJet_BTagNNScore + +## L1_PFHTT_QuadJetNG_BTagNNScore + + + diff --git a/configs/V45nano_NGJets/rate_table/step1_cfg.yml b/configs/V45nano_NGJets/rate_table/step1_cfg.yml new file mode 100644 index 00000000..231722fe --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/step1_cfg.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets/rate_table/step1_menu_cfg.yml" +table_fname: "v44_Step1Menu" diff --git a/configs/V45nano_NGJets/rate_table/step1_menu_cfg.yml b/configs/V45nano_NGJets/rate_table/step1_menu_cfg.yml new file mode 100644 index 00000000..fe921935 --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/step1_menu_cfg.yml @@ -0,0 +1,445 @@ +L1_PFHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 450.0 + obj: L1puppiJetSC4sums:HT +L1_PFMHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 135.5 + obj: L1puppiJetSC4sums:MHT +L1_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 200.0 + obj: L1puppiMET:default +# L1_PFMLMet: +# cross_masks: [] +# leg1: +# threshold_cut: offline_pt >= 200.0 +# obj: L1puppiMLMET:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 4.4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 4.4 + obj: L1gmtTkMuon:default +L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: + cross_masks: + - abs(leg2.eta) < 2.4 + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) < 0.4 + - abs(leg5.eta-leg4.eta) < 1.6 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default +L1_SingleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkPhoton:Iso + +L1_DoubleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkPhoton:Iso + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkPhoton:Iso +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default +L1_SingleEGEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 51.0 + obj: L1EG:default:inclusive +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_SinglePfJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC4:default +L1_SingleTkEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkElectron:NoIso:inclusive +L1_SingleTkEleIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 28.0 + obj: L1tkElectron:Iso:inclusive +L1_SingleTkMu: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1gmtTkMuon:default +L1_TkEleIso_EG: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1EG:default:inclusive +L1_TkEleIso_PFHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 26.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiJetSC4sums:HT +L1_TkEleIso_PFIsoTau: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 45.0 + obj: L1nnPuppiTau:default +L1_TkEle_PFJet_dRMin: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) > 0.3 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 28.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_TkEle_TkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 10.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1gmtTkMuon:default +L1_TkMu_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 6 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_PfHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 6 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 320.0 + obj: L1puppiJetSC4sums:HT +L1_TkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 110.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 120.0 + obj: L1puppiMET:default +L1_TkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 23.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_TkEleIso: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1tkElectron:Iso:inclusive +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3.5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 2.5 + obj: L1gmtTkMuon:default +L1_DoubleTkEle_PFHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg4: + threshold_cut: offline_pt > 390.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleEGEle: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 37.0 + obj: L1EG:default:inclusive + leg2: + threshold_cut: offline_pt >= 24.0 + obj: L1EG:default:inclusive +L1_DoublePFJet_MassMin: + cross_masks: + - (leg1 + leg2).mass > 620 + leg1: + threshold_cut: offline_pt >= 160.0 + obj: L1puppiJetSC4:default + leg2: + threshold_cut: offline_pt >= 35.0 + obj: L1puppiJetSC4:default +L1_DoublePFJet_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 112.0 + obj: L1puppiJetSC4:default + leg2: + threshold_cut: leg2.offline_pt >= 112.0 + obj: L1puppiJetSC4:default +L1_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 25.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkElectron:NoIso:inclusive +L1_DoubleTkMu: + cross_masks: + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: offline_pt > 15.0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 4 + obj: L1gmtTkMuon:default +L1_DoubleTkMu_PfHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg4: + threshold_cut: offline_pt >= 300.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleTkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg4: + threshold_cut: offline_pt >= 60.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 130.0 + obj: L1puppiMET:default +L1_DoubleTkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 9.0 + obj: L1tkElectron:NoIso:inclusive +L1_PFHTT_QuadJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 400.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: offline_pt >= 70.0 + obj: L1puppiJetSC4:default + leg3: + threshold_cut: offline_pt >= 55.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_PFIsoTau_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 55.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiMET:default +L1_PFIsoTau_TkMu: + cross_masks: + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 42.0 + obj: L1nnPuppiTau:default + leg3: + threshold_cut: offline_pt >= 18.0 + obj: L1gmtTkMuon:default diff --git a/configs/V45nano_NGJets/rate_table/step2_cfg.yml b/configs/V45nano_NGJets/rate_table/step2_cfg.yml new file mode 100644 index 00000000..322b0e62 --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/step2_cfg.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets/rate_table/step2_menu_cfg.yml" +table_fname: "v45_Step2Menu" diff --git a/configs/V45nano_NGJets/rate_table/step2_menu_cfg.yml b/configs/V45nano_NGJets/rate_table/step2_menu_cfg.yml new file mode 100644 index 00000000..82966c0c --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/step2_menu_cfg.yml @@ -0,0 +1,38 @@ +# B Jet Seeds +L1_PFHTT_QuadJet_BTagNNScore: + cross_masks: + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + +L1_PFHTT_QuadJetNG_BTagNNScore: + cross_masks: + - (leg2.bTagScore + leg3.bTagScore + leg4.bTagScore + leg5.bTagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4NGsums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default diff --git a/configs/V45nano_NGJets/rate_table/tau_only.yml b/configs/V45nano_NGJets/rate_table/tau_only.yml new file mode 100644 index 00000000..579d8fd4 --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/tau_only.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets/rate_table/tau_only_menu.yml" +table_fname: "tau_only_menu" diff --git a/configs/V45nano_NGJets/rate_table/tau_only_menu.yml b/configs/V45nano_NGJets/rate_table/tau_only_menu.yml new file mode 100644 index 00000000..2562302a --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/tau_only_menu.yml @@ -0,0 +1,23 @@ +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default \ No newline at end of file diff --git a/configs/V45nano_NGJets/rate_table/test_for_p2gt.yml b/configs/V45nano_NGJets/rate_table/test_for_p2gt.yml new file mode 100644 index 00000000..42c14b8a --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/test_for_p2gt.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets" +sample: "TTtestP2GT" +menu_config: "configs/V45nano_NGJets/rate_table/step1_menu_cfg.yml" +table_fname: "v44_Step1Menu_TTtestP2GT_fixGeQ" diff --git a/configs/V45nano_NGJets/rate_table/triggers.md b/configs/V45nano_NGJets/rate_table/triggers.md new file mode 100644 index 00000000..eed87311 --- /dev/null +++ b/configs/V45nano_NGJets/rate_table/triggers.md @@ -0,0 +1,792 @@ +# CMS Phase-2 Level-1 Triggers + +## Step1_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step1_menu_cfg.yml +## L1_PFHTT +- **Object**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 450.0 + +- **Cross Masks**: None + +## L1_PFMHTT +- **Object**: L1puppiJetSC4sums:MHT + + - **Threshold**: offline_pt >= 135.5 + +- **Cross Masks**: None + +## L1_PFMet +- **Object**: L1puppiMET:default + + - **Threshold**: offline_pt >= 200.0 + +- **Cross Masks**: None + +## L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4.4 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4.4 + +- **Cross Masks**: + + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 12.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 5**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: + + - abs(leg2.eta) < 2.4 + + - abs(leg2.z0-leg1.z0) < 1 + + - leg2.deltaR(leg3) < 0.4 + + - abs(leg5.eta-leg4.eta) < 1.6 + + +## L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Cross Masks**: + + - (abs(leg1.eta) < 1.5) + + - (abs(leg2.eta) < 1.5) + + - ((leg1.deltaR(leg2) < 1.4)) + + - ((leg1.charge*leg2.charge < 0.0)) + + - ((abs(leg2.z0-leg1.z0) < 1)) + + - ((leg1.deltaR(leg2) > 0)) + + +## L1_SingleTkPhoIso +- **Object**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 36.0 + +- **Cross Masks**: None + +## L1_DoubleTkPhoIso +- **Object 1**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 22.0 + +- **Object 2**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: None + +## L1_PFTau_PFTau +- **Object 1**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Object 2**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_SingleEGEle +- **Object**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 51.0 + +- **Cross Masks**: None + +## L1_SinglePFTau +- **Object**: L1caloTau:default + + - **Threshold**: offline_pt > 150.0 + +- **Cross Masks**: None + +## L1_SinglePfJet +- **Object**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 230.0 + +- **Cross Masks**: None + +## L1_SingleTkEle +- **Object**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 36.0 + +- **Cross Masks**: None + +## L1_SingleTkEleIso +- **Object**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt > 28.0 + +- **Cross Masks**: None + +## L1_SingleTkMu +- **Object**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 22.0 + +- **Cross Masks**: None + +## L1_TkEleIso_EG +- **Object 1**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 22.0 + +- **Object 2**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.1 + + +## L1_TkEleIso_PFHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 26.0 + +- **Object 3**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 190.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkEleIso_PFIsoTau +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 22.0 + +- **Object 3**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 45.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkEle_PFJet_dRMin +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 28.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - leg2.deltaR(leg3) > 0.3 + + +## L1_TkEle_TkMu +- **Object 1**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 10.0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 20.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_DoubleTkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 6 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 17.0 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 17.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TkMu_PfHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 6 + +- **Object 3**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 320.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_PfJet_PfMet +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 110.0 + +- **Object 4**: L1puppiMET:default + + - **Threshold**: offline_pt >= 120.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_TkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 23.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_TkEleIso +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 20.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TripleTkMu +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Cross Masks**: + + - (leg1+leg2).mass < 9.0 + + - leg1.charge*leg2.charge < 0.0 + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3.5 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 2.5 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - leg1.charge*leg3.charge < 0.0 + + - (leg1+leg3).mass > 5.0 + + - (leg1+leg3).mass < 17.0 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_DoubleTkEle_PFHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt > 8.0 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt > 8.0 + +- **Object 4**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt > 390.0 + +- **Cross Masks**: + + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + + - (leg3.deltaR(leg2) > 0) + + +## L1_DoubleEGEle +- **Object 1**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 37.0 + +- **Object 2**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 24.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.1 + + +## L1_DoublePFJet_MassMin +- **Object 1**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 160.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 35.0 + +- **Cross Masks**: + + - (leg1 + leg2).mass > 620 + + +## L1_DoublePFJet_dEtaMax +- **Object 1**: L1puppiJetSC4:default + + - **Threshold**: leg1.offline_pt >= 112.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: leg2.offline_pt >= 112.0 + +- **Cross Masks**: + + - abs(leg2.eta-leg1.eta) < 1.6 + + +## L1_DoubleTkEle +- **Object 1**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 25.0 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_DoubleTkMu +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: offline_pt > 15.0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Cross Masks**: + + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_DoubleTkMu4_SQ_OS_dR_Max1p2 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4 + +- **Cross Masks**: + + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_DoubleTkMu_PfHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 4**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 300.0 + +- **Cross Masks**: + + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + + - (leg3.deltaR(leg2) > 0) + + +## L1_DoubleTkMu_PfJet_PfMet +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 60.0 + +- **Object 5**: L1puppiMET:default + + - **Threshold**: offline_pt >= 130.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_DoubleTkMu_TkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 9.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_PFHTT_QuadJet +- **Object 1**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 400.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 70.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 55.0 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 5**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: None + +## L1_PFIsoTau_PFIsoTau +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_PFIsoTau_PFMet +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 55.0 + +- **Object 2**: L1puppiMET:default + + - **Threshold**: offline_pt >= 190.0 + +- **Cross Masks**: None + +## L1_PFIsoTau_TkMu +- **Object 1**: L1PV:default + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 42.0 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 18.0 + +- **Cross Masks**: + + - abs(leg3.z0-leg1.z0) < 1 + + + + +## Tau_only.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Tau_only_menu.yml +## L1_PFIsoTau_PFIsoTau +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_SinglePFTau +- **Object**: L1caloTau:default + + - **Threshold**: offline_pt > 150.0 + +- **Cross Masks**: None + +## L1_PFTau_PFTau +- **Object 1**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Object 2**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + + + +## Test_for_p2gt.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_menu_cfg.yml +>B Jet Seeds +## L1_PFHTT_QuadJet_BTagNNScore +- **Object 1**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 299.0 + +- **Object 2**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 3**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 4**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 5**: L1puppiExtJetSC4:default + +>test + - **Threshold**: pt >= 25 + +- **Cross Masks** (test): + +>test + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + + +## L1_PFHTT_QuadJetNG_BTagNNScore +- **Object 1**: L1puppiJetSC4NGsums:HT + (test) + - **Threshold**: offline_pt >= 299.0 + +- **Object 2**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 3**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 4**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 5**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Cross Masks**: + + - (leg2.bTagScore + leg3.bTagScore + leg4.bTagScore + leg5.bTagScore) > 2.20 + + + + diff --git a/configs/V45nano_NGJets_SC8mass/README.md b/configs/V45nano_NGJets_SC8mass/README.md new file mode 100644 index 00000000..2fdfa0f2 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/README.md @@ -0,0 +1,5 @@ +# V44 DT12x version + +Based on https://github.com/cms-l1-dpg/Phase2-L1Nano/tree/v38_1400pre3v9 + +Uses the Annual Review branch 1400pre3v9 and includes rerunning the TrackTrigger. \ No newline at end of file diff --git a/configs/V45nano_NGJets_SC8mass/caching.yaml b/configs/V45nano_NGJets_SC8mass/caching.yaml new file mode 100644 index 00000000..7fb248ab --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/caching.yaml @@ -0,0 +1,63 @@ +V45nano_NGJets_SC8mass: + TT: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/151pre3_SC8Nano/v45/TT_TuneCP5_14TeV-powheg-pythia8/TT_Spring24_200PU_V45_reL1wTT_151pre3_SC8Nano/250529_065622/hadd/*.root + trees_branches: + Events: + # gen + GenJet: [pt, eta, phi, partonFlavour] + GenJetAK8: [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, mass] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1puppiJetSC4NG: [pt, eta, phi, udsTagScore, bTagScore, cTagScore, gTagScore] + + MinBias: + ntuple_path: /eos/cms/store/group/dpg_trigger/comm_trigger/L1Trigger/roward/phase2/menu/ntuples/Spring24/151pre3_SC8Nano/v45/MinBias_TuneCP5_14TeV-pythia8/MinBias_Spring24_200PUALCA_V45_reL1wTT_151pre3_SC8Nano/250529_065703/hadd/*.root + trees_branches: + Events: + # PV + L1PV: [z0] + ## EG + L1tkPhoton: "all" + L1tkElectron: "all" + L1EGbarrel: "all" + L1EGendcap: "all" + ## MUONS + L1gmtTkMuon: "all" + L1gmtMuon: "all" # aka gmtMuon + L1gmtDispMuon: "all" + ## TAUS + L1nnPuppiTau: "all" + # L1hpsTau: "all" + L1caloTau: "all" + L1nnCaloTau: "all" + ## MET/Sums + L1puppiMET: [pt, phi] + L1puppiMLMET: [pt] + L1puppiJetSC4sums: [pt, phi] + L1puppiHistoJetSums: [pt, phi] + # # jets + L1puppiJetSC4: [pt, eta, phi] + L1puppiJetSC8: [pt, eta, phi, mass] + L1puppiExtJetSC4: [pt, eta, phi, btagScore] + L1puppiJetHisto: [pt, eta, phi] + L1caloJet: [pt, eta, phi] + L1puppiJetSC4NG: [pt, eta, phi, udsTagScore, bTagScore, cTagScore, gTagScore] + ## track-only + L1TrackMET: [pt] + L1TrackHT: [ht, mht] + L1TrackJet: [pt, eta, phi] + L1TrackTripletWord: [pt] + L1ExtTrackHT: [ht] diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/disp_ht.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/disp_ht.yaml new file mode 100644 index 00000000..1838eaac --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/disp_ht.yaml @@ -0,0 +1,53 @@ +HtoLLPto4b_M125_Phi60_ctau100_promptHT: + sample: HtoLLPto4b_M125_Phi60_ctau100 + version: V45nano_NGJets_SC8mass + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + L1puppiJetSC4sums:HT: "pt" + L1TrackHT:HT: "ht" + L1ExtTrackHT:HT: "ht" + thresholds: [50, 100] + # scalings: + # method: "naive" + # threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +# HtoLLPto4b_M125_Phi60_ctau100_dispHT: +# sample: HtoLLPto4b_M125_Phi60_ctau100 +# version: V45nano_NGJets_SC8mass +# reference_object: +# object: "GenJet" +# x_arg: "pt" +# label: "Gen HT" +# trafo: "HT" +# cuts: +# object: +# - "abs({eta}) < 2.4" +# - "{pt} > 30" +# test_objects: +# L1puppiJetSC4sums:HT: "pt" +# L1TrackHT:HT: "ht" +# L1ExtTrackHT: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 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/electron_iso.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/electron_iso.yaml new file mode 100644 index 00000000..bc88d4f1 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/electron_iso.yaml @@ -0,0 +1,50 @@ +ElectronsIsolation_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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:NoIsoForIso: "relIso" + xlabel: "Isolation" + ylabel: "Efficiency (Barrel)" + binning: + min: 0 + max: 0.5 + step: 0.005 + +ElectronsIsolation_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/electron_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/electron_matching.yaml new file mode 100644 index 00000000..e2023272 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/electron_matching.yaml @@ -0,0 +1,105 @@ +ElectronsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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:NoIsoNoLowPtID: "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: V45nano_NGJets_SC8mass +# 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 + version: V45nano_NGJets_SC8mass + 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:NoIsoNoLowPtID: "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: V45nano_NGJets_SC8mass +# 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/V45nano_NGJets_SC8mass/object_performance/electron_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/electron_matching_eta.yaml new file mode 100644 index 00000000..fd4e0e72 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/electron_matching_eta.yaml @@ -0,0 +1,54 @@ +ElectronsMatching_Eta_Pt10to25: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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: + L1EG:default: "eta" + L1tkElectron:NoIso: "eta" + # L1tkElectron:NoIsoNoLowPtID: "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: V45nano_NGJets_SC8mass + 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: + L1EG:default: "eta" + L1tkElectron:NoIso: "eta" + # L1tkElectron:NoIsoNoLowPtID: "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/V45nano_NGJets_SC8mass/object_performance/electron_purity.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/electron_purity.yaml new file mode 100644 index 00000000..a4870d5b --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/electron_purity.yaml @@ -0,0 +1,53 @@ +# Purity_ElectronsBarrel: +# sample: DYLL_M50 +# version: V45nano_NGJets_SC8mass +# match_test_to_ref: True +# reference_object: +# object: "L1tkElectron" +# x_arg: "pt" +# label: "L1tkElectron" +# cuts: +# event: +# - "{eleId} == 1" +# - "abs({eta}) < 1.5" +# object: +# - "abs({eta}) < 2.4" +# test_objects: +# GenPart:electron: "pt" +# L1EG:default: "pt" +# # L1tkElectron:NoIso: "pt" +# # L1tkElectron:NoIsoNoLowPtID: "pt" +# # L1tkElectron:Iso: "pt" +# xlabel: "L1 TkEle. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 100 +# step: 3 + +Purity_ElectronsEndcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1tkElectron" + x_arg: "pt" + label: "L1tkElectron" + cuts: + event: + - "{eleId} == 1" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:electron: "pt" + L1EG:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkEle. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/electron_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/electron_trigger.yaml new file mode 100644 index 00000000..5cca6586 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/electron_trigger.yaml @@ -0,0 +1,61 @@ +ElectronsTriggerBarrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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:NoIsoNoLowPtID: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: V45nano_NGJets_SC8mass + 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:NoIsoNoLowPtID: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/V45nano_NGJets_SC8mass/object_performance/jets_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching.yaml new file mode 100644 index 00000000..f07654ad --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching.yaml @@ -0,0 +1,120 @@ +JetMatchingBarrel: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1TrackJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcap: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1TrackJet:default: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingForward: + version: V45nano_NGJets_SC8mass + 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: "Matching Efficiency ( GeV, forward)" + binning: + min: 0 + max: 500 + step: 10 + + +JetMatchingBarrelSC8: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency ( GeV, barrel)" + binning: + min: 0 + max: 500 + step: 10 + +JetMatchingEndcapSC8: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency ( GeV, endcap)" + binning: + min: 0 + max: 500 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_eta.yaml new file mode 100644 index 00000000..834bd1df --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_eta.yaml @@ -0,0 +1,95 @@ +JetMatching_Eta_Pt40To100: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1TrackJet: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: V45nano_NGJets_SC8mass + 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" + L1TrackJet: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: V45nano_NGJets_SC8mass + 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 + +JetMatching_Eta_SC8_Pt100ToInf: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>100 GeV)" + binning: + min: -5 + max: 5 + step: 0.25 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wBTag.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wBTag.yaml new file mode 100644 index 00000000..89ff90b5 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wBTag.yaml @@ -0,0 +1,142 @@ +JetMatching_Eta_Pt40To100_ExtendedVsRegular: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotBJets: + sample: TT + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG:bjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wCTag.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wCTag.yaml new file mode 100644 index 00000000..3c4014ec --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wCTag.yaml @@ -0,0 +1,89 @@ +JetMatching_Eta_Pt30ToInf_genCJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) == 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotCJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) != 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genCJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) == 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotCJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) != 4" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:cjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wGTag.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wGTag.yaml new file mode 100644 index 00000000..c565ba18 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wGTag.yaml @@ -0,0 +1,89 @@ +JetMatching_Eta_Pt30ToInf_genGJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "{partonFlavour} == 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotGJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "{partonFlavour} != 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genGJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "{partonFlavour} == 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotGJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "{partonFlavour} != 21" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:gjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wLightTag.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wLightTag.yaml new file mode 100644 index 00000000..3ae8f52b --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_matching_wLightTag.yaml @@ -0,0 +1,93 @@ +JetMatching_Eta_Pt30ToInf_genLightJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) <= 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Eta_Pt30ToInf_genNotLightJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "eta" + label: "Gen Jets" + cuts: + event: + - "{pt} > 30" + - "abs({partonFlavour}) > 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>30 GeV)" + binning: + min: -2.4 + max: 2.4 + step: 0.25 + +JetMatching_Pt_Pt30ToInf_genLightJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) <= 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 + +JetMatching_Pt_Pt30ToInf_genNotLightJets: + sample: TT + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen Jets" + cuts: + event: + - "abs({partonFlavour}) > 3" + - "abs({partonFlavour}) != 0" + object: + - "abs({eta}) < 2.4" + test_objects: + L1puppiJetSC4NG:lightjetnn: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency" + binning: + min: 30 + max: 200 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/jets_sc8_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_sc8_trigger.yaml new file mode 100644 index 00000000..e4f918f6 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_sc8_trigger.yaml @@ -0,0 +1,81 @@ +JetTurnonBarrelSC8: + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30:barrel: "pt" + thresholds: [150] + pu_value: 200 + 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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC8:mass30: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/V45nano_NGJets_SC8mass/object_performance/jets_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/jets_trigger.yaml new file mode 100644 index 00000000..a8c31d3e --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/jets_trigger.yaml @@ -0,0 +1,88 @@ +JetTurnonBarrel: + version: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG:default:barrel: "pt" + L1caloJet:default:barrel: "pt" + L1TrackJet: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: V45nano_NGJets_SC8mass + 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" + L1puppiJetSC4NG:default:endcap: "pt" + L1caloJet:default:endcap: "pt" + L1TrackJet: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: V45nano_NGJets_SC8mass + 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" + # L1puppiJetSC4NG:default:forward: "pt" + L1caloJet: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/V45nano_NGJets_SC8mass/object_performance/met_ht_mht.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/met_ht_mht.yaml new file mode 100644 index 00000000..79436c38 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/met_ht_mht.yaml @@ -0,0 +1,124 @@ +HT_90perc: + sample: TT + version: V45nano_NGJets_SC8mass + reference_object: + object: "GenJet" + x_arg: "pt" + label: "Gen HT" + trafo: "HT" + cuts: + object: + - "abs({eta}) < 2.4" + - "{pt} > 30" + test_objects: + # L1puppiHistoJetSums:HT: "pt" + L1puppiJetSC4sums:HT: "pt" + L1TrackHT:HT: "ht" + thresholds: [350] + scalings: + method: "naive" + threshold: 0.90 + xlabel: "Gen. HT (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + binning: + min: 0 + max: 750 + step: 20 + +# TkHT_90perc: +# sample: TT +# version: V45nano_NGJets_SC8mass +# 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: [150, 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: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + reference_object: + object: "GenMET" + x_arg: "pt" + label: "Gen MET" + test_objects: + L1puppiMET:default: "pt" + L1puppiMLMET:default: "pt" + L1TrackMET:default: "pt" + thresholds: [125, 150, 175, 200] + xlabel: "Gen. MET (GeV)" + ylabel: "Trigger Efficiency ( GeV)" + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 500 + step: 20 + +# MET_90perc_scTanh: +# sample: TT +# version: V45nano_NGJets_SC8mass +# reference_object: +# object: "GenMET" +# x_arg: "pt" +# label: "Gen MET" +# test_objects: +# L1puppiMET:default: "pt" +# L1puppiMLMET:default: "pt" +# L1TrackMET:default: "pt" +# thresholds: [125, 150, 175] +# xlabel: "Gen. MET (GeV)" +# ylabel: "Trigger Efficiency ( GeV)" +# scalings: +# method: "errf" +# threshold: 0.90 +# binning: +# min: 0 +# max: 500 +# step: 20 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching.yaml new file mode 100644 index 00000000..ba549408 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching.yaml @@ -0,0 +1,82 @@ +MuonTFsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingOverlap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1MuonKMTF:default:overlap: "pt" + L1MuonOMTF:default:overlap: "pt" + L1MuonEMTF:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +MuonTFsMatchingEndcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1MuonKMTF:default:endcap: "pt" + L1MuonOMTF:default:endcap: "pt" + L1MuonEMTF:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching_eta.yaml new file mode 100644 index 00000000..fe5ed853 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_matching_eta.yaml @@ -0,0 +1,56 @@ +MuonTFsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonTFsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1MuonKMTF:default: "eta" + L1MuonOMTF:default: "eta" + L1MuonEMTF:default: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_trigger.yaml new file mode 100644 index 00000000..b918da9d --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muonTF_trigger.yaml @@ -0,0 +1,93 @@ +MuonTFsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1MuonKMTF:default:barrel: "pt" + L1MuonOMTF:default:barrel: "pt" + L1MuonEMTF:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + # scalings: + # method: "naive" + # threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +# MuonTFsTrigger_Overlap: +# sample: DYLL_M50 +# version: V45nano_NGJets_SC8mass +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 0.83" +# - "abs({eta}) < 1.24" +# test_objects: +# L1gmtMuon:default:overlap: "pt" +# L1MuonKMTF:default:overlap: "pt" +# L1MuonOMTF:default:overlap: "pt" +# L1MuonEMTF:default:overlap: "pt" +# L1gmtTkMuon:default:overlap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 + +# MuonTFsTrigger_Endcap: +# sample: DYLL_M50 +# version: V45nano_NGJets_SC8mass +# match_test_to_ref: True +# reference_object: +# object: "GenPart" +# x_arg: "eta" +# label: "Gen Muons" +# cuts: +# event: +# - "(({statusFlags}>>7)&1) == 1" +# - "abs({pdgId}) == 13" +# object: +# - "abs({eta}) > 1.24" +# test_objects: +# L1gmtMuon:default:endcap: "pt" +# L1MuonKMTF:default:endcap: "pt" +# L1MuonOMTF:default:endcap: "pt" +# L1MuonEMTF:default:endcap: "pt" +# L1gmtTkMuon:default:endcap: "pt" +# xlabel: "Gen. pT (GeV)" +# ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" +# thresholds: [20, 25] +# # scalings: +# # method: "naive" +# # threshold: 0.95 +# binning: +# min: 0 +# max: 50 +# step: 1.5 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/muon_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muon_matching.yaml new file mode 100644 index 00000000..e65591a3 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muon_matching.yaml @@ -0,0 +1,73 @@ +MuonsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/muon_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muon_matching_eta.yaml new file mode 100644 index 00000000..4336da8c --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muon_matching_eta.yaml @@ -0,0 +1,51 @@ +MuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + L1gmtMuon:default: "eta" + L1gmtMuon:dR0p6: "eta" + L1gmtTkMuon:default: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +MuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/muon_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muon_trigger.yaml new file mode 100644 index 00000000..3fb12035 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muon_trigger.yaml @@ -0,0 +1,84 @@ +MuonsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +MuonsTrigger_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/muons_purity.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/muons_purity.yaml new file mode 100644 index 00000000..d5f53999 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/muons_purity.yaml @@ -0,0 +1,82 @@ +Purity_Muons_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) < 0.83" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Muons_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Overlap)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Muons_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1gmtTkMuon" + x_arg: "pt" + label: "L1gmtTkMuon" + cuts: + event: + - "({hwQual}>>0)&1 == 1" + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + object: + - "abs({eta}) < 2.4" + test_objects: + GenPart:muon: "pt" + L1gmtMuon:default: "pt" + # L1tkElectron:NoIso: "pt" + # L1tkElectron:NoIsoNoLowPtID: "pt" + # L1tkElectron:Iso: "pt" + xlabel: "L1 TkMuon. $p_T$ (GeV)" + ylabel: "Matching Efficiency (Endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/photon_iso.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/photon_iso.yaml new file mode 100644 index 00000000..3ebd3af3 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/photon_iso.yaml @@ -0,0 +1,51 @@ +PhotonIsolation_Barrel: + sample: Hgg + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/photons_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/photons_matching.yaml new file mode 100644 index 00000000..33f4e329 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/photons_matching.yaml @@ -0,0 +1,159 @@ +PhotonsMatching_Barrel: + sample: Hgg + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass +# 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: V45nano_NGJets_SC8mass +# 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_Pt30: +# sample: Hgg +# version: V45nano_NGJets_SC8mass +# 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" +# L1tkPhoton:NoIsoPt30: "pt" +# L1tkPhoton:IsoPt30: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Barrel)" +# binning: +# min: 0 +# max: 150 +# step: 3 + +# PhotonsMatching_Endcap_Pt30: +# sample: Hgg +# version: V45nano_NGJets_SC8mass +# 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" +# L1tkPhoton:NoIsoPt30: "pt" +# L1tkPhoton:IsoPt30: "pt" +# xlabel: "Gen. $p_T$ (GeV)" +# ylabel: "Matching Efficiency (Endcap)" +# binning: +# min: 0 +# max: 150 +# step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/photons_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/photons_matching_eta.yaml new file mode 100644 index 00000000..eb88cb35 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/photons_matching_eta.yaml @@ -0,0 +1,52 @@ +PhotonsMatching_Eta_Pt10to25: + sample: Hgg + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/photons_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/photons_trigger.yaml new file mode 100644 index 00000000..bac56d4c --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/photons_trigger.yaml @@ -0,0 +1,59 @@ +PhotonsTrigger_Barrel: + sample: Hgg + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/tau_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching.yaml new file mode 100644 index 00000000..d0eb8de5 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching.yaml @@ -0,0 +1,53 @@ +TausMatchingBarrel: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/tau_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching_eta.yaml new file mode 100644 index 00000000..5e94a247 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching_eta.yaml @@ -0,0 +1,50 @@ +TauMatching_Eta_Pt40To100: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: V45nano_NGJets_SC8mass + 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/V45nano_NGJets_SC8mass/object_performance/tau_matching_highPt.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching_highPt.yaml new file mode 100644 index 00000000..50574cf9 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tau_matching_highPt.yaml @@ -0,0 +1,113 @@ +# TausMatchingBarrel_highPt: +# sample: VBFHToTauTau +# version: V45nano_NGJets_SC8mass +# 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: 400 +# step: 20 + +# TausMatchingEndcap_highPt: +# sample: VBFHToTauTau +# version: V45nano_NGJets_SC8mass +# 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: 400 +# step: 20 + +TauTriggerBarrel_90perc_highPt: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: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: [30, 50] + # scalings: + # method: "naive" + # threshold: 0.90 + binning: + min: 0 + max: 400 + step: 10 + +TauTriggerEndcap_90perc_highPt: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: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: [30, 50] + # scalings: + # method: "naive" + # threshold: 0.90 + binning: + min: 0 + max: 400 + step: 10 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/tau_purity.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tau_purity.yaml new file mode 100644 index 00000000..7af2ca1a --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tau_purity.yaml @@ -0,0 +1,96 @@ +Purity_Tau_Barrel: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "pt" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "abs({eta}) < 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "L1 nnPuppiTau $p_T$ (GeV)" + ylabel: "Purity (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Tau_Endcap: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "pt" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "abs({eta}) > 1.5" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "pt" + L1caloTau:default: "pt" + xlabel: "L1 nnPuppiTau $p_T$ (GeV)" + ylabel: "Purity (Barrel)" + binning: + min: 0 + max: 100 + step: 3 + +Purity_Tau_Eta_Pt40: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "eta" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "{pt} > 40" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "eta" + L1caloTau:default: "eta" + xlabel: "L1 nnPuppiTau $\\eta$" + ylabel: "Purity (L1 $p_T$ > 40 GeV)" + binning: + min: -2.5 + max: 2.5 + step: 0.1 + +Purity_Tau_Eta_Pt100: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "L1nnPuppiTau" + x_arg: "eta" + label: "L1nnPuppiTau" + cuts: + event: + - "{passLooseNN} == 1" + - "{pt} > 100" + object: + - "abs({eta}) < 2.4" + test_objects: + GenVisTau:default: "eta" + L1caloTau:default: "eta" + xlabel: "L1 nnPuppiTau $\\eta$" + ylabel: "Purity (L1 $p_T$ > 100 GeV)" + binning: + min: -2.5 + max: 2.5 + step: 0.1 + diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/tau_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tau_trigger.yaml new file mode 100644 index 00000000..a733c366 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tau_trigger.yaml @@ -0,0 +1,59 @@ +TauTriggerBarrel_90perc: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: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] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 + +TauTriggerEndcap_90perc: + sample: VBFHToTauTau + version: V45nano_NGJets_SC8mass + 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: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] + scalings: + method: "naive" + threshold: 0.90 + binning: + min: 0 + max: 150 + step: 6 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching.yaml new file mode 100644 index 00000000..13885985 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching.yaml @@ -0,0 +1,85 @@ +TkMuonsMatchingBarrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (barrel)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingOverlap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (overlap)" + binning: + min: 0 + max: 100 + step: 3 + +TkMuonsMatchingEndcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "pt" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default:endcap: "pt" + L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. $p_T$ (GeV)" + ylabel: "Matching Efficiency (endcap)" + binning: + min: 0 + max: 100 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching_eta.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching_eta.yaml new file mode 100644 index 00000000..e55d3d45 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_matching_eta.yaml @@ -0,0 +1,58 @@ +TkMuonsMatching_Eta_Pt2to5: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 2" + - "{pt} < 5" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (2-5 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 + +TkMuonsMatching_Eta_Pt15toInf: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + - "{pt} > 15" + object: + - "abs({eta}) < 2.4" + test_objects: + # L1gmtMuon:default: "eta" + L1gmtTkMuon:default: "eta" + L1gmtTkMuon:VLoose: "eta" + L1gmtTkMuon:Loose: "eta" + L1gmtTkMuon:Medium: "eta" + L1gmtTkMuon:Tight: "eta" + xlabel: "Gen. $\\eta$" + ylabel: "Matching Efficiency (>15 GeV)" + binning: + min: -3 + max: 3 + step: 0.2 diff --git a/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_trigger.yaml b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_trigger.yaml new file mode 100644 index 00000000..50a8487c --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/object_performance/tkmuon_trigger.yaml @@ -0,0 +1,96 @@ +TkMuonsTrigger_Barrel: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) < 0.83" + test_objects: + # L1gmtMuon:default:barrel: "pt" + # L1gmtTkMuon:default:barrel: "pt" + L1gmtTkMuon:VLoose:barrel: "pt" + L1gmtTkMuon:Loose:barrel: "pt" + L1gmtTkMuon:Medium:barrel: "pt" + L1gmtTkMuon:Tight:barrel: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (barrel, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Overlap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 0.83" + - "abs({eta}) < 1.24" + test_objects: + # L1gmtMuon:default:overlap: "pt" + # L1gmtTkMuon:default:overlap: "pt" + L1gmtTkMuon:VLoose:overlap: "pt" + L1gmtTkMuon:Loose:overlap: "pt" + L1gmtTkMuon:Medium:overlap: "pt" + L1gmtTkMuon:Tight:overlap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (overlap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 + +TkMuonsTrigger_Endcap: + sample: DYLL_M50 + version: V45nano_NGJets_SC8mass + match_test_to_ref: True + reference_object: + object: "GenPart" + x_arg: "eta" + label: "Gen Muons" + cuts: + event: + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + object: + - "abs({eta}) > 1.24" + test_objects: + # L1gmtMuon:default:endcap: "pt" + # L1gmtTkMuon:default:endcap: "pt" + L1gmtTkMuon:VLoose:endcap: "pt" + L1gmtTkMuon:Loose:endcap: "pt" + L1gmtTkMuon:Medium:endcap: "pt" + L1gmtTkMuon:Tight:endcap: "pt" + xlabel: "Gen. pT (GeV)" + ylabel: "Trigger Efficiency (endcap, L1 $p_T > 20$ GeV)" + thresholds: [20, 25] + scalings: + method: "naive" + threshold: 0.95 + binning: + min: 0 + max: 50 + step: 1.5 diff --git a/configs/V45nano_NGJets_SC8mass/objects/GenPart.md b/configs/V45nano_NGJets_SC8mass/objects/GenPart.md new file mode 100644 index 00000000..da9ae111 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/GenPart.md @@ -0,0 +1,44 @@ +# CMS Phase-2 Level-1 Object Definitions + +## GenPart +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] + +### IDs: + +#### electron +- **Label**: "Gen Electron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 11 + +#### muon +- **Label**: "Gen Muon" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 13 + + +## GenVisTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 5] +- **Label**: "GenVisTau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/GenPart.yaml b/configs/V45nano_NGJets_SC8mass/objects/GenPart.yaml new file mode 100644 index 00000000..e70d612f --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/GenPart.yaml @@ -0,0 +1,34 @@ +GenPart: + match_dR: 0.15 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 5] + ids: + electron: + label: "Gen Electron" + cuts: + inclusive: + - "abs({eta}) < 3" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 11" + muon: + label: "Gen Muon" + cuts: + inclusive: + - "abs({eta}) < 3" + - "(({statusFlags}>>7)&1) == 1" + - "abs({pdgId}) == 13" + +GenVisTau: + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 5] + label: "GenVisTau" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" \ No newline at end of file diff --git a/configs/V45nano_NGJets_SC8mass/objects/electrons.doc.html b/configs/V45nano_NGJets_SC8mass/objects/electrons.doc.html new file mode 100644 index 00000000..459e3f9a --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/electrons.doc.html @@ -0,0 +1,325 @@ + + + + + + + + + +

L1tkElectron

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldExample ValueRequiredDescription
match_dR0.15  Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
eta_ranges    Lorem ipsum dolor sit amet, consecteteur.
  inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing elit b'cras' b'id' b'a' b'a'.
  barrelLorem ipsum dolor sit amet.
  endcapLorem ipsum dolor sit amet.
ids    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'arcu' b'ad' b'a' b'a' b'tellus' b'porta' b'vel' b'dui'.
  NoIso    Lorem ipsum dolor sit amet, consecteteur.
    labelTkElectron  Lorem ipsum dolor sit amet, consecteteur adipiscing.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing.
      inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing elit b'eros' b'mi' b'a' b'in'.
      endcapLorem ipsum dolor sit amet, consecteteur adipiscing.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'quis' b'ac'.
  NoIsoForIso    Lorem ipsum dolor.
    labelTkElectron, no ID  Lorem ipsum dolor sit amet, consecteteur.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
      inclusiveLorem ipsum.
  Iso    Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
    labelTkIsoElectron  Lorem ipsum dolor sit amet, consecteteur adipiscing elit.
    cuts    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'amet' b'ad' b'a'.
      inclusiveLorem ipsum dolor sit amet, consecteteur.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'odio'.
      endcapLorem ipsum.
Raw yaml:
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
+        endcap:
+        - ({eleId} == 1) | ({pt} < 25)
+        barrel:
+        - '{eleId} == 1'
+    NoIsoForIso:
+      label: TkElectron, no ID
+      cuts:
+        inclusive:
+        - abs({eta}) < 2.4
+    Iso:
+      label: TkIsoElectron
+      cuts:
+        inclusive:
+        - abs({eta}) < 2.4
+        barrel:
+        - abs({relIso}) < 0.13
+        endcap:
+        - abs({relIso}) < 0.28
+

L1EG

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldExample ValueRequiredDescription
match_dR0.2  Lorem ipsum dolor sit amet, consecteteur.
eta_ranges    Lorem ipsum dolor.
  inclusiveLorem ipsum dolor sit amet, consecteteur adipiscing.
  barrelLorem ipsum.
  endcapLorem ipsum dolor sit amet, consecteteur adipiscing elit b'elit' b'in' b'mi'.
labelEG  Lorem ipsum dolor.
ids    Lorem ipsum dolor sit amet, consecteteur adipiscing elit b'nisl' b'ut' b'mi'.
  default    Lorem ipsum.
    cuts    Lorem ipsum.
      inclusiveLorem ipsum dolor sit amet, consecteteur.
      barrelLorem ipsum dolor sit amet, consecteteur adipiscing elit b'urna' b'et'.
      endcapLorem ipsum.
Raw yaml:
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'
+
\ No newline at end of file diff --git a/configs/V45nano_NGJets_SC8mass/objects/electrons.md b/configs/V45nano_NGJets_SC8mass/objects/electrons.md new file mode 100644 index 00000000..0f1cc42b --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/electrons.md @@ -0,0 +1,58 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkElectron +- **Matching ΔR**: 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 + - **endcap**: + - ({eleId} == 1) | ({pt} < 25) + - **barrel**: + - {eleId} == 1 + +#### NoIsoForIso +- **Label**: "TkElectron, no ID" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + +#### Iso +- **Label**: "TkIsoElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **barrel**: + - abs({relIso}) < 0.13 + - **endcap**: + - abs({relIso}) < 0.28 + + +## L1EG +- **Matching ΔR**: 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/V45nano_NGJets_SC8mass/objects/electrons.yaml b/configs/V45nano_NGJets_SC8mass/objects/electrons.yaml new file mode 100644 index 00000000..162455cc --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/electrons.yaml @@ -0,0 +1,50 @@ +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" + endcap: + - "({eleId} == 1) | ({pt} < 25)" + barrel: + - "{eleId} == 1" + NoIsoForIso: + # This id is exclusively used for the + # isoloation wp derivation + label: "TkElectron, no ID" + cuts: + inclusive: + - "abs({eta}) < 2.4" + Iso: + label: "TkIsoElectron" + cuts: + inclusive: + - "abs({eta}) < 2.4" + barrel: + - "abs({relIso}) < 0.13" + endcap: + - "abs({relIso}) < 0.28" + +L1EG: + match_dR: 0.2 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.479] + endcap: [1.479, 3.0] + label: "EG" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 3.0" + barrel: + - "{eleId} == 1" + endcap: + - "{saId} == 1" + diff --git a/configs/V45nano_NGJets_SC8mass/objects/jets.md b/configs/V45nano_NGJets_SC8mass/objects/jets.md new file mode 100644 index 00000000..8953874e --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/jets.md @@ -0,0 +1,173 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1caloJet +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Calo Jet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiExtJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Ext. SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 5 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "Ext. SC4, BtagScore > 0.71" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {btagScore} > 0.71 + + +## L1puppiJetHisto +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Histogrammed PuppiJet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + + +## L1puppiJetSC4NG +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "NG SC4" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "NG SC4, BtagScore > 0.15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {bTagScore} > 0.15 + +#### cjetnn +- **Label**: "NG SC4, CtagScore > 0.099" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {cTagScore} > 0.099 + +#### gjetnn +- **Label**: "NG SC4, GtagScore > 0.59" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {gTagScore} > 0.59 + +#### lightjetnn +- **Label**: "NG SC4, LighttagScore > 0.54" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {udsTagScore} > 0.54 + + +## L1puppiJetSC8 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Seeded Cone PuppiJet 8" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1TrackJet +- **Matching ΔR**: 0.4 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Tracker Jet" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/jets.yaml b/configs/V45nano_NGJets_SC8mass/objects/jets.yaml new file mode 100644 index 00000000..7902cf88 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/jets.yaml @@ -0,0 +1,152 @@ +L1caloJet: + match_dR: 0.3 + label: "Calo Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + cuts: + inclusive: + - "abs({eta}) < 7" + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiExtJetSC4: + match_dR: 0.35 + label: "Ext. SC4" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 5" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + bjetnn: + label: "Ext. SC4, BtagScore > 0.71" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{btagScore} > 0.71" + +L1puppiJetHisto: + match_dR: 0.3 + label: "Histogrammed PuppiJet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + forward: [2.4, 5] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + +L1puppiJetSC4: + match_dR: 0.35 + label: "SC4" + 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" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + +L1puppiJetSC4NG: + match_dR: 0.35 + label: "NG SC4" + 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" + PtGe25: + cuts: + inclusive: + - "abs({eta}) < 7" + - "abs({pt}) >= 25" + bjetnn: + label: "NG SC4, BtagScore > 0.15" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{bTagScore} > 0.15" + cjetnn: + label: "NG SC4, CtagScore > 0.099" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{cTagScore} > 0.099" + gjetnn: + label: "NG SC4, GtagScore > 0.59" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{gTagScore} > 0.59" + lightjetnn: + label: "NG SC4, LighttagScore > 0.54" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{udsTagScore} > 0.54" + +L1puppiJetSC8: + match_dR: 0.35 + label: "SC8" + 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" + mass30: + label: "mass > 30 GeV" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{mass} > 30" + +L1TrackJet: + match_dR: 0.4 + label: "Tracker Jet" + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 7" + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.md b/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.md new file mode 100644 index 00000000..660dfd8f --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.md @@ -0,0 +1,90 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1puppiMET +- **Label**: "Puppi MET" + +### IDs: + +#### default + + +## L1puppiMLMET +- **Label**: "Puppi MLMET" + +### IDs: + +#### default + + +## L1puppiJetSC4sums + +### IDs: + +#### HT +- **Label**: "SeededCone HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "SeededCone MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1puppiHistoJetSums + +### IDs: + +#### HT +- **Label**: "Histogrammed Puppi HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "Histogrammed Puppi MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1TrackHT + +### IDs: + +#### HT +- **Label**: "Tracker HT" + +#### MHT +- **Label**: "Tracker MHT" + + +## L1ExtTrackHT + +### IDs: + +#### HT +- **Label**: "ext. Tracker HT" + +#### MHT +- **Label**: "ext. Tracker MHT" + + +## L1TrackMET +- **Label**: "Tracker MET" + +### IDs: + +#### default + + +## L1TrackTripletWord +- **Label**: "Track Triplet for W3Pi" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.yaml b/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.yaml new file mode 100644 index 00000000..8dbdb2fd --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/met_ht_mht.yaml @@ -0,0 +1,69 @@ +# phase1PuppiHT: +# label: "Histogrammed Puppi HT" +# ids: +# default: {} + +# phase1PuppiMHT: +# label: "Phase1 Puppi MHT" +# ids: +# default: {} + +L1puppiMET: + label: "Puppi MET" + ids: + default: {} + +L1puppiMLMET: + label: "Puppi MLMET" + ids: + default: {} + +L1puppiJetSC4sums: + ids: + HT: + label: "SeededCone HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "SeededCone MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1puppiHistoJetSums: + ids: + HT: + label: "Histogrammed Puppi HT" + cuts: + inclusive: + - "{sumType} == 0" + MHT: + label: "Histogrammed Puppi MHT" + cuts: + inclusive: + - "{sumType} == 1" + +L1TrackHT: + ids: + HT: + label: "Tracker HT" + MHT: + label: "Tracker MHT" + +L1ExtTrackHT: + ids: + HT: + label: "ext. Tracker HT" + MHT: + label: "ext. Tracker MHT" + +L1TrackMET: + label: "Tracker MET" + ids: + default: {} + +L1TrackTripletWord: + label: "Track Triplet for W3Pi" + ids: + default: {} \ No newline at end of file diff --git a/configs/V45nano_NGJets_SC8mass/objects/muons.md b/configs/V45nano_NGJets_SC8mass/objects/muons.md new file mode 100644 index 00000000..ab724146 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/muons.md @@ -0,0 +1,150 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1gmtTkMuon +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT TkMuon" + +### IDs: + +#### default +- **Label**: "GMT TkMuon" +- **Cuts**: + - **inclusive**: + - (({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1)) + +#### VLoose +- **Label**: "GMT TkMuon, VLoose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>0)&1 == 1 + +#### Loose +- **Label**: "GMT TkMuon, Loose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>1)&1 == 1 + +#### Medium +- **Label**: "GMT TkMuon, Medium ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>2)&1 == 1 + +#### Tight +- **Label**: "GMT TkMuon, Tight ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>3)&1 == 1 + + +## L1gmtMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Muon" + +### IDs: + +#### default +- **Cuts**: + - **overlap**: + - {hwQual} >= 12 + - **endcap**: + - {hwQual} >= 14 + +#### dR0p6 +- **Label**: "GMT Muon, match dR < 0.6" +- **Cuts**: + + +## L1gmtDispMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Displaced Muon" + +### IDs: + +#### default + +#### dXYge8 +- **Label**: "Disp. Muon, dXY>8" +- **Cuts**: + - **endcap**: + - {d0} >= 8 + +#### dXYge8Qual15 +- **Label**: "Disp. Muon, dXY>8, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + - {d0} >= 8 + +#### qual15 +- **Label**: "Disp. Muon, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + +#### qual15_Eta2p0 +- **Label**: "Disp. Muon, eta < 2, qual>=15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2 + - **endcap**: + - {hwQual} >= 15 + + +## L1MuonKMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "KMTF Muon" + +### IDs: + +#### default + + +## L1MuonOMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "OMTF Muon" + +### IDs: + +#### default + + +## L1MuonEMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "EMTF Muon" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/muons.yaml b/configs/V45nano_NGJets_SC8mass/objects/muons.yaml new file mode 100644 index 00000000..d64009cc --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/muons.yaml @@ -0,0 +1,122 @@ +L1gmtTkMuon: + label: "GMT TkMuon" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + label: "GMT TkMuon" + cuts: + inclusive: + - "(({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1))" # Loose (bit 2) for pt < 8 VLoose (bit 1) for pt > 8 + VLoose: # x.numberOfMatches() > 0 + label: "GMT TkMuon, VLoose ID" + cuts: + inclusive: + - "({hwQual}>>0)&1 == 1" + Loose: # x.numberOfMatches() >1 + label: "GMT TkMuon, Loose ID" + cuts: + inclusive: + - "({hwQual}>>1)&1 == 1" + Medium: # x.stubs().size()>1 + label: "GMT TkMuon, Medium ID" + cuts: + inclusive: + - "({hwQual}>>2)&1 == 1" + Tight: # x.numberOfMatches()>2 + label: "GMT TkMuon, Tight ID" + cuts: + inclusive: + - "({hwQual}>>3)&1 == 1" + +L1gmtMuon: + label: "GMT Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: + cuts: + overlap: + - "{hwQual} >= 12" + endcap: + - "{hwQual} >= 14" + dR0p6: + label: "GMT Muon, match dR < 0.6" + match_dR: 0.6 + cuts: {} + +L1gmtDispMuon: + label: "GMT Displaced Muon" + match_dR: 0.6 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + dXYge8: + label: "Disp. Muon, dXY>8" + cuts: + endcap: + - "{d0} >= 8" + dXYge8Qual15: + label: "Disp. Muon, dXY>8, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + - "{d0} >= 8" + qual15: + label: "Disp. Muon, qual>=15" + cuts: + endcap: + - "{hwQual} >= 15" + qual15_Eta2p0: + label: "Disp. Muon, eta < 2, qual>=15" + cuts: + inclusive: + - "abs({eta}) < 2" + endcap: + - "{hwQual} >= 15" + +L1MuonKMTF: + label: "KMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonOMTF: + label: "OMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} + +L1MuonEMTF: + # Hello There + label: "EMTF Muon" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 0.83] + overlap: [0.83, 1.24] + endcap: [1.24, 2.4] + ids: + default: {} diff --git a/configs/V45nano_NGJets_SC8mass/objects/objects.md b/configs/V45nano_NGJets_SC8mass/objects/objects.md new file mode 100644 index 00000000..2cf10add --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/objects.md @@ -0,0 +1,640 @@ +# CMS Phase-2 Level-1 Object + +## Genpart +## GenPart +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] + +### IDs: +#### electron +- **Label**: "Gen Electron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 11 + +#### muon +- **Label**: "Gen Muon" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 3 + - (({statusFlags}>>7)&1) == 1 + - abs({pdgId}) == 13 + + +## GenVisTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 5] +- **Label**: "GenVisTau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + + + +## Electrons +## L1tkElectron +- **Matching ΔR**: 0.15 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.479] + - **endcap**: [1.479, 5] +>ets 1
test 2 + +### IDs: +#### NoIso +- **Label**: "TkElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **endcap**: + - ({eleId} == 1) | ({pt} < 25) + - **barrel**: + - {eleId} == 1 + +#### NoIsoForIso +- **Label**: "TkElectron, no ID" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + +#### Iso +- **Label**: "TkIsoElectron" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - **barrel**: + - abs({relIso}) < 0.13 + - **endcap**: + - abs({relIso}) < 0.28 + + +## L1EG +- **Matching ΔR**: 0.2 +- **Eta Ranges** (funny comment): + - **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 +>insert comment here + + + + +## Jets +## L1caloJet +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Calo Jet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiExtJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Ext. SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 5 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 +>comment 1
comment 2 + +#### bjetnn +- **Label**: "Ext. SC4, BtagScore > 0.71" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {btagScore} > 0.71 + + +## L1puppiJetHisto +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Histogrammed PuppiJet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1puppiJetSC4 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + + +## L1puppiJetSC4NG +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "NG SC4" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + +#### PtGe25 +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + - abs({pt}) >= 25 + +#### bjetnn +- **Label**: "NG SC4, BtagScore > 0.15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {bTagScore} > 0.15 + +#### cjetnn +- **Label**: "NG SC4, CtagScore > 0.099" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {cTagScore} > 0.099 + +#### gjetnn +- **Label**: "NG SC4, GtagScore > 0.59" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {gTagScore} > 0.59 + +#### lightjetnn +- **Label**: "NG SC4, LighttagScore > 0.54" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {udsTagScore} > 0.54 + + +## L1puppiJetSC8 +- **Matching ΔR**: 0.35 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] + - **forward**: [2.4, 5] +- **Label**: "Seeded Cone PuppiJet 8" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + +## L1TrackJet +- **Matching ΔR**: 0.4 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Tracker Jet" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 7 + + + + +## Met_ht_mht +## L1puppiMET +- **Label**: "Puppi MET" + +### IDs: +#### default + + +## L1puppiMLMET +- **Label**: "Puppi MLMET" + +### IDs: +#### default + + +## L1puppiJetSC4sums + +### IDs: +#### HT +- **Label**: "SeededCone HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "SeededCone MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1puppiHistoJetSums + +### IDs: +#### HT +- **Label**: "Histogrammed Puppi HT" +- **Cuts**: + - **inclusive**: + - {sumType} == 0 + +#### MHT +- **Label**: "Histogrammed Puppi MHT" +- **Cuts**: + - **inclusive**: + - {sumType} == 1 + + +## L1TrackHT + +### IDs: +#### HT +- **Label**: "Tracker HT" + +#### MHT +- **Label**: "Tracker MHT" + + +## L1ExtTrackHT + +### IDs: +#### HT +- **Label**: "ext. Tracker HT" + +#### MHT +- **Label**: "ext. Tracker MHT" + + +## L1TrackMET +- **Label**: "Tracker MET" + +### IDs: +#### default + + +## L1TrackTripletWord +- **Label**: "Track Triplet for W3Pi" + +### IDs: +#### default + + + + +## Muons +## L1gmtTkMuon +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT TkMuon" + +### IDs: +#### default +- **Label**: "GMT TkMuon" +- **Cuts**: + - **inclusive**: (Loose (bit 2) for pt < 8 VLoose (bit 1) for pt > 8) + - (({hwQual}>>1)&1 == 1) | (({pt} > 8) & (({hwQual}>>0)&1 == 1)) + +#### VLoose (x.numberOfMatches() > 0) +- **Label**: "GMT TkMuon, VLoose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>0)&1 == 1 + +#### Loose (x.numberOfMatches() >1) +- **Label**: "GMT TkMuon, Loose ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>1)&1 == 1 + +#### Medium (x.stubs().size()>1) +- **Label**: "GMT TkMuon, Medium ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>2)&1 == 1 + +#### Tight (x.numberOfMatches()>2) +- **Label**: "GMT TkMuon, Tight ID" +- **Cuts**: + - **inclusive**: + - ({hwQual}>>3)&1 == 1 + + +## L1gmtMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Muon" + +### IDs: +#### default +- **Cuts**: + - **overlap**: + - {hwQual} >= 12 + - **endcap**: + - {hwQual} >= 14 + +#### dR0p6 +- **Label**: "GMT Muon, match dR < 0.6" +- **Cuts**: + + +## L1gmtDispMuon +- **Matching ΔR**: 0.6 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "GMT Displaced Muon" + +### IDs: +#### default + +#### dXYge8 +- **Label**: "Disp. Muon, dXY>8" +- **Cuts**: + - **endcap**: + - {d0} >= 8 + +#### dXYge8Qual15 +- **Label**: "Disp. Muon, dXY>8, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + - {d0} >= 8 + +#### qual15 +- **Label**: "Disp. Muon, qual>=15" +- **Cuts**: + - **endcap**: + - {hwQual} >= 15 + +#### qual15_Eta2p0 +- **Label**: "Disp. Muon, eta < 2, qual>=15" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2 + - **endcap**: + - {hwQual} >= 15 + + +## L1MuonKMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "KMTF Muon" + +### IDs: +#### default + + +## L1MuonOMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "OMTF Muon" + +### IDs: +#### default + + +## L1MuonEMTF +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 0.83] + - **overlap**: [0.83, 1.24] + - **endcap**: [1.24, 2.4] +- **Label**: "EMTF Muon" + +### IDs: +#### default + + + + +## Photons +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + + + +## Pv +## L1PV +- **Label**: "Primary Vertex" + +### IDs: +#### default + + + + +## Taus +## L1nnPuppiTau +- **Matching ΔR**: 0.1 +- **Eta Ranges** (keys): + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] (values) +>etst +- **Label**: "NN Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {chargedIso} > 0.22 +>Current IB (22 Feb recipe) does not have updated WP, so cut on NN score rather than checking passLooseNN + + +## L1hpsTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +>etst +- **Label**: "HPS Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 +>test + + +## L1caloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Calo Tau" + +### IDs (test): +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1nnCaloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Calo Tau" + +### IDs: +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {hwQual}==3 +>comment
comment + + + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/photons.md b/configs/V45nano_NGJets_SC8mass/objects/photons.md new file mode 100644 index 00000000..0b784e97 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/photons.md @@ -0,0 +1,60 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/photons.yaml b/configs/V45nano_NGJets_SC8mass/objects/photons.yaml new file mode 100644 index 00000000..2565e821 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/photons.yaml @@ -0,0 +1,51 @@ +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" + NoIsoPt30: + label: "L1tkPhoton, pt>30" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 30" + 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" + IsoPt30: + label: "L1tkIsoPhoton, Pt>30" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 30" + barrel: + - "abs({relIso}) < 0.25" + - "{eleId} == 1" + endcap: + - "abs({relIso}) < 0.205" + - "{phoId} == 1" diff --git a/configs/V45nano_NGJets_SC8mass/objects/photons_org.md b/configs/V45nano_NGJets_SC8mass/objects/photons_org.md new file mode 100644 index 00000000..0b784e97 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/photons_org.md @@ -0,0 +1,60 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1tkPhoton +- **Matching ΔR**: 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 + +#### NoIsoPt30 +- **Label**: "L1tkPhoton, pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **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 + +#### IsoPt30 +- **Label**: "L1tkIsoPhoton, Pt>30" +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {pt} > 30 + - **barrel**: + - abs({relIso}) < 0.25 + - {eleId} == 1 + - **endcap**: + - abs({relIso}) < 0.205 + - {phoId} == 1 + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/pv.md b/configs/V45nano_NGJets_SC8mass/objects/pv.md new file mode 100644 index 00000000..20eb9309 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/pv.md @@ -0,0 +1,10 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1PV +- **Label**: "Primary Vertex" + +### IDs: + +#### default + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/pv.yaml b/configs/V45nano_NGJets_SC8mass/objects/pv.yaml new file mode 100644 index 00000000..25fea9c0 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/pv.yaml @@ -0,0 +1,4 @@ +L1PV: + label: "Primary Vertex" + ids: + default: {} diff --git a/configs/V45nano_NGJets_SC8mass/objects/taus.md b/configs/V45nano_NGJets_SC8mass/objects/taus.md new file mode 100644 index 00000000..7b73d1cd --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/taus.md @@ -0,0 +1,68 @@ +# CMS Phase-2 Level-1 Object Definitions + +## L1nnPuppiTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {chargedIso} > 0.22 + + +## L1hpsTau +- **Matching ΔR**: 0.1 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "HPS Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1caloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "Calo Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + + +## L1nnCaloTau +- **Matching ΔR**: 0.3 +- **Eta Ranges**: + - **inclusive**: [0, 7] + - **barrel**: [0, 1.5] + - **endcap**: [1.5, 2.4] +- **Label**: "NN Calo Tau" + +### IDs: + +#### default +- **Cuts**: + - **inclusive**: + - abs({eta}) < 2.4 + - {hwQual}==3 + + diff --git a/configs/V45nano_NGJets_SC8mass/objects/taus.yaml b/configs/V45nano_NGJets_SC8mass/objects/taus.yaml new file mode 100644 index 00000000..11e49a74 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/objects/taus.yaml @@ -0,0 +1,61 @@ +L1nnPuppiTau: + label: "NN Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + # - "{passLooseNN}==1" + # Current IB (22 Feb recipe) does not have updated WP, so cut on NN score rather than checking passLooseNN + - "{chargedIso} > 0.22" + +L1hpsTau: + label: "HPS Tau" + match_dR: 0.1 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + +L1caloTau: + label: "Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + PtGe20: + label: "Calo Tau, pt > 20" + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{pt} > 20" + +L1nnCaloTau: + label: "NN Calo Tau" + match_dR: 0.3 + eta_ranges: + inclusive: [0, 7] + barrel: [0, 1.5] + endcap: [1.5, 2.4] + ids: + default: + cuts: + inclusive: + - "abs({eta}) < 2.4" + - "{hwQual}==3" diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/bjet.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/bjet.yaml new file mode 100644 index 00000000..db956c1f --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/bjet.yaml @@ -0,0 +1,10 @@ +BJetRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiExtJetSC4:default + - L1puppiExtJetSC4:bjetnn + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/disp_muons.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/disp_muons.yaml new file mode 100644 index 00000000..2671060a --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/disp_muons.yaml @@ -0,0 +1,24 @@ +gmtDispMuon: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtMuon:default + - L1gmtDispMuon:default + binning: + min: 0 + max: 75 + step: 3 + +gmtDispMuonByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + # - L1gmtMuon:default + # - L1gmtDispMuon:default + - L1gmtDispMuon:default:barrel + - L1gmtDispMuon:default:overlap + - L1gmtDispMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/eg.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/eg.yaml new file mode 100644 index 00000000..9558e065 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/eg.yaml @@ -0,0 +1,38 @@ +EGRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1EG:default + - L1tkElectron:NoIso + - L1tkElectron:Iso + - L1tkPhoton:Iso + binning: + min: 10 + max: 97 + step: 3 + +EG_NoIso_RatesByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1EG:default:barrel + - L1EG:default:endcap + - L1tkElectron:NoIso:barrel + - L1tkElectron:NoIso:endcap + binning: + min: 10 + max: 97 + step: 3 + +EG_Iso_RatesByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1tkElectron:Iso:barrel + - L1tkElectron:Iso:endcap + - L1tkPhoton:Iso:barrel + - L1tkPhoton:Iso:endcap + binning: + min: 10 + max: 97 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/ht.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/ht.yaml new file mode 100644 index 00000000..2444e46d --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/ht.yaml @@ -0,0 +1,60 @@ +HTRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + binning: + min: 50 + max: 975 + step: 25 + +MHTRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + # - L1puppiHistoJetSums:MHT + - L1puppiJetSC4sums:MHT + # - L1TrackHT:MHT + binning: + min: 50 + max: 975 + step: 25 + +DispHTRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + # - L1puppiHistoJetSums:HT + - L1puppiJetSC4sums:HT + - L1TrackHT:HT + - L1ExtTrackHT:HT + binning: + min: 50 + max: 975 + step: 25 +# MHTRates: +# sample: MinBias +# version: V45nano_NGJets_SC8mass +# test_objects: +# # - L1puppiHistoJetSums:MHT +# - L1puppiJetSC4sums:MHT +# - L1TrackHT:MHT +# binning: +# min: 50 +# max: 975 +# step: 25 + +# DispHTRates: +# sample: MinBias +# version: V45nano_NGJets_SC8mass +# test_objects: +# # - L1puppiHistoJetSums:HT +# - L1puppiJetSC4sums:HT +# - L1TrackHT:HT +# - L1ExtTrackHT:HT +# binning: +# min: 50 +# max: 975 +# step: 25 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/jets.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/jets.yaml new file mode 100644 index 00000000..34a6234e --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/jets.yaml @@ -0,0 +1,71 @@ +JetDefaultRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiJetSC4:default + - L1puppiJetSC4NG:default + - L1caloJet:default + - L1TrackJet:default + binning: + min: 40 + max: 420 + step: 20 + +JetsByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiJetSC4:default:barrel + - L1puppiJetSC4:default:endcap + - L1puppiJetSC4:default:forward + - L1puppiJetSC4NG:default:barrel + - L1puppiJetSC4NG:default:endcap + - L1puppiJetSC4NG:default:forward + - L1caloJet:default:barrel + - L1caloJet:default:endcap + - L1caloJet:default:forward + binning: + min: 40 + max: 420 + step: 20 + +JetExtendedRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiJetSC4:default:inclusive + - L1puppiJetSC4NG:default:inclusive + - L1puppiExtJetSC4:default:inclusive + - L1puppiExtJetSC4:bjetnn:inclusive + - L1puppiJetSC4NG:bjetnn:inclusive + binning: + min: 40 + max: 420 + step: 20 + +JetExtendedRatesTags: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiExtJetSC4:default:inclusive + - L1puppiJetSC4NG:default:inclusive + - L1puppiJetSC8:default:inclusive + - L1puppiJetSC8:mass30:inclusive + # - L1puppiJetSC4NG:taupjetnn:inclusive + # - L1puppiJetSC4NG:taunjetnn:inclusive + binning: + min: 40 + max: 420 + step: 20 + +JetExtendedRatesByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiExtJetSC4:default:barrel + - L1puppiExtJetSC4:default:endcap + - L1puppiExtJetSC4:default:forward + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/met.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/met.yaml new file mode 100644 index 00000000..5877aa59 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/met.yaml @@ -0,0 +1,11 @@ +METRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1puppiMET:default + - L1puppiMLMET:default + # - L1TrackMET:default + binning: + min: 50 + max: 500 + step: 25 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/muons.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/muons.yaml new file mode 100644 index 00000000..fffbedd5 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/muons.yaml @@ -0,0 +1,34 @@ +gmtMuonByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtMuon:default:barrel + - L1gmtMuon:default:overlap + - L1gmtMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtTkMuon:default:barrel + - L1gmtTkMuon:default:overlap + - L1gmtTkMuon:default:endcap + binning: + min: 0 + max: 75 + step: 3 + +MuonRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtMuon:default + - L1gmtTkMuon:default + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/taus.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/taus.yaml new file mode 100644 index 00000000..e2c09822 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/taus.yaml @@ -0,0 +1,39 @@ +TauRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1nnPuppiTau:default + # - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 + +TauRatesByRegion: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1caloTau:default:barrel + - L1caloTau:default:endcap + - L1nnPuppiTau:default:barrel + - L1nnPuppiTau:default:endcap + binning: + min: 10 + max: 155 + step: 5 + +DiTauRates: + sample: MinBias + version: V45nano_NGJets_SC8mass + nObjects: 2 + test_objects: + - L1nnPuppiTau:default + # - L1hpsTau:default + - L1caloTau:default + - L1nnCaloTau:default + binning: + min: 10 + max: 155 + step: 5 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/test.yml b/configs/V45nano_NGJets_SC8mass/rate_plots/test.yml new file mode 100644 index 00000000..31c55748 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/test.yml @@ -0,0 +1,16 @@ +JetSC8Rates_byRegion2: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + # - L1puppiJetSC4:default + - L1puppiJetSC8:default + - L1puppiJetSC8:default:inclusive + - L1puppiJetSC8:default:barrel + - L1puppiJetSC8:mass30 + - L1puppiJetSC8:mass30:inclusive + - L1puppiJetSC8:mass30:barrel + #- L1puppiJetSC8:default:endcap + binning: + min: 40 + max: 420 + step: 20 diff --git a/configs/V45nano_NGJets_SC8mass/rate_plots/tkmuons.yaml b/configs/V45nano_NGJets_SC8mass/rate_plots/tkmuons.yaml new file mode 100644 index 00000000..536a40a2 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_plots/tkmuons.yaml @@ -0,0 +1,51 @@ +gmtTkMuonByID: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtTkMuon:VLoose + - L1gmtTkMuon:Loose + - L1gmtTkMuon:Medium + - L1gmtTkMuon:Tight + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_barrel: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtTkMuon:VLoose:barrel + - L1gmtTkMuon:Loose:barrel + - L1gmtTkMuon:Medium:barrel + - L1gmtTkMuon:Tight:barrel + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_overlap: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtTkMuon:VLoose:overlap + - L1gmtTkMuon:Loose:overlap + - L1gmtTkMuon:Medium:overlap + - L1gmtTkMuon:Tight:overlap + binning: + min: 0 + max: 75 + step: 3 + +gmtTkMuonByID_endcap: + sample: MinBias + version: V45nano_NGJets_SC8mass + test_objects: + - L1gmtTkMuon:VLoose:endcap + - L1gmtTkMuon:Loose:endcap + - L1gmtTkMuon:Medium:endcap + - L1gmtTkMuon:Tight:endcap + binning: + min: 0 + max: 75 + step: 3 diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/objects.md b/configs/V45nano_NGJets_SC8mass/rate_table/objects.md new file mode 100644 index 00000000..cc32d977 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/objects.md @@ -0,0 +1,149 @@ +# CMS Phase-2 Level-1 Trigger + +## Step1_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step1_menu_cfg.yml +## L1_PFHTT + +## L1_PFMHTT + +## L1_PFMet + +## L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18 + +## L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax + +## L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4 + +## L1_SingleTkPhoIso + +## L1_DoubleTkPhoIso + +## L1_PFTau_PFTau + +## L1_SingleEGEle + +## L1_SinglePFTau + +## L1_SinglePfJet + +## L1_SingleTkEle + +## L1_SingleTkEleIso + +## L1_SingleTkMu + +## L1_TkEleIso_EG + +## L1_TkEleIso_PFHTT + +## L1_TkEleIso_PFIsoTau + +## L1_TkEle_PFJet_dRMin + +## L1_TkEle_TkMu + +## L1_TkMu_DoubleTkEle + +## L1_TkMu_PfHTT + +## L1_TkMu_PfJet_PfMet + +## L1_TkMu_TkEle + +## L1_TkMu_TkEleIso + +## L1_TripleTkMu + +## L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9 + +## L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17 + +## L1_DoubleTkEle_PFHTT + +## L1_DoubleEGEle + +## L1_DoublePFJet_MassMin + +## L1_DoublePFJet_dEtaMax + +## L1_DoubleTkEle + +## L1_DoubleTkMu + +## L1_DoubleTkMu4_SQ_OS_dR_Max1p2 + +## L1_DoubleTkMu_PfHTT + +## L1_DoubleTkMu_PfJet_PfMet + +## L1_DoubleTkMu_TkEle + +## L1_PFHTT_QuadJet + +## L1_PFIsoTau_PFIsoTau + +## L1_PFIsoTau_PFMet + +## L1_PFIsoTau_TkMu + + + +## Tau_only.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Tau_only_menu.yml +## L1_PFIsoTau_PFIsoTau + +## L1_SinglePFTau + +## L1_PFTau_PFTau + + + +## Test_for_p2gt.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_menu_cfg.yml +## L1_PFHTT_QuadJet_BTagNNScore + +## L1_PFHTT_QuadJetNG_BTagNNScore + + + diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/step1_cfg.yml b/configs/V45nano_NGJets_SC8mass/rate_table/step1_cfg.yml new file mode 100644 index 00000000..8912e4a7 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/step1_cfg.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets_SC8mass" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets_SC8mass/rate_table/step1_menu_cfg.yml" +table_fname: "v44_Step1Menu" diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/step1_menu_cfg.yml b/configs/V45nano_NGJets_SC8mass/rate_table/step1_menu_cfg.yml new file mode 100644 index 00000000..fe921935 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/step1_menu_cfg.yml @@ -0,0 +1,445 @@ +L1_PFHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 450.0 + obj: L1puppiJetSC4sums:HT +L1_PFMHTT: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 135.5 + obj: L1puppiJetSC4sums:MHT +L1_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 200.0 + obj: L1puppiMET:default +# L1_PFMLMet: +# cross_masks: [] +# leg1: +# threshold_cut: offline_pt >= 200.0 +# obj: L1puppiMLMET:default +L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18: + cross_masks: + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 4.4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 4.4 + obj: L1gmtTkMuon:default +L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax: + cross_masks: + - abs(leg2.eta) < 2.4 + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) < 0.4 + - abs(leg5.eta-leg4.eta) < 1.6 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4: + cross_masks: + - (abs(leg1.eta) < 1.5) + - (abs(leg2.eta) < 1.5) + - ((leg1.deltaR(leg2) < 1.4)) + - ((leg1.charge*leg2.charge < 0.0)) + - ((abs(leg2.z0-leg1.z0) < 1)) + - ((leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default +L1_SingleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkPhoton:Iso + +L1_DoubleTkPhoIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkPhoton:Iso + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkPhoton:Iso +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default +L1_SingleEGEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 51.0 + obj: L1EG:default:inclusive +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_SinglePfJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 230.0 + obj: L1puppiJetSC4:default +L1_SingleTkEle: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 36.0 + obj: L1tkElectron:NoIso:inclusive +L1_SingleTkEleIso: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 28.0 + obj: L1tkElectron:Iso:inclusive +L1_SingleTkMu: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1gmtTkMuon:default +L1_TkEleIso_EG: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1EG:default:inclusive +L1_TkEleIso_PFHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 26.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiJetSC4sums:HT +L1_TkEleIso_PFIsoTau: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 22.0 + obj: L1tkElectron:Iso:inclusive + leg3: + threshold_cut: offline_pt >= 45.0 + obj: L1nnPuppiTau:default +L1_TkEle_PFJet_dRMin: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg2.deltaR(leg3) > 0.3 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 28.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_TkEle_TkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 10.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1gmtTkMuon:default +L1_TkMu_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 6 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt >= 17.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_PfHTT: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 6 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 320.0 + obj: L1puppiJetSC4sums:HT +L1_TkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 110.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 120.0 + obj: L1puppiMET:default +L1_TkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 23.0 + obj: L1tkElectron:NoIso:inclusive +L1_TkMu_TkEleIso: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: offline_pt >= 20.0 + obj: L1tkElectron:Iso:inclusive +L1_TripleTkMu: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9: + cross_masks: + - (leg1+leg2).mass < 9.0 + - leg1.charge*leg2.charge < 0.0 + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 0 + obj: L1gmtTkMuon:default +L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - leg1.charge*leg3.charge < 0.0 + - (leg1+leg3).mass > 5.0 + - (leg1+leg3).mass < 17.0 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 3.5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 2.5 + obj: L1gmtTkMuon:default +L1_DoubleTkEle_PFHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg3: + threshold_cut: offline_pt > 8.0 + obj: L1tkElectron:NoIso:inclusive + leg4: + threshold_cut: offline_pt > 390.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleEGEle: + cross_masks: + - leg1.deltaR(leg2) > 0.1 + leg1: + threshold_cut: offline_pt >= 37.0 + obj: L1EG:default:inclusive + leg2: + threshold_cut: offline_pt >= 24.0 + obj: L1EG:default:inclusive +L1_DoublePFJet_MassMin: + cross_masks: + - (leg1 + leg2).mass > 620 + leg1: + threshold_cut: offline_pt >= 160.0 + obj: L1puppiJetSC4:default + leg2: + threshold_cut: offline_pt >= 35.0 + obj: L1puppiJetSC4:default +L1_DoublePFJet_dEtaMax: + cross_masks: + - abs(leg2.eta-leg1.eta) < 1.6 + leg1: + threshold_cut: leg1.offline_pt >= 112.0 + obj: L1puppiJetSC4:default + leg2: + threshold_cut: leg2.offline_pt >= 112.0 + obj: L1puppiJetSC4:default +L1_DoubleTkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + leg1: + threshold_cut: offline_pt >= 25.0 + obj: L1tkElectron:NoIso:inclusive + leg2: + threshold_cut: offline_pt >= 12.0 + obj: L1tkElectron:NoIso:inclusive +L1_DoubleTkMu: + cross_masks: + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: offline_pt > 15.0 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 7 + obj: L1gmtTkMuon:default +L1_DoubleTkMu4_SQ_OS_dR_Max1p2: + cross_masks: + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + leg1: + threshold_cut: pt >= 4 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 4 + obj: L1gmtTkMuon:default +L1_DoubleTkMu_PfHTT: + cross_masks: + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + - (leg3.deltaR(leg2) > 0) + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg4: + threshold_cut: offline_pt >= 300.0 + obj: L1puppiJetSC4sums:HT +L1_DoubleTkMu_PfJet_PfMet: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: pt >= 3 + obj: L1gmtTkMuon:default + leg4: + threshold_cut: offline_pt >= 60.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 130.0 + obj: L1puppiMET:default +L1_DoubleTkMu_TkEle: + cross_masks: + - abs(leg2.z0-leg1.z0) < 1 + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg2: + threshold_cut: pt >= 5 + obj: L1gmtTkMuon:default + leg3: + threshold_cut: offline_pt >= 9.0 + obj: L1tkElectron:NoIso:inclusive +L1_PFHTT_QuadJet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 400.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: offline_pt >= 70.0 + obj: L1puppiJetSC4:default + leg3: + threshold_cut: offline_pt >= 55.0 + obj: L1puppiJetSC4:default + leg4: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default + leg5: + threshold_cut: offline_pt >= 40.0 + obj: L1puppiJetSC4:default +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_PFIsoTau_PFMet: + cross_masks: [] + leg1: + threshold_cut: offline_pt >= 55.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 190.0 + obj: L1puppiMET:default +L1_PFIsoTau_TkMu: + cross_masks: + - abs(leg3.z0-leg1.z0) < 1 + leg1: + threshold_cut: null + obj: L1PV:default + leg2: + threshold_cut: offline_pt >= 42.0 + obj: L1nnPuppiTau:default + leg3: + threshold_cut: offline_pt >= 18.0 + obj: L1gmtTkMuon:default diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/step2_cfg.yml b/configs/V45nano_NGJets_SC8mass/rate_table/step2_cfg.yml new file mode 100644 index 00000000..d3b354bc --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/step2_cfg.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets_SC8mass" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets_SC8mass/rate_table/step2_menu_cfg.yml" +table_fname: "v45_Step2Menu" diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/step2_menu_cfg.yml b/configs/V45nano_NGJets_SC8mass/rate_table/step2_menu_cfg.yml new file mode 100644 index 00000000..82966c0c --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/step2_menu_cfg.yml @@ -0,0 +1,38 @@ +# B Jet Seeds +L1_PFHTT_QuadJet_BTagNNScore: + cross_masks: + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4sums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiExtJetSC4:default + +L1_PFHTT_QuadJetNG_BTagNNScore: + cross_masks: + - (leg2.bTagScore + leg3.bTagScore + leg4.bTagScore + leg5.bTagScore) > 2.20 + leg1: + threshold_cut: offline_pt >= 299.0 + obj: L1puppiJetSC4NGsums:HT + leg2: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg3: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg4: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default + leg5: + threshold_cut: pt >= 25 + obj: L1puppiJetSC4NG:default diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/tau_only.yml b/configs/V45nano_NGJets_SC8mass/rate_table/tau_only.yml new file mode 100644 index 00000000..364c69df --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/tau_only.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets_SC8mass" +sample: "MinBias" +menu_config: "configs/V45nano_NGJets_SC8mass/rate_table/tau_only_menu.yml" +table_fname: "tau_only_menu" diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/tau_only_menu.yml b/configs/V45nano_NGJets_SC8mass/rate_table/tau_only_menu.yml new file mode 100644 index 00000000..2562302a --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/tau_only_menu.yml @@ -0,0 +1,23 @@ +L1_PFIsoTau_PFIsoTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default + leg2: + threshold_cut: offline_pt >= 52.0 + obj: L1nnPuppiTau:default +L1_SinglePFTau: + cross_masks: [] + leg1: + threshold_cut: offline_pt > 150.0 + obj: L1caloTau:default +L1_PFTau_PFTau: + cross_masks: + - leg1.deltaR(leg2) > 0.5 + leg1: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default + leg2: + threshold_cut: offline_pt > 90.0 + obj: L1caloTau:default \ No newline at end of file diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/test_for_p2gt.yml b/configs/V45nano_NGJets_SC8mass/rate_table/test_for_p2gt.yml new file mode 100644 index 00000000..46d6c801 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/test_for_p2gt.yml @@ -0,0 +1,4 @@ +version: "V45nano_NGJets_SC8mass" +sample: "TTtestP2GT" +menu_config: "configs/V45nano_NGJets_SC8mass/rate_table/step1_menu_cfg.yml" +table_fname: "v44_Step1Menu_TTtestP2GT_fixGeQ" diff --git a/configs/V45nano_NGJets_SC8mass/rate_table/triggers.md b/configs/V45nano_NGJets_SC8mass/rate_table/triggers.md new file mode 100644 index 00000000..eed87311 --- /dev/null +++ b/configs/V45nano_NGJets_SC8mass/rate_table/triggers.md @@ -0,0 +1,792 @@ +# CMS Phase-2 Level-1 Triggers + +## Step1_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step1_menu_cfg.yml +## L1_PFHTT +- **Object**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 450.0 + +- **Cross Masks**: None + +## L1_PFMHTT +- **Object**: L1puppiJetSC4sums:MHT + + - **Threshold**: offline_pt >= 135.5 + +- **Cross Masks**: None + +## L1_PFMet +- **Object**: L1puppiMET:default + + - **Threshold**: offline_pt >= 200.0 + +- **Cross Masks**: None + +## L1_DoubleTkMu4p5er2p0_SQ_OS_Mass7to18 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4.4 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4.4 + +- **Cross Masks**: + + - (((leg1+leg2).mass > 7.0) & (leg1.deltaR(leg2) > 0)) + + - (((leg1+leg2).mass < 18.0) & (leg1.deltaR(leg2) > 0)) + + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_TkMu_PfJet_dRMax_DoubleJet_dEtaMax +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 12.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 5**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: + + - abs(leg2.eta) < 2.4 + + - abs(leg2.z0-leg1.z0) < 1 + + - leg2.deltaR(leg3) < 0.4 + + - abs(leg5.eta-leg4.eta) < 1.6 + + +## L1_DoubleTkMu0er1p5_SQ_OS_dR_Max1p4 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Cross Masks**: + + - (abs(leg1.eta) < 1.5) + + - (abs(leg2.eta) < 1.5) + + - ((leg1.deltaR(leg2) < 1.4)) + + - ((leg1.charge*leg2.charge < 0.0)) + + - ((abs(leg2.z0-leg1.z0) < 1)) + + - ((leg1.deltaR(leg2) > 0)) + + +## L1_SingleTkPhoIso +- **Object**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 36.0 + +- **Cross Masks**: None + +## L1_DoubleTkPhoIso +- **Object 1**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 22.0 + +- **Object 2**: L1tkPhoton:Iso + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: None + +## L1_PFTau_PFTau +- **Object 1**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Object 2**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_SingleEGEle +- **Object**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 51.0 + +- **Cross Masks**: None + +## L1_SinglePFTau +- **Object**: L1caloTau:default + + - **Threshold**: offline_pt > 150.0 + +- **Cross Masks**: None + +## L1_SinglePfJet +- **Object**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 230.0 + +- **Cross Masks**: None + +## L1_SingleTkEle +- **Object**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 36.0 + +- **Cross Masks**: None + +## L1_SingleTkEleIso +- **Object**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt > 28.0 + +- **Cross Masks**: None + +## L1_SingleTkMu +- **Object**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 22.0 + +- **Cross Masks**: None + +## L1_TkEleIso_EG +- **Object 1**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 22.0 + +- **Object 2**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.1 + + +## L1_TkEleIso_PFHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 26.0 + +- **Object 3**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 190.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkEleIso_PFIsoTau +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 22.0 + +- **Object 3**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 45.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkEle_PFJet_dRMin +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 28.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - leg2.deltaR(leg3) > 0.3 + + +## L1_TkEle_TkMu +- **Object 1**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 10.0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 20.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_DoubleTkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 6 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 17.0 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 17.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TkMu_PfHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 6 + +- **Object 3**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 320.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_PfJet_PfMet +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 110.0 + +- **Object 4**: L1puppiMET:default + + - **Threshold**: offline_pt >= 120.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_TkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 23.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TkMu_TkEleIso +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Object 2**: L1tkElectron:Iso:inclusive + + - **Threshold**: offline_pt >= 20.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_TripleTkMu +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TripleTkMu_5SQ_3SQ_0OQ_DoubleMu_5_3_SQ_OS_Mass_Max9 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 0 + +- **Cross Masks**: + + - (leg1+leg2).mass < 9.0 + + - leg1.charge*leg2.charge < 0.0 + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_TripleTkMu_5_3p5_2p5_OS_Mass_5to17 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3.5 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 2.5 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - leg1.charge*leg3.charge < 0.0 + + - (leg1+leg3).mass > 5.0 + + - (leg1+leg3).mass < 17.0 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_DoubleTkEle_PFHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt > 8.0 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt > 8.0 + +- **Object 4**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt > 390.0 + +- **Cross Masks**: + + - (abs(leg2.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + + - (abs(leg3.z0-leg1.z0) < 1 & (leg2.deltaR(leg3) > 0)) + + - (leg3.deltaR(leg2) > 0) + + +## L1_DoubleEGEle +- **Object 1**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 37.0 + +- **Object 2**: L1EG:default:inclusive + + - **Threshold**: offline_pt >= 24.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.1 + + +## L1_DoublePFJet_MassMin +- **Object 1**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 160.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 35.0 + +- **Cross Masks**: + + - (leg1 + leg2).mass > 620 + + +## L1_DoublePFJet_dEtaMax +- **Object 1**: L1puppiJetSC4:default + + - **Threshold**: leg1.offline_pt >= 112.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: leg2.offline_pt >= 112.0 + +- **Cross Masks**: + + - abs(leg2.eta-leg1.eta) < 1.6 + + +## L1_DoubleTkEle +- **Object 1**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 25.0 + +- **Object 2**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 12.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + +## L1_DoubleTkMu +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: offline_pt > 15.0 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 7 + +- **Cross Masks**: + + - ((abs(leg1.z0-leg2.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_DoubleTkMu4_SQ_OS_dR_Max1p2 +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 4 + +- **Cross Masks**: + + - ((leg1.deltaR(leg2) < 1.2) & (leg1.deltaR(leg2) > 0)) + + - ((leg1.charge*leg2.charge < 0.0) & (leg1.deltaR(leg2) > 0)) + + - ((abs(leg2.z0-leg1.z0) < 1) & (leg1.deltaR(leg2) > 0)) + + +## L1_DoubleTkMu_PfHTT +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 4**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 300.0 + +- **Cross Masks**: + + - (abs(leg2.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + + - (abs(leg3.z0-leg1.z0) < 1 & (leg3.deltaR(leg2) > 0)) + + - (leg3.deltaR(leg2) > 0) + + +## L1_DoubleTkMu_PfJet_PfMet +- **Object 1**: L1PV:default + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: pt >= 3 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 60.0 + +- **Object 5**: L1puppiMET:default + + - **Threshold**: offline_pt >= 130.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_DoubleTkMu_TkEle +- **Object 1**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 2**: L1gmtTkMuon:default + + - **Threshold**: pt >= 5 + +- **Object 3**: L1tkElectron:NoIso:inclusive + + - **Threshold**: offline_pt >= 9.0 + +- **Cross Masks**: + + - abs(leg2.z0-leg1.z0) < 1 + + - abs(leg3.z0-leg1.z0) < 1 + + +## L1_PFHTT_QuadJet +- **Object 1**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 400.0 + +- **Object 2**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 70.0 + +- **Object 3**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 55.0 + +- **Object 4**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Object 5**: L1puppiJetSC4:default + + - **Threshold**: offline_pt >= 40.0 + +- **Cross Masks**: None + +## L1_PFIsoTau_PFIsoTau +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_PFIsoTau_PFMet +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 55.0 + +- **Object 2**: L1puppiMET:default + + - **Threshold**: offline_pt >= 190.0 + +- **Cross Masks**: None + +## L1_PFIsoTau_TkMu +- **Object 1**: L1PV:default + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 42.0 + +- **Object 3**: L1gmtTkMuon:default + + - **Threshold**: offline_pt >= 18.0 + +- **Cross Masks**: + + - abs(leg3.z0-leg1.z0) < 1 + + + + +## Tau_only.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Tau_only_menu.yml +## L1_PFIsoTau_PFIsoTau +- **Object 1**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Object 2**: L1nnPuppiTau:default + + - **Threshold**: offline_pt >= 52.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + +## L1_SinglePFTau +- **Object**: L1caloTau:default + + - **Threshold**: offline_pt > 150.0 + +- **Cross Masks**: None + +## L1_PFTau_PFTau +- **Object 1**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Object 2**: L1caloTau:default + + - **Threshold**: offline_pt > 90.0 + +- **Cross Masks**: + + - leg1.deltaR(leg2) > 0.5 + + + + +## Test_for_p2gt.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_cfg.yml +## version + +## sample + +## menu_config + +## table_fname + + + +## Step2_menu_cfg.yml +>B Jet Seeds +## L1_PFHTT_QuadJet_BTagNNScore +- **Object 1**: L1puppiJetSC4sums:HT + + - **Threshold**: offline_pt >= 299.0 + +- **Object 2**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 3**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 4**: L1puppiExtJetSC4:default + + - **Threshold**: pt >= 25 + +- **Object 5**: L1puppiExtJetSC4:default + +>test + - **Threshold**: pt >= 25 + +- **Cross Masks** (test): + +>test + - (leg2.btagScore + leg3.btagScore + leg4.btagScore + leg5.btagScore) > 2.20 + + +## L1_PFHTT_QuadJetNG_BTagNNScore +- **Object 1**: L1puppiJetSC4NGsums:HT + (test) + - **Threshold**: offline_pt >= 299.0 + +- **Object 2**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 3**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 4**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Object 5**: L1puppiJetSC4NG:default + + - **Threshold**: pt >= 25 + +- **Cross Masks**: + + - (leg2.bTagScore + leg3.bTagScore + leg4.bTagScore + leg5.bTagScore) > 2.20 + + + + diff --git a/menu_tools/caching/menu_tools.code-workspace b/menu_tools/caching/menu_tools.code-workspace new file mode 100644 index 00000000..f810351f --- /dev/null +++ b/menu_tools/caching/menu_tools.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": "../.." + } + ], + "settings": {} +} diff --git a/menu_tools/caching/merge_arrays.py b/menu_tools/caching/merge_arrays.py index 7e5aea62..540f59ea 100644 --- a/menu_tools/caching/merge_arrays.py +++ b/menu_tools/caching/merge_arrays.py @@ -1,8 +1,13 @@ import awkward as ak +import argparse + +parser = argparse.ArgumentParser(description="Merge parquet files for L1EG objects.") +parser.add_argument("--version", type=str, required=True, default="V45nano_140PU", help="Version of the dataset") +parser.add_argument("--sample", type=str, required=True, default="MinBias", help="Sample name (e.g., MinBias, Hgg)") +args = parser.parse_args() +version = args.version +sample = args.sample -version = "V33nano" -sample = "MinBias" -# sample = "Hgg" pattern = f"cache/{version}/{version}_{sample}_%s.parquet" objects = ["L1EGbarrel", "L1EGendcap"] target_object = "L1EG" diff --git a/menu_tools/object_performance/plotter.py b/menu_tools/object_performance/plotter.py index 83d86fcd..37ccffb8 100755 --- a/menu_tools/object_performance/plotter.py +++ b/menu_tools/object_performance/plotter.py @@ -361,6 +361,7 @@ def __init__( scaling_pct: float, version: str, params: dict[str, np.ndarray], + pu_value: int = 200, ): self.plot_name = plot_name self.cfg_plot = cfg_plot @@ -368,6 +369,7 @@ def __init__( self.params = params self.version = version self.scaling_pct = scaling_pct + self.pu_value = pu_value def _params_to_func_str(self, obj_key: str): a = round(self.params[obj_key][0], 3) diff --git a/menu_tools/rate_plots/plotter.py b/menu_tools/rate_plots/plotter.py index 0189f360..4f51715f 100644 --- a/menu_tools/rate_plots/plotter.py +++ b/menu_tools/rate_plots/plotter.py @@ -38,9 +38,10 @@ class RatePlotter: _com = 14 _outdir = "outputs/rate_plots/" - def __init__(self, cfg, data, offline_pt: bool): + def __init__(self, cfg, data, data_err, offline_pt: bool): self.cfg = cfg self.data = data + self.data_err = data_err self.offline_pt = offline_pt ## Overwrite outdir @@ -83,9 +84,11 @@ def _plot_single_version_rate_curves(self): if obj_specifier not in self.data.keys(): continue rate_values = self.data[obj_specifier][version] + rate_err = self.data_err[obj_specifier][version] xvals = list(rate_values.keys()) yvals = list(rate_values.values()) + yerrs = list(rate_err.values()) label = f"{obj_instances[version].plot_label}" xlabel = rf"{self._online_offline} $p_T$ [GeV]" @@ -96,15 +99,19 @@ def _plot_single_version_rate_curves(self): plot_dict[obj_specifier] = { "x_values": xvals, "y_values": yvals, + "y_errors": yerrs, "object": obj_instances[version].plot_label, "label": label, "version": version, "xlabel": xlabel, } + print("yvals: ", yvals) + print("yerrs: ", yerrs) - ax.plot( + ax.errorbar( xvals, yvals, + yerr=yerrs, marker="o", label=label, ) @@ -144,16 +151,22 @@ def _plot_version_comparsion_rate_curves(self): xvalues = np.fromiter(rate_values[v1].keys(), dtype=float) v1_values = np.fromiter(rate_values[v1].values(), dtype=float) v2_values = np.fromiter(rate_values[v2].values(), dtype=float) - p = axs[0].plot( + y_err_v1 = np.fromiter(rate_err[obj_key][v1].values(), dtype=float) + y_err_v2 = np.fromiter(rate_err[obj_key][v2].values(), dtype=float) + y_err_ratio = y_err_v1 / abs(v2_values) + abs(v1_values / v2_values**2) * y_err_v2 + + p = axs[0].errorbar( xvalues, v1_values, + yerr=y_err_v1, marker="o", linestyle="solid", label=f"{obj_key} @ {v1}", ) - axs[0].plot( + axs[0].errorbar( xvalues, v2_values, + yerr=y_err_v2, marker="o", linestyle="dashed", label=f"{obj_key} @ {v2}", @@ -267,9 +280,10 @@ def compute_rate(self, thresholds: np.ndarray, nObj = 1) -> dict: cumsum = np.cumsum( np.histogram(max_pt_obj, bins=[-1] + list(thresholds) + [1e5])[0] ) + err_cumsum = np.sqrt(cumsum) / cumsum rate = (cumsum[-1] - cumsum) / len(obj_mask) * constants.RATE_NORM_FACTOR - - return dict(zip(thresholds, rate)) + rate_err = (err_cumsum[-1] + err_cumsum) / len(obj_mask) * constants.RATE_NORM_FACTOR + return dict(zip(thresholds, rate)), dict(zip(thresholds, rate_err)) class RatePlotCentral: @@ -305,10 +319,12 @@ def _compute_rates( and called for this purpose. """ rate_data: dict[str, dict] = {} + rate_err: dict[str, dict] = {} # Iterate over version(s) for version in plot_config.versions: rate_data[version] = {} + rate_err[version] = {} rate_computer = RateComputer( obj_instances[version], plot_config.sample, @@ -316,9 +332,9 @@ def _compute_rates( apply_offline_conversion, ) - rate_data[version] = rate_computer.compute_rate(self.get_bins(plot_config), nObj = plot_config.nObjects) + rate_data[version], rate_err[version] = rate_computer.compute_rate(self.get_bins(plot_config), nObj = plot_config.nObjects) - return rate_data + return rate_data, rate_err def run(self, apply_offline_conversion: bool = False) -> None: """ @@ -336,6 +352,7 @@ def run(self, apply_offline_conversion: bool = False) -> None: ) plot_config = RatePlotConfig(cfg_plot, plot_name) rate_plot_data = {} + rate_plot_err = {} if plot_config.nObjects > 1: print(f"## Warning! Making rates for {plot_config.nObjects} objects!") @@ -346,7 +363,7 @@ def run(self, apply_offline_conversion: bool = False) -> None: obj_instances, ) in plot_config.test_object_instances.items(): try: - rate_plot_data[obj_specifier] = self._compute_rates( + rate_plot_data[obj_specifier], rate_plot_err[obj_specifier] = self._compute_rates( plot_config, obj_specifier, obj_instances, @@ -362,7 +379,7 @@ def run(self, apply_offline_conversion: bool = False) -> None: continue # Plot Rate vs. Threshold after all data has been aggregated - plotter = RatePlotter(plot_config, rate_plot_data, apply_offline_conversion) + plotter = RatePlotter(plot_config, rate_plot_data, rate_plot_err, apply_offline_conversion) plotter.plot() diff --git a/menu_tools/utils/compare_json-wNano.ipynb b/menu_tools/utils/compare_json-wNano.ipynb index 38ecd662..4f92d049 100644 --- a/menu_tools/utils/compare_json-wNano.ipynb +++ b/menu_tools/utils/compare_json-wNano.ipynb @@ -199,7 +199,7 @@ "# v0 = \"V39nano_DT13x\"\n", "# v0 = \"V38nano_DT12x\"\n", "\n", - "v0 = \"V44nano\"\n", + "v0 = \"V45nano_NGJets\"\n", "\n", "v1 = \"V38nano_DT12x\"\n", "# v1 = \"V38nano\"\n", diff --git a/object_performance.sh b/object_performance.sh new file mode 100644 index 00000000..88a8267e --- /dev/null +++ b/object_performance.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +sample="configs/V45nano_140PU/object_performance" + +for file in $sample/*; do + object_performance $file + echo "ran $file" +done diff --git a/rate_plots.sh b/rate_plots.sh new file mode 100644 index 00000000..3712f8a6 --- /dev/null +++ b/rate_plots.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +python menu_tools/caching/merge_arrays.py --version V45nano_140PU --sample MinBias + +rate_plots configs/V45nano_140PU/rate_plots/bjet.yaml +echo "B-jet rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/disp_muons.yaml +echo "Displaced muon rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/eg.yaml +echo "Electron and photon rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/ht.yaml +echo "HT rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/jets.yaml +echo "Jet rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/met.yaml +echo "MET rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/muons.yaml +echo "Muon rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/taus.yaml +echo "Tau rate plots generated." + +rate_plots configs/V45nano_140PU/rate_plots/tkmuons.yaml +echo "Track muon rate plots generated."