963 electrons=None, muons=None, jets=None,
965 photons=None, taus=None, met=None, metTerm=None,
966 btagDecoration=None, preselection=None,
967 selectionCutsDict=None, noFilter=None,
968 debugMode=None, cutFlowHistograms=None):
969 """Create multiple event selection config blocks
972 electrons -- the electron container and selection
973 muons -- the muon container and selection
974 jets -- the jet container and selection
975 largeRjets -- the large-R jet container and selection
976 photons -- the photon container and selection
977 taus -- the tau-jet container and selection
978 met -- the MET container
979 metTerm -- the MET term to use (e.g. 'Final', 'NonInt')
980 btagDecoration -- the b-tagging decoration to use when defining b-jets
981 preselection -- optional event-wise selection flag to start from
982 selectionCutsDict -- a dictionary with key the name of the selection and value a string listing one selection cut per line
983 noFilter -- whether to disable the event filter
984 debugMode -- enables saving all intermediate decorations
985 cutFlowHistograms -- whether to toggle event cutflow histograms per region and per systematic
989 if len(
list(selectionCutsDict.keys())) == 1:
990 name, selectionCuts =
list(selectionCutsDict.items())[0]
991 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=noFilter, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
996 for name, selectionCuts
in selectionCutsDict.items():
997 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=
True, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
1001 config = EventSelectionMergerConfig()
1002 config.setOptionValue (
'selections', [f
'pass_{name}_%SYS%' for name
in selectionCutsDict.keys()
if not name.startswith(
"SUB")])
1003 config.setOptionValue (
'noFilter', noFilter)