Skip to content
Snippets Groups Projects
Commit 73335a43 authored by Jie Xiao's avatar Jie Xiao Committed by Jan Lukas Spah
Browse files

Add a flag to veto events with jets in the EE+ Leakage region

parent 0fa497ff
No related branches found
No related tags found
1 merge request!204Add a flag to veto events with jets in the EE+ Leakage region
...@@ -242,6 +242,9 @@ def jetvetomap(events, logger, dataset_name, year="2022preEE"): ...@@ -242,6 +242,9 @@ def jetvetomap(events, logger, dataset_name, year="2022preEE"):
vetomap = cset[key_map[year]].evaluate(*(inputs)) vetomap = cset[key_map[year]].evaluate(*(inputs))
if not year == "2022postEE": if not year == "2022postEE":
flag_eep_jet = (
awkward.zeros_like(jets.pt) > 1
) # flag_eep_jet always False for non-2022postEE
sel_obj.add("vetomap", np.abs(vetomap) > 0) sel_obj.add("vetomap", np.abs(vetomap) > 0)
else: else:
# ref: https://twiki.cern.ch/twiki/bin/viewauth/CMS/PdmVRun3Analysis#From_JME # ref: https://twiki.cern.ch/twiki/bin/viewauth/CMS/PdmVRun3Analysis#From_JME
...@@ -251,17 +254,19 @@ def jetvetomap(events, logger, dataset_name, year="2022preEE"): ...@@ -251,17 +254,19 @@ def jetvetomap(events, logger, dataset_name, year="2022preEE"):
input_dict["type"] = "jetvetomap_eep" input_dict["type"] = "jetvetomap_eep"
inputs = [input_dict[input.name] for input in cset[key_map[year]].inputs] inputs = [input_dict[input.name] for input in cset[key_map[year]].inputs]
vetomap_eep = cset[key_map[year]].evaluate(*(inputs)) vetomap_eep = cset[key_map[year]].evaluate(*(inputs))
sel_obj.add( flag_eep_jet = (np.abs(vetomap_eep) > 0) & (jets.pt > 30)
"vetomap", sel_obj.add("vetomap", (np.abs(vetomap) > 0) | (flag_eep_jet))
(np.abs(vetomap) > 0) | ((np.abs(vetomap_eep) > 0) & (jets.pt > 30)),
)
sel_veto_jet = sel_obj.all(*(sel_obj.names)) sel_veto_jet = sel_obj.all(*(sel_obj.names))
sel_good_jet = ~awkward.Array(sel_veto_jet) sel_good_jet = ~awkward.Array(sel_veto_jet)
logger.debug( logger.debug(
f"[{systematic}] total: {len(sel_good_jet)}, pass: {awkward.sum(sel_good_jet)}" f"[{systematic}] total: {len(sel_good_jet)}, pass: {awkward.sum(sel_good_jet)}"
) )
sel_good_jet_jagged = awkward.unflatten(sel_good_jet, count) sel_good_jet_jagged = awkward.unflatten(sel_good_jet, count)
flag_eep_jet_jagged = awkward.unflatten(flag_eep_jet, count)
events.Jet = jets_jagged[sel_good_jet_jagged] events.Jet = jets_jagged[sel_good_jet_jagged]
sel_event_veto = ~awkward.any(flag_eep_jet_jagged, axis=1)
logger.debug(
f"[{systematic}] total event: {len(sel_event_veto)}, pass event: {awkward.sum(sel_event_veto)}"
)
return events return events[sel_event_veto]
...@@ -288,7 +288,7 @@ class HggBaseProcessor(processor.ProcessorABC): # type: ignore ...@@ -288,7 +288,7 @@ class HggBaseProcessor(processor.ProcessorABC): # type: ignore
logger.info( logger.info(
f"[ lumimask ] Skip now! Unable to find year info of {dataset_name}" f"[ lumimask ] Skip now! Unable to find year info of {dataset_name}"
) )
# apply jetvetomap # apply jetvetomap: only retain events that without any jets in the EE leakage region
if not self.skipJetVetoMap: if not self.skipJetVetoMap:
events = jetvetomap( events = jetvetomap(
events, logger, dataset_name, year=self.year[dataset_name][0] events, logger, dataset_name, year=self.year[dataset_name][0]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment