873 electrons=None, muons=None, jets=None,
875 photons=None, taus=None, met=None, metTerm=None,
876 btagDecoration=None, preselection=None,
877 selectionCutsDict=None, noFilter=None,
878 debugMode=None, cutFlowHistograms=None):
879 """Create multiple event selection config blocks
882 electrons -- the electron container and selection
883 muons -- the muon container and selection
884 jets -- the jet container and selection
885 largeRjets -- the large-R jet container and selection
886 photons -- the photon container and selection
887 taus -- the tau-jet container and selection
888 met -- the MET container
889 metTerm -- the MET term to use (e.g. 'Final', 'NonInt')
890 btagDecoration -- the b-tagging decoration to use when defining b-jets
891 preselection -- optional event-wise selection flag to start from
892 selectionCutsDict -- a dictionary with key the name of the selection and value a string listing one selection cut per line
893 noFilter -- whether to disable the event filter
894 debugMode -- enables saving all intermediate decorations
895 cutFlowHistograms -- whether to toggle event cutflow histograms per region and per systematic
899 if len(
list(selectionCutsDict.keys())) == 1:
900 name, selectionCuts =
list(selectionCutsDict.items())[0]
901 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=noFilter, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
906 for name, selectionCuts
in selectionCutsDict.items():
907 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=
True, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
911 config = EventSelectionMergerConfig()
912 config.setOptionValue (
'selections', [f
'pass_{name}_%SYS%' for name
in selectionCutsDict.keys()
if not name.startswith(
"SUB")])
913 config.setOptionValue (
'noFilter', noFilter)